K-MOOC 자료실

 

www.kmooc.kr

 

광주대학교 전웅렬 교수님의 K-MOOC <수학없는암호> 강의를 정리한 내용입니다

 

- 암호의 사전적 의미: 비밀을 유지하기 위해 당사자끼리만 알 수 있도록 꾸민 약속 기호

- 인류 최초의 암호: 메소포타미아 암호

- 암호의 목적: 비밀 유지

 

✨암호학 주요 용어✨

  • 평문: 원래 메시지 누구나 읽을 수 있음(암호가 아님)
  • 암호문: 평문을 암호화 한 것
  • 암호화: 일정한 규칙에 따라 정보 변환하는 것
  • : 암호화에 사용되는 일정한 규칙 -> 일반적으로 비밀 정보 
    → 암호 해독 = 키를 찾는 과정
  • 복호화: 정당한 방법으로 암호문을 평문으로 변환하는 것(키 소유자가 암호문을 복호화하는 것)
  • 복호문: 암호문을 복호화한 것(원래의 평문)
  • 해독:부당한 방법으로 암호문을 평문으로 변환하는 것(키 미소유자가 암호문을 복호화하는 것) -> 공격자의 행위
    → 공격자가 암호문을 획득해 암호문을 복호화하는 것은 해독

암호화 ↔ 복호화

 

✅ 고대 암호

- 현재의 관점으로는 암호가 아닐 수도 있음

 

1. 노예 이용 암호

- 고대 그리스 시대 노예의 머리를 삭발시켜 암호문을 적고 머리가 길어 암호문이 가려졌을 때 대상에게 보내는 방식
시간이 多, 머리 숱 多 등의 단점 존

→ 정보를 숨겼다고 보기에는 어려움

 

2. 스키테일(Scytale)

고대 스파르타의 군사적 용도 암호
→ 원통에 띠를 감아 띠에 글을 작성 (방향과 글 쓰는 방향에 따라 차이 O)
→ 띠를 풀어낼 경우 글을 이해하는데 어려워짐(글자가 뒤섞이기에)
→ 조건 - 보내는 사람, 받는 사람 모두 같은 굵기의 원통 필요

 

⁕ 암호의 최초 용도 - 군사적 용도 

 

3. 시저 암호 (카이사르 암호 Caesar Cipher)

→ 로마시대 다른 글자로 변환(변경) 기본적으로 세 칸 이동
→ 각각 대응되는 다른 문자가 존재

 

조건

- 몇 칸을 옮길지에 대한 대응 개수 의논 필요

- 가능한 키가 모두 26개 최대(27번 옮기면 그대로 A -> A, 28칸일 경우 두 칸 옮긴 암호화문과 값이 같음)

복호화 최대 26번 시도할 경우 해독 가능


ex) A -> D로 변환 B -> E, X -> A의 방식
ex) APPLE → DSSOH

 


스키테일 : 순서만 섞임 읽을 수는 있음 모아놓으면 정보가 되지 않음
시저암호: 아예 어떤 정보인지 짐작부터 어려움

→ 난이도가 높아진 암호 (스키테일 < 시저암호)

 

  암호에서 중요한 비밀정보 -> 키

 

- 스키테일에서의 키: 원통의 굵기
- 시저암호에서의 키: 몇 칸을 옮기는지(알파벳을)

→ 키를 공격자가 알 경우 암호는 깨짐

 

 

✅ 암호의 종류

1. 노예 머리: 정보를 숨겼다고 보기에는 어려운 상황 
스테가노그래피(Steganography): 정보를 숨겨놓은 것(정보 자체에는 변화 X/그저 정보를 은폐한 것)


2. 스키테일: 순서만 섞여있음
전치 암호(Transposition Cipher)


3. 시저암호: 글자를 다른 글자로 치환
환자 암호(Substitution Cipher) 

 

🌟 전치암호 해독

평문: 오늘저녁데이트어때요 -> 암호문: 저늘오이데녁때어트요

→  세 글자를 선택 후 앞뒤 양 끝의 글자 바꾸는

오늘저 / 녁데이 / 트어때 / 요 -> 저늘오 / 이데녁 / 때어트 / 요


→  해독이 어렵긴 하지만 순서를 바꿔놓아도 인식이 쉬운 편(연상에 의해)
→ 단어 유추해 문장 의미 유추 가능


🌟 환자암호 해독
알파벳 빈도 수 가장 多 - E
→ 어떤 것을 기준으로 알파벳 빈도수를 조사하더라도 가장 많이 등장하는 알파벳 -> E 
→ 이후 T or A 

✓ 빈도수에 의해 유추 가능 -> 빈도수를 숨기지 X -> 빈도수 공격 취약

- 긴 암호문이 시저암호로 되어있으며 키가 3칸일 경우 (A -> D, E -> H로 변환)
- 암호문에 유독 H가 많을 경우 E일 것으로 유추 가능

※ 한글의 경우 빈도수의 차이 多
→ 언어학적 특징을 아는 것이 중요

✓ 붙은 글자(th-, wh-, sh-)의 빈도를 통해 해독이 쉬움

ex) 
Th - There,This, Then, Those,...
Wh - What, Where, Who, When, Why,...

암호문이 많을수록 통계학적으로 분석할 경우 해독 가능성 ↑

 

✅ 오늘날의 암호

적 암호(Product Cipher)

- 전치암호와 환자암호 번갈아 사용하는 것

- 현대의 암호통신 방식


평문 -> 전치암호 -> 환자암호 -> 암호문

따로 사용 시 보안의 문제 -> 같이 여러 번 사용할 경우 보안에 강함

✓ 오늘날 -> 10번 이상 반복하도록 함

DES(Data Encryption Standard) -> 전치와 환자 16번 반복

- 컴퓨터를 통한 암호화

- 국가 표준 암호 알고리즘

 

✅ 암호의 이용

- 수고로움을 감수할 만한 가치 = 해독해야만 하는 이유 有/엄청난 이득이 생기는 분야 이용 多
→ 군대
→ 공공분야
→ 돈이 많이 오가는 민간사업

 

 

✅ 암호의 구성

 

보내는 사람이 암호문을 만들어도 도청 위변조 가능, 받는 사람에 의해 복호화되어 평문

암호의 안전성은 오로지 키에만 의존해야 한다.
→ 고대 암호와 현대 암호의 구별 부분

고대: 어떤 암호 사용, 어떤 식으로 동작하는지 -> 비밀
현대: 어떤 방식으로 동작하는지 모두 공개 -> 비밀인 것 : 키

 고대의 시저암호: 키가 비밀이어도 26번이 최대
→ 현대의 암호 알고리즘: 키의 길이가 굉장히 多

 

✅ 현대의 암호 공개 이유

암호를 공개하는 것이 안전한가?

→ 공개 후 전 세계 학자의 비판 후 개선하는 것이 더욱 안전

→ 암호 알고리즘이 모두 공개된 상태

'STUDY > 암호학' 카테고리의 다른 글

[K-MOOC/암호학] 1주차 세계 2차 대전과 암호  (1) 2024.07.25