Cryptography

Here are some programs that have been important to my group's cryptography project. These help demonstrate the live workings of important algorithms that are used in modern, asymmetric cryptography, where 600-digit numbers can be used (so very good algorithms are needed indeed). Unfortunately, Javascript's feeble 25-bit mantissas are incapable of dealing with the 2000-bit integers used in real life. I have python programs on my Github that can perform these calculations with much larger numbers (I use 100-bits on python) since Python3 has no memory limit for numbers), these are to help understand the algorithms in live action. When giving inputs here, just be mindful of Javascript's limitations (e.g. only english chars are accepted to allow more letters - 4 letters) and don't give numbers more than 10 million.
Anyhow, enjoy looking at the algorithms!

Euclid's algorithm
Modulo inverse
Fast powering algorithm
El Gamal encryption algorithm
RSA encryption algorithm


Back to Command Line Archive (+ Rian's webpage)
Neve's webpage
Leo's webpage
Hokhim's webpage