아핀 암호 (Affine Cipher)

중급암호학수정일

아핀 암호는 고전적인 수기 치환 암호 중 하나로, 각 문자를 숫자로 바꾼 뒤 수학적으로 F(x) = ax + b (mod n)으로 암호화합니다. 이름의 「아핀」은 곱셈 ax에 0이 아닌 상수 b를 더하는 아핀 변환이라는 뜻이며, b = 0이면 순수한 곱셈 암호, a = 1이면 시저 암호(이동 암호)가 됩니다.

공식의 각 항

  • x: 암호화하려는 문자의 숫자 값입니다(A=0, B=1, …, Z=25).
  • a: 곱하는 키입니다. a와 n은 서로소, 즉 최대공약수가 1이어야 합니다. 그래야 a의 모듈러 역원 a−1이 존재해 복호화 결과가 하나로 정해집니다.
  • b: 더하는 키(이동량)입니다.
  • n: 알파벳의 문자 수입니다(영어는 26).
  • mod n: 결과를 n으로 나눈 나머지를 취해 항상 알파벳 범위 안에 머물게 합니다.

복호화

복호화 함수는 D(y) = a−1(y − b) (mod n)입니다. 예를 들어 n = 26, a = 7이면 7 × 15 = 105 = 4 × 26 + 1이므로 a−1 = 15입니다.

예시

  • a = 5, b = 8: A(0)는 I(8), B(1)는 N(13), C(2)는 S(18)가 됩니다.
  • a = 7, b = 3으로 「HELLO」 암호화: H(7) → (7×7+3) mod 26 = 52 mod 26 = 0 → A, E(4) → (7×4+3) mod 26 = 31 mod 26 = 5 → F. 같은 방식으로 이어 가면 암호문은 「AF…」로 시작합니다.

안전성

  • 작은 키 공간: n = 26에서 26과 서로소인 a는 12개, b는 26개이므로 가능한 키는 12 × 26 = 312개뿐입니다. 모든 키를 손으로 시도해도 될 만큼 적습니다.
  • 빈도 분석: 한 문자는 항상 같은 문자로 바뀌는 단일 문자 치환이므로, 문자 빈도만으로 쉽게 풀립니다.
  • 알려진 평문 공격: 평문-암호문 문자 쌍 두 개만 알면 대개 연립 합동식으로 a와 b를 구할 수 있습니다(두 평문 문자 값의 차가 26과 서로소이면 해가 하나로 정해집니다).

용도

단순성과 취약성 때문에 아핀 암호는 실제 보안 통신에 쓰이지 않습니다. 다만 공식이 간단해 손으로도 쉽게 계산할 수 있어, 모듈러 산술, 모듈러 역원, 키 공간 같은 기본 암호 원리를 소개하는 교육용 예제로 쓰입니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.