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.

CHAPTER

5

Stream Ciphers and Block Ciphers

In this chapter, you’ll learn the means of support of the entire cryptographic

world. You will learn how to encrypt and decrypt messages with a shared secret,

which is how the vast majority of today’s encryption on the Internet functions. In

fact, encryption is used every day using techniques you’ll learn in this chapter.

This chapter introduces you to the development of stream ciphers, block ciphers,

and cryptographically secure pseudorandom number generators. You’ll gain

an understanding of some of the analyses of the underlying algorithms and the

best attacks that exist in the real world. You’ll also learn the amount of security

you must build in, based on the client you are serving, and how long it needs to

stay secure. You’ll walk away with being able to randomize every message you

send, which will help you build a solid career in cryptography. Through this

chapter, you’ll gain cryptographic knowledge as you do the following:

■■

Learn how to convert between hexdigest and plaintext

■■

Gain an understanding of stream ciphers and CSPRNGs

■■

Learn about block ciphers

■■

Explore various modes of encryption and their weaknesses

■■

Gain an understanding of blocks as streams

Implementing Cryptography Using Python®, First Edition. Shannon W. Bray.

© 2020 John Wiley & Sons, Inc. Published 2020 by John Wiley & Sons, Inc.

139

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

Saved successfully!

Ooh no, something went wrong!