What is Cryptography?

Cryptography grows ever more prominent in our lives. Every time you log into an app or send an email, you are relying on an ingenious cryptographic infrastructure that is descended largely from breakthroughs in the 1970s.

Beyond just specialist software developers, beyond just coders, even the non-programming general public can benefit from understanding how cryptography works, especially in an age of crypto currency and crypto investment.

All of us use cryptography in our daily lives, whether we know it or not.

Implementing RSA in Python from Scratch
I’m sure many programmers, particularly web developers have heard of the RSA cryptography system. RSA is an asymmetric cryptography system, meaning that one key is used for encryption and the other for decryption. I’ve seen a lot of articles explaining the general principles of asymmetric cryptograp…

What is cryptography?

Cryptography is the practice of securing communications. This is achieved using a variety of techniques that boil down to implementing protocols that prevent unwelcome parties from viewing or altering data.

The discipline of cryptography can be described as having four aspects:

  1. Confidentiality: Data is not exposed to unintended parties.
  2. Integrity: Data is not manipulated or destroyed.
  3. Authentication: Parties are able to reliably verify each other’s identity.
  4. Non-repudiation: Communication can be confirmed, and not later denied by participants.

Symmetric ciphers

Cryptography before the advent of computers relied on the use of ciphers. A cipher is a mapping from readable text to gibberish, and back again. For instance, a simple cipher would be to add four to every letter in the text (so A becomes E). Decoding then would involve simply subtracting four from each letter. These processes are called encryption and decryption.