비제네르 암호 인코더·디코더 (키워드 암호)

키워드를 사용해 문자마다 다른 이동량을 적용하는 비제네르 암호의 암호화·복호화를 브라우저 안에서 완결되게 처리하는 도구입니다. 같은 키워드로 암호화와 복호화를 모두 할 수 있으며, 변환 과정을 한 글자씩 확인할 수 있습니다. 모든 처리는 브라우저 내에서 이루어지며 외부로 전송되지 않습니다.


사용 팁

  • 비제네르 암호는 한때 "해독 불가능한 암호"(le chiffre indéchiffrable)라고 불렸으며, 약 300년 동안 실용적인 해독법이 발견되지 않았습니다.
  • 키워드를 반복해서 사용하기 때문에 키워드가 짧을수록 같은 이동 패턴이 더 빨리 반복되어 암호 분석에 단서를 더 많이 제공합니다. 키워드가 길수록 일반적으로 더 안전합니다.
  • 공백·기호·숫자는 키워드 위치를 소비하지 않고 그대로 출력됩니다. 따라서 줄바꿈이나 공백을 다르게 넣어도 암호화 규칙성은 바뀌지 않습니다.
  • 암호화와 복호화는 같은 키워드를 사용하는 대칭적인 연산입니다. "결과를 입력에 반영" 버튼을 사용하면 방금 암호화한 결과를 즉시 복호화 모드로 시험해 볼 수 있습니다.
  • 대문자·소문자는 입력한 모습 그대로 결과에 유지됩니다 (내부의 이동 계산 자체는 알파벳 상의 위치를 기준으로 이루어집니다).

자주 묻는 질문

1863년 프로이센의 육군 장교 프리드리히 카시스키가 암호문에 나타나는 반복 패턴의 간격으로부터 키워드 길이를 추정하는 "카시스키 시험"을 발표하면서 체계적인 해독이 가능해졌습니다. 평문의 일부를 이미 알고 있는 경우에는 기지평문공격으로도 키워드를 복원할 수 있습니다.

시저 암호는 문장 전체에 고정된 하나의 이동량만 적용하지만, 비제네르 암호는 키워드 각 글자가 나타내는 숫자 값을 사용해 글자마다 다른 이동량을 반복 적용합니다. 그 때문에 단순한 빈도 분석만으로는 해독할 수 없습니다.

오랫동안 프랑스 외교관 블레즈 드 비제네르의 발명으로 알려졌지만, 실제로는 16세기 이탈리아의 암호학자 조반 바티스타 벨라소가 1553년에 이미 거의 동일한 방식을 발표한 것으로 밝혀졌습니다. 비제네르 본인은 나중에 다른 암호를 고안했고, 그것이 후대에 그의 이름과 연결된 것으로 여겨집니다.

암호문에서 같은 문자열이 반복해서 나타나는 지점을 찾고, 그 사이 간격(문자 수)의 최대공약수로부터 키워드 길이를 추정하는 방법입니다. 길이를 알아내면 이후에는 각 위치별로 빈도 분석을 적용해 단순한 시저 암호의 모음처럼 해독할 수 있습니다.

의미가 있는 단어일 필요는 없으며, 영문자로만 이루어져 있으면 어떤 문자열이든 사용할 수 있습니다. 다만 실제 운용에서는 기억하기 쉬운 실제 단어가 자주 사용되었고, 그 예측 가능성이 오히려 카시스키 시험 등 해독의 단서가 되기도 했습니다.
ツールくん

여담 ― "해독 불가능한 암호"를 무너뜨린 카시스키 시험

비제네르 암호는 16세기 프랑스 외교관 블레즈 드 비제네르의 이름을 따서 불리지만, 실제 고안자는 다른 사람으로 알려져 있습니다. 1553년 이탈리아의 암호학자 조반 바티스타 벨라소가 키워드를 반복 사용해 글자마다 이동량을 다르게 하는 동일한 방식을 이미 발표했으며, 비제네르 본인은 19세기에 들어서야 그의 저작을 통해 널리 알려진 별개의 암호를 고안했을 뿐입니다. 역사적으로 업적의 귀속이 잘못 전해진 전형적인 사례로 꼽힙니다.

시저 암호가 고정된 하나의 이동량, 에니그마 암호기가 로터의 기계적 회전으로 매번 이동량을 바꾸는 것과 달리, 비제네르 암호는 "외우기 쉬운 열쇠"인 키워드를 반복 사용함으로써 글자마다 다른 이동량을 실현했습니다. 단일 이동량으로 암호화하는 시저 암호는 문자 출현 빈도 분석만으로 쉽게 해독되지만, 비제네르 암호는 겉보기에 그 빈도 분포를 평탄화하기 때문에 19세기 중반까지 "해독 불가능한 암호(le chiffre indéchiffrable)"라고 불리며 실무에서도 널리 사용되었습니다.

이 평판에 종지부를 찍은 것이 1863년 프로이센의 육군 장교 프리드리히 카시스키가 발표한 "카시스키 시험"입니다. 암호문 속에서 같은 문자열이 반복해서 나타나는 간격을 조사해 키워드 길이를 추정하고, 길이만 알면 각 위치별로 단순한 빈도 분석(시저 암호 해독과 같은 방법)을 적용할 수 있음을 보여주었습니다. 이로써 약 300년간 실용적이었던 암호가 체계적으로 해독되는 방법이 확립되었고, 암호 해독 역사에서 중요한 전환점이 되었습니다.

다만 키워드가 평문과 같은 길이이고 한 번만 사용된다면, 비제네르 암호는 이론적으로 해독 불가능한 "일회용 암호표(원타임 패드)"와 수학적으로 동등해집니다. 실제 운용에서 키워드가 짧고 반복 사용된 것이 약점이 되었다는 점은, 키 관리의 중요성을 보여주는 역사적 교훈으로 현대 암호 설계에도 이어지고 있습니다.