
Cryptography Joshua Pankau 1. INTRODUCTION TO CRYPTOGRAPHY Communicating via messages has become a major part of society; be it sending letters, text messages or e-mails. In today's world, when we send a message we are confident that its intended recipient will be the one to read it. When you send an e-mail the recipient has a user name and password that is usually known only to him/her. In other words, there are safeguards in place to stop others from viewing the message you sent. This is the basic idea behind Cryptography, and it has been around for a long time. The definition of Cryptography is simple: Cryptography is the art and science of encryption, and decryption. Cryptography is a science because it uses mathematics to encode messages so that their contents are not seen by unwanted eyes, and it is an art because one has to use clever techniques in an attempt to insure that their message is well coded. The science and art goes both ways though, because one can be just as clever in their use of mathematics to decode a message. The encryption and decryption aspect of Cryptography splits it into two Categories: Cryptographers and Cryptanylists, or more simply, encoders and decoders. In todays society Cryptographers spend there time using mathematics to come up with new ways to secure information. Cryptographers work on a new encoding method, and when they are finished Cryptanylists use mathematics to try and break the code and expose any weaknesses so that the Cryptographers can improve the security of the encoding. The discussion of Cryptography so far has been a bit vague, so now we will define some termi- nology and in the next section we will define a few mathematical ideas that will help us in our exploration of Crytography. First, the message, or data, that will be coded is called the Plaintext. The act of coding the message, as we have seen above, is called Encryption. On the same token, 6ACM Journal Name, Vol. 1, No. 1, November 2010, Pages 1{0??. 2 · Joshua Pankau the act of decoding a message is called Decryption. In order to code a message you require an Algorithm that defines the steps that will be taken to conceal the message or data. In Cryptogra- phy, such an Algorithm is called a Cipher. The Cipher depends on a chosen Key, which could be a word or a string of numbers that determines how to encode the message. Any holders of the key will be able to decode all messages that were coded using that cipher. Once a message is encoded using a cipher it is called Ciphertext. 2. MATHEMATICS Mathematics is flowing through every aspect of Cryptography, so now we will establish some impor- tant ideas that give us the tools we need to journey through the world of Cryptography. Following each definition will be an example that shows these tools in action. Our first definition establishes the mathematical notion of the Function. Definition 1. Let X and Y be sets. A rule that is defined by F is called a function between X and Y, denoted F: X ! Y, if F takes an element x 2 X(the Domain), to exactly one element y 2 Y(the Codomain); (i.e. if x 2 X, then F(x)=y for some y 2 Y). Example 1. Let f : R ! R be a function given by: f(x) = x2 Then f is a function that takes a real number x and maps it to exactly one other real number, namely the square of x. Next we need the notions of One-to-One and Onto so that we can establish a very special function that will play a key role in our exploration of Cryptography; The Bijection. Definition 2. Let X and Y be sets, then a function f : X ! Y is said to be One-to-One(or Injective) if for any elements x; z 2 X, f(x) = f(z), then x = z. The function f is said to be Onto(or Surjective) if for every element y 2 Y, there exists an x 2 X such that f(x) = y. Example 2. Let X be the set f1; 2; 3g and Y be the set f4; 5; 6; 7g. Then define f: X ! Y to be a function such that f(1) = 4, f(2) = 5, and f(3) = 6. Then f is clearly One-to-One but not Onto. If we define g: Y ! X such that g(4) = 1, g(5) = 2, g(6) = 3, and g(7) = 1. Then g is clearly Onto, but not One-to-One. ACM Journal Name, Vol. 1, No. 1, November 2010. Cryptography · 3 In the past example we saw two functions f and g, where f was one One-to-One but not Onto, and g was Onto but not One-to-One. It is possible for a function to be both Injective and Surjective which leads to following definition: Definition 3. A function f: X ! Y is said to be a Bijection between X and Y if f is both Injective and Surjective. If two sets have a Bijection between them, then they are said to be the same size, i.e. they have the same number of elements. Furthermore, since f is a bijection, then there exists a function g: Y ! X such that g(f(x)) = x, that is g is called the inverse of f, denoted f −1. The inverse of f is also a Bijection. Example 3. Let X be the set f1; 2; 3g and Y be the set f4; 5; 6g, then the function f: X ! Y defined by f(1) = 4, f(2) = 5, and f(3) = 6 is clearly One-to-One and Onto, therefore f is a Bijection. Also, by the above definition, f −1 exists and is defined as f −1(4) = 1, f −1(5) = 2, and f −1(6) = 3. It should be noted that the Bijections have played a pivotal role in Symmetric Cryptography. Imagine if you had a message you wanted to encode using a function/algorithm f. If the function is a bijection then it will have an inverse, so whatever f did to convert the message from plaintext to ciphertext, f −1 could be used to decode the ciphertext back into plaintext. So if two people wanted to securely communicate with each other, and they both know the encrypting function f and the decrypting fuction f −1, then they can continously send each other secret messages by encoding them using f, and decoding them using f −1. You can guess that the more complex the functions f and f −1 are the harder it would be for an outside observer to discover the contents of the messages. This notion of functions that are difficult to solve leads to two very important types of functions that will play a prominent role ahead. The One Way Function and the Trap Door Function. Definition 4. A function f: X ! Y is called One Way if given the image of an element in X, it is implausible to find the pre-image. In loose terms, a One Way function is easy to compute but hard to invert. A good One Way function should be next to impossible to invert. It is hard to classify a function as One Way because it may just be that someone has not yet thought of a clever way of finding a pre-image yet. Example 4. Suppose we chose two large primes p and q and took their product say p = 55; 021 and q = 5; 783. Then n = 318; 186; 443. Say if you gave n to someone and asked them to find the ACM Journal Name, Vol. 1, No. 1, November 2010. 4 · Joshua Pankau factorization of n, then more than likely it will take them a very long time to compute p and q. So given the product of larger and larger primes, the task of finding the factorization grows exponentially. [Welsh2006] Definition 5. A Trapdoor Function is a One Way function that is easy to compute the inverse given an extra piece of information. Example 5. An easy example of a Trapdoor function can be seen in our last example. Knowing the Product of the two primes and one of the primes it become instantly easy to determine the other prime. The final mathematical concept that we will need to start our journey through the world of Cryp- tography is the notion of Modular Arithmetic. Definition 6. Two integers a and b are said to be Congruent Modulo N if and only if Nj(a− b), i.e. if and only if their difference is exactly divisible by N. Denoted a ≡ b(modN) Modular Arithmetic gives, in a sense, a wrap around point. This is related to the idea of the remainder which is shown in the next example: Example 6. Consider the days of week. Assign values to each day of the week, i.e., Sunday = 1, Monday = 2, ... , Saturday = 7. So, if you start on Sunday and add 1 repeatedly you would get Monday, then you would get Tuesday, and so on. What happens when you get to Saturday? You would add 1 to 7 but end up back to 1. This is because when you add 1 to 7 you get 8, but 1 + 7 ≡ 1mod7 because 8 − 1 = 7 which is divisible by 7. So in modular arithmetic 1 is equivalent to any element x such that 7jx − 1.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages11 Page
-
File Size-