scrypt는 비밀번호에서 키를 유도할 때 계산과 메모리 비용을 함께 요구하도록 설계된 함수이다. RFC 7914에 동작과 테스트 벡터가 제시된다.
원리
N, r, p 같은 매개변수가 비용과 처리 방식에 영향을 준다. 메모리를 많이 사용하는 구조로 대량의 비밀번호 추측에 드는 자원 비용을 높인다.
예시
비밀번호 기반 저장 형식에서 salt와 비용 매개변수를 결과와 함께 기록하면 검증 시 같은 설정으로 계산할 수 있다.
주의할 점
메모리 비용을 높이면 방어 측 서버의 자원도 필요하다. 동시 요청 수와 서비스 거부 가능성을 고려하고 매개변수의 유효 범위와 라이브러리 한도를 확인한다.