Cryptography Reference
In-Depth Information
While one-time pads are potentially ideal ciphers, their difficulties nearly always make potential users shy
away from them and toward different methods, such as using standard ciphers (like DES and AES), with key
distribution protocols (like the Diffie-Hellman key distribution protocol).
4.15 Summary
When studying cryptanalysis, we obviously need something to cryptanalyze. The ciphers in this chapter are
popular targets for people to attempt to break because of their widespread use.
Furthermore, cryptanalysis of ciphers can also try to attack some of the other characteristics of ciphers, such
as message digests and hashes. Since these are often used as representations of messages, such as in digital sig-
natures, the security of the hash function will then affect the security of the digital signature just as the function
used to sign it will. Many of the tools and techniques we develop can be used to also analyze these other con-
structs.
From here, we are going to explore exactly what we do to start breaking these ciphers.
Exercises
Exercise 1
Implement MD5 (using Reference [12]), returning only the most significant 24 bits. Use the birthday paradox
to find collisions. Try to find many different collisions on many different runs, and calculate the average time to
find a collision. Verify that this agrees with the mathematics of Chapter 2.
Exercise 2
Write an implementation of the EASY1 cipher in your programming language of choice. (This will be useful in
later chapters.)
Exercise 3
WriteyourownimplementationofDESinyourprogramminglanguageofchoice.Then,discussyourfrustration
with the conflicting numbering schemes used in this topic and how they differ from the DES specification.
Exercise 4
Write an implementation of AES in your programming language of choice. Compare the running time of en-
cryption in AES and DES.
Search WWH ::




Custom Search