TwiddleLab / Код / Как компьютер хранит всё
Спрячь сообщение в картинке
Что ты узнаешь
- Стеганография прячет сам факт существования сообщения, а не только его смысл.
- Младший бит (последний бит) числа цвета меняет его всего на 1: незаметно.
- Последние биты 8 пикселей дают один байт, значит, 8 пикселей прячут одну букву.
- Сохранение с потерями, например JPEG, меняет последние биты и ломает секрет.
Как идёт урок
Два фото выглядят совершенно одинаково. В одном спрятано секретное сообщение. В каком?
Нажми на свою ставку.
Насколько может измениться цвет, прежде чем это станет заметно?
Добавь немного к красному одного пикселя, потом много.
Посмотри только на последний бит каждого красного числа.
Используй лупу на обеих картинках.
Стеганография.
Стеганография: спрятать сообщение так, чтобы никто даже не знал, что оно есть. Шифрование прячет смысл; это прячет само сообщение.
Младший бит это последний бит числа. Если его перевернуть, красный изменится всего на 1 из 255.
Одна буква это один байт, 8 бит, поэтому 8 пикселей прячут одну букву.
Как компьютер читает спрятанную букву.
Пройди по 8 пикселям.
Спрячь первую букву своего секретного слова.
Набери слово латиницей, потом нажимай на пиксели, пока их последние биты не составят его первую букву.
Спрячь остаток слова.
Каждая следующая буква идёт в следующие 8 пикселей. Перетаскивай байты букв на полоски по порядку.
Найди секрет: 5 пар, всего 3 лупы.
В каждой паре выбери картинку с секретом. Сэкономленная лупа стоит 10 очков.
Генераторы картинок с ИИ могут прятать 32-битный водяной знак «сделано ИИ».
Если каждый пиксель прячет 3 бита, по одному в последнем бите красного, зелёного и синего, сколько нужно пикселей?
Друг прислал тебе картинку. Прочитай спрятанное слово.
Нажимай на каждый пиксель, чтобы записать его последний бит.
Какие изменения пикселя кто-нибудь заметит?
Цвета идут от 0 до 255.
Друг открывает твою картинку. Одна буква выходит неправильной.
Найди сломанный пиксель и исправь его.
Предыдущий урок: Тайные послания · Часть курса: Как компьютер хранит всё
Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.