Project

Steganography and Cryptography

Medium
602 completions
~ 18 hours
4.3

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

Timur Ibadov avatar
Timur Ibadov
4 weeks 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
2 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.
Oleksandr Shkuropat avatar
Oleksandr Shkuropat
6 months ago
I have learned how to manipulate images at the pixel level in Kotlin, work with RGB values, and apply bitwise operations to hide and retrieve messages. I also learned how to encrypt and decrypt messages using XOR with a repeating password. One of the main difficulties I faced was understanding how ...

4.3

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