07.07.2023 Views

Implementing-cryptography-using-python

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

138 Chapter 4 ■ Cryptographic Math and Frequency Analysis

Summary

This chapter was fairly heavy on the important mathematical concepts you

need to break classical ciphers. You may find yourself referring to this chapter

several times as you progress through the remaining chapters. Before moving

on to the next chapter, make sure you have a pretty good understanding of

modular arithmetic and how to find the inverse. In addition, you should have

an understanding of basic group theory, the Chinese remainder theorem, and

solving linear equations. A number of Python libraries are available that will

simplify a great deal of the concepts offered in this chapter. It is vital that you

remember the importance of using cryptographically secure pseudorandom

generators and also understand how to determine the random number generation

that is offered using C’s rand() function. Frequency analysis will be

your greatest ally. As you generate decryption keys, knowing how frequency

analysis works will help you decrypt many of these ciphers without knowing

the keys or key lengths.

We will be continuing our exploration of cryptanalysis as you progress through

the remaining chapters, but you should have a good understanding of how to

decrypt a wide variety of cryptographic schemes.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!