ГОСТ Р ИСО/МЭК 16022 — 2008
Приложение В
(обязательное)
Шаблонная рандомизация в символике версии ЕСС 200
Алгоритмы шаблонной рандомизации преобразуют кодовое слово в заданной позиции на входе в новое
рандомизированное (псевдослучайное) кодовое слово на выходе.
В.1 Алгоритм 253 состояний
Указанный алгоритм добавляет псевдослучайное число к значению кодового слоеа-залолнителя. Псевдо
случайное число всегда будет в диапазоне от 1 до 253, а рандомизированное значение кодового слова-заполни
теля будет в диапазоне от 1до 254.
Переменная позиция кодового слова-заполнителя является номером кодового слова исходных данных от
начала закодированных данных.
В.1.1 Алгоритм рандомизации 253 состояний’1
INPUT (Pad_codeword_value, Pad_codeword_posit»on)
pseudo_random_number = ( (149 x Pad_codeword_position) mod 253) + 1
temp_variab»e = Pad_codeword_value + pseudo_random_number
IF (temp_variable <= 254)
OUTPUT (randomised_Pad_codeword_value = temp_variable)
ELSE
OUTPUT (randomised_Pad_codeword_value = temp_variable - 254)
B.1.2 Алгоритм дерандомизации 253 состояний’*
INPUT (randomised_Pad_codeword_value. Pad_codeword_position)
pseudo_random_number = ( (149 x Pad_codeword_position) mod 253 ) + 1
temp_variable = randomised_Pad_codeword_value - pseudo_random_number
IF (lemp_variab!e >= 1)
OUTPUT (Pad_codeword_value = temp_variable)
ELSE
OUTPUT (Pad_codeword_value = temp_variabte + 254)
B.2 Алгоритм 255 состояний
Указанный алгоритм добавляет псевдослучайное число к значению кодового слова в схеме кодирования по
основанию 256. Псевдослучайное число всегда будет находиться в диапазоне от 1до 255. а рандомизированное
значение кодового слова в схеме кодирования по основанию 256 — в диапазоне от 0 до 255.
Переменная позиция кодового слова по основанию 256 (Base256_codeword_position) является номером
кодового слова исходных данных от начала кодированных данных.
’! Соответствие обозначений алгоритма рандомизации и дерандомизации 253 состояний:
Pad_ccdeword_value — значение кодового слоеа-залолнителя;
Pad_codewordjyosition — позиция кодового слова-заполнителя:
pseudo_random_number — псевдослучайное число:
temp_variab!e — временная переменная:
randomised_Pad_codeword_value — рандомизированное значение кодового слова-заполнителя.
39