AES 텍스트 암호화

비밀번호로 텍스트를 AES-GCM 방식으로 암호화하고 복호화합니다.

암호문 (Base64)

반복 횟수가 클수록 비밀번호 대입 공격이 느려지지만, 암호화·복호화에 걸리는 시간도 함께 늘어납니다.

암호문은 이렇게 묶여 있습니다

비밀번호에서 PBKDF2-HMAC-SHA256으로 256비트 키를 유도한 뒤 AES-256-GCM으로 암호화합니다. 매번 새로운 salt와 IV를 crypto.getRandomValues로 뽑기 때문에, 같은 글·같은 비밀번호라도 실행할 때마다 암호문이 달라집니다(정상입니다). 아래 바이트들을 순서대로 이어붙인 뒤 전체를 Base64로 인코딩한 것이 결과 문자열입니다.

위치 (바이트)길이내용설명
0 ~ 23"TZC"이 도구의 형식임을 알리는 매직 값
310x01형식 버전
4 ~ 74uint32 BEPBKDF2 반복 횟수 — 복호화 때 이 값을 그대로 사용합니다
8 ~ 2316saltPBKDF2 salt (난수)
24 ~ 3512IVAES-GCM 초기화 벡터 (난수, 재사용 금지)
36 ~가변ciphertext + tag암호문과 16바이트 GCM 인증 태그 — 한 글자라도 변조되면 복호화가 실패합니다

salt·IV·반복 횟수는 비밀이 아니므로 암호문에 함께 담아도 안전합니다. 오히려 함께 담겨 있어야 받는 쪽이 비밀번호만으로 복호화할 수 있습니다. 매직 값이 없는 옛 암호문(salt 16 + IV 12 + 암호문, 10만 회)도 자동으로 인식해 복호화합니다.

⚠ 비밀번호를 잊으면 복구할 방법이 전혀 없습니다. 이 도구는 비밀번호를 어디에도 저장하지 않으며, 텍스트·비밀번호 모두 서버로 전송되지 않고 브라우저에도 남기지 않습니다. 암호의 강도는 결국 비밀번호의 강도입니다 — 짧은 비밀번호는 반복 횟수를 아무리 올려도 뚫립니다.

AES 텍스트 암호화란?

메모, 아이디·비밀번호, 개인적인 메시지를 안전하게 보관하거나 전달하고 싶을 때 이 AES 암호화 도구를 사용해 보세요. 텍스트와 비밀번호를 넣고 버튼을 누르면, 국제 표준 방식인 AES-256-GCM으로 암호화된 문자열(Base64)을 즉시 얻을 수 있습니다. 비밀번호로부터 암호화 키를 생성할 때는 PBKDF2를 사용하여 보안을 강화합니다. 이 모든 암호화 및 복호화 과정은 사용자의 브라우저 안에서만 처리됩니다. 입력하신 텍스트와 비밀번호는 서버로 일절 전송되지 않으므로, 민감한 정보도 안심하고 다룰 수 있습니다. 설치나 회원가입 없이 바로 사용하세요.

사용 방법

  1. 상단의 '🔒 암호화' 또는 '🔓 복호화' 버튼으로 원하는 모드를 선택합니다.
  2. 왼쪽 입력칸에 암호화할 평문이나 복호화할 암호문을 입력합니다.
  3. 아래 '비밀번호' 입력칸에 암복호화에 사용할 비밀번호를 입력합니다.
  4. 보안 강도를 높이려면 'PBKDF2 반복 횟수'를 더 높은 값으로 조정할 수 있습니다.
  5. 하단의 '🔒 암호화 실행' 또는 '🔓 복호화 실행' 버튼을 누릅니다.
  6. 결과가 오른쪽 칸에 표시됩니다. '복사' 버튼으로 간편하게 가져가거나 '암호문 저장' 버튼으로 파일로 받을 수 있습니다.

AES 텍스트 암호화 사용 가이드

실제 작업에서 이 도구를 어떻게 쓰는지, 무엇을 조심해야 하는지 정리했습니다.

PBKDF2 반복 횟수는 무엇을 사는 값인가

사람이 외우는 비밀번호는 AES 키가 되기에 너무 짧고 규칙적입니다. 그래서 비밀번호를 그대로 쓰지 않고 PBKDF2로 오래 주물러 256비트 키를 뽑아냅니다. 반복 횟수는 이 주무르는 횟수입니다.

핵심은 이겁니다 — 반복 횟수를 올려도 여러분은 한 번만 기다리지만, 공격자는 비밀번호 후보 하나마다 그만큼 기다려야 합니다. 25만 회면 공격자가 초당 시도할 수 있는 후보 개수가 대략 25만 분의 1로 줄어듭니다. 여러분이 1초 미만을 내고 공격자에게 그 25만 배를 물리는 거래입니다.

설정체감언제
100,000회거의 즉시옛 암호문 호환용. 새로 만들 때 권장하지 않음
250,000회 (기본)보통 1초 이내일상적인 메모·메시지
600,000회기기에 따라 1~2초OWASP가 권장하는 수준. 중요한 내용
1,000,000회눈에 띄게 느림오래 보관할 민감한 내용
반복 횟수는 암호문 안에 함께 기록됩니다(앞쪽 4바이트). 그래서 나중에 기본값을 올려도 예전 암호문은 그때 쓰인 횟수로 정확히 복호화됩니다 — 복호화할 때 이 값을 따로 기억할 필요가 없습니다. 체감 시간은 기기 성능에 따라 크게 다르니 위 표는 대략의 기준으로만 보세요. 실제 소요 시간은 실행 후 통계에 표시됩니다.

salt와 IV가 없으면 무슨 일이 생기나

둘 다 비밀이 아닌 난수인데 왜 꼭 필요한지 헷갈리는 부분입니다. 역할이 완전히 다릅니다.

salt가 없으면 같은 비밀번호는 항상 같은 키를 만듭니다. 그러면 공격자는 흔한 비밀번호 수억 개에 대한 키를 미리 계산해 표로 만들어 두고(레인보우 테이블), 어떤 암호문이 와도 표만 뒤져 즉시 답을 찾습니다. 반복 횟수를 100만으로 올려도 소용없습니다 — 그 계산은 이미 오래전에 끝나 있으니까요. salt가 매번 달라지면 이 사전 작업이 통째로 무의미해집니다.

IV는 같은 평문이 같은 암호문이 되는 것을 막습니다. IV가 고정이면 "예"라는 짧은 답장의 암호문이 늘 같아서, 내용을 몰라도 누가 뭐라고 답했는지 패턴으로 읽힙니다. 특히 AES-GCM에서 같은 키에 같은 IV를 두 번 쓰면 단순한 패턴 노출을 넘어 두 평문이 함께 복원될 수 있는 치명적인 사고가 납니다.

그래서 이 도구는 실행할 때마다 salt와 IV를 새 난수로 뽑습니다. 같은 글을 같은 비밀번호로 두 번 암호화하면 결과 문자열이 전혀 다르게 나오는데, 고장이 아니라 정상이며 오히려 제대로 작동한다는 증거입니다. 두 결과 모두 같은 비밀번호로 복호화됩니다.

"복호화 실패"가 뜰 때 — 인증 태그의 정체

AES-GCM은 암호화만 하는 게 아니라 16바이트짜리 인증 태그를 함께 만들어 붙입니다. 복호화할 때 이 태그를 다시 계산해 맞춰보고, 하나라도 어긋나면 결과를 내놓지 않고 실패시킵니다. 덕분에 공격자가 암호문의 비트 몇 개를 뒤집어 내용을 몰래 바꾸는 조작이 통하지 않습니다. 복호화가 성공했다는 것은 곧 내용이 위·변조되지 않았다는 뜻입니다.

그 대신 실패 메시지는 원인을 구분해 주지 못합니다. 비밀번호가 틀린 것과 암호문이 변조된 것이 똑같이 태그 검증 실패로 끝나기 때문입니다. 설계상 그런 것이고, 구분해서 알려주는 편이 오히려 공격자에게 힌트가 됩니다.

  • 가장 흔한 원인은 복사가 잘린 것입니다. 암호문은 반드시 처음부터 끝까지 통째로 붙여넣어야 합니다. 메신저에서 "더보기"로 접힌 채 복사하면 뒷부분이 날아갑니다.
  • 메일 본문에 넣으면 클라이언트가 줄바꿈을 넣거나 링크로 바꾸면서 문자가 섞일 수 있습니다. 첨부 파일로 보내는 편이 안전합니다.
  • 비밀번호의 앞뒤 공백과 대소문자를 확인하세요. 복사할 때 딸려온 공백 하나가 원인인 경우가 많습니다.
  • 모드가 복호화로 되어 있는지, 입력 칸에 평문이 아니라 암호문이 들어 있는지 확인하세요.

반복 횟수보다 비밀번호가 먼저입니다

반복 횟수를 100만으로 올려도 비밀번호가 1234 라면 공격자는 후보 열 개만 시도하면 됩니다. 100만 회 반복 × 10회는 몇 초입니다. 반복 횟수는 비밀번호가 어느 정도 강할 때만 의미 있는 방어입니다.

반대로 무작위 단어 네 개를 이어 붙인 문장(예시 넣기 버튼이 보여주는 형태)은 외우기 쉬우면서 후보 공간이 압도적으로 넓습니다. 8자 미만이면 이 도구가 암호화 후에 경고를 띄우는 이유입니다.

비밀번호를 잊으면 복구할 방법이 전혀 없습니다. 이 도구에는 백도어도, 복구 코드도, 관리자 초기화도 없습니다. 그게 제대로 만든 암호화의 정의입니다. 그리고 암호문과 비밀번호를 같은 곳에 보관하면 암호화한 의미가 사라지니, 암호문은 메신저로 보내고 비밀번호는 전화로 알려주는 식으로 경로를 나누세요.

이 도구로 할 일과 하면 안 되는 일

브라우저 안에서만 도는 도구라 서버로 아무것도 보내지 않습니다. 그래서 사내 메모나 임시 계정 정보처럼 남에게 맡기기 곤란한 내용을 다루기에 적당합니다. 다만 만능은 아닙니다.

상황적합 여부
메모·계정 정보를 메신저나 메일로 한 번 전달적합 — 비밀번호는 다른 경로로
개인 메모를 클라우드 메모장에 암호문으로 보관적합
팀 공용 비밀 관리부적합 — 비밀번호 관리자나 Vault를 쓰세요
대용량 파일·이미지 암호화부적합 — 텍스트 전용입니다
서비스 DB의 개인정보 암호화부적합 — 서버 측 키 관리 체계가 필요합니다
다른 프로그램에서 열어야 하는 암호문부적합 — 아래 형식 문제를 보세요
이 도구의 암호문은 자체 묶음 형식(앞 3바이트가 TZC)입니다. 알고리즘은 표준 AES-256-GCM이지만 salt·IV·반복 횟수를 담는 순서는 이 도구의 약속이라, openssl 명령이나 다른 암호화 사이트로는 그대로 열리지 않습니다. 받는 사람도 이 페이지에서 풀어야 합니다. 몇 년 뒤에도 열어야 하는 자료라면 표준 도구(GnuPG 등)를 쓰는 편이 안전합니다.

자주 묻는 질문

비밀번호를 잊으면 복구할 수 있나요?

아니요, 복구는 절대로 불가능합니다. 이 도구는 사용자의 비밀번호를 서버에 저장하거나 전송하지 않고 브라우저 내에서만 사용 후 폐기합니다. 저희도 알 수 없으므로 복구해 드릴 방법이 없습니다. 비밀번호는 반드시 안전한 곳에 따로 보관하세요.

같은 텍스트와 비밀번호로 암호화했는데 결과가 매번 다릅니다. 왜 그런가요?

정상적인 동작이며, 오히려 더 안전하다는 증거입니다. 암호화할 때마다 무작위로 생성된 'salt'와 'IV'라는 데이터를 추가하기 때문입니다. 이 값들은 암호문에 함께 기록되므로, 같은 비밀번호만 있다면 복호화 시 문제없이 원본을 찾을 수 있습니다.

이 도구는 얼마나 안전한가요?

미국 정부 표준인 AES-256-GCM과 암호학계에서 권장하는 PBKDF2-SHA256 방식을 사용해 매우 안전합니다. 모든 과정이 서버를 거치지 않고 브라우저에서만 이뤄져 외부 유출 위험이 없습니다. 하지만 암호의 최종 강도는 비밀번호 길이에 좌우되므로, 길고 복잡한 비밀번호를 사용하는 것이 가장 중요합니다.

복호화가 안 되고 오류가 발생합니다.

비밀번호가 틀렸거나 암호문이 손상(변조 또는 일부 누락)되었을 가능성이 가장 높습니다. 비밀번호는 대소문자와 특수문자, 앞뒤 공백까지 정확히 일치해야 합니다. 암호문을 붙여넣을 때 전체가 빠짐없이 복사되었는지 다시 한번 확인해 보시기 바랍니다.