1. 암호화(Encryption)
- 메시지 전달 과정에서 제3자가 보더라도 이해하지 못하게 암호화할 수 있습니다.
- 발신자는 평문을 암호화한 암호문을 전달하고 수신자는 암호문을 복호화해 평문을 얻을 수 있습니다.
- 암호화는 해커들이 볼 수 없도록 메시지를 암호화하는 것뿐 아니라 저자를 증명하는 데도 사용될 수 있습니다.
1.1 용어
- 암호: 메시지를 아무나 읽지 못하도록 인코딩하는 알고리즘
- 키: 암호의 동작을 변경하는 숫자로 된 매개변수
- 평문: 암호화되기 전의 원본 메시지
- 암호문: 암호화가 적용된 메시지
- 디지털 서명: 메시지가 위조 혹은 변조되지 않았음을 입증하는 체크섬
- 디지털 인증서: 신뢰할 만한 조직에 의해서 서명되거나 검증된 신원 확인 정보
- 평문 메시지
P, 인코딩 함수 E, 디지털 인코딩 키 e가 주어지면 부호화된 암호문 C를 생성할 수 있습니다.
- 암호문
C, 디코딩 키 d, 디코딩 함수 D를 사용해서 원래의 평문 P로 디코딩할 수 있습니다.
2. 대칭키 암호 알고리즘
- symmetric-key algorithm이라고도 합니다.
- 대칭키란 암호문을 생성할 때 사용하는 키와 암호문으로부터 평문을 복원할 때 사용하는 키가 동일한 암호 시스템입니다.
- 즉 인코딩 키
e와 디코딩 키 d가 같습니다.
- 대칭키는 송신자와 수신자가 같은 키를 보유하고 그 키를 통해 송신자가 평문을 암호화해서 전송하면 수신자가 같은 키로 복호화합니다.
2.1 키 길이와 열거 공격