Symmetric Encryption (대칭 암호)
Referred to as
- Conventional/private-key/single-key encryption (전통적인/개인/단일 키 암호라고도 함)
Sender and recipient share a common key (송신자와 수신자가 공통 키를 공유함)
– Encryption and decryption with the same key (encryption과 decryption이 하나의 키로 이뤄짐!)
All classical encryption algorithms are private-key (모든 고전 암호 기법은 비공개 키임)
퍼블릭키와 상호 보완적임
- Was only type prior to invention of publickey in 1970’s (1970년대 공개 키 발명 이전에는 유일한 유형이었음)
• 평문 - 원본 메시지
• 암호문 - 암호화된 메시지
• 암호 - 평문을 암호문으로 변환하는 알고리즘
• 키 - 송신자/수신자만 알고 있는 정보
• 암호화 - 평문을 암호문으로 변환
• 복호화 - 암호문을 평문으로 복원
• 암호학 - 암호화 원리/방법 연구
• 암호 해석(암호 분석) - 키를 모르고 암호문을 해독하는 원리/방법 연구
• 암호학 - 암호학과 암호 해석(암호 분석)의 분야 >> 위 두 가지 포함
5 ingredients of symmetric cipher model
1. Plaintext
2. Encryption algorithm
3. Secret key > k : 핵심 >> 비밀키 k 이외에 모두 공격자가 알고 있다고 가정함, ex) AES 알고리즘
4. Ciphertext
5. Decryption algorithm
대칭 암호 모델
• 안전한 사용을 위한 2가지 요구 사항
공격자는 k나 x를 찾는 것이 목적
암호 시스템을 특징 짓는 방법:
공격 목적 및 암호화 시스템 - 메시지뿐만 아니라 키를 복구
• 일반적인 접근 방법:
어떤 경우에도 이론적으로 깰 수 없는 것, 한 번만 쓰는 비밀 키
– 계산에 사용 가능한 자원이 얼마나 많든지 암호를 깰 수 없음
– 예: 일회용 비밀 키(One-time pad)
제한된 컴퓨팅 자원하에서 깰 수 없는 것, 우리가 사용하는 시스템
– 한정된 컴퓨팅 리소스가 주어지면 암호를 깰 수 없음
– 기준:
• Julius Caesar가 발명한 가장 오래되고 가장 간단한 대체 암호
• 군사 문제에서 최초로 사용됨
• 각 문자를 3번째 문자로 대체함
평문: meet me after the toga party
암호문: PHHW PH DIWHU WKH WRJD SDUWB• 변환을 다음과 같이 정의함:
평문:
a b c d e f g h i j k l m n o p q r s t u v w x y z
암호문:
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C• 각 문자에 숫자를 할당하고 시저 암호를 적용함
평문: a b c d e f g h i j k l m n o p q r s t u v w x y z
암호문: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
• 시저 암호는 다음과 같음:
c = E(k, p) = (p + k) mod 26
p = D(k, c) = (c – k) mod 26
시저 암호는 brute force 공격 할만 함 왜냐하면,,,
1. 암호화 / 복호화 알고리즘이 알려져 있음
2. 시도해볼 키가 25개뿐임
3. 평문의 언어가 알려져 있으며 쉽게 인식됨
그런데 컴퓨터에게는 어려울 수 도 있음 (상대적으로 사람보다)
복호화 된 모든 텍스트가 타당해 보인다면 어떻게 될까요?
• 우리는 brute-force 공격에 대해 알고리즘을 보안 할 수 있습니다.
→ "Honey Encryption"의 주요 아이디어
평문: abcdefghijklmnopqrstuvwxyz
암호문: DKVQFIBJWPESCXHTMYAUOLRGZN
각각 더해지는 수가 다름 >> 키가 더 많아져서 brute-force 공격이 힘듦, but, crypt analysis가 힘듦
평문: ifwewishtoreplaceletters
암호문: WIRFRWAJUHYFTSDVFSFUUFYA
총 26! = 4 x 10^26 개의 키가 있게됨.
• 이렇게 많은 키가 있다면, 보안이 보장될 것 같지만, 그렇지는 않음
주요 개념 - 단일 알파벳 대체
암호문의 문자 빈도를 계산합니다.
Given ciphertext:
UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZ
VUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSX
EPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ
• Count relative letter frequencies (see text)
• Guess P & Z are ‘e’ and ‘t’
• Guess ZW is ‘th’ and hence ZWP is ‘the’
• Proceeding with trial and error finally get:
it was disclosed yesterday that several informal but
direct contacts have been made with political
representatives of the viet cong in moscow
여러 문자를 암호
키워드를 기반으로 한 5x5 문자 행렬
• 키워드의 문자를 채웁니다 (중복 제외)
• 나머지 행렬을 다른 문자로 채웁니다.
• 예: 키워드 MONARCHY
두 문자씩 암호화
같은 단어라도 다른 출력값이 나옵니다.
- 모노알파벳보다 보안이 훨씬 개선됨
- 26 x 26 = 676 다이그램
- 분석을 위해 676 개의 빈도표가 필요합니다 (모노알파벳의 경우 26 개).
• 많은 연도 동안 널리 사용됨- 예를 들어, 제1 차 세계 대전에서 미국과 영국 군대에서 사용됨
• 키 수는 몇 개입니까?- 25! / 25 = 24!
연속적인 평문 문자 m을 m 개의 암호화 문자로 변환합니다.
– 암호문 만으로 공격? (o)
– 알려진 평문 공격? (x)
• Simplest polyalphabetic substitution cipher
Write the plaintext out
Write the keyword repeated above it
Use each key letter as a Caesar cipher key
Encrypt the corresponding plaintext letter
일반 텍스트를 작성하십시오.
그 위에 반복되는 키워드를 적는다.
각 키 문자를 카이사르 암호 키로 사용
해당 평문 문자를 암호화
Multiple ciphertext letters for each plaintext
letter
• Hence letter frequencies are obscured, but not
totally lost
• If keyword length is m, the cipher consists of
m monoalphabetic substitution ciphers
– E.g., when m=9, 1st, 10th, 19th … letters are all
encrypted with the same monoalphabetic cipher
– Use the known frequency of the plaintext language
to attack each cipher separately
각각 다른 매핑 키가 있음?
문자 빈도가 변경되지 않기 때문에 공격이 가능합니다. 반복되기 때문입니다.
가정: 해커가 키 크기를 알고 있다.
해결책: 반복성 제거 > Autokey Cipher
• 메시지 길이와 동일한 길이의 무작위 키를 사용합니다.
• 키는 메시지의 접두어로 사용됩니다.
• 예 : deception 키를 제공하면
키 : deceptivewearediscoveredsav
평문 : wearediscoveredsaveyourself
암호문 : ZICVTWQNGKZEIIGASXSTSLVVWLA
• 키워드를 알면 처음 몇 글자를 복구 할 수 있습니다.
• 이를 차례로 다른 메시지에 사용합니다.
• 여전히 공격 가능한 빈도 특성이 있습니다.
처음 몇 개의 시크릿이 깨지면 그에 대응하는 모든 것들의 안전성이 무너집니다.
Vernam Cipher
• 평문과 길이가 같은 키워드를 사용하는 최종 방어
• 키워드와 통계적 관계가 없음 >> 앞의 것을 반복하지 않음
• 1918 년 AT&T 엔지니어 Gilbert Vernam이 발명
• 문자 대신 이진 데이터 (글자)를 사용합니다.
Key construction is the essence of Vernam cipher
• Originally proposed using a very long but eventually repeating key
키 구성은 Vernam 암호의 본질입니다.
• 원래 매우 길지만 결국 반복되는 키를 사용하도록 제안됨
• Vernam 암호의 개선
• 메시지와 같은 길이의 진정한 무작위 키를 사용하면 암호화가 안전합니다.
but 실제로 두 가지 근본적인 어려움
– 대량의 랜덤 키 생성
– 키 배포 및 보호
Classical transposition or permutation ciphers
– Hide the message by rearranging the letter order
without altering the actual letters used
• Can recognize these since have the same
frequency distribution as the original text
고전적인 전치 또는 치환 암호
• 가장 간단한 치환 암호 중 하나
• 더 복잡한 전치
두 번 하면 훨씬 복잡해집니다.
전치 → 간단하지만 여러 번 시도하면 어려워집니다.
• 치환 또는 전치를 사용한 암호는 언어의 특성으로 인해 안전하지 않습니다.
• 따라서 여러 암호를 연속적으로 사용하여 보안을 높이는 것이 좋습니다. 하지만:
– 두 개의 치환은 더 복잡한 치환을 만듭니다.
– 두 개의 전치는 더 복잡한 전치를 만듭니다.
– 그러나 치환 후 전치를 사용하면 새로운 훨씬 더 어려운 암호가 만들어집니다.
• 이것이 고전적인 암호에서 현대적인 암호로 이어지는 다리 역할을 합니다.
암호화 대체 방법
• 암호화
– 메시지를 외부인이 이해할 수 없게 만듭니다.
• 스테가노그래피
– 메시지의 존재를 숨깁니다.
– 예:
• 일부 문자 / 단어 만 사용하고 어떤 방식으로 표시 된 긴 메시지
• 보이지 않는 잉크 사용
• 그래픽 이미지 또는 음성 파일의 LSB (최하위 비트)에 숨김
단점
– 상대적으로 적은 정보 비트를 숨기는 데 많은 오버 헤드가 필요합니다.
– 발견하면 가치가 없어집니다.
• 장점
– 암호화 사용을 가리 킬 수 있습니다.
– 먼저 암호화 한 다음 스테가노그래피를 사용하여 숨깁니다.
Summary
• Classical cipher techniques and terminology
• Substitution ciphers
– Monoalphabetic substitution ciphers
– Cryptanalysis using letter frequencies
– Playfair cipher
– Polyalphabetic ciphers
• Transposition ciphers
• Product ciphers
• Stenography