치환(Substitution)과 전치(Transposition)는 고전 암호의 두 가지 기본 범주입니다. 핵심적인 차이점은 **치환 암호가 평문 글자를 다른 글자나 기호로 ‘대체’**하는 반면, 전치 암호는 원래 평문 글자의 ‘순서’를 재배열한다는 것입니다.


🔄 치환 암호 (Substitution Ciphers)

치환 암호에서는 평문의 각 단위가 특정 시스템에 따라 암호문의 해당 단위로 교환됩니다. 글자의 원래 순서는 그대로 유지되지만, 글자의 정체성이 바뀝니다.

비제네르 암호 (Vigenère Cipher)

이것은 다중 문자 치환 암호로, 키워드를 사용하여 평문의 각 글자를 다른 값으로 이동시켜 단순한 단일 알파벳 치환보다 더 안전하게 만듭니다. 예를 들어, 키워드 deceptive를 사용하여 wearediscoveredsaveyourself를 암호화할 때, wd의 값만큼, ee의 값만큼, ac의 값만큼 이동합니다.

  • 키워드: deceptivedeceptivedeceptive
  • 평문: wearediscoveredsaveyourself
  • 암호문: ZICVTWQNGRZGVTW...

표준 비제네르 암호의 약점은 키가 반복된다는 점입니다. 비제네르 오토키 암호(Vigenère Autokey Cipher) 는 키워드로 시작한 다음 평문 자체를 사용하여 키를 확장함으로써 이 문제를 해결합니다.

원타임 패드 (One-Time Pad, OTP)

원타임 패드는 수학적으로 해독이 불가능하기 때문에 궁극의 치환 암호로 간주됩니다.

그 보안성은 몇 가지 엄격한 규칙에 의존합니다:

  • 키는 완전히 무작위적인 문자열이어야 합니다.
  • 키는 최소한 평문 메시지만큼 길어야 합니다.
  • 키는 단 한 번만 사용되고 폐기되어야 합니다. 새로운 메시지에는 새로운 키가 필요합니다.

완벽한 보안에도 불구하고, 원타임 패드는 대량의 무작위 키를 생성하고 안전하게 배포하는 어려움 등 상당한 현실적인 단점이 있습니다. 이 때문에 주로 극도로 높은 보안이 요구되는 낮은 대역폭의 채널에서 사용됩니다.


↔️ 전치 암호 (Transposition Ciphers)

전치 암호는 원래 평문 글자는 그대로 유지한 채 그 위치만 뒤섞는 방식입니다. 글자 자체는 변하지 않고, 오직 그 순서만 바뀝니다.

예시: 레일 펜스 암호 (Rail Fence Cipher)

이 암호는 평문 글자를 여러 개의 “레일”에 걸쳐 지그재그 패턴으로 쓴 다음, 각 행을 순서대로 읽어 암호문을 만듭니다.

  • 평문: WE ARE DISCOVERED
  • 방식 (2개의 레일 사용):
    W . R . D . S . O . E . E
    . E . A . E . I . C . V . R . D
    
  • 암호문: WRDSOEE EAEICVRD

차이점

구분치환 암호전치 암호
동작글자 대체순서 재배열
글자의 정체성변경됨유지됨
글자의 위치유지됨변경됨
예시비제네르, 원타임 패드레일 펜스, 컬럼 암호