The practical cryptographical algorithms and tools.
- Required Python packages.
- Implementing RSA Cryptosystem.
- sympy
- Started implementing RSA.
- Decided that I want to program an algorithm that will produce prime numbers up to n for me.
- I found Miller-Rabin test, which is not for generating primes but for testing a given number if it's a prime.
- Comment: Using a number testing algorithm to generate a list of primes gave me a proper headache. I need to learn to research more before jumping into implementing.
- I searched for effective prime generation algorithms and "Sieve of Eratosthenes" came up.
- Comment: Still I did not use as much time as I would like to ensure that I am implementing the algorithm correctly.
- I found Miller-Rabin test, which is not for generating primes but for testing a given number if it's a prime.
- I used the primes that I generated in file Sieve_of_Eratosthenes. Since all primes are coprime to each other I can now pick the greates two and get p * q.
- Now I can actually implement the RSA algorithm!
- Next → Make it handle encryption and decryption of numbers.
- Extend it to handle characters.
- I implement my own gcd instead of using an library.
- Implement the Miller-Rabin test, and use it to check if a large number is a prime.
- Algorithms for Discrete Logarithm calculation.
- Digital Signature protocols.