Presentation on theme: "By Mohammed Al-Saleh / JUST 1 Chapter 2 Elementary Cryptography Security in Computing, 4 th Ed, Pfleeger."— Presentation transcript:
By Mohammed Al-Saleh / JUST 1 Chapter 2 Elementary Cryptography Security in Computing, 4 th Ed, Pfleeger
By Mohammed Al-Saleh / JUST 2 Chapter 2 In this chapter Concepts of encryption Cryptanalysis: how encryption systems are "broken" Symmetric (secret key) encryption and the DES and AES algorithms Asymmetric (public key) encryption and the RSA algorithm Key exchange protocols and certificates Digital signatures Cryptographic hash functions
By Mohammed Al-Saleh / JUST 3 Chapter 2 Cryptography Cryptography (secret writing) is the strongest tool for controlling against many kinds of security threats. Well-disguised data cannot be read, modified, or fabricated easily. Cryptography is rooted in higher mathematics Group and field theory, computational complexity, and even real analysis, not to mention probability and statistics. Fortunately, it is not necessary to understand the underlying mathematics to be able to use cryptography.
By Mohammed Al-Saleh / JUST 4 Chapter 2 Terminology and Background Consider the steps involved in sending messages from a sender, S to a recipient, R If S entrusts the message to T, who then delivers it to R, T then becomes the transmission medium. If an outsider, O, wants to access the message (to read, change, or even destroy it), we call O an interceptor or intruder. Encryption is a means of maintaining secure data in an insecure environment.
By Mohammed Al-Saleh / JUST 5 Chapter 2 Terminology Encryption is the process of encoding a message so that its meaning is not obvious Decryption is the reverse process, transforming an encrypted message back into its normal, original form. Alternatively, the terms encode and decode or encipher and decipher are used instead of encrypt and decrypt A system for encryption and decryption is called a cryptosystem.
By Mohammed Al-Saleh / JUST 6 Chapter 2 Terminology The original form of a message is known as plaintext, and the encrypted form is called ciphertext.
By Mohammed Al-Saleh / JUST 7 Chapter 2 Terminology The original form of a message is known as plaintext, and the encrypted form is called ciphertext.
By Mohammed Al-Saleh / JUST 8 Chapter 2 Terminology For convenience, we denote a plaintext message P as a sequence of individual characters P =. Similarly, ciphertext is written as C =. We write C = E(P) and P = D(C), where C represents the ciphertext, E is the encryption rule, P is the plaintext, and D is the decryption rule. What we seek is a cryptosystem for which P = D(E(P)). In other words, we want to be able to convert the message to protect it from an intruder, but we also want to be able to get the original message back so that the receiver can read it properly.
By Mohammed Al-Saleh / JUST 9 Chapter 2 Encryption Algorithms The cryptosystem involves a set of rules for how to encrypt the plaintext and how to decrypt the ciphertext. The encryption and decryption rules, called algorithms, often use a device called a key, denoted by K, so that the resulting ciphertext depends on the original plaintext message, the algorithm, and the key value. C = E(K, P)
By Mohammed Al-Saleh / JUST 10 Chapter 2 Encryption Algorithms It would be very expensive for you to contract with someone to invent and make a lock just for your house. Also, you would not know whether a particular inventor's lock was really solid or how it compared with those of other inventors. A better solution is to have a few well-known, well-respected companies producing standard locks that differ according to the (physical) key Then, you and your neighbor might have the same model of lock, but your key will open only your lock. In the same way, it is useful to have a few well-examined encryption algorithms that everyone could use, but the differing keys would prevent someone from breaking into what you are trying to protect.
By Mohammed Al-Saleh / JUST 11 Chapter 2 Encryption Algorithms Sometimes the encryption and decryption keys are the same, so P = D(K, E(K,P)). This form is called symmetric encryption because D and E are mirror-image processes. At other times, encryption and decryption keys come in pairs. Then, a decryption key, K D, inverts the encryption of key K E so that P = D(K D, E(K E,P)). Encryption algorithms of this form are called asymmetric An encryption scheme that does not require the use of a key is called a keyless cipher.
By Mohammed Al-Saleh / JUST 12 Chapter 2 Encryption Algorithms
By Mohammed Al-Saleh / JUST 13 Chapter 2 cryptology Cryptography means hidden writing, and it refers to the practice of using encryption to conceal text. Cryptanalyst studies encryption and encrypted messages, hoping to find the hidden meanings.
By Mohammed Al-Saleh / JUST 14 Chapter 2 cryptology Both a cryptographer and a cryptanalyst attempt to translate coded material back to its original form. Normally, a cryptographer works on behalf of a legitimate sender or receiver, whereas a cryptanalyst works on behalf of an unauthorized interceptor. Cryptology is the research into and study of encryption and decryption; it includes both cryptography and cryptanalysis.
By Mohammed Al-Saleh / JUST 15 Chapter 2 Cryptanalysis A cryptanalyst's chore is to break an encryption. cryptanalyst attempts to deduce the original meaning of a ciphertext message. Better yet, he or she hopes to determine which decrypting algorithm matches the encrypting algorithm so that other messages encoded in the same way can be broken.
By Mohammed Al-Saleh / JUST 16 Chapter 2 Cryptanalyst can attempt to do … Break a single message Recognize patterns in encrypted messages, to be able to break subsequent ones by applying a straightforward decryption algorithm Infer some meaning without even breaking the encryption, such as noticing an unusual frequency of communication or determining something by whether the communication was short or long
By Mohammed Al-Saleh / JUST 17 Chapter 2 Cryptanalyst can attempt to do …(cont.) Deduce the key, to break subsequent messages easily Find weaknesses in the implementation or environment of use of encryption Find general weaknesses in an encryption algorithm, without necessarily having intercepted any messages
By Mohammed Al-Saleh / JUST 18 Chapter 2 Information needed by a cryptanalyst A cryptanalyst works with a variety of pieces of information: encrypted messages, known encryption algorithms, intercepted plaintext, data items known or suspected to be in a ciphertext message, mathematical or statistical tools and techniques, properties of languages, computers, and plenty of ingenuity and luck. Each piece of evidence can provide a clue, and the analyst puts the clues together to try to form a larger picture of a message's meaning in the context of how the encryption is done.
By Mohammed Al-Saleh / JUST 19 Chapter 2 Attack models Attack models for the cryptanalysis Ciphertext-only: is an attack model for cryptanalysis where the attacker is assumed to have access only to a set of ciphertexts.attack modelcryptanalysisciphertexts The attack is completely successful if the corresponding plaintexts can be deduced, or even better, the key.plaintextskey Known-plaintext is an attack model for cryptanalysis where the attacker has samples of both the plaintext and its encrypted version (ciphertext). These can be used to reveal further secret information such as secret keys.attack modelcryptanalysisplaintextencryptedciphertextsecret keys Chosen-plaintext is an attack model for cryptanalysis which presumes that the attacker has the capability to choose arbitrary plaintexts to be encrypted and obtain the corresponding ciphertexts.  The goal of the attack is to gain some further information which reduces the security of the encryption scheme.attack modelcryptanalysisplaintextsciphertexts 
By Mohammed Al-Saleh / JUST 20 Chapter 2 Breakable Encryption An encryption algorithm is called breakable when, given enough time and data, an analyst can determine the algorithm. However, an algorithm that is theoretically breakable may in fact be impractical to try to break. Ex., consider a 25-character message that is expressed in just uppercase letters. A given cipher scheme may have (approximately ) possible decipherments If your computer could perform on the order of operations per second, finding this decipherment would require on the order of seconds. Infeasible to compute
By Mohammed Al-Saleh / JUST 21 Chapter 2 Breakable Encryption Two other important issues must be addressed when considering the breakability of encryption algorithms. First, the cryptanalyst cannot be expected to try only the hard, long way. ingenious approach might require only operations. => operations take slightly more than one day Second, estimates of breakability are based on current technology. Things that were infeasible in 1940 became possible by the 1950s A conjecture known as "Moore's Law" asserts that the speed of processors doubles every 1.5 years, and this conjecture has been true for over two decades. It is risky to pronounce an algorithm secure just because it cannot be broken with current technology, or worse, that it has not been broken yet.
By Mohammed Al-Saleh / JUST 22 Chapter 2 Representing Characters We begin with the encryption of messages written in the standard 26-letter English- alphabet, A through Z. Convention: plaintext is written in UPPERCASE letters, and ciphertext is in lowercase letters Because most encryption algorithms are based on mathematical transformations, they can be explained or studied more easily in mathematical form.
By Mohammed Al-Saleh / JUST 23 Chapter 2 Representing Characters Consider performing arithmetic on the "letters" of a message Expressions such as A + 3 = D or K - 1 = J have their natural interpretation. Arithmetic is performed as if the alphabetic table were circular (modular arithmatic) every result of an arithmetic operation is between 0 and 25 Ex. Y + 3 = B (and B – 3 = Y) Two simple forms of encryption: substitutions, in which one letter is exchanged for another transpositions, in which the order of the letters is rearranged
By Mohammed Al-Saleh / JUST 24 Chapter 2 Substitution Ciphers The Caesar Cipher c i = E(p i ) = p i + 3 A full translation chart of the Caesar cipher is shown here. Using this encryption, the message TREATY IMPOSSIBLE would be encoded as T R E A T Y I M P O S S I B L E w u h d w b l p s r v v l e o h The pattern p i + 3 was easy to memorize and implement, however, it is easy break
By Mohammed Al-Saleh / JUST 25 Chapter 2 Cryptanalysis of the Caesar Cipher Many clues on the "TREATY IMPOSSIBLE” ciphertext the space between the two words is preserved in the ciphertext double letters are preserved: The SS is translated to vv when a letter is repeated, it maps again to the same ciphertext as it did previously. So the letters T, I, and E always translate to w, l, and h. These clues make this cipher easy to break.
By Mohammed Al-Saleh / JUST 26 Chapter 2 Cryptanalysis of the Caesar Cipher Suppose you are given the following ciphertext message, and you want to try to determine the original plaintext. Ciphertext: “wklv phvvdjh lv qrw wrr kdug wr euhdn” 27-symbol alphabet: A through Z plus the "blank" character Start with small words: English has relatively few small words, such as am, is, to, be, he, we, and, are, you, she, and so on. substitute known short words at appropriate places in the ciphertext until you have something that seems to be meaningful. Once the small words fall into place, you can try substituting for matching characters at other places in the ciphertext. There is a strong clue in the repeated r of the word wrr. two very common three-letter words having the pattern xyy are see and too. other less common possibilities are add, odd, and off
By Mohammed Al-Saleh / JUST 27 Chapter 2 Cryptanalysis of the Caesar Cipher Note that the combination wr appears in the ciphertext if wrr is SEE, wr would have to be SE, which is unlikely However, if wrr is TOO, wr would be TO, which is quite reasonable. Substituting T for w and O for r, the message becomes The OT could be cot, dot, got, hot, lot, not, pot, rot, or tot; a likely choice is not. Unfortunately, q = N does not give any more clues because q appears only once in this sample. The word lv is also the end of the word wklv, which probably starts with T. Likely two-letter words that can also end a longer word include so, is, in, etc. However, so is unlikely because the form T-SO is not recognizable; IN is ruled out because of the previous assumption that q is N A more promising alternative is to substitute IS for lv throughout, and continue to analyze the message in that way. By now, you might notice that the ciphertext letters uncovered are just three positions away from their plaintext counterparts.
By Mohammed Al-Saleh / JUST 28 Chapter 2 Cryptanalysis of the Caesar Cipher The cryptanalysis described here is ad hoc, using deduction based on guesses instead of solid principles. But you can take a more methodical approach, considering which letters commonly start words which letters commonly end words which prefixes and suffixes are common Cryptanalysts have compiled lists of common prefixes, common suffixes, and words having particular patterns. (For example, sleeps is a word that follows the pattern abccda.)
By Mohammed Al-Saleh / JUST 29 Chapter 2 Other Substitutions In substitutions, the alphabet is scrambled, and each plaintext letter maps to a unique ciphertext letter. mathematical way description: permutation is a reordering of the elements of a sequence For instance, we can permute the numbers l to 10 in many ways, including: π 1 = 1, 3, 5, 7, 9, 10, 8, 6, 4, 2; and π 2 = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 A permutation is a function, so we can write expressions such as π 1 (3) = 5 meaning that the letter in position 3 is to be replaced by the fifth letter If the set is the first ten letters of the alphabet, π 1 (3) = 5 means that C is transformed into e
By Mohammed Al-Saleh / JUST 30 Chapter 2 Other Substitutions Alternative to using the permutation (π) One way to scramble an alphabet is to use a key a word that controls the permutation For instance, if the key is word, the sender or receiver first writes the alphabet and then writes the key under the first few letters of the alphabet. The sender or receiver then fills in the remaining letters of the alphabet, in some easy-to-remember order, after the keyword.
By Mohammed Al-Saleh / JUST 31 Chapter 2 Complexity of Substitution Encryption and Decryption An important issue in using any cryptosystem is the time it takes to turn plaintext into ciphertext, and vice versa. it is essential that the scrambling and unscrambling not deter the authorized parties from completing their missions The timing is directly related to the complexity of the encryption algorithm encryption and decryption with substitution ciphers can be performed by direct lookup in a table illustrating the correspondence Transforming a single character can be done in a constant amount of time, so we express the complexity of the algorithm by saying that the time to encrypt a message of n characters is proportional to n ( O(n) )
By Mohammed Al-Saleh / JUST 32 Chapter 2 Cryptanalysis of Substitution Ciphers The techniques described for breaking the Caesar cipher can also be used on other substitution ciphers Short words, words with repeated patterns, and common initial and final letters all give clues for guessing the permutation. breaking the code is a lot like working a crossword puzzle. You try a guess and continue to work to substantiate that guess until you have all the words in place or until you reach a contradiction Using brute force attack, the cryptanalyst could try all 26! permutations of a particular ciphertext message We can use our knowledge of language to simplify this problem. For example, in English, some letters are used more often than others. The letters E, T, O, and A occur far more often than J, Q, X, and Z, for example. Encryption, even in a simple form, will deter the casual observer.
By Mohammed Al-Saleh / JUST 33 Chapter 2 The Cryptographer's Dilemma An encryption algorithm must be regular for it to be algorithmic and for cryptographers to be able to remember it. Unfortunately, the regularity gives clues to the cryptanalyst There is no solution to this dilemma
By Mohammed Al-Saleh / JUST 34 Chapter 2 One-Time Pads A one-time pad is sometimes considered the perfect cipher large, nonrepeating set of keys is written on sheets of paper, glued together into a pad. if the keys are 20 characters long and a sender must transmit a message 300 characters in length the sender would tear off the next 15 pages of keys The sender would write the keys one at a time above the letters of the plaintext and encipher the plaintext with a prearranged chart (called a Vigenère tableau) that has all 26 letters in each column, in some scrambled order
By Mohammed Al-Saleh / JUST 35 Chapter 2 One-Time Pads The one-time pad method has two problems: the need for absolute synchronization between sender and receiver, and the need for an unlimited number of keys. key Plaintext ciphertext because row M column i is u, row A column a is a, and so on.
By Mohammed Al-Saleh / JUST 36 Chapter 2 Transpositions (Permutations) The goal of substitution is confusion the encryption method is an attempt to make it difficult for a cryptanalyst or intruder to determine how a message and key were transformed into ciphertext. A transposition (permutation) is an encryption in which the letters of the message are rearranged. the cryptography aims for diffusion
By Mohammed Al-Saleh / JUST 37 Chapter 2 Columnar Transpositions rearrangement of the characters of the plaintext into columns The following set of characters is a five-column transposition.
By Mohammed Al-Saleh / JUST 38 Chapter 2 Columnar Transpositions For instance, suppose you want to write the plaintext message THIS IS A MESSAGE TO SHOW HOW A COLUMNAR TRANSPOSITION WORKS. We arrange the letters in five columns The resulting ciphertext would then be read down the columns as
By Mohammed Al-Saleh / JUST 39 Chapter 2 Encipherment/Decipherment Complexity This cipher involves no additional work beyond arranging the letters and reading them off again. Therefore, the algorithm requires a constant amount of work per character, and the time needed to apply the algorithm is proportional to the length of the message. we cannot produce output characters until all the message's characters have been read. This restriction occurs because all characters must be entered in the first column before output of the second column can begin, but the first column is not complete until all characters have been read. Thus, the delay associated with this algorithm also depends on the length of the message, as opposed to the constant delay we have seen in previous algorithms
By Mohammed Al-Saleh / JUST 40 Chapter 2 Digrams, Trigrams, and Other Patterns Just as there are characteristic letter frequencies, there are also characteristic patterns of pairs of adjacent letters, called digrams. Letter pairs such as -re-, -th-, -en-, and -ed- appear very frequently.
By Mohammed Al-Saleh / JUST 41 Chapter 2 Cryptanalysis by Digram Analysis The first step in analyzing the transposition is computing the letter frequencies. If we find that in fact all letters appear with their normal frequencies, we can infer that a transposition has been performed. The problem is to find where in the ciphertext a pair of adjacent columns lies and where the ends of the columns are
By Mohammed Al-Saleh / JUST 42 Chapter 2 Cryptanalysis by Digram Analysis Assume the block being compared is seven characters The first comparison is c 1 to c 8, c 2 to c 9, …, c 7 to c 14. Then, we try a distance of eight characters, and so the window of comparison shifts and c 1 is compared to c 9, c 2 to c 10, and continuing.. For each window position, we ask two questions. First, do common digrams appear, and second, do most of the digrams look reasonable? Figure 2-5 Moving Comparisons.
By Mohammed Al-Saleh / JUST 43 Chapter 2 Combinations of Approaches Substitution and transposition can be considered as building blocks for encryption. A combination of two ciphers is called a product cipher. Product ciphers are typically performed one after another, as in E 2 (E 1 (P,k 1 ), k 2 )
By Mohammed Al-Saleh / JUST 44 Chapter 2 Making "Good" Encryption Algorithms What Makes a "Secure" Encryption Algorithm? What does it mean for a cipher to be "good"? The meaning of good depends on the intended use of the cipher A cipher to be used by military personnel in the field has different requirements from one to be used in a secure installation with substantial computer support In this section, we look more closely at the different characteristics of ciphers
By Mohammed Al-Saleh / JUST 45 Chapter 2 Shannon's Characteristics of "Good" Ciphers The amount of secrecy needed should determine the amount of labor appropriate for the encryption and decryption. reiteration of the principle of timeliness from Chapter 1Chapter 1 The set of keys and the enciphering algorithm should be free from complexity If the process is too complex, it will not be used we should restrict neither the choice of keys nor the types of plaintext on which the algorithm can work For instance, an algorithm that works only on plaintext having an equal number of A's and E's is useless. Similarly, it would be difficult to select keys such that the sum of the values of the letters of the key is a prime number. Furthermore, the key must be transmitted, stored, and remembered
By Mohammed Al-Saleh / JUST 46 Chapter 2 Shannon's Characteristics of "Good" Ciphers The implementation of the process should be as simple as possible formulated with hand implementation in mind A complicated algorithm is prone to error or likely to be forgotten With the development and popularity of digital computers, algorithms far too complex for hand implementation became feasible Still, the issue of complexity is important. People will avoid an encryption algorithm whose implementation process severely hinders message transmission And a complex algorithm is more likely to be programmed incorrectly.
By Mohammed Al-Saleh / JUST 47 Chapter 2 Shannon's Characteristics of "Good" Ciphers Errors in ciphering should not propagate and cause corruption of further information in the message One error early in the process should not throw off the entire remaining ciphertext For example, dropping one letter in a columnar transposition throws off the entire remaining encipherment The size of the enciphered text should be no larger than the text of the original message ciphertext that expands dramatically in size cannot possibly carry more information than the plaintext it gives the cryptanalyst more data from which to infer a pattern longer ciphertext implies more space for storage and more time to communicate
By Mohammed Al-Saleh / JUST 48 Chapter 2 Properties of "Trustworthy" Encryption Systems When we say that encryption is "commercial grade," or "trustworthy," we mean that it meets these constraints: It is based on sound mathematics It has been analyzed by competent experts and found to be sound It has stood the "test of time.“ Three algorithms are popular in the commercial world and meet the above criteria: DES (data encryption standard), RSA (Rivest Shamir Adelman, named after the inventors), and AES (advanced encryption standard).
By Mohammed Al-Saleh / JUST 49 Chapter 2 Symmetric and Asymmetric Encryption Systems Two basic kinds of encryptions: symmetric (also called "secret key") and asymmetric (also called "public key") Symmetric One key for enrcyption and decryption Usually, the decryption algorithm is closely related to the encryption one Ex., Caesar cipher: encryption: P i + 3; decryption C i - 3 provide a two-way channel to their users A and B share a secret key, and they can both encrypt information to send to the other as well as decrypt information from the other the system also provides authentication proof that a message received was not fabricated by someone other than the declared sender
By Mohammed Al-Saleh / JUST 50 Chapter 2 Symmetric Encryption Systems The symmetry of this situation is a major advantage of this type of encryption But, has key distribution problem How do A and B obtain their shared secret key? In general, n users who want to communicate in pairs need n * (n - 1)/2 keys By the nature of the public key approach, you can send a public key in an message or post it in a public directory Only the corresponding private key, which presumably is kept private So, for all encryption algorithms, key management is a major issue involves storing, safeguarding, and activating keys
By Mohammed Al-Saleh / JUST 51 Chapter 2 Stream and Block Ciphers Most of the ciphers we have presented so far are stream ciphers convert one symbol of plaintext immediately into a symbol of ciphertext The exception is the columnar transposition cipher The transformation depends only on the symbol, the key, and the control information of the encipherment algorithm skipping a character in the key during encryption, affect the encryption of all future characters
By Mohammed Al-Saleh / JUST 52 Chapter 2 Stream and Block Ciphers A block cipher encrypts a group of plaintext symbols as one block Ex., The columnar transposition entire message is translated as one block Block ciphers work on blocks of plaintext and produce blocks of ciphertext
By Mohammed Al-Saleh / JUST 53 Chapter 2 Confusion and Diffusion Two additional important concepts are related to the amount of work required to perform an encryption An algorithm providing good confusion has a complex functional relationship between the plaintext/key pair and the ciphertext it will take an interceptor a long time to determine the relationship between plaintext, key, and ciphertext Ex1: Caesar cipher is not good for an analyst who deduces the transformation of a few letters can also predict the transformation of the remaining letters, with no additional information Ex2: one-time pad is good because one plaintext letter can be transformed to any ciphertext letter at different places in the output
By Mohammed Al-Saleh / JUST 54 Chapter 2 Confusion and Diffusion Two additional important concepts are related to the amount of work required to perform an encryption Confusion Diffusion: distributing the information from single plaintext letters over the entire output
By Mohammed Al-Saleh / JUST 55 Chapter 2 Cryptanalysis Breaking Encryption Schemes Assume that the attacker knows the encryption/decryption algorithm then she may use three types of attacks Ciphertext only attack The attacker has only the ciphertext and wants to know the plaintext (and the key if possible) Known plaintext attack The attacker has both the plaintext and its corresponding ciphertext. The goal is to find the key Chosen plaintext attack The attacker may ask that specific plaintexts be enciphered and she is given the corresponding ciphertexts. Her goal is to find the key that was used
By Mohammed Al-Saleh / JUST 56 Chapter 2 The Data Encryption Standard (DES) developed for the U.S. government 1976 intended for use by the general public accepted as a cryptographic standard both in the United States and abroad many hardware and software systems have been designed with the DES However, recently its adequacy has been questioned
By Mohammed Al-Saleh / JUST 57 Chapter 2 The Data Encryption Standard (DES) Overview combination of two fundamental building blocks of encryption: substitution and transposition derives its strength from repeated application of these two techniques one on top of the other, for a total of 16 cycles Hard to trace a single bit through 16 iterations The algorithm begins by encrypting the plaintext as blocks of 64 bits The key is 64 bits long in fact it is only 56-bit (the other bits are used to check digits)
By Mohammed Al-Saleh / JUST 58 Chapter 2 The Data Encryption Standard (DES) Overview Leverages the two techniques Shannon identified to conceal information: confusion and diffusion ensuring that the output bits have no obvious relationship to the input bits and spreading the effect of one plaintext bit to other bits in the ciphertext Substitution provides the confusion, and transposition provides the diffusion
By Mohammed Al-Saleh / JUST 59 Chapter 2 The Data Encryption Standard (DES) A Cycle in the DES.
By Mohammed Al-Saleh / JUST 60 Chapter 2 DES (Cont.) Types of Permutations.
By Mohammed Al-Saleh / JUST 61 Chapter 2 DES (Cont.) Details of a Cycle.
By Mohammed Al-Saleh / JUST 62 Chapter 2 DES (Cont. )
By Mohammed Al-Saleh / JUST 63 Chapter 2 The Data Encryption Standard (DES) Double and Triple DES the DES 56-bit key length is not long enough for some people to feel comfortable Computing power has increased dramatically some researchers suggest using a double encryption for greater secrecy Take two keys, k 1 and k 2 perform two encryptions, one on top of the other: E(k 2, E(k 1,m)). Does this make the key as powerful as 112-bit key? NO the cryptanalyst works plaintext and ciphertext toward each other It only becomes 57-bit key However, a simple trick does indeed enhance the security of DES The so-called triple DES procedure is C = E(k 3, E(k 2, E(k 1,m))). This process gives a strength equivalent to a 112-bit key differential and linear cryptanalysis (self study)
By Mohammed Al-Saleh / JUST 64 Chapter 2 The Advanced Encryption Standards (AES) To solve the DES security problems Contest to develop a new algorithm Rijndael (pronounced RINE dahl) algorithm Won the contest and became the AES Key lengths are: 128, 192, 256 (and possibly more) bits 1999 the U.S. government has approved AES for protecting Secret and Top Secret classified documents
By Mohammed Al-Saleh / JUST 65 Chapter 2 Public Key Encryption In 1976, Diffie and Hellman proposed a new kind of encryption system Each user has two keys: One is public and the other is private Also, use one to encrypt and the other to decrypt In symmetric key system, each pair of users needs a separate key
By Mohammed Al-Saleh / JUST 66 Chapter 2 Public Key Encryption In a public key or asymmetric encryption system, each user has two keys: a public key and a private key. The user may publish the public key freely The keys operate as inverses one key undoes the encryption provided by the other key Ex. let k PRIV be a user's private key, and let k PUB be the corresponding public key we can write the relationship as P = D(k PRIV, E(k PUB, P)) = D(k PUB, E(k PRIV, P))
By Mohammed Al-Saleh / JUST 67 Chapter 2 Rivest Shamir Adelman (RSA) Encryption Public key system RSA has been the subject of extensive cryptanalysis: no serious flaws have yet been found Based on an underlying hard problem Determining the prime factors of a large number An area of mathematics known as number theory mathematicians study properties of numbers such as their prime factors Operates with arithmetic mod n
By Mohammed Al-Saleh / JUST 68 Chapter 2 Rivest Shamir Adelman (RSA) Encryption The two keys used in RSA, d and e, are used for decryption and encryption They are actually interchangeable Either can be chosen as the public key (the other must be kept private) P = E(D(P)) = D(E(P)) Any plaintext block P is encrypted as P e mod n factoring P e to uncover the encrypted plaintext is difficult legitimate receiver who knows d simply computes (P e ) d mod n = P and recovers P without having to factor P e.
By Mohammed Al-Saleh / JUST 69 Chapter 2 Rivest Shamir Adelman (RSA) Encryption Here is how it works take two large primes, p and q, and compute their product n = pq n is called the modulus Choose a number, e, less than n and relatively prime to (p-1)(q-1) i.e., e and (p-1)(q-1) have no common factors except 1 Find another number d such that (ed - 1) is divisible by (p-1)(q-1) The values e and d are called the public and private exponents, respectively. The public key is the pair (n, e); the private key is (n, d). The factors p and q may be destroyed or kept with the private key. It is currently difficult to obtain the private key d from the public key (n, e). If one could factor n into p and q, then one could obtain the private key d. Example: Suppose Alice wants to send a message m to Bob. Alice creates the ciphertext c by exponentiating: c = m e mod n, where e and n are Bob's public key. She sends c to Bob. To decrypt, Bob also exponentiates: m = c d mod n; the relationship between e and d ensures that Bob correctly recovers m. Since only Bob knows d, only Bob can decrypt this message.
By Mohammed Al-Saleh / JUST 70 Chapter 2 RSA Example Choose p = 3 and q = 11 Compute n = p * q = 3 * 11 = 33 Compute φ(n) = (p - 1) * (q - 1) = 2 * 10 = 20 the number of positive integers less than n that are co-prime to n i.e., no common factors with n except 1 1 is included Choose e such that 1 < e < φ(n) and e and n are co-prime. Let e = 7 Compute a value for d such that (d * e) % φ(n) = 1. One solution is d = 3 [(3 * 7) % 20 = 1] Public key is (e, n) => (7, 33) Private key is (d, n) => (3, 33) The encryption of m = 2 is c = 2 7 % 33 = 29 The decryption of c = 29 is m = 29 3 % 33 = 2
By Mohammed Al-Saleh / JUST 71 Chapter 2 Rivest Shamir Adelman (RSA) Encryption
By Mohammed Al-Saleh / JUST 72 Chapter 2 The Uses of Encryption Cryptographic Hash Functions Key Exchange Digital Signatures Certificates
By Mohammed Al-Saleh / JUST 73 Chapter 2 The Uses of Encryption Encryption implements protected communications channels it can also be used for other duties/applications Cryptographic Hash Functions, Key Exchange, Digital Signatures, Certificates Public key algorithms are useful only for specialized tasks very slow; take 10,000 times as long to perform as a symmetric encryption underlying modular exponentiation depends on multiplication and division slower than the bit operations (addition, exclusive OR, substitution, and shifting) on which symmetric algorithms are based symmetric encryption is the cryptographers' "workhorse," and public key encryption is reserved for specialized, infrequent uses, where slow operation is not a continuing problem
By Mohammed Al-Saleh / JUST 74 Chapter 2 Cryptographic Hash Functions
By Mohammed Al-Saleh / JUST 75 Chapter 2 Cryptographic Hash Functions The most widely used cryptographic hash functions are MD4, MD5 (where MD stands for Message Digest) MD5 is an improved version of MD4 Any message will have 128-bit digest SHA/SHS (Secure Hash Algorithm or Standard). it produces a 160-bit digest cryptanalysis attacks on SHA, MD4, and MD5 For SHA, the attack is to find two plaintexts that produce the same hash digest (collision) 2 63 steps, far short of the 2 80 steps that would be expected of a 160-bit hash function
By Mohammed Al-Saleh / JUST 76 Chapter 2 Birthday Attack In probability theory, the birthday problem or birthday paradox concerns the probability that, in a set of n randomly chosen people, some pair of them will have the same birthday.probability theoryparadoxprobabilityrandomlybirthday By the pigeonhole principle, the probability reaches 100% when the number of people reaches 367 (since there are 366 possible birthdays, including February 29).pigeonhole principle However, 99% probability is reached with just 57 people, and 50% probability with 23 people. These conclusions are based on the assumption that each day of the year (except February 29) is equally probable for a birthday. The mathematics behind this problem led to a well-known cryptographic attack called the birthday attack, which uses this probabilistic model to reduce the complexity of cracking a hash function.birthday attackhash function
By Mohammed Al-Saleh / JUST 77 Chapter 2 Birthday Attack A list of 23 people, comparing the birthday of the first person on the list to the others allows 22 chances for a matching birthday, the second person on the list to the others allows 21 chances for a matching birthday, third person has 20 chances, and so on. Hence total chances are: = 253, so comparing every person to all of the others allows 253 distinct chances (combinations): in a group of 23 people there are (23 * 22) / 2 = 253 pairs.combinations
By Mohammed Al-Saleh / JUST 78 Chapter 2 Key Exchange We talk about symmetric keys here The problem is almost circular: To establish an encrypted session, you need an encrypted means to exchange keys.
By Mohammed Al-Saleh / JUST 79 Chapter 2 Key Exchange Public key cryptography can help To see how, suppose S and R want to derive a shared symmetric key k PRIV-S, k PUB-S, k PRIV-R, and k PUB-R, are the private and public keys for S and R, respectively S chooses any symmetric key K S sends E(k PRIV-S,K) to R R takes S's public key, removes the encryption, and obtains K Ooops, any eavesdropper who can get S's public key can also obtain K let S send E(k PUB-R, K) to R. Then, only R can decrypt K Ooops, R has no assurance that K came from S The solution is for S to send to R: E(k PUB-R, E(k PRIV-S, K))
By Mohammed Al-Saleh / JUST 80 Chapter 2 Key Exchange
By Mohammed Al-Saleh / JUST 81 Chapter 2 Key Exchange Another key exchange approach Diffie-Hellman key exchange protocol S and R use some simple arithmetic to exchange a secret They agree on a field size n and a starting number g they can communicate these numbers in the clear Each thinks up a secret number, say, s and r. S sends to R g s and R sends to S g r S computes (g r ) s and R computes (g s ) r,which are the same, so g rs = g sr becomes their shared secret computations are done over a field of integers mod n (omitted for simplicity) Diffie-Hellman, however, does NOT provide authentication You can not be sure if you are talking to the right person
By Mohammed Al-Saleh / JUST 82 Chapter 2 Digital Signatures A digital signature is a protocol that produces the same effect as a real signature: It is a mark that only the sender can make but other people can easily recognize as belonging to the sender
By Mohammed Al-Saleh / JUST 83 Chapter 2 Digital Signatures Two conditions It must be unforgeable: If person P signs message M with signature S(P,M), it is impossible for anyone else to produce the pair [M, S(P,M)] It must be authentic: If a person R receives the pair [M, S(P,M)] purportedly from P, R can check that the signature is really from P Only P could have created this signature, and the signature is firmly attached to M
By Mohammed Al-Saleh / JUST 84 Chapter 2 Digital Signatures
By Mohammed Al-Saleh / JUST 85 Chapter 2 Digital Signatures Two more properties It is not alterable. After being transmitted, M cannot be changed by S, R, or an interceptor. It is not reusable. A previous message presented again will be instantly detected by R.
By Mohammed Al-Saleh / JUST 86 Chapter 2 Digital Signatures Public Key Protocol ideally suited to digital signatures. E: use the public key in transformation D: use the private key in transformation
By Mohammed Al-Saleh / JUST 87 Chapter 2 Certificates A public key and user's identity are bound together in a certificate, which is then signed by someone called a certificate authority, certifying the accuracy of the binding.
By Mohammed Al-Saleh / JUST 88 Chapter 2 Certificates The algorithms to generate a matched pair of public and private keys are publicly known, and software that does it is widely available. So if Alice wanted to use a public key cipher, she could generate her own pair of public and private keys, keep the private key hidden, and publicize the public key. But how can she publicize her public key— assert that it belongs to her—in such a way that other participants can be sure it really belongs to her?
By Mohammed Al-Saleh / JUST 89 Chapter 2 Certificates A complete scheme for certifying bindings between public keys and identities— what key belongs to who—is called a Public Key Infrastructure (PKI). A PKI starts with the ability to verify identities and bind them to keys out of band. By “out of band,” we mean something outside the network and the computers that comprise it, such as in the following scenarios. If Alice and Bob are individuals who know each other, then they could get together in the same room and Alice could give her public key to Bob directly, perhaps on a business card.
By Mohammed Al-Saleh / JUST 90 Chapter 2 Certificates If Bob is an organization, Alice the individual could present conventional identification, perhaps involving a photograph or fingerprints. If Alice and Bob are computers owned by the same company, then a system administrator could configure Bob with Alice’s public key. A digitally signed statement of a public key binding is called a public key certificate, or simply a certificate
By Mohammed Al-Saleh / JUST 91 Chapter 2 Certificates One of the major standards for certificates is known as X.509. This standard leaves a lot of details open, but specifies a basic structure. A certificate clearly must include the identity of the entity being certified the public key of the entity being certified the identity of the signer the digital signature a digital signature algorithm identifier (which cryptographic hash and which cipher)
By Mohammed Al-Saleh / JUST 92 Chapter 2 Certificates Certification Authorities A certification authority or certificate authority (CA) is an entity claimed (by someone) to be trustworthy for verifying identities and issuing public key certificates. There are commercial CAs, governmental CAs, and even free CAs. To use a CA, you must know its own key. You can learn that CA’s key, however, if you can obtain a chain of CA-signed certificates that starts with a CA whose key you already know. Then you can believe any certificate signed by that new CA