유용한 정보

카이사르 암호 변환기 원리(알파벳 이동, 나머지 계산, 복호화, 문자 처리)

매뉴얼 365 블로그 2026. 10. 19. 23:28

카이사르 암호는 알파벳을 정해진 칸수만큼 옮겨 다른 글자로 바꾸는 방식이다. 예를 들어 3칸 이동하면 A는 D가 되고, 끝 글자 Z를 지나면 다시 A부터 이어 센다. 카이사르 암호 변환기 원리를 이해하려면 이동 칸수인 키와 알파벳을 한 바퀴 도는 규칙을 함께 보면 된다. 복잡한 암호 지식보다 짧은 단어를 직접 바꿔 보는 편이 구조를 익히기 쉽다. 영문 26자를 기준으로 한 변환 과정과 계산식, 원문 복원법 및 한글과 기호를 다루는 방식을 차근차근 살펴보려고 한다.

 

카이사르 암호 변환기 원리 제목 아래 A에서 D로 향하는 화살표와 3칸 이동 문구로 같은 칸수만큼 글자를 바꾸는 방식을 보여주는 그림

카이사르 암호 변환기 원리, 핵심은 무엇일까?

모든 영문 글자에 같은 이동 칸수를 적용하고, 알파벳 끝을 넘으면 처음으로 돌아오는 것이 핵심이다. 바꾸기 전 문장은 평문, 바꾼 결과는 암호문, 이동 칸수는 키라고 부른다. 키가 3이면 문장 안의 A는 어디에 있든 D로 바뀌며, 글자마다 다른 칸수를 사용하는 방식과는 구분된다.

 

이때 원래 글자를 이동 칸수에 포함해 세지 않는다. A에서 한 칸이면 B, 두 칸이면 C, 세 칸이면 D다. Z 다음에는 A가 이어지므로 뒤쪽 글자도 사라지거나 특수문자로 바뀌지 않는다. 키 3을 적용한 예시는 다음과 같다.

 

원문 글자이동결과
A앞으로 3칸D
X앞으로 3칸A
Y앞으로 3칸B
Z앞으로 3칸C
a앞으로 3칸d

 

여기서는 대문자는 대문자로, 소문자는 소문자로 유지하고 영문 이외의 글자는 그대로 두는 규칙으로 설명한다. 이 규칙이면 Hello, Z! 123 한글은 Khoor, C! 123 한글이 된다. 한글까지 바꾸려면 사용할 문자 집합과 순서를 별도로 정해야 한다.

 

끝을 넘으면 처음으로라는 제목 아래 3칸 이동할 때 X가 A로, Z가 C로 바뀌는 예시를 두 줄로 보여주는 그림

숫자와 나머지로 어떻게 계산할까?

글자를 0~25의 숫자로 바꾸고 키를 더한 뒤, 26으로 나눈 나머지를 다시 글자로 돌리면 된다. A를 0, B를 1로 두고 Z를 25로 대응시킨다. p는 원문 번호, c는 결과 번호, k는 이동 칸수다.

 

암호화 계산식은 c = (p + k) mod 26이다. mod 26은 26으로 나눈 나머지를 뜻하며 결과를 0~25 안에 머물게 한다. 예를 들어 H는 7이므로 키 3을 더하면 10이고, 10에 해당하는 K로 바뀐다. Z는 25이므로 25 + 3 = 28, 28을 26으로 나눈 나머지는 2여서 C가 된다.

 

변환기는 이 계산을 문장의 각 영문 글자에 반복한다. 처리 순서를 나누면 아래와 같다.

 

  1. 입력한 문장에서 영문 대문자와 소문자를 구분한다.
  2. 해당 글자를 알파벳 안의 0~25 번호로 바꾼다.
  3. 키를 더하고 26으로 나눈 나머지를 구한다.
  4. 원래 대소문자에 맞는 글자로 복원해 결과에 붙인다.

 

키가 26이면 한 바퀴를 돌아 원문과 같고, 29이면 3과 결과가 같다. 따라서 큰 양의 키도 먼저 26으로 나눈 나머지로 줄일 수 있다. 카이사르 암호 변환기 원리에서 중요한 것은 글자 코드에 숫자를 무작정 더하는 일이 아니라 알파벳 범위 안에서 순환하도록 계산하는 일이다.

 

A는 0이고 Z는 25라는 번호 기준과 28 mod 26의 결과 2, 2는 C라는 문구로 나머지 계산을 설명한 그림

원문을 복원하고 결과를 확인하려면?

암호화할 때와 같은 칸수만큼 반대 방향으로 옮기면 원문을 복원할 수 있다. 키 3으로 만든 KHOOR를 뒤로 3칸씩 옮기면 HELLO가 된다. 암호화와 복호화에서 서로 다른 키를 고르는 것이 아니라, 같은 키의 적용 방향을 바꾸는 것이다.

 

키를 0~25로 정리했다면 복호화는 p = (c - k + 26) mod 26으로 계산할 수 있다. 앞쪽 글자를 뒤로 옮길 때 음수가 되는 상황을 피하려고 26을 더한다. C의 번호 2에서 3을 빼면 -1이지만, 26을 더해 나머지를 구하면 25가 되어 Z로 돌아온다.

 

결과가 다르면 이동 방향과 키, 대소문자 처리, 변환 대상 문자를 차례로 확인한다. 키 0에서 그대로인지, 키 26에서도 같은지, 키 3으로 바꾼 뒤 복호화하면 원문이 나오는지를 비교하면 오류를 찾기 쉽다. 변환기마다 한글과 숫자 처리 규칙이 다를 수 있으므로 입력 안내도 읽는다.

 

영문 26자를 쓰면 가능한 이동값은 0~25뿐이다. 원문을 그대로 두는 0을 제외하면 25가지를 시험할 수 있어 키를 몰라도 후보를 쉽게 나열할 수 있다. 따라서 퍼즐이나 프로그래밍 학습에는 쓸 수 있지만, 비밀번호와 개인정보를 보호하는 보안 수단으로 사용하기에는 적합하지 않다.

 

복호화는 반대 방향이라는 제목과 뒤로 3칸 문구 아래 KHOOR에서 HELLO로 향하는 화살표를 보여주는 그림

마치면서

알파벳을 같은 칸수만큼 옮기고 끝에서 처음으로 되돌아오는 규칙이 변환의 중심이다. 카이사르 암호 변환기 원리는 A를 0으로 둔 뒤 키를 더하고 26으로 나눈 나머지를 구하는 계산으로 정리할 수 있다. 복호화는 같은 키로 반대 방향으로 이동하며, 키 3의 HELLO와 KHOOR처럼 짧은 예시로 확인하면 이해하기 쉽다. 대소문자와 한글, 기호 처리 규칙을 확인해 결과를 비교하되, 가능한 키가 적어 실제 비밀정보 보호용으로는 적합하지 않다는 점도 기억하면 좋다.

 

[안내드립니다] 이 글은 영문 알파벳 26자를 사용하는 기본 카이사르 암호를 설명한 학습 자료입니다. 변환기의 문자 처리 규칙과 이동 방향은 구현에 따라 다를 수 있으므로 해당 도구의 안내를 확인하시기 바랍니다.