CSS Tutor Study Hub 메인으로

Computersystemsicherheit 2025/26

05. Modulo·Key space·고전 암호 완전 초보 강의

비유, 단계별 예시, 자체 흐름도, 강의 스크립트 원본, 시험 답안까지 한 페이지에서 연결합니다.

CSS 1타 강사 · CONCEPT 05/25

Modulo와 key space는 고전 암호 계산에서 어떻게 사용될까요?

Modulo는 값을 일정 범위로 되돌리는 나머지 계산입니다. Vigenère에서 알파벳 26개와 길이 9인 키의 경우 각 자리에 26개 선택이 있으므로 key space는 26^9입니다. Shift cipher는 글자 빈도 모양이 이동할 뿐 사라지지 않습니다.

전문 용어를 보기 전에 이 장면부터 잡으세요

시계에서 15시는 3시로 돌아오지만, 그렇다고 기차의 어느 칸부터 타도 같은 경로가 되는 것은 아닙니다.

나머지 계산은 독립 복호화를 보장하지 않습니다

00

한 장면으로 문제를 시작해 봅시다

이번 페이지에서 끝까지 따라갈 예시

Vigenère에서 plaintext T와 key letter C를 숫자 T=19, C=2로 바꾸어 더한다고 가정합니다.

비유와 실제 시스템을 정확히 연결하기

  • 26칸에서 다시 처음으로 도는 다이얼modulo 26
  • 각 자리마다 26개 버튼알파벳 key의 자리별 선택
  • 모든 버튼 조합 목록key space

이 예시에서 사람·장치·데이터·화살표를 먼저 찾습니다. 아직 용어를 완벽히 몰라도 “누가 무엇을 가지고, 어떤 처리를 거쳐, 무엇이 달라지는가”를 말할 수 있으면 출발점은 충분합니다.

01

긴 이름을 작은 용어로 분리하기

한 제목에 여러 단어가 들어 있어도 같은 기능을 뜻하지 않습니다. 아래 카드를 하나씩 읽고 각 용어의 대상과 역할을 따로 잡으세요.

Modulo, 경우의 수, key space를 처음부터 계산하기

Modulo는 나눗셈의 나머지를 구해 값을 일정 범위 안으로 되돌리는 연산이다. 29 mod 26은 3이다. Key space는 공격자가 고려해야 하는 가능한 키 전체의 집합이다. 독립적인 자리마다 선택지가 여러 개 있으면 곱셈 원리를 사용한다. 예를 들어 9자리 각각에 26개 문자를 고를 수 있으면 26을 9번 곱한 26^9개다.

TERMS FROM ZERO

Modulo, 경우의 수, key space를 처음부터 계산하기 핵심 용어

아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.

Modulo

어떤 수를 나눈 나머지만 보는 연산입니다. 시계가 12 다음 1로 돌아가는 것과 비슷합니다.

Key space

가능한 모든 key의 집합과 그 개수입니다.

Entropy

공격자가 key를 예측하기 어려운 정도를 bit 단위로 나타내는 관점입니다. 단순 길이와 항상 같지는 않습니다.

Multiplication principle

독립적으로 고르는 각 자리의 경우의 수를 곱해 전체 경우의 수를 계산하는 원리입니다.

Shift cipher, Vigenère cipher, frequency analysis

Shift cipher는 알파벳의 모든 글자를 같은 수만큼 밀어 바꾸는 고전 암호다. Vigenère cipher는 여러 shift 값을 담은 키를 반복 사용해 위치마다 다른 이동을 적용한다. Frequency analysis는 자연어에서 E나 한글의 특정 글자처럼 어떤 기호가 자주 등장한다는 통계적 특징을 이용한다. 단순 shift는 빈도 분포의 모양이 그대로 이동하기 때문에 쉽게 공격할 수 있다.

TERMS FROM ZERO

Shift cipher, Vigenère cipher, frequency analysis 핵심 용어

아래 단어는 이미 안다고 가정하지 않습니다. 먼저 쉬운 뜻을 읽고, 본문에서 같은 단어가 나오면 이 정의로 다시 바꾸어 읽으세요.

Shift cipher

각 글자를 알파벳에서 같은 거리만큼 이동시키는 고전 암호입니다.

Vigenère cipher

여러 shift 값을 key word에 따라 반복 적용하는 다중 알파벳 치환 암호입니다.

Frequency analysis

언어에서 자주 나오는 글자와 패턴의 통계를 이용해 치환 관계를 추측하는 공격입니다.

Cryptanalysis

key를 모르는 상태에서 암호 구조나 구현의 약점을 분석해 정보를 얻는 작업입니다.

02

실제 시스템에서는 이 순서로 움직입니다

모바일에서는 그림 안을 좌우로 움직이며 번호 순서대로 읽으세요.

예시를 단계별로 해체하기

  1. 1단계알파벳을 a=0부터 z=25까지 숫자로 바꿉니다.
  2. 2단계plaintext 값과 key 값을 더합니다.
  3. 3단계26을 넘으면 modulo 26으로 0~25 범위에 되돌립니다.
  4. 4단계결과 숫자를 다시 문자로 바꿉니다.
  5. 5단계길이 9의 독립적인 알파벳 key라면 각 자리 26개 선택이므로 key space는 26^9입니다.

이 단계들은 시험 답안에서 원인과 결과가 빠지지 않도록 만든 설명 순서입니다.

손으로 따라가는 초보 예제

Vigenère 한 글자 계산과 9자리 key space 계산

알파벳을 A=0부터 Z=25로 놓고 plaintext T=19, key C=2를 계산합니다.

  1. 1단계Plaintext T를 숫자 19, key C를 숫자 2로 바꿉니다.
  2. 2단계Encryption은 `19 + 2 = 21`을 계산합니다.
  3. 3단계`21 mod 26 = 21`이므로 숫자 21에 해당하는 V가 ciphertext입니다.
  4. 4단계예를 들어 Z=25에 C=2를 더하면 27이고 `27 mod 26 = 1`, 즉 B로 돌아갑니다.
  5. 5단계길이 9의 key에서 각 자리를 26개 중 독립적으로 고르면 전체 key 수는 `26×...×26 = 26^9`입니다.

그래서 무엇을 배웠나? Modulo는 값을 알파벳 범위로 되돌리고, key space는 각 자리 선택 수를 곱해 계산합니다.

03

관련 개념도 하나씩 따로 이해하기

Modulo, 경우의 수, key space를 처음부터 계산하기

비유에서 실제 시스템으로 옮겨 보기

먼저 떠올릴 장면 · 시계에서 15시는 3시로 돌아오는 것이 modulo다. 자물쇠 번호가 9칸이고 각 칸에 26개 문자를 넣을 수 있다면 첫 칸 26가지마다 둘째 칸도 26가지가 붙으므로 선택지가 계속 곱해진다.

정확한 뜻 · Modulo는 나눗셈의 나머지를 구해 값을 일정 범위 안으로 되돌리는 연산이다. 29 mod 26은 3이다. Key space는 공격자가 고려해야 하는 가능한 키 전체의 집합이다. 독립적인 자리마다 선택지가 여러 개 있으면 곱셈 원리를 사용한다. 예를 들어 9자리 각각에 26개 문자를 고를 수 있으면 26을 9번 곱한 26^9개다.

  1. 1단계mod n의 결과 범위가 0부터 n-1임을 확인한다.
  2. 2단계각 자리가 독립적으로 선택되는지 확인한다.
  3. 3단계선택지 수를 자리 수만큼 곱하고 거듭제곱으로 적는다.
  4. 4단계Modulo 산술과 block mode의 데이터 의존성은 별개의 문제임을 기억한다.

Shift cipher, Vigenère cipher, frequency analysis

비유에서 실제 시스템으로 옮겨 보기

먼저 떠올릴 장면 · 사람들의 키를 모두 3cm씩 늘려도 누가 가장 큰지는 그대로 드러난다. Shift cipher도 글자 이름만 이동할 뿐 자주 나온 글자의 순위와 모양은 남는다.

정확한 뜻 · Shift cipher는 알파벳의 모든 글자를 같은 수만큼 밀어 바꾸는 고전 암호다. Vigenère cipher는 여러 shift 값을 담은 키를 반복 사용해 위치마다 다른 이동을 적용한다. Frequency analysis는 자연어에서 E나 한글의 특정 글자처럼 어떤 기호가 자주 등장한다는 통계적 특징을 이용한다. 단순 shift는 빈도 분포의 모양이 그대로 이동하기 때문에 쉽게 공격할 수 있다.

  1. 1단계평문 문자를 숫자로 바꾼다.
  2. 2단계키만큼 더하거나 빼고 alphabet 크기로 modulo한다.
  3. 3단계암호문의 빈도를 세어 자연어 빈도와 비교한다.
  4. 4단계Vigenère에서는 반복되는 키 길이를 먼저 추정한 뒤 같은 키 위치끼리 나누어 분석한다.

04

강의 스크립트 원본과 연결하기

Shift 공격과 Vigenère의 modulo 계산를 보여 주는 대표 슬라이드입니다. 먼저 위의 초보 설명을 읽고, 원본에서는 같은 개념이 어떤 기호와 독일어·영어 용어로 표현되는지 확인하세요.

Modulo·Key space·고전 암호 관련 강의 스크립트 대표 슬라이드
원본 Vorlesung/02_Grundlagen_Krypto_RMU_v2.pdf · p.28, p.24 · Shift 공격과 Vigenère의 modulo 계산
  • 02_Grundlagen_Krypto_RMU_v2.pdf · p.28, p.24

05

시험 함정과 답안에 적용하기

  • Modulo, 경우의 수, key space를 처음부터 계산하기 · 알파벳 26개와 키 길이 9를 26×9로 계산하면 안 된다. 9개 자리마다 26개 선택이 반복되므로 26^9다.
  • Shift cipher, Vigenère cipher, frequency analysis · Vigenère가 shift보다 복잡하다고 해서 현대적인 안전성을 갖는 것은 아니다. 반복 키는 통계적 구조를 남긴다.

서술형 답안 골격

식의 각 기호가 무엇을 뜻하는지 적은 뒤 계산합니다. key length 9라면 독립 선택이 9번입니다.

정의 → 등장 주체 또는 입력 → 작동 순서 → 보안 효과 → 조건과 한계 순서로 쓰고, 위 단계별 예시에서 필요한 문장을 골라 붙이세요.

30초 자가 확인

책을 덮고 “Modulo와 key space는 고전 암호 계산에서 어떻게 사용될까요?”에 대해 핵심 용어 두 개, 작동 단계 세 개, 대표 함정 하나를 말해 보세요.

다음 개념으로 넘어가기 전 확인

  1. `27 mod 26`은 얼마인가?
  2. 길이 3의 알파벳 key space는?
  3. Key 길이가 늘면 brute-force 비용이 왜 곱셈으로 증가하는가?