This repository covers both fundamentals of public key cryptography algorithms, tutorials and implementations. I've created this repository during the capture of the following online courses published on Udemy.
Elliptic Curve Cryptography Masterclass
Public Key Cryptography From Scratch In Python
Cryptography Basics From Scratch In Python
1- Diffie Hellman Key Exchange Algorithm Code
2- RSA for Encryption, Digital Signature and Key Exchange Code
, Tutorial
3- El Gamal for Encryption and Digital Signature Code
4- Digital Signature Algorithm (DSA) Code
5- Discrete Logarighm Problem Code
1- Elliptic Curve Cryptography with Python Code
, Tutorial
, Video
This code covers key exchange, digital signature, symmetric encryption, order of group (number of points in finite field) and elliptic curve discrete logarithm problem. This is dependent to EccCore.py.
2- Edwards Curve Digital Signature Algorithm Code
, Tutorial
Edwards curves offer faster calculations than regular elliptic curve forms.
3- Finding Bitcoin Address Code
, Tutorial
, Configuration
A bitcoin address consists of a public key.
4- Elliptic Curve ElGamal Code
Previously, we have implemented symmetric encryption but in that case we encrypt and decrypt a point on the curve. Now, we will transform a text message to a elliptic curve point and apply encryption. However, this is a de facto implementation because decryption requires to solve ECDLP.
1- Elliptic Curve Cryptography with Java Up-to-date Code
, Legacy Code
This java project is dependent to entity objects.
1- Caesar Cipher Code
2- Substitution Cipher Code
3- Affine Cipher Code
4- Homophonic Substitution Cipher Code
5- Permutation Cipher Code
7- Vigénere Cipher Code
8- Kasiski Examination Code
9- Enigma Machine Video
There are many ways to support a project - starring the GitHub repos is one.
This repository is licensed under MIT license - see LICENSE
for more details