김 컴퓨터


전치 암호 (Permutation Cipher) / 재배열 암호

전치 암호는 평문(원본 메시지)에 있는 문자들의 순서(위치)만 미리 정해진 규칙에 따라 재배열(섞어서) 암호문을 만드는 방식입니다. 문자의 정체는 변하지 않습니다.


1. 작동 원리: 행렬(Matrix) 기반 재배열

전치 암호는 보통 평문을 직사각형 형태의 행렬에 채운 다음, 정해진 규칙에 따라 행 또는 열 단위로 읽어 암호문을 만듭니다.

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

가장 간단한 전치 암호 중 하나로, 지그재그 패턴으로 문자를 재배열합니다.

평문 (Plaintext): SECRET MESSAGE 키 (Key): 3 (3개의 레일)

  1. 지그재그 쓰기 (암호화) 문자를 3줄에 지그재그 패턴으로 씁니다. S . . . E . . . M . . . E . . E . R . T . E . S . A . G . . . C . . . M . . . S . . . E
  2. 행 단위로 읽기 (암호문 생성) 각 줄을 왼쪽에서 오른쪽으로 순서대로 읽습니다.

    • 1행: S E M E
    • 2행: E R T E S A G
    • 3행: C M S E
  3. 암호문 (Ciphertext): SEM E E R T E S A G C M S E


2. 복호화 (Decryption)

복호화는 암호화 과정의 역순입니다.

  1. 암호문의 총 글자 수와 키(레일 수)를 이용하여 행렬의 크기를 계산합니다.
  2. 계산된 크기에 따라 빈 행렬을 만든 후, 암호문의 글자들을 행 단위로 채워 넣습니다.
  3. 지그재그 패턴으로 다시 읽으면 평문이 복원됩니다.

3. 보안의 취약점

전치 암호는 문자 빈도(Frequency Analysis)가 그대로 남아있기 때문에, 암호문 길이가 길면 빈도 분석으로 쉽게 언어를 파악할 수 있습니다. 하지만 어떤 위치가 바뀌었는지 파악하는 데는 시간이 걸릴 수 있습니다. 현대 암호에서는 치환과 전치(재배열)를 모두 사용하는 복합 암호가 사용됩니다.