본문으로 건너뛰기
MyIPKit— 내 네트워크를 이해하다.

텍스트 암호화·복호화

비밀번호로 메시지를 암호화해 안전하게 전달하거나, 개발자라면 원시 키로 알고리즘별 암호화·복호화를 해서 다른 시스템의 결과와 맞는지 확인하세요. 모든 처리는 브라우저 안에서 이루어집니다.

브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다

비밀번호로

AES-256-GCM이며, 키는 비밀번호에서 PBKDF2-SHA256(60만 회 반복, 랜덤 솔트)으로 만듭니다. 결과에 솔트와 IV가 들어 있어 복호화에는 비밀번호만 있으면 됩니다.

긴 패스프레이즈를 쓰고, 비밀번호는 메시지와 다른 경로로 전달하세요.

키로 (개발자용)

같은 키로 논스를 절대 재사용하지 마세요. GCM과 ChaCha20에서는 암호화가 깨집니다.

브라우저에서만 실행됩니다 — 어디에도 전송되지 않습니다

알고리즘 고르기

  • AES-GCM과 ChaCha20-Poly1305는 인증 암호화라 변조와 틀린 키를 잡아냅니다. 이쪽을 쓰세요.
  • XChaCha20-Poly1305는 24바이트 논스를 써서, 메시지가 아무리 많아도 논스를 랜덤으로 골라도 안전합니다.
  • AES-CBC와 AES-CTR은 인증 없이 암호화만 합니다. 이를 요구하는 시스템과 호환할 때만 쓰고, MAC을 덧붙이세요.

비밀번호 방식은 얼마나 안전한가요?

비밀번호만큼 안전합니다. AES-256-GCM과 PBKDF2는 표준이고 브라우저가 직접 구현하지만, 짧거나 흔한 비밀번호는 여전히 추측될 수 있습니다. 긴 패스프레이즈를 쓰고 따로 전달하세요.

왜 ECB 모드는 없나요?

ECB는 같은 블록을 같은 결과로 암호화해서 데이터의 패턴이 드러납니다. 쓰면 안 되는 방식이라 제공하지 않습니다.

서버로 무언가 전송되나요?

아니요. 암호화와 복호화는 브라우저 안에서만 이루어지고, 아무것도 저장하지 않습니다.