Diffie-Hellman Key Exchange Implementation Sample in Python


뭐 새삼스러울 거 없지만, 예전에 python으로 구현해 봤던 Diffie-Hellman Key 교환 알고리즘 Class다. 표준으로 사용하는 SSL/TLS는 RSA를 적용해 Public/Private Key를 생성하고 인증서를 발급하면 된다. 사실 Cipher Spec에 있는 key exchange는 더 많지만, 여전히 DH은 건재(?)하다.

There is nothing new, but here is a simple sample python script for Diffie-Hellman key exchange. (NO RSA included)


PGP (Pretty Good Privacy)

PGP is a software package that performs cryptographic tasks related with email systems, which stands for Pretty Good Privacy. It is created by Phil Zimmermann in 1991, and now regarded as de facto standard email security. PGP is currently acquired by Symantec Group since 2010, but still the source code is available for peer review. There are many PGP variants available such as OpenPGP, GPG, iPGMail, APG, and so forth.

PGP provides security services and privacy using a series of security techniques including:
(1) Hashing for integrity
(2) Data compression
(3) Symmetric cryptography for confidentiality
(4) Asymmetric cryptography for both authentication and non-repudiation

The following describes the sending/receiving process between Alice and Bob.

a. Sending Process (Sender = Alice)


b. Receiving Process (Receiver = Bob)


Click here to download the material.
(This has been done as a part of homework in CSE508 in SBU CS.)