풍선 해싱
Balloon hashing벌룬 해싱은 검증된 메모리 하드 암호 해싱과 현대적인 디자인을 제공하는 핵심 파생 기능이다. 댄 본, 헨리 코리건-기브스(스탠퍼드대), 스튜어트 셰히터(마이크로소프트 리서치)가 2016년 만들었다.[1][2] NIST 암호 지침에서 권장하는 기능이다.[3]
저자들은 Balloon이 다음과 같이 주장하고 있다.
- 기억력이 입증된 속성을 가지고 있고
- 표준 원시 요소로부터 구축됨: 하위 알고리즘(예: SHA-3, SHA-512)으로 어떤 표준 비공간-하드 암호화 해시함수를 사용할 수 있음
- 측면 채널 공격에 대한 저항성: 메모리 액세스 패턴은 해시될 데이터와 독립적이다.
- 구현이 용이하고 유사한 알고리즘의 성능에 부합한다.
Balloon은 비슷한 성능을 가진 알고리즘인 Argon2와 그 작가들에 의해 비교된다.[1]
알고리즘.
알고리즘에는 다음과 같은 세 가지 단계가 있다.[1]
- 처음 버퍼에 암호와 염분이 반복적으로 해시된 유사 함량 바이트 시퀀스가 채워지는 확장.
- 혼합(buffer의 바이트가 시간_비용 횟수 혼합)
- 출력 - 해싱 결과로 버퍼의 일부를 취한다.
참조
- ^ a b c Boneh, Dan; Corrigan-Gibbs, Henry; Schechter, Stuart (2016-01-11). "Balloon Hashing: A Memory-Hard Function Providing Provable Protection Against Sequential Attacks". ePrint. 2016 (027). Retrieved 2019-09-03.
- ^ "Balloon Hashing". Stanford Applied Crypto Group. Stanford University. Retrieved 2019-09-03.
- ^ NIST SP800-63B 섹션 5.1.1.2
외부 링크
- Github에 대한 연구 시제품 코드
- 파이썬 구현
- Alwen; Blocki. "Efficiently Computing Data-Independent Memory-Hard Functions". ePrint. 2016 (115).
- Alwen; Blocki. "Towards Practical Attacks on Argon2i and Balloon Hashing". ePrint. 2016 (759).