ГОСТ Р 56948—2016
Все оставшиеся байты должны быть оставлены без изменений.
Пример 1: Если поле адаптации отсутствует, размер шифрованной полезной нагрузки
encrypted_
payfoad_size
равен 176 байтам, то в конце транспортного пакета должно остаться 8 неизмененных байтов.
Пример 2: Если размер поля адаптации равен 17 байтам, размер шифрованной полезной нагруз
ки
encrypted_payload_sizo
равен 160 байтам, то в конце транспортного пакета должно остаться 7 неиз
мененных байтов.
Пример 3: Если размер поля адаптации равен 24 байтам, размер шифрованной полезной на
грузки
encrypted_payload_size
равен 160 байтам, то в конце транспортного пакета не должно быть не
измененных байтов.
Пример 4. Если размер поля адаптации равен 169 байтам, шифрованная полезная нагрузка
должна отсутствовать и в конце транспортного пакета должно остаться 15 неизмененных байтов по
лезной нагрузки.
6.3.3 Скремблирование и дескремблированио на уровне PES
Перед применением скремблирования/дескремблирования на уровне PES следует убедиться в
соблюдении следующих условий:
- скремблирование должно выполняться только на одном уровне (TS или PES), одновременное
скремблирование на обоих уровнях не допускается;
- заголовок скремблированного пакета PES не должен превышать 184 байтов.
- пакеты TS, содержащие части скремблированного пакета PES не должны содержать поле адап
тации, за исключением, когда пакет TS содержит окончание пакета PES. Пакет TS. содержащий окон
чание скремблированного пакета PES, может содержать поле адаптации для выравнивания окончания
пакета PES по окончанию пакета TS.
П римечание — Данные условия неприменимы для нескремблироеанных пакетов PES или в случав
скремблирования на уровне TS.
Каждый пакет PES должен быть обработан отдельно.
Заголовок пакета PES должен оставаться без изменений.
Размеры полезной нагрузки
payload_size
и шифрованной полезной нагрузки
encrypted_payload_
size
рассчитывают по формулам:
- для пакета TS, содержащего заголовок пакета PES:
payload_size
= 184 —
pes_header_size.
(3)
encrypted_paytoad_size
=
payload_size
—
(payload_size mod
16),(4)
где
pes_header_size
— размер заголовка пакета PES в байтах;
- для последующих пакетов TS, за исключением пакета TS. содержащего окончание пакета PES:
payload_size
= 184,(5)
encrypted_payload_size
= 176,(6)
- для пакета TS, содержащего окончание пакета PES:
paytoad_size
=
pes_tail_size.
(7)
encrypted_payload_size
=
payload_size
—
(payload_size mod
16).(8)
где
pes_tail_size —
размер окончания пакета PES в байтах.
Если значение
pes_tail_size
не равно 184. в начале пакета TS. содержащего окончание пакета
PES. должно быть добавлено поле адаптации размером (184 —
pes_tail_size).
Байты в количестве
encrypted_payload_size.
которые:
- следуют непосредственно за заголовком пакета PES в пакете TS, содержащего заголовок пакета
PES:
- следуют непосредственно за заголовками пакетов TS. за исключением пакета TS, содержащего
окончание пакета PES;
- следуют непосредственно за заголовком пакета TS или за полем адаптации (если есть) в пакете
TS. содержащем окончание пакета PES,
должны быть зашифрованы или дешифрованы с помощью шифрующих элементов согласно 6.3.1.
Все остальные байты должны оставаться без изменений.
7