CSS Tutor Study Hub 메인으로

Computersystemsicherheit 2025/26

실제 시험 문제 02

Wahr/Falsch · Krypto / Multiple Choice

Wahr/Falsch

문제

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

독일어 원문

Ein One-Time-Pad kann vollständig durch Bruteforcing gebrochen werden.

한국어 해석

One-Time Pad(OTP)는 brute force로 완전히 깨질 수 있다. Wahr/Falsch?

Wahr/Falsch 즉시 채점

C₁=P₁⊕KC₂=P₂⊕KC₁⊕C₂P₁⊕P₂
확신도

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

단계별 힌트

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

0/6
채점 기준으로 내 답안 점검하기
  • Wahr/Falsch를 Falsch로 표시한다.
  • 키가 random, one-time, message length 이상이어야 함을 적는다.
  • 모든 가능한 평문이 어떤 키와 함께 같은 ciphertext를 만들 수 있음을 설명한다.
  • 키 재사용 또는 나쁜 난수는 별도 취약 조건임을 구분한다.

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

0/4 slots

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

Falsch

short_ko

완전한 brute force로도 유일한 평문을 고를 정보가 없다.

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

BEGINNER LESSON

1-(b) One-Time Pad는 무한한 brute force로 완전히 깨질까?

ZERO-BASE START

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

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

기초 개념 01

암호화의 가장 기본적인 등장인물

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

누구나 자물쇠의 설계도를 볼 수 있지만 실제 열쇠가 없으면 열지 못하는 자물쇠를 생각하면 된다. 설계도를 숨기는 것이 아니라 열쇠를 관리하는 것이 핵심이다.

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

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

평문(plaintext)은 보호하기 전의 원래 데이터이고 암호문(ciphertext)은 암호화 후 읽기 어렵게 바뀐 데이터다. 암호화(encryption)는 평문과 키(key)를 알고리즘에 넣어 암호문을 만드는 과정이고 복호화(decryption)는 올바른 키를 이용해 평문을 되찾는 과정이다. 키는 문을 여는 실제 열쇠에 해당하며, 현대 암호에서는 알고리즘 자체가 공개되어도 키가 비밀이면 안전해야 한다고 본다.

TERMS FROM ZERO

전문 용어를 한 단어씩 풀기

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

Plaintext

암호화하기 전의 원래 메시지입니다. 사람이 읽는 문장뿐 아니라 파일의 byte도 plaintext가 될 수 있습니다.

Ciphertext

암호화 결과입니다. 숨겨진 원문과 같은 말이 아니라, key 없이는 원문을 알아내기 어려워야 하는 출력입니다.

Key

암호 알고리즘의 동작을 결정하는 값입니다. 알고리즘 자체가 아니라 key를 비밀로 관리하는 것이 현대 암호의 기본입니다.

Encryption / Decryption

Encryption은 plaintext를 ciphertext로, decryption은 올바른 key로 ciphertext를 다시 plaintext로 바꾸는 과정입니다.

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

  1. 누가 평문을 가지고 있는지 확인한다.
  2. 어떤 키로 암호화하고 누가 복호화 키를 가지는지 확인한다.
  3. 암호문이 노출되어도 공격자가 어떤 정보를 얻지 못해야 하는지 적는다.

왜 여기서 많이 틀릴까요?

암호화는 기본적으로 내용을 숨긴다. 누가 보냈는지, 내용이 바뀌지 않았는지, 서비스가 계속 동작하는지까지 저절로 보장하지는 않는다.

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

기초 개념 02

One-Time Pad와 brute force가 만나는 지점

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

상자 안에 고양이, 책, 사과 중 무엇이 들어 있는지 맞히려는데 각 답마다 완벽히 맞는 별도의 가림막이 존재하는 상황이다. 가림막을 전부 찾아도 진짜 답을 선택할 단서가 없다.

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

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

One-Time Pad(OTP)는 메시지와 같은 길이의 완전한 난수 키를 만들고 평문과 XOR한 뒤 그 키를 딱 한 번만 쓰는 암호다. XOR는 0과 1로 표현한 두 값이 서로 다르면 1, 같으면 0을 만드는 연산이며 같은 키로 다시 XOR하면 원래 값이 돌아온다. 이 조건을 모두 지키면 완전 비밀성(perfect secrecy)을 얻는다. Brute force는 가능한 키를 전부 시험하는 공격이지만, OTP에서는 각 평문 후보마다 그것을 설명하는 키가 하나씩 존재하므로 모든 키를 시험해도 어느 평문이 진짜인지 고를 정보가 없다.

TERMS FROM ZERO

전문 용어를 한 단어씩 풀기

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

One-Time Pad

평문과 같은 길이의 완전 무작위 key를 정확히 한 번만 사용하는 암호입니다.

XOR

두 bit가 다르면 1, 같으면 0이 되는 연산입니다. 같은 key를 두 번 XOR하면 원래 값이 복원됩니다.

Brute force

가능한 key를 하나씩 모두 시험하는 공격 방법입니다.

Perfect secrecy

계산 능력이 무한해도 ciphertext만으로 plaintext 정보를 얻지 못하는 정보이론적 안전성입니다.

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

  1. 키가 정말 무작위인지 확인한다.
  2. 키 길이가 메시지 길이 이상인지 확인한다.
  3. 같은 키를 두 번 사용하지 않았는지 확인한다.
  4. 공격자가 후보를 생성하는 것과 진짜 후보를 식별하는 것을 구분한다.

왜 여기서 많이 틀릴까요?

OTP 키를 재사용하면 두 암호문을 XOR할 때 키가 사라져 평문 관계가 노출된다. 올바른 OTP와 키 재사용 사고를 같은 것으로 보면 안 된다.

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

핵심부터 말하면 정답은 Falsch(거짓). 올바른 OTP에서는 모든 후보 평문마다 그것을 설명하는 키가 하나씩 존재하므로, 전수조사는 후보를 나열할 수는 있어도 어느 평문이 진짜인지 식별하지 못한다.

이 글에서 익힐 것

  • XOR 연산의 뜻과 자기 역원 성질을 이해한다.

  • OTP가 완전 안전(perfect secrecy)하려면 필요한 네 조건을 외우지 않고 설명한다.

  • 키를 모두 시험하는 것과 유일한 정답을 알아내는 것이 다름을 이해한다.

  • 올바른 OTP와 키 재사용된 two-time pad를 구분한다.

개념부터 차근차근

  • XOR는 같은 것을 두 번 섞으면 원래대로 돌아오는 연산

    XOR(배타적 논리합)는 두 비트가 다르면 1, 같으면 0이다. 0 XOR 0=0, 0 XOR 1=1, 1 XOR 0=1, 1 XOR 1=0이다. 중요한 성질은 x XOR k XOR k = x이다. 그래서 암호화 c=m XOR k 뒤에 같은 키를 다시 XOR하면 m=c XOR k로 복호화된다.

  • One-Time Pad의 구조

    메시지 m과 같은 길이의 무작위 키 k를 준비해 c=m XOR k를 계산한다. 이름의 One-Time은 키를 정확히 한 번만 써야 한다는 뜻이고, Pad는 과거의 일회용 난수표를 가리킨다. 알고리즘이 비밀이라 안전한 것이 아니라 키가 예측 불가능하고 재사용되지 않아 안전하다.

  • 완전 안전을 위한 네 조건

    키는 ① 진짜 무작위(uniform random)여야 하고, ② 메시지와 같거나 그보다 길어야 하며, ③ 단 한 번만 사용해야 하고, ④ 공격자에게 비밀이어야 한다. 하나라도 무너지면 그 시스템은 이론에서 말하는 올바른 OTP가 아니다.

  • 계산 능력 부족이 아니라 정보 부족

    일반 암호의 brute force는 수많은 키 중 그럴듯한 평문을 만드는 키를 찾는 방식이다. OTP에서는 모든 키를 다 조사해도 가능한 모든 평문이 나타난다. 공격자가 계산을 못해서가 아니라 암호문 안에 후보를 구별할 정보가 없어서 실패한다. 이를 정보이론적 안전성(information-theoretic security)이라고 한다.

예제로 확인하기

상황 설정

2비트 암호문 c=10만 관찰했다고 하자. 가능한 2비트 키는 00, 01, 10, 11 네 개다.

풀이 순서

  1. k=00이면 m=10 XOR 00=10이다.

  2. k=01이면 m=10 XOR 01=11이다.

  3. k=10이면 m=10 XOR 10=00이다.

  4. k=11이면 m=10 XOR 11=01이다.

  5. 전수조사 결과 00, 01, 10, 11이라는 모든 2비트 평문이 각각 정확히 하나의 키와 함께 가능하다. 공격자는 목록을 완성했지만 진짜 메시지를 고르지는 못했다.

  6. 일반화하면 임의 후보 평문 m'에 대해 k'=c XOR m'를 만들 수 있고, m' XOR k'=c가 된다. 따라서 암호문 하나만으로 특정 후보를 배제할 수 없다.

Perfect secrecy intuition

  • P(M=m | C=c)=P(M=m)는 암호문 c를 본 뒤에도 메시지 m에 대한 믿음이 바뀌지 않는다는 뜻이다.

  • 암호문을 보기 전 'YES가 70%, NO가 30%'라고 생각했다면, 올바른 OTP 암호문을 본 뒤에도 그 비율이 그대로다.

  • 완전 안전은 공격자가 정답을 우연히 맞힐 확률이 0이라는 뜻이 아니다. 암호문이 공격자에게 추가 정보를 주지 않는다는 뜻이다.

왜 그런지 이해하기

  • 같은 키로 c1=m1 XOR k, c2=m2 XOR k를 만들었다고 하자.

  • 공격자가 두 암호문을 XOR하면 c1 XOR c2 = m1 XOR k XOR m2 XOR k = m1 XOR m2가 된다. 키는 k XOR k=0으로 사라진다.

  • 자연어의 반복과 알려진 문구를 이용하면 두 평문의 내용을 추정할 수 있다. 이것은 올바른 OTP를 깬 것이 아니라 One-Time 조건을 위반한 구현을 공격한 것이다.

문장을 하나씩 판별하기

  • vollständig durch Bruteforcing gebrochen은 모든 키를 시험하면 유일한 실제 평문을 확정할 수 있다는 주장이다.

  • 하지만 OTP brute force는 모든 같은 길이 평문을 산출한다. 결과가 너무 많다는 정도가 아니라 후보를 제거할 근거가 원리적으로 없다.

  • 따라서 조건을 지킨 OTP에 대한 문장은 Falsch다. 키 재사용, 편향된 난수, 짧은 키, 키 유출은 별도 실패 사례다.

정답까지 사고 과정

  1. 1단계: 문제의 OTP가 정의에 맞게 사용된 올바른 OTP라고 가정한다.

  2. 2단계: c=m XOR k와 m=c XOR k를 적는다.

  3. 3단계: 후보 평문 m'마다 k'=c XOR m'가 존재함을 보인다.

  4. 4단계: 모든 키를 조사해도 모든 평문 후보가 남는다고 결론 낸다.

  5. 5단계: brute force가 유일한 실제 평문을 식별하지 못하므로 Falsch라고 답한다.

시험장에서는 이렇게 쓰기

최소 답안

Falsch.

안전한 두 문장 답안

Falsch. Bei einem korrekt verwendeten One-Time Pad ist jeder gleich lange Klartext mit genau einem Schlüssel mit dem beobachteten Ciphertext vereinbar. Brute Force liefert daher alle möglichen Klartexte, aber keine Information darüber, welcher davon der echte ist.

Condition sentence

Dies gilt nur bei einem gleichverteilten geheimen Schlüssel ausreichender Länge, der genau einmal benutzt wird.

자주 틀리는 지점

  • 키 공간이 너무 커서 현재 컴퓨터로는 오래 걸린다는 계산복잡도 주장만 하는 것. OTP의 핵심은 무한한 계산 능력으로도 후보를 식별할 정보가 없다는 점이다.

  • 모든 후보 중 독일어처럼 보이는 문장을 고르면 된다고 생각하는 것. 메시지의 사전확률은 있을 수 있지만 암호문이 추가 정보를 제공하지 않는다.

  • 키 재사용 공격을 들어 OTP 자체가 깨진다고 결론 내리는 것. 그것은 정의의 one-time 조건 위반이다.

  • OTP와 짧은 비밀번호를 반복하는 Vigenère 방식을 혼동하는 것. OTP 키는 메시지와 같은 길이이고 무작위이며 재사용되지 않는다.

한 줄로 기억하기

일반 자물쇠 brute force는 맞는 열쇠 하나를 찾는다. OTP brute force는 모든 열쇠가 각자 서로 다른 그럴듯한 방을 열어 준다. 문을 전부 열어도 원래 방이 어느 것인지 알 수 없다.

스스로 확인하기

  • c=101이고 후보 평문 m'=011이라면 이를 가능하게 하는 키 k'는?

    k'=c XOR m'=101 XOR 011=110이다.

  • OTP 키를 두 번 썼을 때 두 암호문을 XOR하면 무엇이 남는가?

    m1 XOR m2가 남아 평문 사이의 관계가 노출된다.

  • perfect secrecy의 조건부확률 식을 말로 설명하면?

    암호문을 본 뒤에도 특정 메시지일 확률이 암호문을 보기 전과 같다는 뜻이다.

설명의 근거

  • Gedächtnisprotokoll Computersystemsicherheit WS2025_26.md — Krypto / Multiple Choice: 복기 원문.

  • Vorlesung 02 Grundlagen Krypto, p.37-42 — One-Time Pad와 brute force 직관.

  • Übung 1 Lösung, p.5-10 — OTP의 perfect security와 필수 조건.

이 문제가 어려운 이유

짧은 문제 문장 ‘One-Time Pad(OTP)는 brute force로 완전히 깨질 수 있다. Wahr/Falsch?’ 안에 정의, 조건, 처리 순서가 압축되어 있습니다. 아래 예시에서는 이를 한 단계씩 펼쳐 확인합니다.

AI 구두시험용 프롬프트

한 문항만 풀어라. 먼저 정답을 열지 말고 90초 안에 답안을 말한 뒤, css-ws2025-26-crypto-mc-002의 채점 프레임으로 스스로 채점하라. 문제: One-Time Pad(OTP)는 brute force로 완전히 깨질 수 있다. Wahr/Falsch?

학습 기록

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