개발자기본지식

#7강. 신뢰성을 위한 가장 완벽한 암호화(RSA) (1/2)

JJJAEOoni 2021. 12. 17. 15:29
반응형

대칭 키 암호(symmetric-key algorithm) : 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘

 

앨리스가 밥에게 10시라는 메시지를 A키로 암호화하여 보내도

A키가 없는 밥은 열지 못한다.

이 때 트루디가 중간에서 가로채지 못하고  A키를 알려줄 수 있는 방법이 있다

 

디피헬만 알고리즘(Diffie-Hellman Algorithm) : 두 사용자가 사전에 어떤 비밀 교환 없이도 공통 키를

교환하게 해주는 알고리즘

 

디피헬만 알고리즘의 핵심은 상대방의 공개키와 나의 개인키를 이용하여 계산을 하면 비밀키가 나온다는 것이다.

그 후 나와 상대방은 비밀키를 사용하여 데이터를 암호화한 후 전달하면 된다.

 

앨리스의 개인키는 3, 밥의 개인키는 4이다.

 

서로의 공개키가 5라고 했을 때, 앨리스와 밥은 서로의 개인키에 공개키를 곱해서 값을 전달한다.

그러면 앨리스는 자신의 개인키 3 곱하기 공개키 5를 계산해 15를 밥에게 전달하고,

밥은 자신의 개인키 4 곱하기 공개키 5를 계산해 20을 앨리스에게 전달한다.

 

앨리스와 밥은 곱한 값에서 계산을 통해 서로의 개인키를 알게 되고,

트루디는 15와 20밖에 모르게 된다.

 

받은 곱한 값에 자신의 개인키를 곱하게 되면 대칭키가 된다.

앨리스는 받은 20에 자신의 개인키 3을 곱하면 60

밥은 받은 15에 자신의 개인키 4를 곱하면 60

으로 동일한 대칭키 60을 찾을 수 있다.

 

이 알고리즘은 보안의 3요소 중 기밀성(C)에 만족하지만

무결성(I)과 가용성(A)에는 만족하지 못한다.

 

값을 들키지 않는다는 면에서 기밀성은 만족하지만

트루디가 값을 조작할 수 있다는 면에서 무결성은 만족하지 못한다.

 

가용성은 탈취의 가능성, 물리적인 가해 등등

사실상 만족하기 매우 어렵다.

 

[출처]

 

https://cafe.naver.com/metacoding

 

메타코딩 : 네이버 카페

코린이들의 궁금증

cafe.naver.com

메타코딩 유튜브

https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

 

메타코딩

문의사항 : getinthere@naver.com 인스타그램 : https://www.instagram.com/meta4pm 깃헙 : https://github.com/codingspecialist 유료강좌 : https://www.easyupclass.com

www.youtube.com

 

반응형