AES CBC 모드. 광범위한 호환성. 메시지별 랜덤 IV 필요.
작동 방식
대칭 암호화는 암호화와 복호화에 하나의 비밀 키를 사용합니다. 키를 가진 사람은 두 작업을 모두 할 수 있으므로 안전한 경로로 공유해야 합니다.
알고리즘을 선택하고 키(필요하면 IV 또는 nonce)를 생성하거나 붙여넣은 뒤 텍스트를 입력하거나 파일을 업로드하면 암호화가 브라우저에서 즉시 이루어집니다. 결과는 16진수 또는 Base64로 표시할 수 있습니다.
AES-GCM과 ChaCha20-Poly1305은 인증 암호(AEAD)로, 내용을 숨길 뿐 아니라 변조도 감지합니다. AES-CBC와 AES-CTR은 인증을 하지 않으며, DES, 3DES, RC4, Rabbit은 레거시 시스템 호환을 위해서만 포함되어 있습니다.
예시
AES-GCM · 256 bits평문 → Base64 형식의 암호문(인증 태그 포함).AES-CBC · 256 bits + IV 128 bits메시지마다 무작위 IV가 필요합니다. 같은 IV와 키를 쓰면 같은 텍스트가 항상 같은 결과를 냅니다.같은 키로 IV나 nonce를 재사용하지 마세요. 특히 GCM과 CTR 모드에서는 암호화의 보안이 약화됩니다.ChaCha20-Poly1305 · nonce 192 bitsAES-GCM의 인증 대안으로, AES-NI 가속이 없는 기기에 적합합니다.활용 사례
- 텍스트나 파일을 암호화해 보호된 상태로 저장하거나 보내고, 키는 별도 경로로 공유하기.
- 올바른 키와 IV로 수신한 데이터를 복호화하기.
- 알고리즘, 모드, 키 크기, IV를 조정해 다른 시스템과의 상호 운용성을 테스트하기.
- 모드 간의 차이를 실제로 이해하기: 인증된 GCM 대 인증되지 않은 CBC 또는 CTR.
자주 묻는 질문
대칭 암호화와 비대칭 암호화의 차이는 무엇인가요?
대칭은 암호화와 복호화에 같은 키를 쓰고, 비대칭은 공개 키와 개인 키 쌍을 씁니다. 대칭은 더 빠르지만 키를 안전하게 공유해야 합니다.
어떤 알고리즘을 사용해야 하나요?
일반적인 용도에는 AES-GCM이 권장 표준입니다. ChaCha20-Poly1305은 AES-NI 가속이 없는 기기에서 훌륭한 대안입니다. 호환성 목적이 아니라면 DES, 3DES, RC4, Rabbit은 피하세요.
IV 또는 nonce란 무엇이며 왜 생성해야 하나요?
각 메시지에서 키와 결합되는 무작위 값으로, 같은 텍스트가 항상 같은 암호문이 되지 않도록 합니다. 메시지마다 고유해야 하며 같은 키로 재사용하면 안 됩니다.
키는 어떠해야 하나요?
알고리즘이 지정하는 크기(예: AES-256의 경우 256비트)의 무작위 값이어야 합니다. 버튼으로 안전한 키를 생성하세요. 비밀번호나 예측 가능한 값은 쓰지 마세요.
DES, 3DES, RC4가 안전하지 않은데 왜 나타나나요?
이를 아직 사용하는 오래된 시스템이 만든 데이터를 복호화할 때만 쓰세요. 새로운 정보를 보호하는 데는 사용하지 마세요.
내 텍스트와 키가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 브라우저에서 로컬로 이루어지며, 내용과 키 모두 기기를 벗어나지 않습니다.