|
ОНЛАЙН АПТЕКА НИЗКИХ ЦЕН
цены ниже розничных точек. доставка по украине |
Любые виды проектных, дизайнерских и строительных работ в Украине и Киеве
|
|
рекламодателям фирмы/add расшифровка штрих-кодов форум links/add
http://kiev-security.org.ua
Содержание
Международный стандарт ISO 8731-2: 1987
МЕЖДУНАРОДНЫЙ СТАНДАРТ ISO 8731-2: 1987 Банковское дело.
Одобренный алгоритм аутентификации сообщений. Часть 2. Алгоритмы
аутентификатора сообщения. Содержание. 1. Область применения
..........................................1 2. Ссылки
......................................................1 3.
Краткое описание ............................................1
3.1. Общая часть ............................................1
3.2. Техническая часть ......................................1 4.
Алгоритм ....................................................1
4.1. Определение используемых в алгоритме функций ...........1
4.2. Описание алгоритма .....................................3 5.
Описание режимов работы .....................................3
Приложение Примеры тестов для внедрения алгоритма
.........................5 1. Область применения В отдельных
частях ISO 8731 описываются одобренные алгоритмы аутентификации,
т.е. отвечающие требованиям ISO 8730. В этой части стандарта
описывается алгоритм аутентификатора сообщения для использования
при вычислении кода аутентификации сообщения (МАС). Алгоритм
аутентификатора сообщения (МАА) разработан специально для быстрой
аутентификации с использованием универсальной ЭВМ. Алгоритм
должен использоваться при обработке данных большого объгма и в
том случае, когда программная реализация алгоритма достаточно
эффективна. МАА может использоваться и на программируемых
калькуляторах. В конце приводятся тестовые примеры, которые не
являются частью стандарта. 2. Ссылки ISO 8730. Банковское дело.
Требования к аутентификации сообщений (оптовые сделки). 3.
Краткое описание 3.1. Общая часть МАА работает по принципу кода
аутентификации сообщения, т.е. числа, посылаемого совместно с
сообщением и позволяющего получателю проверить, что сообщение не
было изменено с момента отправки его отправителем. 3.2.
Техническая часть Все числа, используемые в алгоритме, должны
рассматриваться как 32-битные беззнаковые целые, если не
оговорено противное. Для такого числа N: 0 < N < 2**32. Алгоритм
может быть удобно и эффективно внедргн на ЭВМ с длиной слова 32
бита и более. Сообщения, подлежащие аутентификации, могут быть
строкой битов любой длины. Для обработки алгоритмом они
представляются в виде последовательности 32-битных чисел M ,M
,...,M (всего n), называемых блоками сообщения. Процедура
дополнения последнего блока М до 32 бит не является частью
алгоритма, но должна быть определена в конкретном применении.
Алгоритм не может быть использован для аутентификации сообщений,
состоящих более чем из 1000000 блоков, т.е. n<= 1000000. Ключ
содержит два 32-битных числа J и K и, следовательно, имеет длину
64 бита. Результатом алгоритма является значение 32-битного
аутентификатора, обозначаемое Z. Вычисления могут выполняться для
сообщений длиной один блок (n=1). Вычисление состоит из тргх
частей: 1) предварительно производятся вычисления с ключами J и K
для получения шести чисел X ,Y ,V ,W, S и Т, которые используются
в последующих вычислениях; 2) главный цикл - это вычисление,
которое будет повторяться для каждого блока сообщения М и,
следовательно, для длинных сообщений это основной вид вычислений;
3) в заключение дважды проводятся вычисления по главному циклу,
причгм в качестве блоков используются числа S и Т. После этого
вычисляется аутентификатор Z. Режим работы (см. раздел 5) -
важная характеристика при внедрении алгоритма. На рисунке
показано прохождение данных в схематическом виде. 4. Алгоритм
4.1. Определение используемых в алгоритме функций 4.1.1. Общие
определения В описании алгоритма используется ряд функций. X и Y
- это 32битные числа. Результат также является 32-битным числом
(если не оговорено противное). CYC(X) - результат однобитного
циклического левого сдвига X AND(X,Y) - результат операции
"логическое И", выполняемой для каждого из 32 битов OR(X,Y) -
результат операции "логическое ИЛИ", выполняемой для каждого из
32 битов AND(X,Y) - результат операции "исключающее ИЛИ"
(сложение по модулю 2), выполняемой для каждого из 32 битов
ADD(X,Y) - результат сложения X и Y с отбрасыванием переноса из
32-го бита, т.е. сложение по модулю 2**32 CAR(X,Y) - значение
переноса из 32-го бита при сложении X и Y; имеет значение 0 или 1
MUL1(X,Y), MUL2(X,Y) и MUL2А(X,Y) - три различных вида умножения,
каждая с 32-битным результатом 4.1.2. Определение функций
умножения Пусть для объяснения умножения 64-битное произведение X
и Y обозначено как [U,L]. Квадратные скобки означают
конкатенацию, U слева от L. U - это верхняя (старшие разряды)
часть произведения, а L - нижняя (младшие разряды) половина.
4.1.2.1. Вычисление MUL1(X,Y) Умножим X на Y для получения [U,L].
Пусть S и С - локальные переменные, тогда: S:= ADD(U,L) (1) C:=
CAR(U,L) (2) MUL1(X,Y):= ADD(S,C) (3) Таким образом, U
складывается с С с циклическим переносом. Численно результат
сравним с X*Y, произведением X на Y по модулю (2**32-1). Это
необязательно наименьший остаток, так как он может раняться
2**32-1. 4.1.2.2. Вычисление MUL2(X,Y) Этот вид умножения не
используется в главном цикле, а только в предварительных
вычислениях. Пусть D, E, F, S и С - локальные переменные, тогда:
D:= ADD(U,U) (4) E:= CAR(U,U) (5) F:= ADD(D,2E) (6) S:= ADD(F,L)
(7) C:= CAR(F,L) (8) MUL2(X,Y):= ADD(S,2C) (9) Численно результат
сравним с X*Y, произведением X на Y по модулю (2**32-2). Это
необязательно наименьший остаток, так как он может раняться
2**32-1 или 2**32-2. 4.1.2.3. Вычисление MUL2А(X,Y) Этот
упрощенный вид MUL2(X,Y), используемый в главном цикле, который
приводит к правильному результату только тогда, когда, по крайней
мере, одно из чисел X и Y имеет нулевой старший разряд. Этот вид
умножения используется в целях экономии при обработке. Пусть D,
E, F, S и С - локальные переменные, тогда: D:= ADD(U,U) (10) S:=
ADD(D,L) (11) C:= CAR(D,L) (12) MUL2A(X,Y):= ADD(S,2C) (13)
Результат сравним с X*Y, произведением X на Y по модулю (2**32-2)
в соответствии с указанными условиями, так как для MUL2(X,Y)
перенос Е=0. 4.1.3. Определение функций BYT[X,Y] и PAT[X,Y] На
этапе предварительных вычислений используется процедура,
предотвращающая появление в ключах и результатах длинных
последовательностей нулей или единиц. Процедура вырабатывает два
результата, являющиеся обусловленными значениями X и Y, а также
число PAT[X,Y], котрое фиксирует сделанные изменения. PAT[X,Y] <=
255, следовательно, это 8-битное число. X и Y рассматриваются как
последовательности байтов. Используя обозначение [X,Y...] для
конкатенации [X,Y]=[B ,B ,B ,B ,B ,B ,B ,B ]. Таким образом,
байты В -В получаются из Х, а В -В из Y. Эту процедуру лучше
описать при помощи процедуры, в которой каждый байт В
рассматривается как целое длиной 8 битов. begin P:=0; for i:=0 to
7 do begin P:=2*P; if B[i]=0 then Процедура написана на Паскале,
но begin введгн нестандартный идентификатор P:=P+1; B'для
наглядности. B'[i] и B[i] B'[i]:=P соответствуют В и В' в тексте.
end else if B[i]=255 then begin P:=P+1; B'[i]:=255-P end else
B'[i]:=B[i]; end end; Результаты таковы: BYT[X,Y]=[B' ,B' ,B' ,B'
,B' ,B' ,B' ,B' ] и PAT[X,Y]= P. 4.2. Описание алгоритма 4.2.1.
Предварительная часть алгоритма [J ,K ]:=BYT[J,K]; P:=PAT[J,K];
Q:=(1+P)*(1+P) (14) Сперва при помощи вычислений с использованием
J получают H , H и H , из которых получают X , V и S. J1 :=MUL1(J
,J ); J2 :=MUL2(J ,J ); J1 :=MUL1(J1 ,J1 ); J2 :=MUL2(J2 ,J2 );
J1 :=MUL1(J1 ,J1 ); J2 :=MUL2(J2 ,J2 ); J1 :=MUL1(J1 ,J1 ); J2
:=MUL2(J2 ,J2 ); (15) H :=XOR(J1 ,J2 ); H :=XOR(J1 ,J2 ); H
:=XOR(J1 ,J2 ); (16) Из аналогичных вычислений с использованием К
получают H , H и H , из которых получают Y , W и T. K1 :=MUL1(K
,K ); K2 :=MUL2(K ,K ); K1 :=MUL1(K1 ,K1 ); K2 :=MUL2(K2 ,K2 );
K1 :=MUL1(K ,K1 ); K2 :=MUL2(K ,K2 ); K1 :=MUL1(K1 ,K1 ); K2
:=MUL2(K2 ,K2 ); K1 :=MUL1(K1 ,K1 ); K2 :=MUL2(K2 ,K2 ); (17)
H':=XOR(K1 ,K2 ); h :=MUL2(H',Q); H :=XOR(K1 ,K2 ); H :=XOR(K1
,K2 ); (19) В заключение обуславливаем результаты при помощи
функции BYT [X ,Y ]:=BYT[H ,H ]; [V ,W]:= BYT[H ,H ]; [S,T]:=
BYT[H ,H ]; (20) 4.2.2. Главный цикл Этот цикл выполняется
поочередно для каждого блока сообщения М . В дополнение к М
основными используемыми значениями являются Х и Y, а основной
результат - это новые значения Х и Y. Также используются V и W,
причгм V изменяется при каждом обращении. Начальные значения X, Y
и V получают в предварительной части алгоритма. Для того чтобы
снова использовать те же ключи, начальные значения Х, Y и V
должны сохраняться. Их обозначают как , Y и V и используют на
шаге инициализации: X:=X , Y:=Y , V:=V , после которого главный
цикл выполняется первый раз.Заключительная часть алгоритма,
которая используется после обработки всех блоков сообщения в
течение n прогонов главного цикла, описана в разделе 4.2.3.
Примечание: программа показана в виде колонок, чтобы пояснить
параллельность операций, однако ег следует читать обычным
образом, слева направо каждую строку. V:=CYC(V); E:=XOR(V,W);
(21) X:=XOR(X,M ); Y:=XOR(Y,M ); (22) F:=ADD(E,Y); G:=ADD(E,X);
F:=OR(F,A); G:=OR(G,B); F:=AND(F,C); G:=AND(G,D); (23)
X:=MUL1(X,F); Y:=MUL2A(Y,G); (24) Числа A, B, C и D - константы
(в 16-ричном обозначении): константа А : 0204 0801 константа B :
0080 4021 константа C : 8FEF 7FDF константа D : 7DFE FBFF
Примечание: строка (21) - общая для обоих путей. Строка (22)
вводит блок сообщения М . Строка (23) подготавливает умножители,
и строка (24) генерирует новые значения Х и Y. Изменяются только
X, Y и V для использования в следующем цикле. F и G - локальные
переменные. Поскольку константа D имеет нулевой старший разряд,
то G<2**31, а это обеспечивает правильность результата для MUL2A
в строке (24). 4.2.3. Заключительная часть алгоритма После
обработки последнего блока сообщения М главный цикл выполняется
для блока S, а затем для блока Т, т.е. М =S, M =T. После этого
вычисляется МАС: Z=XOR(X,Y), и алгоритм завершается. Примечание:
для дальнейших вычислений МАС без повторения предварительной
части алгоритма (вычислений с ключами) значения X , Y , V , W, S
и T сохраняются до смены ключей. 5. Описание режимов работы
Сообщения длиной более 1024 байт разбиваются на блоки по 1024
байта и сцепляются, как показано ниже. Для первого блока длиной
1024 байта формируется МАС (4 байта). Значение МАС приписывается
(но не передагтся) второму блоку, и результирующие 1028 байт
аутентифицируются. Процедура приписывания МАС каждого блока
следующему блоку продолжается до достижения последнего блока (его
длина необязательно 1024 байта). Результирующий МАС используется
для передачи в качестве МАС сообщения. ключи J K ° °
зддадддддаддддддддддддддддддддј предварительная ° предварительная
BYT/PAT ° часть ° часть: MUL1 ° ° MUL2 °
юддбддддбддддбддддбддддбддддбды ° ° ° ° ° ° хранение для
зддаддддаддддаддддаддддаддддадј последующего ° X Y V W S T °
использования юддбдддддбддддбдддддддддбдддбды ° ° ° ° °
зддадддддаддддаддддј ° ° ° инициализация ° X:=X Y:=Y V:=V° ° ° °
юддбдддддбддддбдддды ° ° ° X° Y° V° ° ° ° зддадддддаддддадјW ° °
° главный цикл ° цддддѓ ° ° сообщение ° главный цикл ° ° ° ° зд д
ј ° цддддеддедддеддддѓ М юддбддддбддддбддыM ° ° ° ° ° ° ° ° ° ° °
° ° ° ° (MUL1, MUL2A) ° ° ° ° зддаддддаддддаддјW ° ° ° ° ° цддддѓ
° ° ° ° главный цикл ° ° ° ° ° ° цддддеддедддеддддѓ М
юддбддддбддддбддыM ° ° ° юд д ы зд д °д д °д д °дд дј ° ° ° °
зддаддддаддддаддјW° ° ° ° заключительная ° цддддедды ° часть ° °
главный цикл °S° ° ° ° цддддѓ ° ° юддбддддбддддбдды ° ° °
зддаддддаддддаддјW° ° ° ° ° цдддды ° ° главный цикл °T° ° ° °
цддддддддддды юддбддддбддддбдды ° ° X° Y° ° здаддддадј сброс ° °
° XOR ° V юдддбдддды ° юд д д д°д д д д д д ы ° Z Рис. Схема
прохождения данных ПРИЛОЖЕНИЕ Примеры тестов для внедрения
алгоритма (не является частью стандарта) А.0 Введение Приводятся
простые примеры тестов для большинства частей алгоритма.
Используемые данные не всегда реалистичны, т.е. они не являются
значениями, которые могли быть выработаны предыдущими частями
алгоритма, и также используются искусственные значения констант.
Это сделано для упрощения тестов; их можно проверить при помощи
карандаша и бумаги, и, следовательно, не требуется проверка
алгоритма при внедрении путгм сравнения одного внедрения с
другим. Тестируются следующие части: - MUL1, MUL2, MUL2A; -
BYT[X,Y] и PAT[X,Y]; - предварительная часть, за исключением
начальной операции BYT[J,K]; - главный цикл. Заключительная часть
не тестируется, так как она содержит только главный цикл и
операцию XOR. Для проверки всего алгоритма приводятся некоторые
результаты испытательного внедрения. А.1. Примеры тестов для
MUL1, MUL2, MUL2A Предполагается, что операции умножения будут
проверяться с очень маленькими и очень большими числами. Для
получения больших чисел в примерах используется дополнение до
единицы. Таким образом, если a - маленькое число (скажем, менее
4096), то обозначение a используется для его дополнения до
единицы, т.е. 2**32-1-a. Для малых чисел a и b все три функции
умножения дают их действительное произведение a*b. Для больших
чисел функции могут дать разные результаты. Необходимо
тестирование для MUL(x,y) и MUL(y,x), чтобы сравнить результаты.
А.1.1. Тесты для MUL1 По модулю 2**32-1 арифметическое a в
действительности равно a, поэтому результаты очень простые
MUL1(a,b)=MUL1(a,b)=a*b MUL1(a,b)=a*b Примеры тестирования даны в
таблице 1. А.1.2. Тесты для MUL2 MUL2(a,b)=a*b-b+1
MUL2(a,b)=a*b-a+1 MUL2(a,b)=a*b-a-b+1 Примеры тестирования даны в
таблице 1. А.1.2. Тесты для MUL2A Результаты такие же, как для
MUL2, при тестировании с числами в пределах их диапазона. Для
больших чисел надо использовать a и b-2**31 MUL2A(a,b)=a*b-b+1
MUL2A(a,b)=a*b-a+1 MUL2(a,b-2**31)=2**31*(1-p)+a*b+p-b-1, где p -
контроль по чгтности a; его младший бит. Таким образом, для
чгтных значений a результат равен 2**31+a*b-b-1,а для нечгтных -
a*b-b. Примеры тестирования даны в таблице 1. Таблица 1. Тесты
для функций умножения (числа - 16-ричные)
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
функция a b результат
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
MUL1 0000 000F 0000 000E 0000 0002 FFFF FFF0 0000 000E FFFF FF2D
FFFF FFF0 FFFF FFF1 0000 0002 MUL2 0000 000F 0000 000E 0000 0002
FFFF FFF0 0000 000E FFFF FF3A FFFF FFF0 FFFF FFF1 0000 00?? MUL2A
0000 000F 0000 000E 0000 0002 FFFF FFF0 0000 000E FFFF FF3A 7FFF
FFF0 FFFF FFF1 8000 00C2 FFFF FFF0 7FFF FFF1 0000 00C4
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
A.2. Примеры тестов для BYT и PAT В таблице 2 приведены три
случая тестирования этих функций. Таблица 2. Тесты для функций
BYT и PAT дддддддддддддддддддддддддддддддддддддддддддд функция X
Y дддддддддддддддддддддддддддддддддддддддддддд [X,Y] 00 00 00 00
00 00 00 00 BYT[X,Y] 01 03 07 0F 1F 3F 7F FF PAT[X,Y] FF
дддддддддддддддддддддддддддддддддддддддддддд [X,Y] FF FF FF 00 FF
FF FF FF BYT[X,Y] FE FC 07 F0 E0 C0 80 00 PAT[X,Y] FF
дддддддддддддддддддддддддддддддддддддддддддд [X,Y] AB 00 FF CD FF
EF 00 01 BYT[X,Y] AB 01 FC CD F2 EF 35 01 PAT[X,Y] 6A
дддддддддддддддддддддддддддддддддддддддддддд A.3. Примеры тестов
для предварительной части алгоритма Пример приведен в таблице 3.
Начальная операция BYT(J,K) не тестируется. Предполагается, что
результаты из строки (14) такие: J =0000 0100 K =0000 0080 P=1
Таблица 3. Тесты для строк (15)-(20) предварительной части
ддддддддддбддддддддддддддбдддддддддддбддддддддддддддддддддддд J1
° 0001 0000 ° J2 ° 0001 0000 J1 ° 0000 0001 ° J2 ° 0000 0002 J1 °
0001 0000 ° J2 ° 0002 0000 J1 ° 0000 0001 ° J2 ° 0000 0004
ддддддддддадддддддбддддддадддддддддддаддддддддддддддддддддддд H °
0000 0003 H ° 0003 0000 H ° 0000 0005
ддддддддддбдддддддаддддддбдддддддддддбддддддддддддддддддддддд K1
° 0000 4000 ° K2 ° 0000 4000 K1 ° 1000 0000 ° K2 ° 1000 0000 K1 °
0000 0008 ° K2 ° 0000 0010 K1 ° 0002 0000 ° K2 ° 0004 0000 K1 °
8000 0000 ° K2 ° 0000 0002
ддддддддддадддддддбддддддадддддддддддаддддддддддддддддддддддд H °
0000 0018 H ° 0000 0060 (Q=4) H ° 0006 0000 H ° 8000 0002
ддддддддддбдддддддаддддддддддддддбдддддддддддбддддддддддддддд [X
,Y ] ° 0103 0703 1D3B 7760° PAT[X ,Y ]° EE(1110 1110) [V ,W] °
0103 060B 1706 5DBB° PAT[V ,W] ° BB(1011 1011) [S,T] ° 0103 0705
8039 7302° PAT[S,T] ° E6(1110 0110)
ддддддддддаддддддддддддддддддддддадддддддддддаддддддддддддддд
Значения PAT, получаемые из обусловленных результатов
предварительной части, приводятся в проверочных целях, но не
используются в алгоритме. А.4. Примеры тестов для главного цикла
В таблице 4 даны три примера одноблочных сообщений, при этом
используются маленькие и большие числа при соглашении, что a
равно 2**32-1. В третьем примере показаны два случая для больших
чисел,которые должны иметь нулевой 32-й бит, показанный как
2-2**31 и 3-2**31 соответственно. Возможна запись 2**31-2 и
2**31-3 соответственно. Для сохранения малых величин чисел
используются искусственные величины констант A, B, C и D. Примеры
для одноблочных сообщений сопровождаются примерами для
тргхблочных сообщений в целях проверки правильного сохранения
величин X, Y и W. Последние циклы заключительной части для S и T
не включены в таблицу. Таблица 4. Тесты для главного цикла (числа
- десятичные)
ддддддддддддддддддддддддддддддддддбддддддддддддддддддддддддддддд
одноблочные сообщения ° тргхблочные сообщения
дддддддддбдддддддбдддддддбддддддддедддддддбдддддддбддддддддбдддд
A B ° 4 1 ° 1 4 ° 1 2 ° 2 1 ° 2 1 ° 2 1 ° C D ° 8 4 ° 6 3 ° 1 2*
° 4 4 ° 4 4 ° 4 4 ° V W ° 3 3 ° 3 3 ° 7 7 ° 1 1 ° 2 1 ° 4 1 ° X Y
° 2 3 ° 2 3 ° 2 3 ° 1 2 ° 3 2 °20 9 ° M ° 5 ° 1 ° 8 ° 0 ° 1 ° 2 °
дддддддддедддддддедддддддеддддддддедддддддедддддддеддддддддедддд
V ° 6 ° 6 ° 14 ° 2 ° 4 ° 8 ° CYC E ° 5 ° 5 ° 9 ° 3 ° 5 ° 9 ° XOR
X Y ° 7 6 ° 3 2 °10 11 ° 1 2 ° 2 3 ° 22 11° XOR F G °11 12 ° 2 1
° 2 1 ° 5 4 ° 8 7 ° 20 31° ADD F G °15 13 ° 3 5 ° 2 1 ° 7 5 °10 7
° 22 31° OR F G ° 7 9 ° 1 4 ° 3 3* ° 3 1 °10 3 ° 18 27° AND X Y
°49 54 ° 3 5 °30 30 ° 3 2 °20 9 °396 297° MUL Z ° 7 ° 6 ° 0 ° 1 °
29 ° 165 ° XOR
дддддддддадддддддадддддддаддддддддадддддддадддддддаддддддддадддд
* означает -2**31 A.5. Примеры тестов для всего алгоритма В
таблице 5 даны четыре примера тестирования внедргнного алгоритма
для двухблочных сообщений. Для облегчения проверки затабулированы
промежуточные результаты: результаты предварительной части и
значения X и Y после каждого прохождения главного цикла, т.е. для
М , М , S и T. Таблица 5. Тесты для всего алгоритма
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд J
00FF 00FF 00FF 00FF 5555 5555 5555 5555 K 0000 0000 0000 0000
5A35 D667 5A35 D667
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд P
FF FF 00 00 X 4A64 5A01 4A64 5A01 34AC F886 34AC F886 Y 50DE C930
50DE C930 7397 C9AE 7397 C9AE V 5CCA 3239 5CCA 3239 7201 F4DC
7201 F4DC W FECC AA6E FECC AA6E 2829 0408 2829 0408
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд M
5555 5555 AAAA AAAA 0000 0000 FFFF FFFF X 48B2 04D6 6AEB ACF8
2FD7 6FFB 8DC8 8BDE Y 5834 A585 90B1 5CF6 560D 91CE F64E 56DD
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд M
AAAA AAAA 5555 5555 FFFF FFFF 0000 0000 X 4F99 BE01 270E EDAF
A70F C148 C8C8 65BA Y BE9F 0917 B814 2629 1D10 D8D3 0297 AF6F
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд S
51ED E967 51ED E967 9E2E 7B36 9E2E 7B36 X 3449 25FC 2990 7CD8
B1CC 1CC5 3CF3 A7D2 Y D891 0280 BA92 DB12 29C1 485F 160E E8B5
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд T
24B6 6FB5 24B6 6FB5 1364 7149 1364 7149 X 277B 4B25 2BEA DCB3
288F C785 D048 2465 Y D636 250D 8101 0CA3 9115 A558 7060 EC6E
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд Z
F14D 6E28 A908 D410 B99A 52DE A018 C83B
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд Ряд
тестов для всего алгоритма приведгн в таблице 6. J и K были
выбраны таким образом, чтобы после обуславливания появлялись
длинные последовательности нулей. Сообщение состоит из 20 блоков
нулей. Приводятся промежуточные значения Х и Y, а также
аутентификатор Z. J=8001 8001, K=8001 8000 (все блоки сообщения
нулевые) Таблица 6. Тест для сообщения из 20 блоков
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
блок Х Y Z
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд 1
303F F4AA 1277 A6D4 2 56DD 063F 4C49 AAE0 3 51AF 3C1D 5BC0 2602 4
A44A AAC0 63C7 0DBA 5 4D53 901A 2EB0 AC30 6 5F3B EEF1 2A60 91AE 7
F023 9DD5 3DD8 1AC6 8 EB35 B97F 9372 CDC6 9 4DA1 24A1 C6B1 317E
10 7F83 9578 74B3 9176 11 11A9 D254 D786 34BC 12 D880 4CA5 FDC1
A88A 13 3F69 7248 11AC 46B8 14 ACBC 13DD 33D5 A468 15 4CE9 33E1
C21A 1B46 16 C1ED 90DD CD95 9B46 17 3CD5 4DEB 613F 8E2A 18 BBA5
7835 07C7 2EAA 19 D794 3FDC 6AD6 E8A4 20 56BA 06C2 9189 6CFA S
1D9C 9056 98D1 CC75 T 7BC1 80AB A0B8 7B77 D879 FBDC
ддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
Содержание
HOME
Если у вас есть сайт или домашняя страничка - поддержите пожайлуста наш ресурс, поставьте себе кнопочку, скопировав этот код:
<a href="http://kiev-security.org.ua" title="Самый большой объем в сети онлайн инф-ции по безопасности на rus" target="_blank"><img src="http://kiev-security.org.ua/88x31.gif" width="88" height="31" border="0" alt="security,безопасность,библиотека"></a> |
Кнопочка будет выглядеть вот так (1,516 байт):
Идея проекта(C)Anton Morozov, Kiev, Ukraine, 1999-2011,
Hosted by Register.UA