-
암호학 4주차 - 현대 암호보안/CRYPTOGRAPHY 2024. 3. 15. 18:11
0. 대칭키 암호 시스템 (Symmetric Key Cryptosystem)
: 송신자와 수신자가 같은 키를 공유해야 하는 암호 시스템
ex. 카이사르 암호, 비제네르 암호
- 사전에 서로 키를 공유하는 과정이 반드시 필요한데, 현대에서는 도청 문제가 생겼다.
-- > 키 공유 알고리즘 연구
-- > Diffie와 Hellman이 Diffie-Hellman 키 교환 알고리즘 제시,
공개키 암호 시스템( Public Key Cryptosysytem) 창안
: 송신자와 수신자가 서로 다른 키를 사용함 /
비대칭키 암호 시스템(Asymmetric Cryptography) 이라고 한다.
1. 현대 암호
1945년 Claude Shannon이 안전한 암호 시스템은 혼돈과 확산의 성질을 만족해야 한다고 발표
- 혼돈
: 암호문에서 평문의 특성을 알아내기 힘든 성질
- 단일 치환 암호는 혼돈 성질을 만족하지 못한다.
- 확산
: 평문의 작은 변화가 암호문의 큰 변화로 이어지는 성질
- 대부분의 고전 암호에서 찾아보기 힘든 성질이다.
2. 대칭키 암호 시스템
암호화와 복호화에 같은 키를 사용하는 암호 시스템, 블록 암호와 스트림 암호로 구분한다.
- 블록 암호(Block Cipher)
: 평문을 정해진 크기의 블록 단위로 암호화하는 암호
- 평문의 크기가 블록 크기의 배수가 아니어서 균등하게 쪼갤 수 없는 경우:
평문 뒤에 데이터를 추가하는 패딩(padding) 을 수행한다. 평문이 블록 크기의 배수가 될 때까지 추가한다.
-예시: DES, AES
- 스트림 암호(Stream Cipher)
: 송신자와 수신자가 공유하는 데이터 스트림을 생성하고 이를 평문에 XOR 하는 암호
- 평문 P, 암호문 C, 스트림을 X 라 할 때 C = P XOR X
- X ⊕ X = 0 이므로 수신자는 C ⊕ X = P ⊕ X ⊕ X = P 로 복호화 가능
- 평문과 같은 길이의 스트림을 안전하게 공유할 수 있으면 평문을 공유할 수 있어 암호화가 필요 없다.
-- > 송신자와 수신자는 스트림 대신 '시드'를 공유하고 사전에 합의된 함수의 인자로 넣어 스트림 각자 생성
- 스트림 암호는 단순연산으로 구현되어 속도가 빠르다.
- 블록암호보다 안전하지 못해 연산 능력 부족한 임베디드 기기/속도가 중요한 환경에서만 제한적으로 사용
- 대칭키 암호시스템 장점
- 공개키 암호시스템에 비해 빠른 속도
- 대칭키 암호시스템 단점
- 송신자와 수신자가 사전에 키를 교환해야 하는 제약이 존재한다.
- 새로운 상대와 통신할 때마다 계속 키를 생성해야 한다.
- 대칭키 암호: 그룹 내에 여러 명이 있으면 두 사람마다 서로 다른 키를 생성해야 한다.
즉 N명 있으면 N C 2 개의 키가 필요하다.
- 공개키 암호 시스템에서는 키생성에 불편함이 없다.
3. 공개키 암호 시스템
: 송신자는 수신자의 공개키(Public Key)로 데이터를 암호화하여 수신자에게 전송하고 수신자는 자신의 비밀키(Private Key)로 복호화한다.
- 공개키는 모두에게 공개되어 있음
- 공개키를 알면 누구나 수신자에게 암호문을 보낼 수 있다.
- 개인키는 수신자만 알고 있어 도청해도 복호화가 불가능하다.
- 공개키 암호 시스템의 장점
- 필요한 키의 개수가 대칭키 암호 시스템보다 적다.
- 공개키 암호: 그룹 내의 사람들이 각자 공개키와 비밀키 만들고 공개키만 공개하면 된다.
N명 있으면 2N개의 키만 필요하다. 대칭키 암호는 N C 2 개의 키가 필요하다.
2. 한 번 키를 생성하면 새로운 상대와 통신해도 자신이 키를 다시 만들어야 할 필요가 없다.
4. 암호의 기능
- 기밀성 ( Confidentiality)
: 허락된 사람(키를 가지고 있는 사람) 만이 정보를 열람할 수 있게 하는 기능
- 무결성 (Integrity)
: 송신자가 보낸 정보에 변조가 일어나지 않았음을 의미 ( 데이터의 변화가 발생하지 않았음을 보증하는 기능)
- 인증 (Authentication)
: 정보를 주고 받는 상대방의 신원을 확인하는 기능
-ex. 공인인증서
- 부인 방지 (Non-repudiation)
: 정보를 교환한 이후에 교환한 사실을 부인할 수 없게 하는 기능
'보안 > CRYPTOGRAPHY' 카테고리의 다른 글
암호학 5주차 - 블록암호 (0) 2024.03.16 암호학 5주차 - DES (0) 2024.03.15 암호학 5주차 - AES (1) 2024.03.15 암호학 4주차 - 고전 암호 (0) 2024.03.15 암호학 3주차 (0) 2024.03.15