동형 치환 암호 변환기
글자 하나에 암호문 기호를 여러 개(빈출 글자일수록 더 많이) 배정해 빈도분석을 어렵게 만드는 치환 암호로 영문을 암호화·복호화합니다.
평문
A~Z 코드 배정 개수 (쉼표 구분, 합 100 이하)
코드 총 44개 배정됨 (00~43)
암호문 (코드)
같은 글자가 반복되면 배정된 코드를 순서대로 돌려 씁니다. 빈출 글자에 코드를 더 많이 배정할수록 암호문에서 각 코드의 등장 빈도가 고르게 나와 빈도분석이 어려워집니다.
사용 방법
- 1암호화할지 복호화할지 고릅니다.
- 2A~Z 각 글자에 배정할 코드 개수(빈출 글자일수록 많이)를 정합니다.
- 3텍스트 또는 두 자리 코드열을 붙여넣고 결과를 확인합니다.
자주 묻는 질문
00~99 두 자리 코드를 A부터 Z까지 순서대로 나눠 배정합니다 — 어떤 글자에 코드를 몇 개 줄지는 사용자가 정합니다. 암호화할 때 같은 글자가 여러 번 나오면 배정된 코드를 순서대로 돌려 씁니다. 그래서 같은 글자라도 등장할 때마다 다른 코드가 나올 수 있습니다.
같은 소리(같은 평문 글자)를 서로 다른 여러 기호로 낼 수 있다는 뜻입니다. 단일 치환 암호(keyword-substitution-cipher)는 글자 하나가 항상 같은 기호가 되어 언어의 글자 빈도가 암호문에 그대로 드러나지만, 이 암호는 빈출 글자에 코드를 더 많이 배정해 각 코드의 등장 빈도를 고르게(균등하게) 만듭니다.
A부터 Z까지 순서대로, 앞 글자가 쓴 코드 바로 다음 번호부터 이어서 배정하기 때문입니다. 그래서 어떤 코드든 정확히 한 글자에만 속하고, 복호화할 때 항상 하나의 답으로만 되돌아갑니다.
안 됩니다. 단순 빈도분석은 어렵게 만들지만, 여러 글자가 짝을 이루는 패턴(다이그래프 빈도 등) 분석에는 여전히 취약합니다. 학습이나 놀이용으로만 쓰세요.
알아두면 좋은 점
- E에 코드 4개, T에 코드 3개, 나머지에 1개씩 배정한 예제로 EEEET → "04 05 06 07 22"가 나오는지, E가 배정 개수를 넘어 다시 나오면 코드가 처음으로 순환하는지 손으로 계산해 검증했습니다.
- 모든 글자의 코드 목록을 합쳤을 때 중복이 없는지(복호화가 항상 한 글자로만 대응하는지) 확인했습니다.
- 코드 개수 합은 100(00~99)을 넘을 수 없고, 모든 글자에 최소 1개는 배정해야 합니다.
함께 보면 좋은 도구
키워드 치환 암호키워드로 만든 26자 치환표에 따라 알파벳을 통째로 1:1 대응시키는 모노알파벳 암호로 영문을 암호화·복호화합니다.니힐리스트 암호폴리비오스 좌표로 바꾼 평문에 키 좌표를 나머지 연산 없이 그냥 더하는, 19세기 러시아 혁명가들이 쓴 암호로 영문을 암호화·복호화합니다.개인정보 가리기글에서 전화번호·주민등록번호·이메일·카드번호·계좌번호를 자동으로 찾아 별표로 가립니다.경로 암호평문을 격자에 채운 뒤 나선형 또는 지그재그 경로를 따라 다시 읽는 전치 암호로, 미국 남북전쟁 당시 실제 쓰였습니다.공백 정리줄 앞뒤 공백과 연속된 공백, 빈 줄을 한 번에 정리합니다.
마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.