Plans for cryptological tools realised in Maxima/Lisp.
More...
Go to the source code of this file.
Detailed Description
Plans for cryptological tools realised in Maxima/Lisp.
 Todo:
 Conversion functions

Reorganisation:

This file must be removed, and the content placed in more appropriate modules.

Number theoretical functions should go to NumberTheory.

floorlog : DONE.

Functions for numberrepresentations in positional systems: DONE.

Stringfunctions should likely go to DataStructures.

int2poly and poly2int should simply be removed, as they are no longer used, and in a general setting aren't useful as they assume "x" to be the variable and also assume "x" is not otherwise used (resulting in errors).

int2poly and poly2int can easily be mimiced like so:
$ int2poly(10,2);
x^3+x
$ expand(lreduce(lambda([a,b], a * x + b),int2polyadic(10,2)));
x^3+x
and a simple function which generates the polynomial given it's coefficients could be added to ComputerAlgebra/NumberTheory/Lisp/Auxiliary.mac .

"int2poly(4,2);" yields an error.

(DONE  see gf2t8l2hex) Functions such as GF2t8ListToHex should be renamed (although also moved  see above) using whatever proper naming scheme is decided for Rijndael data types  see "Notions and Notations" in ComputerAlgebra/Cryptology/Lisp/CryptoSystems/Rijndael/plans/general.hpp

(DONE  Also fixed naming conventions  see gf2t8l2hex etc) Conversion functions with suitable inverses working on lists of the appropriate elements to allow movement between various different representations of data in Cryptology (for AES and others) :

hexToGF2 (with GF2ToHex) for conversion of a hexidecimal string in the same format as in the Design of Rijndael (discuss here).

GF2ToGF2t4 (with GF2t4ToGF2) for conversion of a list of binary bit values representing GF(2) elements to a list of GF(2^4) elements.

GF4ToGF2t8 (with GF2t8ToGF2t4)) for a conversion from a list of elements in GF(2^4) to elements in GF(2^8).

GF2t8ToPID (with PIDToGF2t8) for a conversion of a list of binary bit values representing GF(2) elements to a list of 4Byte PID column elements.

DONE Remove "camels".
 Todo:
 New structure DONE

DONE In the CryptoSystems as well as in the Cryptanalysismodules we need submodules "Rijndael".
 Todo:
 Create milestones. DONE
Definition in file general.hpp.