scrypt 비용 계산기
scrypt의 N·r·p 파라미터를 넣으면 RFC 7914 공식대로 실제 메모리 사용량과 값의 유효성을 계산합니다.
2의 거듭제곱이어야 합니다
실제 메모리 사용량
16MiB
메모리 사용량 = 128 × N × r × p
사용 방법
- 1N(CPU/메모리 비용 계수)·r(블록 크기)·p(병렬화 계수)를 넣거나 권장 프로필을 고릅니다.
- 2실제 메모리 사용량과 N·p 값의 유효성(제약 충족 여부)을 확인합니다.
- 3다른 파라미터 조합과 메모리 사용량을 비교합니다.
자주 묻는 질문
N은 CPU/메모리 비용 계수로 2의 거듭제곱이어야 하며, 클수록 계산이 느려지고 메모리를 더 씁니다. r은 내부 해시 함수의 블록 크기, p는 병렬화 계수(동시에 도는 스레드 수)입니다. 메모리 사용량은 128×N×r×p 바이트로 결정됩니다.
RFC 7914 공식대로 128 × N × r × p 바이트입니다. 예를 들어 N=16384, r=8, p=1이면 128×16384×8×1=16,777,216바이트, 즉 16MiB입니다.
scrypt 원 논문과 RFC 7914 예시 기준으로 r=8, p=1을 고정하고 N만 용도에 맞게 조절하는 것이 일반적입니다. 로그인처럼 100ms 미만의 실시간 응답이 필요하면 N=2^14(16384, 16MiB), 백업 파일처럼 5초 미만이 허용되는 민감한 저장용이면 N=2^20(1048576, 1GiB)을 권장합니다.
scrypt 내부 구현이 N을 2의 거듭제곱으로 가정해 비트 연산으로 메모리 인덱스를 계산하기 때문입니다. 2의 거듭제곱이 아닌 N을 넣으면 대부분의 구현체가 값을 거부하거나 오류를 냅니다.
bcrypt는 비용 계수 하나로 시간만 조절하고, scrypt는 N(메모리·시간)·r·p 세 파라미터로 메모리 사용량을 직접 강제할 수 있어 GPU·ASIC 공격에 더 강합니다. Argon2는 scrypt 이후 나온 최신 알고리즘으로 메모리·반복·병렬도를 더 세밀하게 독립 조절할 수 있어 최근에는 Argon2id가 더 권장되는 경우가 많습니다.
전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.
알아두면 좋은 점
- 메모리 사용량 공식(128×N×r×p 바이트)과 N·p 파라미터 제약은 RFC 7914를 기준으로 했습니다.
- RFC 7914 원문의 N 상한(N < 2^(128×r/8))은 이후 정오표(errata 5972)에서 scrypt 원 논문 유도 과정의 오류로 지적됐습니다. 이 계산기가 다루는 실용적인 범위에서는 사실상 걸리지 않는 값이라, "N은 1보다 큰 2의 거듭제곱이어야 한다"는 실무적으로 의미 있는 제약만 검사합니다.
- 실제 해싱 소요 시간은 하드웨어(CPU·메모리 대역폭)에 따라 달라 초 단위로 추정하지 않습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 4일 · 결과는 참고용 추정치입니다.