▼ pdf 바로보기
🔔 내용요약
- 고전 암호화 기법
→ 현대에 사용되기엔 너무 약한 보안기법이기에 사용되기 어렵다.
→ 허나 주요 개념들의 경우, 현대 기법에 사용되는 개념들이 많기에 알아보자. - 고전 암호화 기법의 종류 (6) 👉 Which is about 기밀성(Confidential)'s Encryption
(1) Shift Cipher
(2) Monoalphabetic Cipher
(3) Multiple-Letter Encryption (中 Playfair cipher)
(4) Polyalphabetic cipher (中 Vigenere)
(5) Transposition Technique
(6) Rotor Machines
2-1. Shift Cipher (=시저 암호)
: 평문 x를 key 'k'만큼 shift하여 암호화하는 기법
→ Encryption : □ = x + k(mod 26) # 26 : 알파벳의 총 개수
→ Decryption : □ = x - k(mod 26)
→ Attack (4) : Cipertext only, Known plaintext, Chosen plaintext, chosen ciphertext
→ Problem 😡 : Cipertext only(모든 경우의 수)로 해도 26가지 경우이기에 너무 잘 뚫림!
2-2. Monoalphabetic Cipher (=단일 치환 기법)
: (치환) 한 문자를 다른 문자로 대체해 암호화하는 기법
→ Key의 경우의 수 : 26!
→ frequency Attack의 경우의 수 : 26가지
→ Problem 😡
: Cipertext only로 해도 26!가지 경우이기에 안전할 것 같지만 아님. 왜냐하면 언어이기에
모든 알파벳 요소의 빈도수(확률)이 동일 X. 따라서 요소에 따른 확률적 접근시 경우의 수 ↓.
따라서 Decryption이 훨씬 작아지기에 보안적으로 안전하다 할 수 없다.
이를 보완하기 위해 등장한 기법이 바로 '다중 문자 치환 기법'이다.
2-3. Multiple-Letter Encryption (中 Playfair) (=다중 문자 치환 기법 (1))
: (치환) 독특한 방식으로 문자들을 치환하여 평문에 등장하는 문자의 빈도와 암호문에서 사용되는
문자의 빈도를 다르게 만드는 암호화 기법.
→ 가장 대표적 방식이 'Playfair' 방식.
→ Playfair Cipher 방식 :
(1) Playfair table 생성
i. Keyword 설정
ii. Keyword를 이용해 Table 생성
(Keyword가 없을 경우) A~Z를 좌→우, 상→하로 하여 5*5 matrix를 채움. (단, j는 생략)
(있을 경우) 해당 키워드에서 중복문자를 제거후 좌→우, 상→하로 하여 5*5 matrix를 채움.
그리고 나서 A~Z 중 남은 문자들을 matrix의 나머지 빈 공간에 채움.
(2) 암호화 진행
: 평문의 두 문자를 짝지은 pair을 기준으로 치환 진행. 치환 규칙은 아래와 같다.
i. 만약 pair가 동일한 문자일 경우, 필터문자(ex.X)를 삽입한다.
ii. 만약 한 문자가 남을 경우, 마지막에 필터문자(ex.X)를 삽입한다.
iii. pair의 두 문자가 같은 행일 경우, 각 문자의 오른쪽 문자로 치환한다.
iv. pair의 두 문자가 같은 열일 경우, 각 문자의 아래쪽 문자로 치환한다.
v. pair의 두 문자가 같은 열도 행도 아닐 경우, □한 다음에 각자 같은 행에 해당하게 치환한다.
→ Key의 경우의 수: 24!
→ frequency Attack의 경우의 수: 25*24=600가지 (자신/중복 제외)
2-4. Polyalphabetic cipher (中 Vigenere) (=다중 문자 치환 기법 (2))
: (치환) 'Keyword'를 도입해 이를 통해 key를 select하여 치환이 이루어지게 하는 암호화 기법
→ 가장 간단한 방식이 'Vigenere' 방식.
→ Vigenere Cipher 방식 :
(1) Vigenere table 사용 (대중화 된 table 有)
(2) 임의의 Keyword 설정
(3) 해당 Keyword를 평문의 길이에 맞게 반복하여 1:1 짝 지어줌.
(4) 과정 (3)에서 짝지어준 pair들을 순서대로 table에서 찾아 암호화.
2-5. Transposition Technique (= Permutation Technique)
: (전치) 평문의 문자들의 위치를 재배치, 즉 전치하여 암호화하는 기법
→ 가장 대표적 방식으로 'Rail Fence'와 'Row Transposition' 방식이 존재.
→ Rail Fence Cipher 방식
: 평문을 지그재그↝로 작성후 윗 문자열 후에 아랫 문자열을 붙여 작성하는 암호화 기법.
→ Row Transposition Cipher 방식
(1) Key 설정 : 1부터 n까지 숫자들을 임의의 순서로 배치.
(2) 평문 배치 : Key의 갯수에 맞게 밑에 나열하여 배치. (단, 부족할 경우 빈공간에 dummy로 채움)
(3) 암호화 : 배치한 평문들을 Key의 열로 나누어 오름차순 순서로 작성.
2-6. Rotor Machines
: 회전자를 이용하여 rotate된 수를 사용해 암호화하는 기법
→ Ex. 독일군의 애니그마(Enigma) 머신
👉 비록 고전 암호기법들은 사용되기 약하나 핵심내용인 '치환'과 '전치'의 개념들은
발전된 현대의 암호화 기법에서도 사용되는 주요 개념들이다! 따라서 뿌리부터 알고 가자. 😃
728x90
'Computer Science > Security Theory' 카테고리의 다른 글
| [학교수업] 03. Block Ciphers & DES (0) | 2022.04.09 |
|---|---|
| [학교수업] 01. Introduction to Cryptography and Security (0) | 2022.03.09 |
| [학교수업] 00. Environment Installation (0) | 2022.03.06 |