[Python] Bycrypt

HAHAHELLO·2024년 11월 13일
0

파이썬

목록 보기
38/50

Bycrypt

단방향 암호화

단방향 암호화는 평문을 암호화 할 수는 있지만 암호화된 문자를 다시 평문으로 복호화가 불가능한 방식이다. 주로 해시 알고리즘을 이용하여 단방향 암호화를 구현한다.
단방향 암호화에 사용되는 해시 알고리즘은 동일한 평문에 대해 항상 동일 해시값을 갖는다. 따라서 특정 해시 알고리즘에 대하여 특정 평문이 어떤 해시값을 갖는지 알 수 있다.

Salting과 Key Stretching

해시 함수는 본래 신속히 데이터를 검색하기 위해 탄생됐다. 따라서 공격자는 매우 빠른 속도로 임의의 문자열의 해시값과 해킹할 대상의 해시값을 비교하여 대상자를 공격할 수 있다.
이런한 문제를 보안하기 위해 단방향 암호화를 진행할 때 솔팅(Salting)과 키 스트레칭(Key Stretching)을 적용 시킨다.

솔팅(Salting)은 단방향 해시 함수 암호화를 진행 할 때 본래 데이터에 추가적으로 랜덤한 데이터를 더하는 방식이다. 원래 데이터에 추가 데이터가 포함 되었기 때문에 이전의 해시값과 달라진다.

키 스트레칭(Key Stretching)은 단방향 해쉬값을 계산 한 후, 그 해쉬값을 또 다시 해시하고 또 이를 반복하는 방식이다

profile
데이터 엔지니어가 되어 봅시다 🌈

0개의 댓글