I did a python implementation, that will be publish as free software (GPL) who is able to change the usual parameters of the Rijndael to work in a very different way than the 3 options of the standard. As a review:
Rijndael variable parameters:
- Number of rounds
- Number of rows
- Number of columns
- Wordsize (in bits)
- Number of columns in the key
- Block size always 4x4 elements of 8 bits 128 bits
- Key size can have 4, 6 or 8 columns 128,192,256 bits
- And depending on this key size the number of rounds varies from 10, 12 or 14.
But what means internally to the algorithm this change?
- A new irreducible polynomial is need for the mixColumn() transformation, because the polynomial ring have the same number of coefficients than the number of rows.
Are there other options in Rijndael to get this combination? Yes: this would be equivalent to {40,4,4,2,16} and what does this mean?
- A new Rijndael SBox must be build: the original is made to apply a substitution of works of 8 bits.
Pending demonstrations:
- Is the generalized Rijndael still a Pseudo-Random Permutation (PRP)
- How to build secure SBoxes?
- How to get irreducible polynomials to be able to change the number of rows?
- How to calculate the number of rounds necessary? Not less than need to be insecure, but not more to do superfluous calculations.
No comments:
Post a Comment