ГОСТ Р ИСО/МЭК 16022 — 2008
В.2.1 Алгоритм рандомизации 255 состояний1>
INPUT (Base256_codeword_value. Base256_codeword_position)
pseudo_rar>dom_number = { (149 x Base256_codeword_position >mod 255) + 1
temp_variable = Base256_codev/ord_value + pseudo_random_number
IF (temp_variable <= 255)
OUTPUT (randomised_Base256_codeword_value = temp_variable)
ELSE
OUTPUT (randomised_Base256_codeword_va!ue = temp_variable - 256)
B.2.2 Алгоритм дерандомизации 255 состояний"
INPUT (randomised_Base256_codeword_value. Base256_codeword_position)
pseudo_random_number = ( (149 x Base256_codeword_position ) mod 255) + 1
temp_variable=randomised_Base256_code\vord_value - pseudo_random_number
IF (1emp_variable >= 0)
OUTPUT (Base256_codeword_value = temp_variable)
ELSE
OUTPUT (Base256_codeword_value = temp_variable + 256)
" Соответствие обозначений алгоритгла рандомизации и дерандомизации 255 состояний:
Base256_ccdeword_value — значение кодового слова по основанию 256:
Base256_codeword_position — позиция кодового слова по основанию 256:
pseudo_random_number — псевдослучайное число:
temp variable — временная переменная;
randomised_Base256_codeword_value — рандомизированное значение кодового слова по основанию 256.
40