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";
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
load "keygen.txt";
load "sign.txt";
load "verify.txt";
A document is generated at random. Provide your own documentn and change the parameters.
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