본문 바로가기

Crypto

[Crypto] Dreamhack STAGE 1 ~ 2

https://dreamhack.io/lecture/roadmaps/3

 

Cryptography

암호학을 공부하기 위한 로드맵입니다.

dreamhack.io


[ 고전 암호 ]

  • 치환 암호 (substitution) : 평문의 문자를 다른 문자로 바꾸는 것
  • 전치 암호 (transposition) : 평문 문자들의 위치를 바꾸는 것

 

단일 문자 치환 암호

  • 평문의 각 문자를 약속된 다른 문자로 치환하는 암호
  • 복호화를 위해 치환의 대응 관계는 일대일 대응임

 

다중 문자 치환 암호

  • 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 ㅜ 있음
  • 대표적 : 비즈네르 암호

 

전치 암호

  • 평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만듦
  • 평문을 정해진 길이의 블록들로 나누고, 규칙을 적용하여 블록 안의 문자들을 재배치함

 

고전 암호 공격

  • 전수 키 탐색 공격
  • 빈도수 공격

 

[ 현대 암호 ]

혼돈(Confusion)과 확산(Diffusion)

  • 혼돈
  • 확산

 

대칭키 암호 시스템

: 암호화와 복호화에 같은 키를 사용하는 암호 시스템

  • 블록 암호
  • 스트림 암호

 

대칭키 암호 시스템의 장점과 단점

  • 대칭키 암호 시스템은 일반적으로 공개키 암호 시스템에 비해 속도가 빠름
  • 그러나 송신자와 수신자가 사전에 키를 교환해야 함
  • 대칭키 암호 시스템에서는 그룹 내에 여러 명이 있을 경우 두 사람마다 서로 다른 키를 생성해서 사용해야 함.
  • 새로운 상대와 통신할 때마다 계속 키를 생성해야 함

 

공개키 암호 시스템

: 송신자는 수신자의 공개키로 데이터를 암호화하여 수신자에게 전송하고, 수신자는 자신의 비밀키로 이를 복호화함

  • 공개키는 모두에게 공개되어 있으므로 공개키를 아는 사람은 누구나 수신자에게 암호문을 보낼 수 있음
  • 개인키는 수신자만 알고 있으므로, 공격자는 암호문을 도청해도 이를 복호화할 수 없음

 

공개키 암호 시스템의 장점과 단점

  • 공개키 암호 시스템에서는 그룹 내의 사람들이 각자의 공개키와 비밀키를 만든 후 공개키만 공개하면 되므로 N명의 사람에 대하여 2N개의 키만이 필요함
  • 한 번 키를 생성하고 나면, 새로운 상대와 통신하더라도 자신이 키를 다시 만들어야 할 필요가 없음
  • 일반적으로 대칭키 암호 시스템에 비해 다소 복잡한 연산이 필요하므로 속도가 느림
  • 대칭키 암호와 같은 안전성을 제공하려면, 대칭키 암호보다 긴 키를 사용해야 함

 

암호의 기능

1. 기밀성 (Confidentiality)

  • 허락된 사람만이 정보를 열람할 수 있게 하는 기능
  • 허락된 사람 : 일반적으로 키를 가지고 있는 사람

2. 무결성(Integrity)

  • 송신자가 보낸 정보에 변조가 일어나지 않았음을 의미
  • 데이터의 변화가 발생하지 않았음을 보증하는 기능

3. 인증 (Autentication)

  • 정보를 주고받는 상대방의 신원을 확인하는 기능
  • 공인인증서가 대표적인 예이며 적게는 웹에서 아이디와 비밀번호를 입력하는 것도 인증의 영역에 속함

4. 부인 방지(Non-repudiation)

  • 정보를 교환한 이후에 교환한 사실을 부인할 수 없게 하는 기능
  • 온라인상에서 거래가 발생했을 때 돈을 수신한 쪽에서 수신한 사실을 부인할 수 있다면 온라인 거래는 불가능할 것임

'Crypto' 카테고리의 다른 글

[Crypto] Dreamhack STAGE 5  (0) 2022.08.26
[Crypto] Dreamhack STAGE 4  (0) 2022.08.26
[Crypto] Dreamhack STAGE 3  (0) 2022.08.25