Programs to chapter 5 of book "Multivariate Public Key Cryptosystems" by Ding, Petzoldt and Schmidt
For generating the public and private keys use; load "keygen.txt"
To sign a (randomly generated) document: load "sign.txt";
To verify the signature: load "verify.txt";
If the characteristic is odd use: load "forge_odd.txt"; The program uses only the data in public_key.txt and a randomly generated document and shows that its signature would be accepted.
The program "forge_even.txt" for the case with even characteristic will be added later
Programs used and described in the book "Multivariate Public Key Cryptosystems" by Ding, Petzoldt and Schmidt. All programs can be downloaded via the attached zip file. Modify the file "startup.txt" so that the base directory matches your setup. Put this file where magma can find it.
After starting magma run: load "startup.txt"; It will then allow you to select the method on which you want to work.
Files can be downloaded individually by clicking on a chapter name and then selecting the scheme of interest.
Magma programs related to chapter 6 of the book by Ding, Petzoldt and Schmidt.. a 3-pass version and a 5-pass version is given. After downloading the files use
Magma programs related to SFLASH in chapter 3 of the book by Ding, Petzoldt and Schmidt. The program was inteneded for signing a document. To run this program in Magma use
A document is generated at random. Provide your own documentn and change the parameters.
Magma programs for the original method of Matsumoto-Imai. Download the files and then in Magma use
The first program will generate the files private_key.txt and public_key.txt.
With load "LinearizationEquations.txt";. the equations are produced to break this method.
Experiment by changing the parameters.
Magma programs to chapter 7 pf the book "Multivariate Public Key Cryptosystems" by Ding, Petzoldt and Schmidt using the rectangular simple matrix scheme.
load "keygen.txt" will generate the file public_key.txt and private_key.txt
load "encrypt.txt"; will generate the file "ciphertexrt.txt" by encrypting a randomly generated file
load "decrypt.txt" will then decrypt that file.
Programs to chapter 7 of the book "Multivariate Public Key Cryptosystems" by Ding, Petzoldt and Schmidt.
Two methods are attached, one for the standard ABC method, the other for the rectangular ABC method
Magma programs to chapter 5 of the book "Multivariate Public Key Cryptosystems" by Ding, Petzoldt and Schmidt.
For the rainbow cryptosystems
load "keygen.txt'; will generate the files public_key.txt and private_key.txt, which are then used via
load "sign.txt"; to genertate the signature of a randomly generated document, and by
load "verify.txt"; to chack that it is a valid signature