ГОСТ Р 56948—2016
граммно-дружественным алгоритмом скремблирования и который следует применять для услуг IPTV,
передаваемых в транспортных потоках MPEG2. CISSA представляет собой алгоритм, для которого
метод дескремблирования является программно-дружественным, т.е. он подходит для эффективной
реализации в программном исполнении на процессорах общего применения, а также может быть эф
фективно реализован в аппаратном исполнении.
В разделе 6 настоящего стандарта приводится общее описание использования CISSA для шиф-
рацииУдешифрации транспортного потока MPEG2 и дается детальное формальное описание данного
алгоритма.
Рекомендации по применению CISSA даны в приложении А настоящего стандарта.
6.2 Общее описание
Общий программно-ориентированный алгоритм скремблирования IPTV (CISSA) должен исполь
зовать шифр AES, описанный в [1], как базовый блоке 128-битными (16-байтовыми) ключами, называ
емыми контрольными словами.
6.2.1 Скремблирование на уровне TS
Базовой единицей скремблирования (или дескремблирования) должен быть пакет транспортного
потока MPEG2. Каждый пакет должен скремблироваться отдельно от остальных, обеспечивая тем са
мым возможность случайного доступа. Каждый пакет содержит заголовок и опциональное поле адап
тации. которые должны оставаться боз изменений, и следующую за ними полезную нагрузку, которая
должна обрабатываться описанным ниже способом.
Для шифрования блоков данных длиной 16 байтов пакета TS следует применять шифр AES128
[1]. На рисунке 1 приведен скремблированный пакет TS. Только полезная нагрузка пакета TS. кратная
16 байтам, должна шифроваться процессом скремблирования. Оставшаяся часть (до 15 байт) должна
оставаться без изменений. Если полезная нагрузка пакета TS меное 16 байтов, то она должна
оставать ся без изменений.
Зпгошж
пягятата
(Веноиотиий)
поп»
Жд
■
и
Ш
им
Л
й
Т
а
Щ
-ш
М
мм
*
Л!
имфромжм пелаанялндруаса
11ЯИ
П и ш и
H*ipirw
й и
ш
и
ш
и
Г
*Прмцут1^щп неводди
Рисунок 1— Скремблированный пакет TS
Целое число 16-байтовых смежных блоков полезной нагрузки должно шифроваться с помощью
техники сцепления блоков шифра (Cipher Block Chaining; СВС) согласно (4). Вектор инициализации
должен иметь постоянное значение.
Тестовые последовательности CISSA для скремблирования на уровне транспортного потока даны
в приложении Б настоящего стандарта.
6.2.2 Скремблирование на уровне PES
При скремблировании на уровне PES заголовок пакета PES не должен скремблироваться и паке
ты TS, содержащие части скремблированного пакета PES, не должны содержать поле адаптации (за ис
ключением. когда пакет TS содержит окончание пакета PES). Заголовок скремблированного пакета PES
не должен быть разделен по нескольким пакетам TS. Пакет TS. содержащий начало скремблированно го
пакета PES, должен быть заполнен заголовком пакета PES и начальной частью полезной нагрузки
пакета PES. В этом случае начальная часть полезной нагрузки пакета PES должна скремблироваться
точно так же, как пакет TS с полезной нагрузкой такого же размера. Остальная часть полезной нагрузки
пакета PES должна быть поделена на суперблоки размером по 184 байта. Каждый такой суперблок дол
жен скремблироваться точно также, как пакет TS с полезной нагрузкой размером 184 байта. Окончание
полезной нагрузки пакета PES должно выравниваться по концу пакета TS путем вставки в его начало
(после заголовка) поля адаптации подходящего размера. Если длина пакета PES не кратна 184 байтам,
оставшаяся часть полезной нагрузки пакета PES (от 1 до 183 байтов) должна скремблироваться точно
так же. как пакет TS с полезной нагрузкой такого же размера.
Схематичная диаграмма, показывающая распределение скремблированного пакета PES по паке
там TS. приведена на рисунке 2.
5