Project
Steganography and Cryptography
Medium
602 completions
~ 18 hours
4.3While 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
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
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 work with string input and output: create a simple user interface to let the user input commands to the program.
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
4 weeks ago
Nice project! I've learned that it's better to use lower level languages for bitwise operations and image processing =D
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.
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: