Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Вот результаты моих тестов(вдруг кому интересно) 13.09.01 19:31 Число просмотров: 1536
Автор: PS <PS> Статус: Elderman
|
MicroSoft (MS) RC4:
User Key set: 0x1 0x23 0x45 0x67 0x89 0xab 0xcd 0xef
In data set: 0x1 0x23 0x45 0x67 0x89 0xab 0xcd 0xef
Out data set: 0x99 0x79 0x1f 0x56 0xca 0x36 0x67 0xe9
Inet RC4:
User Key set: 0x1 0x23 0x45 0x67 0x89 0xab 0xcd 0xef
In data set: 0x1 0x23 0x45 0x67 0x89 0xab 0xcd 0xef
Out data set: 0x75 0xb7 0x87 0x80 0x99 0xe0 0xc5 0x96
Выход совпадает с приведеным тестом в readme, прилогаемом к исходникам. Но не совпадает с MS.
Теперь перед генерацией ключа, я пропустил User Key через MD5:
Inet RC4 with MD5 hash:
User Key set: 0x1 0x23 0x45 0x67 0x89 0xab 0xcd 0xef
In data set: 0x1 0x23 0x45 0x67 0x89 0xab 0xcd 0xef
Out data set: 0xfb 0x9f 0xca 0xa9 0x17 0x70 0x37 0x7f
Все равно не совпало с MS !
Усомнившись в адекватности генерации хеша либо в MS, либо у меня, проверил MD5:
HASH MS MD5:
PASSW: 01 23 45 67 89 AB CD EF
HASH : A1 CD 1D 1F C6 49 10 68 D9 10 07 28 3E D8 44 89
HASH MY MD5:
PASSW: 01 23 45 67 89 AB CD EF
HASH : A1 CD 1D 1F C6 49 10 68 D9 10 07 28 3E D8 44 89
Хеши совпали !
Итак возможно есть разница в генерации ключей. К сожалению в MS не смог добраться к внутренему представлению RC4 ключа :(
Решил сделать хеш с ключа в MS, а так же сериализовать структуру rc4_key у себя, сделать хеш и сравнить их. Вот что получилось:
HASH OF KEY RC4 BY MD5 IN MS:
HASH: DF 84 0B A7 85 DB 99 23 CB DF 47 E5 2C DB 2F 4B
X = Y = 0 : NOT ALL COMBINATION TESTED !
HASH OF KEY RC4 BY MD5 IN INET(SERIALIZED 1 COMBINATION: state,x,y):
HASH: 18 0B 0E 69 48 0E 93 1E 63 B0 84 12 36 92 38 D1
HASH OF KEY RC4 BY MD5 IN INET(SERIALIZED 2 COMBINATION: x,y,state):
HASH: A9 1C 20 A4 3D EB 57 C0 5B 3A 11 9D 25 0A 4C 1A
HASH OF KEY RC4 BY MD5 IN INET(SERIALIZED 3 COMBINATION: x,state,y):
HASH: 05 81 10 00 16 D7 41 E5 81 31 59 3E F1 6A E1 AF
Как видно не одна комбинация сериализации не дала той же хешевой последовательности, что и MS !
Либо ключ генеренный MS и модулем из Inet различны, либо MS хитро сериализует ключ, прежде чем его хешировать.
Так у меня и не получилось разобраться из-за чего возникает разница на выходе в этих двух реализациях алгоритма. :((((
|
|
|