Cryptography is the science of secret writing with the goal of hiding the meaning of a message. Cryptanalysis is the science and sometimes art of breaking cryptosystems. You might think that code breaking is for the intelligence community or perhaps organized crime, and should not be included in a serious classification of a scientific discipline. However, most cryptanalysis is Full Article…
Cryptoanalysis and Kerckhoffs’ Principle
If we ask someone with some technical background what breaking ciphers is about, he/she will most likely say that code breaking has to do with heavy mathematics, smart people and large computers. We have images in mind of the British code breakers during World War II, attacking the German Enigma cipher with extremely smart mathematicians (the famous computer scientist Full Article…
How many key bits are enough?
During the 1990s there was much public discussion about the key length of ciphers. Before we provide some guidelines, there are two crucial aspects to remember: 1. The discussion of key lengths for symmetric crypto algorithms is only relevant if a brute-force attack is the best known attack. If there is an analytical attack that works, a large Full Article…
Modular arithmetic part 1 (basics)
Modular arithmetic is extremely important in modern cryptography, especially for asymmetric algorithms. Almost all crypto algorithms, both symmetric ciphers and asymmetric ciphers, are based on arithmetic within a finite number of elements. Most number sets we are used to, such as the set of natural numbers or the set of real numbers, are infinite. In the following we introduce modular arithmetic, Full Article…
Modular arithmetic part 2 (equivalence class)
The Remainder Is Not Unique It is somewhat surprising that for every given modulus m and number a, there are (infinitely) many valid remainders. Let’s look at another example: We want to reduce 12 modulo 5. Here are several results which are correct according to the definition: 12 ≡2 mod 5, 2 is a valid remainder since Full Article…
Integer rings
After studying the properties of modulo reduction we are now ready to define in more general terms a structure that is based on modulo arithmetic. Let’s look at the mathematical construction that we obtain if we consider the set of integers from zero to m−1 together with the operations addition and multiplication: Let’s first look at an Full Article…
Theory of Public key cryptography: Euclidean algorithm, Eulers phi function & Eulers theorem
Euclidean algorithm (EA) This algorithm computes gcd or greatest common divider. This is very important in PKC (public key cryptography). So if somebody gives you two integers r0,r1, find gcd(r0,r1), i. e. the largest integer that divides both numbers. Example r0=27, r1=21. How to solve this? lets do prime factorization 27 = 3x3x3 21 = Full Article…
RSA public key cryptosystem
RSA has been invented in 1977 and till that time everyone things that encryption/decryption can be done only with one symetric key. As header says this is public key cryptosystem, so we gonna have two keys for encryption / decryption and that is public key and private key. I know about this setup so lets Full Article…