Project

Steganography and Cryptography

Medium
617 completions
~ 18 hours
4.2

While creating a program for encrypting and concealing a message within an image, you will learn about files, image handling, lists, and logical functions. In addition, you will learn basic yet strong encryption.

Provided by

JetBrains Academy JetBrains Academy

About

You can use encryption to send secret messages, but if you want to be even more subtle, you can hide them in plain sight: in an image. This kind of encryption is called steganography. The message will be hiding in a picture on some web site, and only those who know will understand it. For maximum security, the message itself can be encrypted, as well.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

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:
Learn how to read image files, handle image data, and save images.
Learn how to hide information within images by slightly changing the pixels' colors and then retrieve this information. There will be no obvious change in the image, so no-one will know that it's keeping some secrets.
Learn a simple yet effective encryption scheme and see how to make it strong and hard to crack.

Reviews

Mohammad Ahmad ALhamad avatar
Mohammad Ahmad ALhamad
1 month ago
During this project, I learned how to work with files by reading from and writing to them, as well as how to manipulate images. One of the most interesting things I learned was how to hide messages inside an image using a simple encryption technique. Before this project, I had never thought about us ...
Timur Ibadov avatar
Timur Ibadov
10 months ago
Nice project! I've learned that it's better to use lower level languages for bitwise operations and image processing =D
Andre Luiz Pereira Furtado Junior avatar
Andre Luiz Pereira Furtado Junior
11 months ago
It's too hard for me. I did 50% of the code, and GPT did the rest. I'm expecting to be at this level in the future. The bitwise and bit shift operations are easy to understand, but their implementation is hard; it's difficult to think about bits in this way.

4.2

Learners who completed this project within the Kotlin Developer course rated it as follows:
Usefulness
4.4
Fun
4.3
Clarity
4.0