Project

Enigma

Hard
162 completions
~ 10 hours
4.5

Get familiar with Bash commands. Use variables, functions, and loops. Learn how to convert chars, encrypt and decrypt files.

Provided by

JetBrains Academy JetBrains Academy

About

Humanity has explored ways to keep secrets since the early days — non-standard hieroglyphs were found in a tomb from the Old Kingdom of Egypt around 1900 BC. Julius Caesar invented a substitution cipher in 60 BC. The Enigma machine was designed in 1918 to protect communications in the banking industry. In the early 1970s, IBM founded the "crypto group," which developed a block cipher to protect its customers' data. In 1973, the US adopted it as a national standard; it took 25 years for hackers to crack it.

Graduate project icon

Graduate project

This project covers the core topics of the Introduction to Command Line and Unix Shell course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Convert the chars to ASCII values and extract chars from ASCII values.
Build an algorithm to encrypt/decrypt messages with the Caesar cipher.
Create a text file with the content.
Encrypt and decrypt files with the Caesar Cipher.
Encrypt and decrypt files with a Linux utility.

Reviews

Daan Hendriks avatar
Daan Hendriks
6 months ago
Reading and writing to file with redirection and lots better structure by functions
CMA avatar
CMA
7 months ago
Excellent exercises; bash has a very particular approach to syntax, variables, parameters...
Olivier Leroy avatar
Olivier Leroy
7 months ago
Nice project to practice fundamentals Bash skills. Instructions are clear and provide some tips regarding the trickiest parts.And don't worry: you will implement Caesar cipher, not the Enigma machine.

4.5

Learners who completed this project within the Introduction to Command Line and Unix Shell course rated it as follows:
Usefulness
4.6
Fun
4.5
Clarity
4.4