scrypt란?
scrypt는 메모리 사용량이 큰 비밀번호 기반 키 파생 함수(KDF)입니다. 비밀번호와 솔트를 결정적인 키 바이트로 변환하면서 의도적으로 CPU 시간과 메모리를 사용하므로, 단순 해싱보다 대규모 비밀번호 추측 공격의 비용을 높입니다.
핵심 포인트:
N(비용 계수),r(블록 크기),p(병렬 처리)를 사용합니다- 더 높은
N및r설정은 메모리와 계산 비용을 증가시킵니다 - 비밀번호, 솔트, 매개변수, 출력 길이가 모두 일치할 때만 동일한 파생 키를 생성합니다
모범 사례:
- 모든 비밀번호 또는 비밀값에 고유한 무작위 솔트를 사용하세요
- 파생 키와 함께
N,r,p, 솔트 형식, 출력 길이를 저장하세요 - 프로덕션에서 사용하기 전에 지원해야 하는 가장 느린 기기에서 매개변수를 조정하세요