general.hpp File Reference

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.

Conversion functions
  • Reorganisation:
    1. This file must be removed, and the content placed in more appropriate modules.
    2. Number theoretical functions should go to NumberTheory.
      • floorlog : DONE.
      • Functions for number-representations in positional systems: DONE.
      • String-functions 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);
    $ expand(lreduce(lambda([a,b], a * x + b),int2polyadic(10,2)));
    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) :
    1. hexToGF2 (with GF2ToHex) for conversion of a hexidecimal string in the same format as in the Design of Rijndael (discuss here).
    2. GF2ToGF2t4 (with GF2t4ToGF2) for conversion of a list of binary bit values representing GF(2) elements to a list of GF(2^4) elements.
    3. GF4ToGF2t8 (with GF2t8ToGF2t4)) for a conversion from a list of elements in GF(2^4) to elements in GF(2^8).
    4. GF2t8ToPID (with PIDToGF2t8) for a conversion of a list of binary bit values representing GF(2) elements to a list of 4-Byte PID column elements.
  • DONE Remove "camels".
New structure DONE
  • DONE In the CryptoSystems- as well as in the Cryptanalysis-modules we need sub-modules "Rijndael".
Create milestones. DONE

Definition in file general.hpp.