Text Encryption Tool
AES-256-GCM/ChaCha20 브라우저 텍스트 암호화 도구
Text Encryption Tool 소개
텍스트 암호화 도구는 TLS, Signal 등 수많은 보안 시스템에서 사용되는 업계 표준 대칭 암호화 알고리즘인 AES-256-GCM으로 텍스트를 암호화하고 복호화합니다. 평문(암호화용) 또는 Base64 암호문(복호화용)을 입력하고 비밀번호를 제공한 후 버튼을 클릭하면 됩니다. 브라우저의 기본 Web Crypto API(crypto.subtle.encrypt 및 crypto.subtle.decrypt)를 사용하므로 외부 암호화 라이브러리가 필요 없고 데이터가 서버로 전송되지 않습니다.
이 도구는 로그, 설정 파일, 데이터베이스에 저장하기 전 민감한 문자열을 암호화해야 하는 개발자, 공유 비밀번호를 아는 상대방과 민감한 메모를 안전하게 공유하려는 사용자, AES-GCM 암호화의 실제 동작 원리를 배우려는 보안 학습자를 위해 설계되었습니다. 출력은 이메일, 문서, 코드 주석에 붙여넣을 수 있는 Base64 인코딩 문자열이며, 올바른 비밀번호가 있는 사람이라면 나중에 복호화할 수 있습니다.
기술적으로 암호화는 다음과 같이 작동합니다: crypto.getRandomValues로 16바이트 무작위 솔트와 12바이트 초기화 벡터(IV)를 생성합니다. 그런 다음 SHA-256과 100,000회 반복을 사용하는 PBKDF2로 비밀번호에서 256비트 AES-GCM 키를 파생합니다. 솔트, IV, GCM 암호문을 하나의 바이트 배열로 연결하고 Base64 인코딩하여 최종 출력을 만듭니다. 복호화는 이를 역순으로 수행합니다. GCM 모드에는 인증이 내장되어 있어 비밀번호가 틀리거나 암호문이 변조되면 복호화에 실패하며 명확한 오류를 표시합니다.
주요 기능
- AES-256-GCM 암호화 — 기밀성과 인증된 무결성 모두 제공
- 무작위 16바이트 솔트와 100,000회 SHA-256 반복을 사용하는 PBKDF2 키 파생
- 암호화마다 무작위 12바이트 IV 생성 — 동일 입력도 매번 다른 암호문 생성
- GCM 인증 태그가 변조 또는 잘못된 비밀번호를 감지하고 명확한 오류 표시
- Base64 암호문 형식으로 단일 인터페이스에서 암호화 및 복호화 모드 제공
- 암호화 출력을 클립보드에 원클릭 복사
- Web Crypto API를 통한 100% 클라이언트 사이드 처리 — 서버 호출 없음, 데이터 업로드 없음
- 회원가입 불필요, 다운로드 불필요, 사용 횟수 제한 없는 완전 무료
자주 묻는 질문
이 도구는 어떤 암호화 알고리즘을 사용하나요?
AES-256-GCM(갈루아/카운터 모드에서 256비트 키를 사용하는 고급 암호화 표준)을 사용합니다. GCM은 기밀성(키 없이 데이터를 읽을 수 없음)과 무결성 인증(암호문 변조 감지)을 모두 제공하는 인증된 암호화 모드입니다. TLS 1.3, Signal, WhatsApp에서 사용하는 것과 동일한 알고리즘입니다.
비밀번호에서 암호화 키는 어떻게 파생되나요?
SHA-256을 의사 난수 함수로 사용하는 PBKDF2를 100,000회 반복과 무작위 생성된 16바이트 솔트로 사용합니다. 높은 반복 횟수는 브루트포스 공격을 느리게 만들며, 각 비밀번호 추측에 100,000번의 SHA-256 연산이 필요합니다. 무작위 솔트는 동일한 비밀번호가 매번 다른 키를 생성하게 하여 레인보우 테이블 공격을 방지합니다.
암호화 출력의 형식은 어떻게 되나요?
출력은 세 가지 요소가 연결된 Base64 인코딩 문자열입니다: 16바이트 무작위 솔트, 12바이트 무작위 IV(초기화 벡터), AES-GCM 암호문 및 인증 태그. 복호화 시 도구는 위치로 이들 요소를 추출합니다 — 바이트 0~15는 솔트, 16~27은 IV, 28번째 바이트부터는 암호문입니다.
복호화가 실패하는 이유는 무엇인가요?
복호화는 두 가지 이유로 실패합니다: (1) 비밀번호가 틀림 — PBKDF2가 다른 키를 파생하고 AES-GCM이 인증에 실패합니다. (2) 암호문이 손상되거나 변조됨 — GCM 모드가 암호문의 단 1비트 변화도 감지하고 복호화를 거부합니다. 두 경우 모두 "복호화 실패. 잘못된 비밀번호 또는 손상된 데이터입니다." 메시지를 표시합니다.
AES-256-GCM은 민감한 데이터에 충분히 안전한가요?
네, AES-256-GCM은 암호학적으로 안전한 것으로 간주되며 민감한 정부 데이터 보호에 NIST가 승인한 알고리즘입니다. 암호화를 깨려면 비밀번호를 알거나 2^256번의 불가능한 브루트포스 검색을 수행해야 합니다. 강력한 비밀번호와 100,000회 PBKDF2 반복으로 민감한 텍스트 문자열 보호에 실용적인 방식입니다.
암호화와 인코딩의 차이점은 무엇인가요?
암호화는 비밀 키를 사용해 권한 있는 사람만 읽을 수 있도록 데이터를 변환합니다. 인코딩(Base64 등)은 비밀이 없는 가역적 변환으로 표현 방식만 바꿉니다. 이 도구는 AES-GCM으로 암호화한 후 편리한 텍스트 처리를 위해 출력을 Base64 인코딩합니다. Base64 부분은 보안을 제공하지 않으며, 보안은 전적으로 비밀번호를 사용한 AES-GCM 암호화에서 옵니다.
파일 암호화에도 사용할 수 있나요?
도구는 파일이 아닌 텍스트 문자열용으로 설계되었습니다. JSON, 코드 스니펫, 비밀번호, 개인 메모 등 모든 텍스트 콘텐츠를 암호화할 수 있습니다. 바이너리 파일 암호화에는 파일 입력과 바이너리 출력을 처리하는 도구가 필요합니다.
비밀번호나 암호화 텍스트가 저장되나요?
아니오. 비밀번호와 모든 텍스트 필드는 페이지가 열려 있는 동안 브라우저 메모리(React 컴포넌트 상태)에만 존재합니다. 탭을 닫거나 다른 페이지로 이동하면 모든 것이 사라집니다. Web Crypto API는 로컬에서 호출되며 네트워크 요청이 이루어지지 않습니다. 비밀번호는 절대 사용자의 기기를 떠나지 않습니다.