This text is for a course in cryptography for advanced undergraduate and graduate students. Material is accessible to mathematically mature students having. With its conversational tone and practical focus, this text mixes applied and theoretical aspects for a solid introduction to cryptography and security, including the. This book assumes a minimal background in programming and a level of math sophistication equivalent to a course in linear algebra. It provides a flexible.

Wade Trappe Cryptography Ebook

Language:English, French, Arabic
Country:Costa Rica
Genre:Personal Growth
Published (Last):01.02.2016
ePub File Size:26.34 MB
PDF File Size:20.13 MB
Distribution:Free* [*Registration needed]
Uploaded by: MARNIE

Introduction to cryptography: with coding theory. by Wade Trappe; Lawrence C Washington. eBook: Document. English. 2nd ed. Upper Saddle River, N.J. . Read and Download Ebook D.o.w.n.l.o.a.d Introduction To Cryptography D.o.w.n.l.o.a.d Introduction to Cryptography with Coding Theory by by Wade Trappe. 年11月29日 Introduction to Cryptography with Coding Theory, Wade Trappe. This book assumes The st Night Fighter Squadron in World War II ebook.

In many cases, the encryption key and the decryption key are the same. S e c u r e C o m m u n ic a t io n s 5 Public key algorithms were introduced in the s and revolutionized cryptography. Suppose Alice wants to communicate securely with Bob, but they are hundreds of kilometers ap art and have not agreed on a key to use. It seems almost impossible for them to do this without first getting together to agree on a key, or using a trusted courier to carry the key from one to the other.

Certainly Alice cannot send a message over open channels to tell Bob the key, and then send the ciphertexh encrypted w ith this key. T he amazing fact is th at this problem has a solution, called public key cryptography. The encryption key is made public, but it is com putationally infeasible to find the decryption key w ithout information known only to Bob.

The most popular implementation is RSA see C hapter 6 , which is based on the difficulty of factoring large integers. Other versions see Chapters 7, 17, and 18 are the ElGamal system based on the discrete log problem , NTRU lattice based and the McEliece system based on error correcting codes. Here is a nonm athem atical way to do public key communication.

Bob sends Alice a box and an unlocked padlock. Of course, only Bob can open the box and read the message. The public key methods mentioned previously are m athem atical realizations of this idea.

Clearly there are questions of authentication th a t must be dealt with. For example, Eve could intercept the first transmission and substitute her own lock. This is a general problem th at must be addressed with any such system. Public key cryptography represents w hat is possibly the final step in an interesting historical progression.

In public key cryptography, the method and th e encryption key are made public, and everyone knows w hat must be done to find the decryption key. The security rests on the fact or hope th a t this is com putationally infeasible. Public key m ethods are very powerful, and it might seem th at they make the use of symm etric key cryptography obsolete.

However, this added flexibility is not free and comes a t a com putational cost. T he am ount of com putation needed in public key algorithms is typically several orders of magnitude more than the am ount of com putation needed in algorithms such as DES or Rijndael. The rule of thum b is that public key m ethods should not be used for encrypting large quantities of data.

For this reason, public key m ethods are used in applications where only small am ounts of d ata must C C h a p t e r 1. O v e r v ie w of C r y pto g ra ph y and I t s A p p l ic a t io n s be processed for example, digital signatures and sending keys to be used in symmetric key algorithms.

W ithin symmetric key cryptography, there are two types of ciphers: stream ciphers and block ciphers.

If You're an Educator

In block ciphers, however, a block of input bits is collected and fed into the algorithm all at once, and the output is a block of bits. In Section 2.

Mostly we shall be concerned with block ciphers. In particular, we cover two very significant examples. Public key methods such as RSA can also be regarded as block ciphers.

Finally, we mention a historical distinction between different types of encryption, namely co d e s and c ip h e rs. In a code, words or certain letter combinations are replaced by codewords which may be strings of symbols.

Codes have the disadvantage that unanticipated words cannot be used. A cipher, on the other hand, does not use the linguistic structure of the message but rather encrypts every string of characters, meaningful or not, by some algorithm.

A cipher is therefore more versatile than a code. In the early days of cryptography, codes were commonly used, sometimes in conjunction with ciphers. They are still used today; covert operations are often given codc names. However, any secret th at is to remain secure needs to be encrypted with a cipher. Most algorithms employ keys, and the security of the algorithm is related to how difficult it is for an adversary to determine the key. The most obvious approach is to try every possible key and see which ones yield meaningful decryptions.

In a brute force attack, the length of the key is directly related to how long it will take to search the entire keyspace.

However, this is often easier said than done. Suppose you need to try possibilities and you have a computer th a t can do such calculations each second. There are around 1.

S e c u r e C o m m u n ic a t io n s 3 x 10' seconds in a year, so it would take a little more than 3 x years to complete the task, longer than the predicted life of the universe.

T he algorithm itself also plays a critical role. This is a very im portant point to keep in mind. Not all bit algorithms are created equal! For example, one of the easiest cryptosystems to break is the substitution cipher, which we discuss in Section 2.

T he number of possible keys is 26! R5 4 x G. In contrast, DBS see Chapter 4 has only 2s6 r; 7. But it typically takes over a day on a specially designed computer to find a DBS key. T he difference is th a t an attack on a substitution cipher uses the underlying structure of the language, while the attack on DBS is by brute force, trying all possible keys.

A brute force attack should be the last resort. A cryptanalyst always hopes to find an attack th a t is faster. Human ingenuity has led to creative attacks on cryptographic protocols.


T he DBS algorithm, which w ithstood 20 years of cryptographic scrutiny, ultim ately succumbed to attacks by a well-designed parallel computer. Suppose you want to factor a number n of this size.

T he m ethod used in elementary school is to divide n by all of the primes up to the square root of n. The number of electrons in the universe is estim ated to be less than Clearly, more sophisticated factoring algorithms m ust be used, rath er than this brute force type of attack. When RSA was invented, there were some good factoring algorithms available, but it was predicted th a t a digit number such as the RSA challenge number see Section 6.

However, advances in algorithms and com puter architecture have made such factorizations fairly routine although they still require substantial 8 C h a p t e r 1. B ut if a full-scale quantum computer is ever built, factorizations of even these numbers will be easy, and the whole RSA scheme along w ith many other methods will need to be reconsidered.

The answer is yes; there is a system, known as the one-time pad, th at is unbreakable. Even a brute force attack will not yield the key. B ut the unfortunate tru th is th a t the expense of using a one-time pad is enormous. It requires exchanging a key th a t is as long as the plaintext, and even then the key can only be used once.

Therefore, one opts for algorithms that, when implemented correctly w ith the appropriate key size, are unbreakable in any reasonable am ount of time. An im portant point when considering key size is that, in many cases, one can mathem atically increase security by a slight increase in key size, but this is not always practical.

If you are working w ith chips th a t can handle words of 64 bits, then an increase in the key size from G4 to 65 bits could mean redesigning your hardware, which could be expensive. Therefore, designing good cryptosystem s involves both m athem atical and engineering considerations.

Finally, we need a few words about the size of numbers.

Your intuition might say th at working w ith a digit num ber takes twice as long as working with a digit number. T h a t is true in some algorithms. However, if you count up to , you are not even close to ; you are only one 10 billionth of the way there.

Introduction to Cryptography with Coding Theory

Similarly, a brute force attack against a bit key takes a billion times longer than one against a bit key. There are two ways to measure the size of numbers: the actual m agnitude of the number n, and the number of digits in its decimal representation we could also use its binary representation , which is approxim ately log10 n.

T he number of divisions needed to factor a number n by dividing by all primes up to the square root of n is around n l! An algorithm th a t runs in time a power of logn is much more desirable than one th a t runs in time a power of n. In the present example, if we double the number of digits in n, the tim e it takes to square n increases by a factor of 4, while the tim e it takes to factor n increases enormously.

Of course, there are better algorithms available for both of these operations, but, at present, factorization takes significantly longer than multiplication. T here are other com putations for which the best 1. C r y p t o g r a p h ic A p p l ic a t io n s 9 known algorithms run only slightly better than a power of n for example, factoring and finding discrete logarithms. T here are four main objectives th a t arise: 1.

T he main tools are encryption and decryption algorithms. D a ta in te g rity : Bob wants to be sure that Alice's message has not been altered. For example, transmission errors might occur. Also, an adversary might intercept the transmission and alter it before it reaches the intended recipient.

Subscribe to RSS

M any cryptographic primitives, such as hash functions, provide methods to detect d a ta manipulation by malicious or occidental adversaries. A u th e n tic a tio n : Bob wants to be sure th a t only Alice could have sent the message he received. T here are actually two types of authentication th a t arise in cryptography: entity authentication and dato-origin authentication. Often the term identification is used to specify entity authentication, which is concerned with proving the identity of the parties involved in a communication.

Data-origin authentication focuses on tying the information about the origin of the data, such as the creator and time of creation, with the data. N o n - r e p u d ia tio n : Alice cannot claim she did not send the message. A uthentication and non-repudiation are closely related concepts, but there is a difference. Therefore, authentication is automatic. Therefore, non-repudiation is essentially impossible. In a public key cryptosystem, both authentication and non-repudiation can be achieved see Section 6.

Much of this book will present specific cryptographic applications, both in the text and as exercises. Here is an overview. D ig ita l s ig n a tu re s : One of the most im portant features of a paper and ink letter is th e signature. W hen a document is signed, an individual's identity is tied to the message. The assumption is th a t it is difficult for another person to forge the signature onto another document. Electronic messages, however, are very easy to copy exactly. How do we prevent an adversary from cutting the signature off one docum ent and attaching it to another electronic document?

We shall study cryptographic protocols that allow for electronic messages to be signed in such a way th at everyone believes th a t the signer was the person who signed the document, and such that the signer cannot deny signing the document. B ut simply typing in a user name is not sufficient as it does not prove that the user is really who he or she claims to be.

Typically a password is used. We shall touch upon various m ethods for identifying oneself. There is certainly more material here than could be treated in most one-semester courses. The first eight chapters represent the core of the material. The choice of which of the remaining chapters are used depends on the level of the students. The chapters are numbered, thus giving them an ordering. However, except for Chapter 3 on number theory, which pervades the subject, the chapters are fairly independent of each other and can be covered in almost any reasonable order.

The chapter on Error Correcting Codes was included, at the suggestion of several reviewers, because courses that include introductions to both cryptology and coding theory are fairly common. Computer examples. Suppose you want to give an example for RSA. You could choose two one-digit primes and pretend to be working with fifty-digit primes, or you could use your favorite software package to do an actual example with large primes.

Or perhaps you are working with shift ciphers and are trying to decrypt a message by trying all 26 shifts of the ciphertext. This should also be done on a computer. These languages were chosen because they are user friendly and do not require prior programming experience. Although the course has been taught successfully without computers, these examples are an integral part of the book and should be studied, if at all possible.

Not only do they contain numerical examples of how to do certain computations but also they demonstrate important ideas and issues that arise. They were placed at the end of the book because of the logistic and aesthetic problems of including extensive computer examples in three languages at the ends of chapters. Homework problems the Computer Problems in various chapters based on the software allow students to play with examples individually.

Of course, students having more programming background could write their own programs instead.For example, th e encryption key is shared and the decryption key is easily calculated from it. Their suggestions on the exposition and the organization of the topics greatly enhanced the final result. Kings and generals communicated w ith their troops using basic cryptographic m ethods to prevent the enemy from learning sensitive military information.

This should also be done on a computer. As children, many of us had magic decoder rings for exchanging coded messages w ith our friends and possibly keeping secrets from parents, siblings, or teachers.