1. 대칭키의 문제점
1) 키 분배 문제
2) 서로 모르는 사이의 경우 보안 커뮤니케이션이 불가능하다.
3) 키 관리 문제점
2. 공개키 암호 시스템
- x는 개인키이고 y는 공개키이다.
- 누군가가 모두 공개키를 알 수 있도록 등록을 해놓는다.
- 이것을 관리하는 방법은 이 카테고리 마지막 게시글에서 설명한다.
- A 는 B와 모르는 사이라고 가정한다.
- A는 B의 공개키를 가지고 암호화 해서 B에게 보낸다.
- A는 B에게 안전하게 메시지를 보낼 수 있고
- B는 본인만 그 내용을 확인할 수 있다.
3. 일방향 함수
- 해쉬 함수와 같이
- x --> f(x) 는 쉽지만
- f(x) --> x 는 어려워야 한다.
- 단 private key를 가지고 있을 경우 쉽게 f(x) --> x 가 가능해진다.
- 이때의 어려운 문제는 polynomial 시간 내에 풀 수 없는 문제를 말한다.
- factorization problems (n = p x q 일 때 두 소수 p와 q를 알아내야함)
- discrete logarithm problems (a^x = b 에서 x를 알아내야함)
- shortest vector problems
4. RSA
- 오일러의법칙에 따르면
- n과 a의 최대 공약수가 1이라고 할 때 a ^ phi(n) == 1 (mod n) 이 성립한다.
- 그리고 이전에 올렸던 기본 공식에 대해 복습하도록 한다.
- 오일러 법칙을 이용한다면 최대 공약수가 성립함을 증명할 수 도 있다.
- 키 생성 방법
- 위 그림을 보면 이해할 수 있겠지만
- 어떤 수 n을 정한다 이때 n = p x q 가 성립해야하고 p 와 q는 어느정도 큰 소수여야 한다.
- 0보단 크거나 같고 n보다는 작은 수 중에 소수의 개수 phi(n) 를 구한다.
- 1보단 크거나 같고 phi(n)-1 보단 작거나 같은 수 중에 하나의 수 e를 선택한다.
- 이 때 e는 phi(n)과 최대공약수가 1이어야 한다.
- e의 곱셈의 역원 d를 구한다.
- 위의 구한 값을 이용하면 공개키는 (n, e) 이고 개인키는 d가 된다.
1) RSA Sign
2) RSA verify
- 하지만 이런 방식은 쉽게 깨지므로 RSA의 변형이 필요하다.
'보안 > 정보보호이론' 카테고리의 다른 글
Discrete Logarithm Based Problem (0) | 2015.03.04 |
---|---|
RSA (Rivest, shamir, adelman) (8) | 2015.03.04 |
기출 문제 풀이 (0) | 2015.03.02 |
Hash Functions (1) | 2015.03.02 |
Bock Cipher Modes (0) | 2015.03.02 |