CSS Tutor Study Hub 메인으로

Computersystemsicherheit 2025/26

실제 시험 문제 06

Wahr/Falsch · Krypto / Multiple Choice

Wahr/Falsch

문제

근거 신뢰도 높음실제 시험지 대조 완료Wahr/Falsch2점

독일어 원문

Ein Shift-Chiffre kann nicht erfolgreich mit Häufigkeitsanalyse angegriffen werden.

한국어 해석

Shift-Chiffre는 Häufigkeitsanalyse로 성공적으로 공격할 수 없다. Wahr/Falsch?

Wahr/Falsch 즉시 채점

확신도

선택 후 즉시 개념 함정을 확인하세요.

단계별 힌트

막혔을 때만 한 단계씩 여세요. 정답을 바로 읽는 것보다 기억을 꺼내는 시간이 중요합니다.

0/7
채점 기준으로 내 답안 점검하기
  • Wahr/Falsch를 Falsch로 표시한다.
  • 상대적 Buchstabenhäufigkeit가 보존된다고 설명한다.
  • 가장 빈번한 ciphertext 문자를 흔한 plaintext 문자와 대응해 key를 추정한다고 쓴다.
  • 작은 Schlüsselraum도 함정으로 언급한다.

답안 슬롯 자가 점검 — 실제로 말하거나 쓴 항목만 체크하세요.

0/4 slots

정답과 핵심 해설 확인하기
wahr_falsch

Falsch

short_ko

Shift-Chiffre는 Häufigkeitsanalyse와 brute force에 취약하다.

개념부터 다시 보는 상세 풀이

BEGINNER LESSON

1-(f) Shift cipher는 빈도분석으로 공격할 수 없을까?

ZERO-BASE START

정말 아무것도 모른다고 가정하고 시작합니다

전문 용어를 알고 있다고 가정하지 않습니다. 먼저 일상적인 장면을 보고, 그 장면의 사람과 행동에 실제 보안 용어를 하나씩 붙인 뒤, 시스템에서 일어나는 순서를 따라갑니다.

기초 개념 01

Shift cipher, Vigenère cipher, frequency analysis

1타 강사식 시작: 이름은 잠시 가리고 장면부터 봅시다

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

지금은 이 비유를 완벽히 외울 필요가 없습니다. 누가 무엇을 가지고 있고, 무엇을 하려 하며, 어느 지점에서 문제가 생기는지만 찾으면 됩니다.

이제 실제 용어를 하나씩 붙여 봅시다

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

TERMS FROM ZERO

전문 용어를 한 단어씩 풀기

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

Shift cipher

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

Vigenère cipher

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

Frequency analysis

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

Cryptanalysis

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

프로그램이나 프로토콜 안에서는 다음 순서로 움직입니다.

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

왜 여기서 많이 틀릴까요?

Vigenère가 shift보다 복잡하다고 해서 현대적인 안전성을 갖는 것은 아니다. 반복 키는 통계적 구조를 남긴다.

조건을 생략하거나 서로 다른 기능을 같은 것으로 취급했는지 확인하세요. 정답 문장을 외우는 것보다 틀린 이유를 말할 수 있어야 변형 문제를 풀 수 있습니다.

기초 개념 02

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

1타 강사식 시작: 이름은 잠시 가리고 장면부터 봅시다

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

지금은 이 비유를 완벽히 외울 필요가 없습니다. 누가 무엇을 가지고 있고, 무엇을 하려 하며, 어느 지점에서 문제가 생기는지만 찾으면 됩니다.

이제 실제 용어를 하나씩 붙여 봅시다

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

TERMS FROM ZERO

전문 용어를 한 단어씩 풀기

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

Modulo

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

Key space

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

Entropy

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

Multiplication principle

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

프로그램이나 프로토콜 안에서는 다음 순서로 움직입니다.

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

왜 여기서 많이 틀릴까요?

알파벳 26개와 키 길이 9를 26×9로 계산하면 안 된다. 9개 자리마다 26개 선택이 반복되므로 26^9다.

조건을 생략하거나 서로 다른 기능을 같은 것으로 취급했는지 확인하세요. 정답 문장을 외우는 것보다 틀린 이유를 말할 수 있어야 변형 문제를 풀 수 있습니다.

핵심부터 말하면 정답은 Falsch(거짓). Shift cipher는 모든 문자를 같은 거리만큼 일대일로 치환하므로 각 문자의 출현 횟수와 언어의 통계적 모양이 그대로 이동한다. 빈도분석과 작은 키 공간 전수조사로 쉽게 공격할 수 있다.

이 글에서 익힐 것

  • Shift/Caesar cipher의 암·복호화 식을 이해한다.

  • 빈도분석이 사용하는 자연어의 편향을 설명한다.

  • 치환 뒤에도 어떤 통계가 보존되는지 안다.

  • 빈도분석의 성공이 항상 100% 자동 확정이라는 뜻은 아님을 구분한다.

개념부터 차근차근

  • 자연어 문자는 균등하게 나오지 않는다

    독일어에서는 E, N, I, S 같은 문자가 다른 글자보다 자주 나타나고, 영어도 E, T, A 등이 자주 나온다. 'CH', 'ER', 'EN' 같은 두 글자 조합과 단어 형태에도 반복 패턴이 있다. 공격자는 이 공개된 언어 통계를 알고 있다.

  • Shift cipher의 고정 치환

    키 k를 하나 정하고 모든 글자 p에 대해 c=(p+k) mod 26을 계산한다. 평문의 모든 E는 항상 같은 암호문 글자로, 모든 N도 항상 또 다른 같은 글자로 바뀐다. 어떤 글자가 몇 번 나왔는지는 변하지 않고 글자 이름표만 이동한다.

  • 빈도분석의 핵심

    암호문에서 가장 자주 나온 글자가 평문의 E일 가능성이 높다고 가정하고 이동량을 추정한다. 후보 키로 전체 문장을 복호화한 뒤 문법·단어·다른 글자 빈도가 맞는지 확인한다. 한 글자 추측으로 끝나는 것이 아니라 전체 통계와 읽을 수 있는 평문으로 검증한다.

  • 키 공간도 매우 작다

    알파벳 26개라면 이동값은 0~25의 26개뿐이고, 아무 변화가 없는 k=0을 제외하면 실질적인 비자명 키는 25개다. 빈도분석이 애매한 짧은 문장도 모든 이동을 출력해 사람이 읽어 보면 금방 찾을 수 있다.

예제로 확인하기

상황 설정

평문 EEEEENNNAA를 key k=3으로 Shift 암호화한다고 하자.

풀이 순서

  1. E는 H로, N은 Q로, A는 D로 바뀐다.

  2. 암호문은 HHHHHQQQDD가 된다.

  3. 평문 빈도 E:5, N:3, A:2가 암호문 H:5, Q:3, D:2로 그대로 보존된다.

  4. 공격자가 H를 자주 쓰이는 E라고 추측하면 H(7)-E(4)=3으로 키 후보 k=3을 얻는다.

  5. 그 키로 모든 문자를 3칸 되돌려 읽을 수 있는 자연어가 나오는지 검사한다.

공격 과정을 따라가기

  1. 1. 암호문의 각 문자 출현 횟수를 센다.

  2. 2. 가장 빈번한 문자와 대상 언어의 흔한 문자 E 등을 대응시켜 key 후보를 만든다.

  3. 3. 후보 key로 전체 암호문을 복호화한다.

  4. 4. 흔한 단어, 문법, bigram/trigram과 다른 문자 빈도가 자연스러운지 확인한다.

  5. 5. 맞지 않으면 두 번째·세 번째 후보 대응을 시도한다. Shift에서는 최대 26개를 전수조사해도 된다.

Limits and precision

  • 암호문이 한두 글자처럼 너무 짧으면 표본이 부족해 가장 흔한 글자가 E라는 추측이 틀릴 수 있다.

  • 고유명사, 코드, 무작위 데이터는 일반 언어 통계를 따르지 않을 수 있다.

  • 그렇더라도 원문의 kann nicht erfolgreich, 즉 성공적으로 공격할 수 없다는 절대 주장은 틀리다. 충분한 자연어 암호문에서 잘 작동하며 키 공간 전수조사도 가능하다.

  • 빈도분석은 키를 수학적으로 하나로 증명하는 마법이 아니라 통계적 후보 생성과 평문 타당성 검사를 결합한 공격이다.

문장을 하나씩 판별하기

  • 문장은 '공격할 수 없다'라는 강한 부정을 쓴다.

  • Shift cipher는 monoalphabetic substitution의 가장 단순한 형태이며 동일 평문 문자가 항상 동일 암호문 문자로 간다.

  • 따라서 빈도 순위와 반복 패턴이 보존되어 전형적인 빈도분석 대상이다. 정답은 Falsch다.

정답까지 사고 과정

  1. 1단계: 모든 글자에 동일 k를 적용한다는 정의를 쓴다.

  2. 2단계: 일대일 치환이 출현 횟수를 보존한다고 설명한다.

  3. 3단계: 자연어의 비균등한 문자 빈도와 비교해 k를 추정할 수 있다고 쓴다.

  4. 4단계: 키 후보도 26개뿐이라는 보조 근거를 든다.

  5. 5단계: '공격할 수 없다'를 Falsch로 판정한다.

시험장에서는 이렇게 쓰기

최소 답안

Falsch.

안전한 두 문장 답안

Falsch. Bei einer Shift-Chiffre wird jedes Klartextzeichen immer um denselben Wert verschoben, sodass die Häufigkeitsverteilung nur auf andere Zeichen verschoben, aber nicht verborgen wird. Der Schlüssel kann durch Häufigkeitsanalyse und wegen des kleinen Schlüsselraums auch durch Ausprobieren bestimmt werden.

Precision sentence

Bei sehr kurzen Texten kann die statistische Zuordnung unsicher sein; das macht die Chiffre jedoch nicht sicher.

자주 틀리는 지점

  • 글자 자체가 바뀌었으니 빈도도 사라진다고 생각하는 것. 횟수는 그대로이고 라벨만 바뀐다.

  • 가장 흔한 문자를 E로 한 번 대응하면 언제나 정답이라고 쓰는 것. 짧은 표본에서는 여러 후보를 검증해야 한다.

  • Vigenère와 Shift를 혼동하는 것. Shift는 하나의 이동값, Vigenère는 반복 키 위치마다 다른 이동값을 쓴다.

  • brute force와 frequency analysis를 같은 공격이라고 보는 것. 전자는 모든 키 시도, 후자는 언어 통계로 후보를 좁히는 방식이다.

한 줄로 기억하기

Shift cipher는 학생들의 이름표만 한 칸씩 바꿔 붙인다. 가장 많이 출석한 학생의 이름표는 달라져도 출석 횟수 1등이라는 흔적은 그대로다.

스스로 확인하기

  • 평문 E가 100번 나오면 Shift 암호문의 대응 글자는 몇 번 나오는가?

    정확히 100번. 일대일 치환이 빈도를 보존한다.

  • 알파벳 26개 Shift cipher의 모든 key 후보 수는?

    0~25의 26개이며 k=0을 제외하면 25개의 비자명 이동이다.

  • 짧은 암호문에서 빈도분석이 불확실하면 안전한가?

    아니다. 키 공간이 작아 전수조사가 가능하고, 짧은 표본은 공격의 통계적 확신만 낮춘다.

설명의 근거

  • Gedächtnisprotokoll Computersystemsicherheit WS2025_26.md — Krypto / Multiple Choice.

  • Übung 1 Lösung — Shift/Vigenère 및 Häufigkeitsanalyse 기초.

  • Vorlesung 02 Grundlagen Krypto — 고전 치환암호의 통계적 취약성.

이 문제가 어려운 이유

짧은 문제 문장 ‘Shift-Chiffre는 Häufigkeitsanalyse로 성공적으로 공격할 수 없다. Wahr/Falsch?’ 안에 정의, 조건, 처리 순서가 압축되어 있습니다. 아래 예시에서는 이를 한 단계씩 펼쳐 확인합니다.

AI 구두시험용 프롬프트

한 문항만 풀어라. 먼저 정답을 열지 말고 90초 안에 답안을 말한 뒤, css-ws2025-26-crypto-mc-006의 채점 프레임으로 스스로 채점하라. 문제: Shift-Chiffre는 Häufigkeitsanalyse로 성공적으로 공격할 수 없다. Wahr/Falsch?

학습 기록

이 문항을 얼마나 이해했나요?