해시/암호화

AES Encrypt/Decrypt

비밀번호를 사용하여 AES-GCM 또는 AES-CBC로 텍스트를 암호화 및 복호화합니다(키는 PBKDF2로 유도됨).

AES is the standard for symmetric encryption: the same password is used to both encrypt and decrypt. This tool derives an encryption key from your password with PBKDF2 and encrypts text with AES-GCM or AES-CBC — all locally in your browser.

How to use it

Common uses

Things to keep in mind

The IV (initialization vector) must be unique for every encryption performed with the same key — reusing a key+IV pair in GCM completely breaks the encryption's security.

AES-CBC without a separate integrity check (a MAC) is vulnerable to ciphertext-tampering attacks — that's why GCM, which combines encryption and authentication in one mode, is the safer default.

이 도구에 대한 아티클: AES: 대칭 암호화는 어떻게 동작하는가

자주 묻는 질문

AES-GCM과 AES-CBC 중 무엇을 선택해야 하나요?

AES-GCM은 암호화와 동시에 무결성 인증까지 제공하는 인증 암호화 방식이라 대부분의 경우 권장됩니다. AES-CBC는 별도의 무결성 검증 수단이 없어 상호 운용성이 필요한 경우가 아니라면 GCM을 사용하는 것이 좋습니다.

비밀번호를 그대로 AES 키로 사용하나요?

아니요. 입력한 비밀번호는 PBKDF2로 유도(key derivation) 과정을 거쳐 AES 키로 변환됩니다. 비밀번호를 직접 키로 쓰는 것보다 무차별 대입 공격에 훨씬 강합니다.

같은 IV(초기화 벡터)를 재사용해도 괜찮나요?

절대 안 됩니다. 같은 키로 같은 IV/nonce를 재사용하면 암호문의 기밀성과 무결성이 심각하게 훼손될 수 있습니다. 이 도구는 암호화할 때마다 새로운 IV를 생성합니다.

ECB 모드를 사용하면 안 되는 이유는 무엇인가요?

ECB는 각 블록을 독립적으로 동일한 방식으로 암호화하므로, 동일한 평문 블록은 동일한 암호문 블록을 만들어냅니다 — 이는 데이터의 구조를 그대로 노출합니다(예: 이미지의 반복 패턴이 암호화 후에도 그대로 보임). 고유한 IV를 사용하는 CBC나 GCM은 이 문제를 해결합니다.

같은 키로 동일한 IV를 재사용하면 어떻게 되나요?

GCM에서는 치명적인 실수입니다 — 키+IV 조합을 재사용하면 암호화의 기밀성과 무결성이 완전히 무너집니다. IV는 같은 키로 암호화할 때마다 항상 고유해야 합니다.

아티클: 해시/암호화

Hash Generator: MD5, SHA-1, SHA-256은 서로 어떻게 다른가

MD5가 아직도 파일 무결성 검증에는 쓰이지만 비밀번호에는 쓰이지 않는 이유.

Checksum Verifier: 파일이 손상되지 않았는지 확인하는 방법

일치하는 체크섬이 파일의 무결성은 확인해주지만 누가 만들었는지는 확인해주지 않는 이유.

HMAC: 키가 있는 해시는 일반 해시와 어떻게 다른가

일반 SHA-256이 메시지 위변조를 막지 못하지만 HMAC은 막을 수 있는 이유.

Bcrypt: 비밀번호를 빠르게가 아니라 느리게 해시하는 이유

빠른 SHA-256이 비밀번호에는 나쁜 선택이고, 느린 bcrypt가 올바른 선택인 이유.

UUID: 거의 절대 중복되지 않는 식별자는 어떻게 만들어지는가

UUID v4를 수백만 대의 기계에서 충돌 위험 없이 독립적으로 생성할 수 있는 이유.

비밀번호 생성기: 비밀번호를 진짜로 강하게 만드는 것

사전 단어로 만든 긴 비밀번호가 기호와 숫자가 든 짧은 비밀번호보다 강한 이유.

Argon2: 이 알고리즘이 비밀번호 해싱 경진대회에서 우승한 이유

Argon2가 오래된 비밀번호 해싱 알고리즘보다 GPU를 이용한 공격을 더 잘 방어하는 방법.

Scrypt: 이 알고리즘이 왜 그렇게 많은 메모리를 필요로 하는가

scrypt가 ASIC 장치에서의 크래킹을 어렵게 만들기 위해 일부러 많은 메모리를 요구하는 이유.

TOTP: 인증 앱의 일회용 코드는 어떻게 작동하는가

Google Authenticator의 코드가 인터넷 없이 작동하고 시간만으로 서버와 동기화되는 이유.

PBKDF2: 가장 오래된 키 스트레칭 표준

PBKDF2의 권장 반복 횟수가 매년 늘어나는 이유.

X.509: SSL 인증서 안에는 무엇이 들어있는가

초록색 자물쇠를 보여주기 전에 브라우저가 사이트 인증서에서 정확히 무엇을 확인하는지.

PGP: 공개 키와 개인 키 암호화는 어떻게 작동하는가

PGP 공개 키는 자유롭게 공유할 수 있지만 개인 키는 절대 공유해서는 안 되는 이유.