/crypto

Elliptic Curve Cryptography and Common Public Key Cryptography Implementations

Primary LanguageJupyter NotebookMIT LicenseMIT

crypto

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

Public Key Cryptography 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

Elliptic Curve Cryptography Masterclass In Python

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.

Elliptic Curve Cryptography Masterclass In Java

1- Elliptic Curve Cryptography with Java Up-to-date Code, Legacy Code

This java project is dependent to entity objects.

Cryptography Basics From Scratch In Python

1- Caesar Cipher Code

2- Substitution Cipher Code

3- Affine Cipher Code

4- Homophonic Substitution Cipher Code

5- Permutation Cipher Code

6- Hill Cipher Code, Tutorial

7- Vigénere Cipher Code

8- Kasiski Examination Code

9- Enigma Machine Video

Support

There are many ways to support a project - starring the GitHub repos is one.

License

This repository is licensed under MIT license - see LICENSE for more details