Открыть сервис

Least Significant Bit

Least Significant Bit (LSB, наименее значащий бит) — это позиция в двоичном представлении числа, соответствующая младшему разряду, то есть биту, имеющему наименьший вес (степень двойки 2⁰). В двоичной записи LSB расположен крайним справа. Изменение этого бита приводит к наименьшему изменению значения числа (на единицу). В контексте компьютерных наук и цифровой обработки сигналов LSB играет ключевую роль в таких областях, как стeganography, сжатие данных и арифметика с плавающей запятой.

Позиция и вес

В двоичной системе счисления каждый разряд (бит) имеет вес, равный степени двойки. Для целого числа без знака, записанного в n-битном формате, вес i-го бита (считая от 0 справа) составляет 2ⁱ. Таким образом:

Например, в 8-битном числе 10110010 (десятичное 178) LSB равен 0 (вес 1), а MSB равен 1 (вес 128). Изменение LSB с 0 на 1 превращает число в 10110011 (179), то есть изменение на 1. Изменение MSB с 1 на 0 даёт 00110010 (50), изменение на 128.

Применение в стеганографии

Наиболее известное применение LSB — стеганография, метод сокрытия информации в цифровых носителях (изображения, аудио, видео). Принцип основан на том, что изменение LSB пикселя (или сэмпла звука) незаметно для человеческого восприятия, так как вносит минимальное искажение. В растровых изображениях (например, BMP, PNG) каждый пиксель кодируется тремя байтами (RGB). Изменяя LSB каждого цветового канала, можно скрыть 3 бита информации на пиксель. Для 24-битного изображения размером 1024×768 пикселей это позволяет скрыть до 2,36 мегабит данных.

Пример реализации

Пусть исходный пиксель имеет значения RGB: (200, 150, 100). В двоичном виде: 11001000, 10010110, 01100100. Если нужно скрыть бит сообщения «1», то LSB красного канала (0) заменяется на 1: 11001001 (201). Итоговый пиксель (201,150,100) визуально неотличим от исходного. Для извлечения данных достаточно прочитать LSB каждого канала.

Ограничения и устойчивость

Применение в сжатии данных

В алгоритмах сжатия без потерь (например, JPEG-LS, PNG) LSB используется для предсказания и кодирования ошибок. При сжатии изображений методом DPCM (дифференциальная импульсно-кодовая модуляция) разность между предсказанным и реальным значением пикселя часто содержит много нулей в LSB, что позволяет эффективно кодировать её энтропийными алгоритмами (Хаффман, арифметическое кодирование).

В аудиосжатии (например, FLAC) LSB может быть отброшен без потери качества (в режиме lossy), что соответствует quantization (квантованию) с шагом 2.

Роль в арифметике с плавающей запятой

В стандарте IEEE 754 для чисел с плавающей запятой LSB мантиссы (дробной части) определяет единицу последнего разряда (ULP — Unit in the Last Place). ULP — это расстояние между двумя последовательными числами с плавающей запятой. Например, для числа 1,0 в 32-битном формате (float) ULP составляет примерно 1,19×10⁻⁷. Изменение LSB мантиссы приводит к изменению значения на 1 ULP. Эта метрика используется для оценки погрешности округления и сравнения чисел.

Криптографические аспекты

В криптографии LSB может быть использован для атак по сторонним каналам (side-channel attacks). Например, при выполнении алгоритма RSA модульное возведение в степень может иметь разное время выполнения в зависимости от того, равен ли LSB ключа 0 или 1. Атака LSB-утечка (LSB leak) позволяет восстановить секретный ключ, анализируя время или энергопотребление. Для защиты применяют постоянновременные реализации (constant-time).

Методы обнаружения LSB-стеганографии

Существуют статистические методы для выявления скрытых сообщений:

Эти методы позволяют обнаружить LSB-стеганографию при плотности встраивания выше 10–20%.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →