Beam Me Up, Scotty … And Some Dilithium Crystals
Our world of digital trust is full of two methods: ECDSA and EdDSA (Ed25519 and Ed448)). Bitcoin and Ethereum use ECDSA, while IOTA and many other methods use Ed25519. Basically, Ed25519 (based on Curve 25519) has some special features that allow for signature and key aggregation, while ECDSA allows for a public key to be extracted from the signature. Both of these methods use ECC methods and have relatively small key sizes and small signatures. For example, Ed25519 has a 32-byte private key, a 32-byte public key, and a 64-byte digital signature. A comparison of the key sizes is:
But, we have a problem, ECC and RSA methods as they will be cracked by quantum computers. The main methods that will replace these are lattice, multivariate (Oil-and-Vinegar) and hash-based. These include:
One of the leaders is Crystals Dilithium, so let’s create a program that creates a Dilithium digital signature.