Cybersecurity: Encryption Intro

What it's about

Encryption is the process of encoding information into an alternate form that is unintelligible.  Decryption is the process of decoding that alternate form to get the original information.  

Encryption is used to protect private information as it is transmitted through channels that can be monitored, like radio communication and the Internet.  Most web sites, apps, and servers communicate over secure channels, meaning that they encrypt the data before sending and decrypt after receiving.

In this tutorial, you will start with some basic encryption concepts using one of the oldest and most simple forms of encryption, the Caesar cipher.  Above is a picture of the Caesar cipher with a key of 5 applied to the first two characters in “HELLO”.  The encrypted version of the H E in HELLO is M J.  Can you complete the last three characters in the ciphertext?

This tutorial will guide you through writing Python scripts that can encrypt and decrypt with the Caesar cipher and some other simple ciphers.  

Before you start

You will need:

  • A micro:bit module (on or off a cyber:bot)
  • A USB A to MicroB cable
  • A computer with:
    • Access to the editor
      -- or --
    • Mu editor installed
  • Note that is used in this tutorial's screencaptures.

Complete these tutorials first:

After you finish

You will be able to write scripts that use simple ciphers to encrypt and decrypt characters, words, and even complete messages.  You will also have gained familiarity with keys, ciphers, and other basic cryptography terms.  Along the way, you will apply some of the string manipulation skills introduced in the Strings Primer.
After this, you will also be ready to move on to the next tutorials (coming soon!)

  • Cybersecurity: Simple Attacks
  • Cybersecurity: Radio Encryption