Разъяснение по алгоритму PRNG согласно ANSI X9.31 - PullRequest
0 голосов
/ 23 ноября 2011

Вопрос новичка:

Я изучаю ANSI X9.31 -1998 для реализации PRNG согласно разделу 2.4.Я не могу правильно понять представление используемых переменных - например, «ede».

  • Является ли "ede" операцией или переменной?
  • Почему * используется перед X?Это какое-то стандартное представление?
  • Существует ли какой-либо конкретный документ, который описывает все это?

"A.2.4 Генерация псевдослучайных чисел с использованием DEA

Пусть ede * X (Y) представляетмногократное шифрование DEA Y под ключом * X.

Пусть * K - пара ключей DEA, зарезервированная только для генерации псевдослучайных чисел, пусть V - 64-разрядное начальное значение, которое также держится в секретеи пусть XOR будет оператором исключающего или. Пусть DT будет вектором даты / времени, который обновляется на каждой итерации. I является промежуточным значением. 64-битный вектор R генерируется следующим образом:

I= ede * K (DT)

R = ede * K (I XOR V) и новое V генерируется V = ede * K (R XOR I).

Последовательные значенияR может быть сцеплен для получения псевдослучайного числа желаемой длины. "

1 Ответ

1 голос
/ 23 ноября 2011

EDE означает Encrypt, Decrypt, Encrypt , обычный протокол при использовании Triple DES .

Использование * выглядит как обычноеобщая подписка на криптографические статьи:

EDE X (Y) означает использование X в качестве ключа для алгоритма EDE.

...