07.07.2023 Views

Implementing-cryptography-using-python

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

xviii

Introduction

privacy advocates. The world is at war on what can be encrypted, what should be

encrypted, and who should have the keys to unlock someone else’s encryption.

Whether you agree or disagree with what powers a nation-state should have

over encrypted communications in their country, you should understand what

encryption is, how to apply it when needed, and how to ensure that the data

you are receiving is authentic and confidential. Over the course of this book,

you will get a basic understanding of how to cryptographically secure your

messages, files, or Internet traffic using easy-to-understand Python recipes that

have been created or updated to support Python 3.

What This Book Covers

This book focuses on helping you pick the right Python environment for your

needs so that you can hit the ground running. You will get an understanding

of what algorithms are and explore the basics of Python.

Once you have an idea of where you are starting from, you will get an overview

of what cryptography is, what perfect secrecy means, and the history of

cryptography and how its use changed our world.

To get a full understanding of some of the cryptographic concepts, a little

math is needed. You will get an understanding of how prime numbers, basic

group theory, and pseudorandom number generators help build cryptographic

solutions. This will build the foundation for understanding various stream and

block ciphers and highlight some of their encryption modes and weaknesses.

Every cryptographic discussion is better with pictures, so we will spend a

chapter focusing on how image cryptography and steganography work. We’ll also

highlight a few issues that you will need to be aware of while dealing with images.

Message integrity is just as important as message secrecy. Knowing who sent

the message to you directly relates to whether the message is credible. You will

learn how to generate message authentication codes to ensure integrity during

transit.

The strength of encryption will be shown at the end of the book when you

will learn about PKI schemes and explore how to implement elliptic curve cryptography

in an application. The application you build will exchange data in a

highly secure format over an unsecure channel, thus ensuring that you are able

to control your own end-to-end encryption scheme that no one will be able to

decrypt without the keys you create. I hope you find the journey as fun as I did.

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

Saved successfully!

Ooh no, something went wrong!