Programs for solving univariate and multivariate polynomials.
load "Univariate"; will load a collection of routines for polynomials in one variable.
The file main_univariate shows how to call the different routines.
load "solve_overdetermined.txt"; will generate an overdetermined system and the uses the relinearization method to solve it. Delete the first part of the program in order to run it with your own system of equations.
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
load "MQident3.txt";
or
load "MQident5.txt";
Programs related to the perturbed Matsumoto Imai methods.
load "keygen.txt";
load "encrypt.txt";
load "decrypt.txt";
Feel free to change the parameters
Magma programs for the original method of Matsumoto-Imai. Download the files and then in Magma use
load "keygen.txt";
load "encrypt.txt";
load "decrypt.txt";
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.
Magma programs to the book "Multivariate Public Key Cryptosystems" by Ding, Petzoldt and Schmidt using the simple ABC scheme.
load "keygen.txt"; will generate the public and private keys in the files public_key.txt and private_key.txt
load "encrypt.txt"; will encrypt a randomly generated text and put the result into ciphertext.txt
load "decrypt.txt"; will 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
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.