AES 암호화·복호화
원시 키 또는 OpenSSL 호환 암호 문구(PBKDF2·레거시)로 AES(GCM, CBC, CTR, CFB, OFB, ECB) 암호화와 복호화를 합니다. 모든 처리는 브라우저에서 이루어집니다.
AES는 공유 비밀로 데이터를 암호화하는 표준 대칭 암호입니다. 이 도구는 인증이 포함된 GCM과 고전적인 CBC, CTR, CFB, OFB, ECB 모드로 암호화·복호화하며, 128·192·256비트 원시 키나 OpenSSL의 "Salted__" 형식 암호 문구를 쓸 수 있어 결과를 openssl 명령줄로 그대로 열 수 있습니다. 모든 처리는 브라우저에서 이루어집니다.
사용 방법
- 암호화 또는 복호화와 모드를 고르세요. 기존 시스템과 맞춰야 하는 경우가 아니면 GCM을 쓰세요.
- 원시 키(16진수 또는 Base64)와 IV를 넣거나 암호 문구 모드를 고르세요.
- 입력을 붙여 넣고 텍스트, 16진수, Base64 중 무엇인지 지정하세요.
- 결과를 복사하세요. 암호 문구 모드에서는 대응하는 openssl 명령도 함께 보여 줍니다.
계산식
AES는 128비트 블록을 128·192·256비트 키로 처리합니다. CBC는 IV로 블록을 연쇄하며 패딩이 필요합니다. CTR, CFB, OFB는 AES를 스트림 암호로 바꿉니다. GCM은 128비트 인증 태그를 더해 암호문이나 추가 데이터의 어떤 변경도 감지합니다. 암호 문구 모드에서는 무작위 8바이트 솔트를 고르고 그로부터 256비트 키와 IV를 유도합니다.
PBKDF2 모드는 openssl enc -aes-256-cbc -pbkdf2 -iter N -md sha256(OpenSSL 1.1.1 이상)과 같습니다. 키‖IV = PBKDF2-HMAC-SHA256(암호 문구, 솔트, N, 48바이트). 레거시 모드는 openssl enc -md md5와 CryptoJS.AES.encrypt(text, passphrase)와 같습니다. 키‖IV는 MD5를 한 번 돌리는 EVP_BytesToKey로 만들어지며 취약하므로 오래된 데이터를 읽을 때만 쓰세요.
예시
키 2b7e15…4f3c, IV 000102…0e0f로 블록 6bc1be…172a를 패딩 없이 CBC 암호화하면 7649abac8119b246cee98e9b12e9197d가 나옵니다. NIST SP 800-38A 테스트 벡터입니다. 암호 문구 "correct-horse"로 PBKDF2 모드에서 암호화한 텍스트는 openssl enc -d -aes-256-cbc -pbkdf2 -iter 600000 -md sha256 -a -A로 복호화됩니다.
자주 묻는 질문
내 데이터가 업로드되나요?
아니요. 암호화와 복호화는 기기에서 브라우저의 Web Crypto API와 내장 라이브러리로 처리되므로 키와 데이터가 기기를 떠나지 않습니다.
어떤 모드를 써야 하나요?
GCM을 권장합니다. 암호화와 인증을 함께 하므로 변조된 암호문은 거부됩니다. CBC나 CTR을 꼭 써야 한다면 같은 키로 IV나 카운터를 재사용하지 말고 HMAC-SHA256 같은 MAC을 더하세요. 실제 데이터에 ECB는 쓰지 마세요.
암호 문구에서 키는 어떻게 만들어지나요?
PBKDF2 모드에서는 암호 문구와 무작위 8바이트 솔트에 PBKDF2-HMAC-SHA256을 적용하며, 설정한 반복 횟수(기본 600,000회, OpenSSL 자체 기본값은 10,000회)를 씁니다. 레거시 모드에서는 OpenSSL의 옛 EVP_BytesToKey와 MD5 한 번을 쓰는데, 공격자가 초당 수십억 번 시험할 수 있으므로 기존 데이터를 열 때만 사용하세요.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/aes-encrypt-tool/
인용·퍼가기
kakaoCalc. (2026, November 8). AES 암호화·복호화. https://kakao.mobile/ko/tools/aes-encrypt-tool/
“AES 암호화·복호화.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/aes-encrypt-tool/.