본문으로 건너뛰기

비지네르 암호 인코더·디코더

키워드를 입력해 비지네르 암호로 메시지를 암호화하거나 복호화하세요. 각 글자는 대응하는 키 문자만큼 이동하고, 대소문자는 유지되며, 글자가 아닌 것은 그대로 통과합니다. 계산 과정 표를 켜면 처음 20글자마다 키 문자와 이동량을 볼 수 있습니다. 무료이며 가입이 필요 없고, 아무것도 업로드되지 않습니다.

모드

비지네르 암호 도구 사용 방법

  1. 1. 인코딩 또는 디코딩을 고르세요. 인코딩은 평문을 암호문으로 바꾸고, 디코딩은 같은 키워드로 그것을 되돌립니다.
  2. 2. 키워드를 입력하세요. A–Z 문자만 사용하며, 공백이나 숫자는 쓸 수 없습니다. 키워드는 메시지를 따라 반복됩니다. 키워드가 a이면 이동량이 0이므로 아무것도 바뀌지 않습니다.
  3. 3. 메시지를 입력하거나 붙여넣으세요. 입력하는 대로 결과가 바뀝니다. 대소문자는 유지되며, 숫자, 공백, 문장 부호는 키 문자를 쓰지 않고 그대로 통과합니다.
  4. 4. 계산 과정 표시를 체크하세요. 처음 20글자에 대해 평문 글자, 키 글자, 이동량, 결과를 표로 보여 줍니다.

비지네르 암호의 작동 원리

글자를 A = 0부터 Z = 25까지 번호 매기세요. 키워드를 메시지 아래에 반복해서 쓰되, 메시지 글자 하나마다 키 글자 하나를 둡니다. 암호화할 때는 메시지 글자의 번호에 키 글자의 번호를 더하고, Z를 넘으면 처음으로 돌아갑니다: C = (P + K) mod 26. 복호화할 때는 뺍니다: P = (C − K) mod 26. 따라서 각 키 글자는 서로 다른 카이사르 이동을 고르며, A는 0, B는 1, Z는 25입니다. 이 때문에 다표식(polyalphabetic) 암호라고 부르며, 같은 메시지 글자도 서로 다른 암호 글자가 될 수 있습니다. 이 합을 손으로 계산하는 일을 전통적인 비지네르 표(tableau)가 빠르게 해 줍니다.

실제 예시: 키워드 LEMON

키워드 lemon으로 Attack at dawn을 인코딩하면 Lxfopv ef rnhr가 됩니다. 계산 과정 표에 나오는 처음 여섯 글자는 다음과 같습니다:

평문 글자키 글자이동량결과
Al+11L
te+4x
tm+12f
ao+14o
cn+13p
kl+11v

반복되는 글자를 보세요. "Attack"의 두 t는 서로 다른 키 글자 아래에 있어 x와 f가 되고, 두 a는 o와 e가 됩니다. 단순한 카이사르 이동이었다면 각 쌍이 같은 글자가 되었을 것이며, 바로 이런 패턴을 빈도 분석이 이용합니다. 복호화는 같은 표를 거꾸로 씁니다. lemon으로 디코딩 모드를 선택하면 Lxfopv ef rnhr가 다시 Attack at dawn으로 돌아옵니다. 키 글자는 공백을 넘어 이어지며, 공백 자체에는 키 글자를 쓰지 않습니다.

간략한 역사

조반 바티스타 벨라소(Giovan Battista Bellaso)는 1553년 이 암호를 설명했습니다. 이름은 블레즈 드 비지네르에게서 왔는데, 그는 1586년 관련되지만 더 강력한 자동 키(autokey) 암호를 발표했습니다. 이 암호는 19세기에 그의 것으로 잘못 알려졌습니다. 이 암호는 "le chiffre indéchiffrable", 즉 "해독할 수 없는 암호"라는 이름을 얻었고, 1863년 프리드리히 카시스키가 일반적인 방법을 발표할 때까지 공격을 견뎠습니다. 찰스 배비지는 1854년까지 이 암호를 해독했지만 발표하지 않았습니다.

비지네르 암호는 어떻게 깨지나요

모든 것은 키워드의 길이에 달려 있습니다. 같은 평문 조각이 키워드의 같은 부분과 두 번 맞물리면, 같은 암호문이 두 번 나옵니다. 카시스키 조사(Kasiski examination)는 이런 반복 사이의 거리를 재며, 키 길이는 그 거리들의 공약수일 가능성이 큽니다. 키 길이 n을 알면 n번째마다 같은 키 글자로 이동된 것이므로, 그 n개 열은 각각 빈도 분석으로 풀 수 있는 평범한 카이사르 암호가 됩니다. 길고 예측할 수 없는 키워드는 이를 어렵게 만들고, 메시지만큼 길고 한 번만 쓰는 무작위 키는 일회용 패드(one-time pad)이며 깨지지 않습니다. 이 도구는 여러분이 입력한 키워드로 인코딩과 디코딩을 할 뿐, 키를 찾아 주지는 않습니다.

이 도구의 한계

  • A–Z와 a–z만 암호화됩니다. 다른 문자 체계의 글자와 é 같은 악센트가 붙은 라틴 문자는 바뀌지 않으며, 도구는 건너뛴 글자 수를 알려 줍니다.
  • 키워드는 문자만 가능합니다. 키워드의 공백, 숫자, 악센트 문자는 거부됩니다.
  • 계산 과정 표는 메시지 길이와 상관없이 20행만 보여 줍니다.
  • 안전하지 않습니다. 퍼즐, 수업, 게임에 쓰고, 개인적인 내용에는 사용하지 마세요.

어떤 도구가 필요한가요?

암호키가 작동하는 방식
카이사르 암호메시지 전체에 하나의 이동
비지네르(이 페이지)반복되는 키워드; 키 글자마다 하나의 이동
보퍼트 암호비지네르와 비슷하지만 키 글자에서 메시지 글자를 뺌. 하나의 연산으로 인코딩과 디코딩이 모두 됨
자동 키 암호짧은 프라이머 다음에 메시지 자체가 키가 됨
포르타 암호키워드가 13개의 상호 알파벳 중 하나를 고름

어떤 암호인지 확실하지 않다면, 계획 중인 암호 식별기가 범위를 좁히는 데 도움을 줄 것입니다.

자주 묻는 질문

비지네르 암호란 무엇인가요?
반복되는 키워드로 정해진 양만큼 각 글자를 이동시키는 다표식 치환 암호입니다. 첫 번째 메시지 글자는 첫 번째 키 글자를, 두 번째는 두 번째 키 글자를 쓰는 식이어서, 한 평문 글자가 여러 암호 글자가 될 수 있습니다.
비지네르 암호는 카이사르 암호와 어떻게 다른가요?
카이사르 암호는 하나의 고정된 이동을 씁니다. 비지네르 암호는 키워드를 써서 각 글자마다 다른 카이사르 이동을 적용하므로, 키 글자마다 하나씩 여러 카이사르 암호를 번갈아 섞은 것과 같습니다.
공백, 숫자, 문장 부호는 어떻게 되나요?
그대로 통과하며 키 글자를 쓰지 않으므로, 키워드는 A–Z와 a–z에서만 진행됩니다.
비지네르 암호는 어떻게 복호화하나요?
키워드를 알고 있다면 디코딩을 고르고, 키워드를 입력한 뒤 암호문을 붙여넣으세요. 각 글자는 키 글자만큼 되돌아갑니다. 키워드가 없다면 암호 분석이 필요합니다. 카시스키 조사로 키 길이를 찾고, 각 열에 빈도 분석을 적용하세요.
결과가 입력과 똑같이 보이는 이유는 무엇인가요?
A만으로 이루어진 키워드(또는 한 글자 a)는 모든 글자를 0만큼 이동시킵니다. A가 아닌 다른 글자로 된 키워드를 고르세요.
비지네르 암호는 안전한가요?
아니요. 약 3세기 동안 깨지지 않는 것처럼 보였지만, 1863년 카시스키가 일반적인 공격법을 발표했고, 컴퓨터는 순식간에 풀어 냅니다. 다표식 암호를 배우기에는 여전히 좋은 방법입니다.
영어가 아닌 알파벳도 처리할 수 있나요?
암호로서는 아닙니다. 비지네르 표는 26자 라틴 알파벳이므로, 다른 문자 체계는 암호화되지 않고 그대로 통과하며, 도구는 그대로 둔 글자 수를 알려 줍니다.

관련 도구

암호 및 부호의 다른 도구