선릉역 1번 출구
현대 암호 본문
대칭키 암호 시스템
- 블록 암호
- 스트림 암호
대칭키 암호 시스템(symmetric key cryptosystem)
- 서로 키를 공유하는 과정이 반드시 필요함
- 네트워크는 도청에 매우 취약하기 때문에 평문으로 공유하는 것은 부적절함 -> 키 공유 알고리즘(key - sharing algorithm)
ex) Diffie-Hellman 키 교환 알고리즘
비대칭키 암호 시스템(asymmetric key cryptosystem)
- 송신자와 수신자가 서로 다른 키를 사용하는 시스템
혼돈(confusion)
- 암호문에서 평문의 특성을 알아내기 힘든 성질
- 단일 치환 암호의 경우 같은 키를 사용해서 암호문을 생성하면 평문을 유추하지는 못해도 둘이 같은 평문이라는 사실은 파악 가능
확산(diffusion)
- 평문의 작은 변화가 암호문의 큰 변화로 이어지는 성질
- 대부분의 고전 암호에서 찾아보기 힘든 성질
블록 암호
- 평문을 정해진 크기의 블록 단위로 암호화하는 암호
- 평문의 크기가 블록 크기의 배수가 아니라면 패딩을 수행하여 크기를 맞춤
ex) DES, AES
스트림 암호
- 송신자와 수신자가 공유하는 데이터 스트림을 생성하고 이를 평문에 xor하는 암호
- 평문과 같은 길이의 스트림을 안전하게 공유할 수 있다면? -> 평문을 공유하면 됨, 굳이 스트림을 공유해서 평문과 xor할 필요가 없음
- 일반적으로 송신자와 수신자는 stream을 공유하는 대신, 시드(seed)라는 작은 값을 공유하여 사전에 합의된 함수의 인자로 넣어 스트림을 각자 생성함
- 단순한 연사능로만 구현되므로 속도가 매우 빠름
- 블록암호보다는 안전하지 못해 연산 능력이 부족한 임베디드 기기나 속도가 중요한 환경에서만 제한적으로 사용됨
대칭키 암호 시스템의 장점과 단점
- 공개키 암호 시스템에 비해 속도가 빠르지만 송신자와 수신자가 사전에 키를 교환해야함
- N명의 사람이 있으면 N(N-1)/2개의 키가 필요함(새로운 상대와 통신할 때마다 키를 계속 생성해야 한다는 단점)
공개키 암호 시스템의 장점과 단점
- 공개키
- 수신자의 공개키로 데이터를 암호화 해 수신자에게 전송
- 수신자는 자신의 비밀키로 복호화
- N명의 사람이 있을 때 2N의 키만 필요함
- 복잡한 연산이 있어 대칭키에 비해 느림
- 대칭키와 같은 안전성을 제공하기 위해서는 대칭키 암호보다 긴 키를 사용해야 함
암호학이 제공하는 보안적 기능
- 기밀성
- 무결성
- 인증
- 정보를 주고 받는 상대방의 신원을 확인하는 기능
- 부인 방지
- 정보를 교환한 이후에 교환한 사실을 부인할 수 없게 하는 기능
'Computer > Cryptology' 카테고리의 다른 글
DES (0) | 2023.02.06 |
---|---|
AES (0) | 2023.02.06 |
고전 암호 (0) | 2023.02.06 |
Cryptology 도입 (0) | 2023.02.06 |
Sumcheck protocol (0) | 2022.01.26 |
Comments