공개키암호
-
공개키 암호 - 디피헬먼(DH)전공/컴퓨터보안 2020. 6. 4. 15:25
디피-헬먼(DH)은 암호화, 복호화를 하는 알고리즘이 아닌, 키 교환을 하는 알고리즘이다. 공개키에서는 키 교환을 할 필요가 없다. 그러므로 디피헬먼은 공개키가 아닌 대칭키 암호 방식에서 키 교환을 위해 쓰인다. 키교환을 하기 위해 필요한 식이 있다. p를 소수라고 하고, g를 생성자라고 하며, p와 g는 공개키이다. 앨리스와 밥이 대칭키에 필요한 키를 교환한다고 가정하자. 앨리스와 밥은 각각 개인키 a 와 b를 가지고 있다. 앨리스(a소유)는 밥(b소유)에게 g^a mod p 를 보내고, 밥은 g^b mod p 를 앨리스에게 보낸다. 앨리스는 a를 가지고 있기 때문에 g^b mod p를 밥에게서 받은 뒤, 자신의 개인키인 a를 제곱하면 (g^b)^a mod p 라는 값을..
-
공개키암호 - RSA전공/컴퓨터보안 2020. 6. 4. 14:23
RSA는 교수님께서 공개키 중에서 가장 중요한 암호라고 언급하셨다. 엇 그럼 시험출제각? 얘는 배낭 암호보다 이해하기 어려운데, 공식만 외운다면 푸는 방법은 배낭 암호보다 훨씬 간단하다. RSA는 배낭 암호와 동일하게 공개키로 암호화를 하고 개인키로 복호화를 한다. RSA를 이용해 공개키와 개인키를 만들어내기 위해서는 제법 큰 수인 서로소 관계인 p와 q가 필요하다. 얘들로 계수인 N, 암호화 지수인 e, 복호화 지수인 d를 만든다. N = p*q e = (p-1)(q-1)과 서로소 관계인 정수 ed = 1 mod(p-1)(q-1) 공개키는 (N,e)가 되고 개인키는 d가 된다. 암호화, 복호화하는 공식은 아래와 같다. 가장 아래의 식은 오일러 정리를 통해 성립이 된다. 예시..
-
공개키암호 - 배낭암호전공/컴퓨터보안 2020. 6. 4. 13:20
공개키 암호 공개키는 대칭키보다 굉장히 특별하게 수학적이기 때문에 종류가 대칭키만큼 다양하지는 않다. 이러한 유닠-크한 암호인 공개키는 "트랩도어 단방향 함수"를 기본으로 하고 있다. 함수 이름도 유닠-크한데, 간단하게 말하면 한쪽으로의 계산은 쉽지만 반대 방향은 계산이 어렵다는 뜻이다. 물을 쏟기는 쉽지만 쏟은 걸 다시 담기는 매우 어려운 것처럼. 즉, N = pq(p,q는 소수)일 때, p와 q를 알면 N의 값을 구하기는 굉장히 쉽지만 N값만 가지고 p와 q를 찾는 것은 굉장히 어렵다. 대칭키에서는 평문은 P(Plaintext), 암호문은 C(Ciphertext)로 표기하였으나 공개키에서는 평문을 M(Message)라고 한다. 공개키를 사용할 때에는 개인키(private key)..