SHA 알고리즘과 bcrypt 는 어떤 차이점이 있는지?
SHA 알고리즘과 bcrypt 는 모두 해시 알고리즘이지만 두 알고리즘이 설계된 목적은 다르다.
SHA 알고리즘은 메세지 송수신 시 무결성 검사를 빠르게 진행하기 위해 설계되었다.
그렇기 때문에 SHA 알고리즘을 사용했을 때 GPU를 이용한 연산 속도가 매우 빨라서 초당 수십억개의 해시를 계산할 수 있다.
하지만 이것이 무작위 암호 공격에는 더 취약하기 때문에 비밀번호를 암호화하는데는 권장하지 않는다고 한다.
bcrypt 는 어떤 해시 알고리즘인가?
bcrypt 는 비밀번호를 암호화하는데 최적화된 해시 알고리즘이다.
bcrypt 를 구현하는데에는 SHA 해시 알고리즘을 사용하지 않고 "salt" 라고 불리는 랜덤 문자열을 섞어서 암호화하도록 구현했다.
만약 같은 "1111"을 암호화한다고 했을 때,
bcrypt 는 다음과 같다.
$2a$12$Qiu4jExjQ9Y4CARqIk45O.snkSlW2hOkXBcvpreiIJ3FKtsvSUNhy
sha-256은 다음과 같다.
0ffe1abd1a08215353c233d6e009613e95eec4253832a761af28ff37ac5a150c
bcrypt 해시화 사이트
'암호학' 카테고리의 다른 글
23.04.28 [ZK] R1CS (0) | 2023.04.30 |
---|---|
22.07.18 배타적 논리합과 합동식 (0) | 2022.07.18 |
22.07.16 암호화와 인코딩 (0) | 2022.07.16 |
22.03.07 [지갑] 멀티시그 월렛 (0) | 2022.03.07 |
22.02.02 개인식별번호 CI, DI (0) | 2022.02.23 |