본문 바로가기

CS/암호화

비밀키 교환방식 (디피-헬만 , RSA )

대칭키는 암호화와 복호화에 대한 문장이 동일한 형태이고,

비대칭키는 암호화와 복호화 키가 다른것을 의미.

 

 

 

디피-헬만 키 교환 방식 이란?

- 실제 키값을 바로 전달하는것이 아니라, 키 값을 만드는 방법을 전달하는 방식

- 단점은 공개키가 믿을 수 있는 공개키인지 자체만으로는 신원 검증이 어렵고, 전자서명이 가능한 다른 암호화 방식과 섞어서 사용.

 

교환방식

앨리스 - 1  , 밥 - 2 , 이브 - 해커

1과 2는 통신을 성립하기 위한 비밀키를 교환하고자함.

큰소수  P , 적절한 정수 G를 공개. P와 G는 공개되어도 상관없음

 

1은 P미만의 정수 a를 선택후 A = G^a(mod P)를 만족하는 A를 2에게 전송. 단 a는 1만 알아야함 , A는 누구한테 가던 상관없음

2는 P미만 정수 b를 선택후 , B = G^b(mod P) 를 만족하는 B를 1에게 전송. 단 b는 2만 알아야함 , B는 누구한테 가도 상관없음

 

1번은 P와 B 그리고 자신이 알고있는 a로 부터 Ka = B^a(mod P)를 만족하는 Ka를 계산

2번은 P와 A 그리고 자신이 알고있는 a로 부터 Kb = B^b(mod P)를 만족하는 Kb를 계산

Ka과 Kb는 값은 값이 된다.

 

 

RSA 공개키 알고리즘

- 공개키와 개인키가 한쌍을 이루어 공개키로 암호화한 내용은 개인키로만, 개인키로 암호화한 내용은 공개키로만 해독 가능

 

키 만들기

1. 두 소수 p,q 준비

2. p-1 , q-1과 각각 서로소인 정수 e 준비

3. ed를 (p-1)(q-1) 로 나눈 나머지가 1이 되도록 하는 d를 찾음.

4. N = pq를 계산한 후, N과 e를 공개한다. 이들이 바로 공개키, 상대방이 평서문을 암호문으로 바꿀대 쓴다.

d는 숨겨두는데, 이수가 개인키이며, 공개키로 상대방이 만든 암호문을 해독할 때 쓴다.

5. p,q , (p-1)(q-1)는 파기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 실제 암호화 통신을 위해 비밀키를 교환하는 방법