Cryptanalysis is an effective method for ensuring the security of cryptographic primitives by attacking them with the most advanced techniques. This thesis provides a deep investigation of three different kinds of cryptanalysis for symmetric ciphers, differential, linear and algebraic, applying them to several symmetric ciphers, from the older ones to the most modern. The algebraic approach consists in solving a polynomial system of equations representing a cryptographic primitive and involves a careful choice of the set of key variables to be fixed. The main instruments used to solve the system are Sat solvers and Grobner basis of which a comparison is offered in some cases. Particular focus has been paid to SHA1 hash function and on the stream cipher E0, used in the Bluetooth protocol. Samely, differential and linear cryptanalysis are applied to several symmetric ciphers. In particular, it is shown how to develop in Python an automatic tool for searching differential and linear trails with the constraint programming language Minizinc.
STRENGTH EVALUATION OF CRYPTOGRAPHIC PRIMITIVES TO LINEAR, DIFFERENTIAL AND ALGEBRAIC ATTACKS.
POLESE, SERGIO
2023
Abstract
Cryptanalysis is an effective method for ensuring the security of cryptographic primitives by attacking them with the most advanced techniques. This thesis provides a deep investigation of three different kinds of cryptanalysis for symmetric ciphers, differential, linear and algebraic, applying them to several symmetric ciphers, from the older ones to the most modern. The algebraic approach consists in solving a polynomial system of equations representing a cryptographic primitive and involves a careful choice of the set of key variables to be fixed. The main instruments used to solve the system are Sat solvers and Grobner basis of which a comparison is offered in some cases. Particular focus has been paid to SHA1 hash function and on the stream cipher E0, used in the Bluetooth protocol. Samely, differential and linear cryptanalysis are applied to several symmetric ciphers. In particular, it is shown how to develop in Python an automatic tool for searching differential and linear trails with the constraint programming language Minizinc.File | Dimensione | Formato | |
---|---|---|---|
phd_unimi_R12736.pdf
accesso aperto
Dimensione
586.17 kB
Formato
Adobe PDF
|
586.17 kB | Adobe PDF | Visualizza/Apri |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14242/83794
URN:NBN:IT:UNIMI-83794