Cryptographic Applications and PKI
Shannon W. Bray · 2020
This chapter introduces public-key infrastructure (PKI) and shows how to implement a PKI solution in Python. It explores the basics of Rivest, Shamir, Adleman (RSA) ciphers and describes the construction of simple text encryption and decryption with RSA certificates. El-Gamal encryption is a public-key cryptosystem. It uses asymmetric key encryption for communicating between two parties and encrypting the message. The chapter examines an alternative approach that is considered a more efficient type of public-key cryptography: elliptic curve cryptography (ECC). ECC produces encryption keys based on using points on a curve to define the public and private keys. The chapter presents an example that demonstrates how to generate a new ECC key, export it, and reload it back into a program. The Diffie-Hellman algorithm was developed to create secure communications over a public network using ECC to generate points on the curve and get the secret key using parameters.