개발자 끄적끄적
고전 대칭키 암호 본문
<커코프의 원리(Kerckoff's Princlple)>
- 공격자 Eve는 항상 암호/복호 알고리즘을 알고 있다고 가정한다
- 암호의 안전성은 키의 안전성에만 바탕을 둔다
- 바꾸어 말하면, 키를 알아내는 것이 매우 어려워서 암호/복호 알고리즘을 비공개로 할 필요가 없어야 한다
- 현대 암호에서는 각각의 알고리즘의 매우 큰 키 공간(Key domain)을 가져서, 공격자가 키를 찾기 어렵게 한다
<암호 해독(Cryptanalysis)>
- 암호(Cryptanaly)가 비밀 코드를 생성하는 과학이자 예술인 것처럼, 암호 분석(Cryptanalysis)은 그런 코드를 깨는 과학이자 예술이다
- 암호 기술을 공부하는 것도 필요하지만, 암호 분석 기술을 연구하는 것도 필요하다
- 암호 분석 기술은 다른 사람의 코드를 깨는 데 사용되는 것이 아니라, 우리가 사용하는 암호 시스템이 얼마나 취약한지 측정하는데 필요하다
- 암호 분석 기술을 연구하는 것은 더 안전한 코드를 생성하는데 도움을 준다
<Sbustitution ciphers>
- 대치암호는 하나의 기호를 다른 기호로 대체한다
- 만약 평문(P)에서 기호가 알파벳이라면, 하나의 문자가 다른 문자로 대체된다
- 예를 들어, A가 D로 대체되고 T는 Z로 대체된다
만약 기호가 숫자(0~9)라면, 3은 7로 대체되고 2는 6으로 대체된다
- 대치암호는 다음 두 가지로 분류된다
- 단일문자 암호(Monoalphabetic ciphers)
- 다중문자 암호(Polyalphabetic ciphers)
<단일문자 암호(Monoalphabetic Ciphers)>
- 단일문자 암호에서 평문의 기호와 암호문에 대응되는 기호는 항상 일대일 대응 관계를 가진다
- 덧셈 암호(Additive Cipher)
- 덧셈 암호는 가장 간단한 단일문자 암호이다
- 이 암호는 이동 암호(Shif cipher) 혹은 시저 암호(Caesar cipher)로도 불린다
그러나 덧셈 암호라는 용어가 이 암호의 수학적인 성질을 더 잘 표현하고 있다
- 덧셈 암호에서 평문, 암호문, 키는 Z26의 원소이다
- 이동암호와 시저암호(Shift Cipher and Caesar Cipher)
- 역사적으로 덧셈 암호는 이동 암호로 불린다
- 왜냐하면 암호 알고리즘은 평문의 각 문자를 키만큼 내리고(shift key characters down)
복호 알고리즘은 암호문의 각 문자를 키만큼 올리기(shift key characters up)때문이다
- 예를 들어, 키가 15이면
암호화 알고리즘은 평문의 각 문자를 알파벳의 끝으로 15칸 내리고
복호 알고리즘은 알파벳의 처음으로 15칸 올리기 때문이다
- 곱셈 암호(Multiplicative Ciphers)
- 곱셈 암호에서 평문과 암호문은 Z26의 원소이고, 키는 Z26*의 원소이다
- 단일 문자 대치암호(Monoalphabetic Substitution Cipher)
- 덧셈 암호, 곱셈 암호, 아핀 암호는 작은 키 공간을 갖기 때문에
전수조사(Exhaustive search)공격에 취약하다
- Alice와 Bob이 하나의 키를 공유한 후 키는 평문에서 각각의 문자를 암호화하는데 사용되거나
암호문에서 각각의 문자를 복호화 하는데 사용된다
- 다시 말하면, 키는 전송되는 문자들과 독립 관계에 있다
- 다중 문자 대치암호(Polyalphabetic Substitution)
- 각 문자는 다른 대치를 갖는다
- 평문 문자와 암호문 문자와의 관계는 일대다대응이다
- 예를 들어, "a" 는 문장의 시작점에서 "D"로 암호화되고, 중간에서 "N"으로 암호화 될 수 있다
- 다중문자 암호는 기반하는 언어와 문자 빈도를 감추는 장점이 있다
따라서 Eve는 암호문을 해독하기 위해서 단일 문자 빈도 분석을 사용할 수 없다
- 플레이페어 암호(Playfair Cipher)
- Vigenere 암호(Vigenere Cipher)
- Vigenere암호는 m개의 덧셈 암호의 조합으로써 간주될 수 있다
- 힐 암호(Hill Cipher)
- Hill 암호에서 키 행렬은 곱셈에 대한 역원(역행렬)을 가져야 한다
- One-Time Pad
- 암호의 목적 중 하나는 완벽한 보안(Perfect Secrecy)이다
- Shannon의 연구는,
각 평문 문자가 키 공간에서 랜덤하게 선택된 키로 암호화된다면 완벽한 보안이 이루어진다는 것을 보였다
- 이 아이디어는 Vernam이 고안한 one-time pad라고 하는 암호에 이용된다
- Roter 암호(Rotor Cipher)
- 에니그마(Enigma Machine)
'정보보안' 카테고리의 다른 글
전치암호 (0) | 2023.03.25 |
---|---|
행렬, 일-변수 일차 방정식, 일차 연립 방정식 (0) | 2023.03.12 |
모듈러 연산(Modular Arithmetic) (1) | 2023.03.12 |