● Hybrid 암호 알고리즘
대칭키 암호 알고리즘의 장점 + 비대칭키 암호 알고리즘의 장점
메세지의 실질적인 암호는 빠르게 하기 위해서 대칭키로 하는데, 대칭키의 단점이 둘 만의 비밀키를 공유하는 것이 굉장히 힘든 것이기 때문인데 만약 둘 만의 비밀키를 안전하고 쉽게 생성할 수 있다면 이걸 가지고 암복호화는 빠르게 할 수 있으면 굉장히 효율적으로 암복호화를 할 수 있습니다.
☞ Diffie-Hellman Key Exchange
대칭키 문제의 어려움을 극복하기 위해서 둘 만의 비밀키를 만들 수 있는 방법을 고안을 하면서 이것이 공개키 암호 시스템의 시초가 된 것입니다.
그럼 어떻게 둘 만의 비밀키를 만들 수 있을까요?
각 사용자는 자신의 공개키, 개인키를 가지고 있습니다.
Alice라는 사용자와 Bob이라는 사용자가 있다고 하겠습니다.
Alice 입장
▶ 공개키 ( A=)
p : prime
g : generator (상에 임의의 원소를 선택해서 그 숫자가 generator여야 된다 -> subgroup을 생성했을 때
subgroup의 차수가 의 차수가 같은 수를 generator다 또는 primitive root다 라고 한다)
g에 개인키 승수를 해서 공개키를 만듭니다.
▶ 개인키
a : p보다 작은 랜덤 수
Bob 입장
▶ 공개키 ( B=)
p : prime
g : generator
g에 개인키 승수를 해서 공개키를 만듭니다.
▶ 개인키
b : p보다 작은 랜덤 수
둘의 공개키를 이용을 해서 둘만의 shared key를 만들 수 있습니다.
각자 서로에게 자신의 공개키를 보냅니다.
Alice는 Bob의 공개키인 을 알 수 있지만, 이 값으로 부터 b는 알 수 없습니다.
Bob은 Alice의 공개키인 을 알 수 있지만, 이 값으로 부터 a는 알 수 없습니다.
각자 상대의 공개키로 부터 자신의 개인키를 승수 해줍니다.
Alice는 에 a 승을 해주면 이 나옵니다.
Bob은 에 b승을 해주면 이 나옵니다.
둘 다 이 되는 것이고 둘 만 만들수 있는 값을 공유를 하게 됩니다.
은 각자 자신의 키를 모르면 못 만듭니다.
내가 ,를 알지만 이걸로 부터 은 알아낼 수 없습니다.
왜냐하면 를 알려면 a 든 b 든 하나를 알아야 하는데
로 a를 알 수 없고, 로 b를 알 수 없기 때문입니다.(DLP 기반)
따라서 2명 (Alice-David,Bob-David)가 어떻게 만나든 서로의 공개키로 공유키를 만들어 낼 수 있게 됩니다.
공유키를 가지고 DES를 하던지 Triple-DES를 하던지 AES를 하던지 간에 암복호화를 하는데 걸리는 시간은 굉장히 짧아지면서 대칭키가 갖는 키 분배 문제를 효과적으로 해결할 수 있습니다.
다음에는 이러한 대칭키, 비대칭키를 현실적으로 어떻게 쓰고 있는지에 대해서 공부해 보겠습니다~
'Computer Security' 카테고리의 다른 글
전자 서명 알고리즘 - RSA (0) | 2017.12.09 |
---|---|
암호를 이용한 전자상거래 - 전자 서명 (0) | 2017.12.09 |
암호에 대한 이해 - RSA (0) | 2017.12.08 |
암호에 대한 이해 - Elgamal (0) | 2017.12.08 |
암호에 대한 이해 - 비대칭 암호 알고리즘 (0) | 2017.12.08 |