In this thesis we consider the provability of the security of cryptographic algorithms--that is, proving that a particular cryptographic algorithm is immune to cryptanalytic attacks. To this end, we formalise cryptanalytic attacks and the criteria for "breaking" the cryptographic algorithm. This formal model is used to show that if an algorithm exists that determines if an efficient attack against the cryptographic algorithm exists, then a feasible universal cryptanalytic attack exists. However, we demonstrate that a feasible universal cryptanalytic attack does not exist; and thus, conclude that there is no algorithm that determines the immunity of cryptographic algorithms to attacks.
Our consideration turns to other methods of demonstrating the security of cryptographic algorithms: we consider families of cryptographic algorithms indexed by block size: these are known as cryptosystems. Algorithms derived from pseudorandom cryptosystems have strong cryptographic properties, in particular, resilience against attack. We find some sufficient conditions for pseudorandom cryptosystems and conclude that they are infeasible. We then determine a necessary condition for pseudorandom cryptosystems: that the keyspaces $\{ K\sb{n}\}\sb{n\varepsilon\rm N}$ must grow as $\vert K\sb{n}\vert \ \geq\ \xi (n)2\sp{n}$ for a superpolynomial function $\xi$. We analyse public-key cryptosystems and conclude that proving pseudorandomness for feasible cryptosystem requires complexity assumptions.
We consider the design of cryptographic algorithms that are apparently strong but are vulnerable to a specific, secret attack. These algorithms are used as a model for an analysis to demonstrate that cryptographic design criteria are necessary but not sufficient conditions; we also use the model to determine how to secure the cryptographic algorithm against the secret attack.
Recommendations
Comparative Analysis of RSA and ElGamal Cryptographic Public-key Algorithms
ICASI'18: Proceedings of the Joint Workshop KO2PI and the 1st International Conference on Advance & Scientific InnovationAn asymmetric algorithm is an encryption technique that uses different keys on the process of encryption and decryption. This algorithm uses two keys, public key, and private key. The public key is publicly distributed while the private key is kept ...
A limitation on security evaluation of cryptographic primitives with fixed keys
In this paper, we discuss security of public-key cryptographic primitives in the case that the public key is fixed. In the standard argument, security of cryptographic primitives are evaluated by estimating the average probability of being successfully ...