-
대칭키 암/복호화 방
관용 암호 == 대칭키 암호
- 기밀성 제공
- K를 이용해서 암호문 작성
- 하지만, 수신자와 송신자 모두 K값을 가지고 메시지를 위조 할 수 있다.
공개키 암호방식
- 기밀성은 제공하지 않는다.
- 서명을 확인하기 위해서 KUa를 사용한다.
- 수신자에게서만 보낼 수 있다.
전자서명 기반 공개키 암/복호화 방식
- 공개키와 대칭키 암호화 방식을 합쳐서, 기밀성이 제공된다.
무결성 공격 제어/검증 기능
(a)
- 기밀성을 제공
- 인증을 거쳐야 한다.
- F 부분에서 무결성 검증을 한다.
- M와 F(m)을 동시에 암호화 해서, 비트 한개라도 건드리면, 모든 것이 잘 못 된다.
- F값(무결성 검증시 사용)에 대해 복호화 후 위조/변경해야 한다.
(b)
- 좋은 암호는 아니다.
- E부분에서 기밀성이 제공된다.
- F부분에서 무결성이 일어난다.
- M과 F(Ek[M])이 서로 연관이 없다. 그래서 F값(무결성 검증시 사용)에 대해 위조/변경이 가능하다.
해시 함수
기밀성 제공한다.
A, B만이 K를 공유한다.
K는 둘다 가지고 있다. 그래서 둘다 M을 만들 수 있다.
기밀성이 필요하지 않안서 처리 부하를 줄여준다.
A만이 Ekra[H(M)]을 생성 가능하다.
기밀성은 제공하지 않는다.
디지털 서명을 제공한다
A,B만이 K를 공유한다
인증을 제공한다.
암호화가 필요없다.
A,B 만이 S를 공유한다.
기밀성을 제공한다.
일방향 해시 함수
무결성: 파일이 변경되지 않는다.
암호화 해서 사용하는 해시함수는 충돌 내성(collision resistance)을 제공한다.
충돌 내성 : 2개의 서로 다른 메시지가 같은 해시 값을 갖지 않도록 하는 것이다.
파일의 Fingerprint(지문) 생성
지문과 비슷한 것 ==> 디지털 서명
일방향성
메시지로부터 해시 ㄱ밧을 계산하는 것은 간단하게 할 수 있다.
하지만 해시 값으로부터 메시지를 계산하는 것은 불가능하다.
용어
프리*이미지(pre-image) : 메시지 M
메시지 다이제스트(message digest), 핑거프린트(fingerprint) : 해시값
응용
인터넷에서 SW/APP을 다운 받을 떼 -> 프로그램이 변경되었는지 확인하는 용도
패스워드를 기초로 한 암호화
PBE(password based encryption) 암호화 과정
SHA-1
구조를 중심으로 보면 된다.