Hashing, Encryption, and Troubleshooting Module

This week we are combining two subjects so the topic of encryption can be broken across two weeks. This is one of the most challenging subjects and we want to make sure you have enough time to study this area and ask questions.

This week we will also introduce strategies for effective troubleshooting.

On this page you'll find:


Week 4 Individual Work Checklist

*Videos are password protected. Registered students will receive the password.


CS-106: Hashing and Encryption

We will begin a discussion on technologies that help secure and transmit data. First, you will learn about hashing, which allows sensitive data to be stored and managed more efficiently and securely. Then we will explain what Base64 is and how it does not support encryption but rather is an alternative way to send data correctly. Then we will finish with an introduction to encryption with a focus on the Caesar cipher and Enigma machine. Next week we’ll continue discussing the Enigma machine, keys, and certificates. 

A: Hashing 

A one-way hash converts a string of data, such as a password or name, into a smaller representation that can be used for efficient data access or for obscuring data. Systems use this to protect passwords and sensitive data. You will learn the basic concepts and how hashing supports security.

Exercise

Hashing text is very easy and can be done with this online tool:

Enter text into the input and then view the output of the text. Try changing the input value to see what effect it has on the output. Change it back to the original value and confirm you get the same output as before. You may also change to a different hash function by selecting a different hash function in the right-hand column. See how the different algorithms have different types of outputs.

Please answer this question:

  • What is the SHA-256 hash code for “interoperability"?

B: Base64 Encoding

Now we will take detour from security to explore how Base64 encoding works. This standard is useful for correctly transmitting binary data but does not provide any encryption. Because it is hard to read directly it is often confused with encryption. You will sometimes see Base64 encoded information, so it is good to be somewhat familiar with it.

Exercise

Encoding text data into Base64 is very easy and you can do it with this online tool:

Spend some time pasting in or writing text in the top encode box, encoding it into Base64. Then take some of the Base64 content you created and decode it back using the decode tool. Notice how easy it is to decode Base64. It does not provide any security. Also notice that Base64 data is much longer than the original text but does not contain any special characters.

Please answer this question:

  • What is the Base64 encoding for “interoperability”?

C: Encryption Introduction

Now we will dive into the heart of security and introduce you to encryption. The first example we will give you was developed by the Romans. The last example will be from World War II. The goal of this section is to serve as an introduction. It is critical to understand this section to be ready for the more in-depth one next week.

Exercise

Please become familiar and comfortable with the Caesar cipher. While a trivial example, it contains many of the key concepts for encryption and will help you build the right model.

Put the text you want to encrypt in the plain text box and then set the shift to whatever offset you want. Review the results you see in the ciphertext. If you want, post an interesting or funny text to the Slack channel and see if anyone can decipher it. (If you want to be very tricky you can even change the alphabet, which would allow you to make non-standard Caesar ciphers.)

Please answer this question:

  • What is the Caesar cipher (shift 10) for “interoperability"?

*Videos are password protected. Registered students will receive the password.


CS-107: Troubleshooting

We will discuss strategies and processes for effective troubleshooting. Fixing problems is one of the most challenging aspects of information technology work. We will talk about how to mentally prepare for and thrive while solving important problems.

This quick sheet can be used as a reference when you are troubleshooting:

A: Troubleshooting Mentality 

When things work, you feel good. When they don’t, it gives you a feeling of uneasiness and discomfort, especially if you don’t know how to solve the problem. In this section we will focus on some problematic and helpful mental processes. The way you think can help you learn and solve problems.

Exercise

Think about times when you're asked to fix problems, either in your personal life or professionally. What kind of problems do you have to solve? What strategies do you use to solve problems? Which are effective and which are not?

Please answer this question:
  • What is an example of a common problem you troubleshoot in your personal or professional life?

B: Troubleshooting Process

Now that we know how to approach problems, we need a process to follow to ensure we don’t get stuck on the way to a resolution. This simple four-step process can help us keep everything on track:

Please answer this question:

  • What additional advice, not covered in the training, do you have for others when troubleshooting?

*Videos are password protected. Registered students will receive the password.