Извлечь бит из вставки LSB
Я читал о вставке LSB онлайн, но он только знакомит с тем, как вставлять биты в LSB, но не описывает, как извлечь биты. Это статья, которую я прочитал о вставке LSB.
Я понимаю метод, который они используют ниже, но как вы извлекаете биты?
1 ответ
Решение
Вот алгоритм для получения зашифрованного сообщения:
- Прочитайте изображение.
- Итерировать по пикселям.
- Разложить пиксель на значения RGB (один байт для R, один для G, один для B)
- Возьмите LSB из красного. Если младший бит находится в нулевом бите, вы можете
AND
значение красного цвета с маской 1 (биты 000000001). Так,lsbValue = rvalue & 0x01
, Поместите lsbValue (это будет только один или ноль) в старшем бите - Получите LSB из зеленого. Поместите это в следующий самый высокий бит.
- Получите LSB от синего цвета. Поместите это в следующий бит вниз.
- Прочитайте следующий пиксель и разбейте его на RGB-байты.
- Наполните младшие биты цветовых компонентов битовыми позициями, пока не заполните байт. Это первый байт вашего зашифрованного сообщения.
- Продолжайте перебирать пиксели и их значения RGB, пока не обработаете все пиксели.
- Проверьте байты, которые вы расшифровали. Фактическое сообщение должно быть очевидным. Все, кроме зашифрованного сообщения, будет просто шумом, т. Е. Младшим битом фактических пикселей изображения.