AES-256-CBC(폭넓은 호환성)와 AES-256-GCM(인증 암호화)을 모두 지원합니다. GCM은 변조를 자동으로 감지하므로 새 프로젝트에 권장됩니다.
비밀번호가 키로 직접 사용되는 일은 없습니다. 10만 회 반복의 PBKDF2-SHA256과 무작위 솔트로 안전한 256비트 키를 유도하여 무차별 대입 공격을 방어합니다.
모든 암호 연산은 브라우저 내장 Web Crypto API를 사용합니다. HTTPS에 쓰이는 것과 동일한 엔진입니다. 어떤 서드파티 암호 라이브러리도 로드하지 않습니다.
평문, 암호문, 비밀번호가 기기를 벗어나지 않습니다. 암호화나 복호화 중에 어떠한 분석, 로깅, 서버 호출도 없습니다.
AES(고급 암호화 표준)는 가장 널리 사용되는 대칭 암호화 알고리즘입니다. 동일한 키로 데이터를 암호화하고 복호화하므로 빠르고 안전합니다. AES-256은 256비트 키를 사용하며 NIST가 최고 기밀 데이터용으로 승인했습니다.
AES-CBC(암호 블록 체이닝)는 블록을 순차적으로 암호화하며 별도의 무결성 검사가 필요합니다. AES-GCM(갈루아/카운터 모드)은 기밀성과 무결성을 한 번에 제공하는 인증 암호화 모드로, 현대 애플리케이션에서 선호되는 선택입니다.
모든 암호화와 복호화는 Web Crypto API를 사용해 브라우저 내에서 완전히 실행되며 어떤 데이터도 서버로 전송되지 않습니다. 다만 AES의 보안은 전적으로 키의 비밀성에 달려 있으므로 강력하고 고유한 비밀번호를 사용하고 비밀로 유지하세요.
PBKDF2(비밀번호 기반 키 유도 함수 2)는 해시 함수를 무작위 솔트와 함께 여러 번 적용하여 사람이 읽을 수 있는 비밀번호에서 암호 키를 유도합니다. 이로써 비밀번호를 직접 키로 쓰는 것보다 무차별 대입 공격이 훨씬 어려워집니다.