Большое спасибо. Но этих исходников у меня море.
Мой баг заключался в неправильной "запятой". Первый класс: "Казнить нельзя помиловать" :)))
Название алгоритма должно звучать так:
( TripleDES ) - cbc
Сначала мы должны гнать 8 байт через 3DES, а уж потом делать XOR со следующими 8 байт.
Кстати, тестовая последовательность:
Key: 000102030405060708090A0B0C0D0E0F
Text: 3030303030303030AA000000000000000000280A0BAB8B2B0BA1D3B48E36DFC201D80000000000000001172D5A5A5A5A
Encrypted text: FA2DEF709E793E3A3D9C7FEF60A1FB4376CF544F9C40282C7C0CA39F5BAB7702AC717CDE62CAE9347013A6003757801F
Т.е. Сначала мы прогоняем первые 8 байт (W1) через 3DES (без cbc), потом делаем XOR полученного результата с W2, и прогоняем через 3DES...
(TripeDES)-cbc
Что правильно, что нет ?
вот рабочий исходник11.10.02 12:48 Автор: paganoid Статус: Member
//tripledes
//this performs tripledes, an encryption, decryption and then encryption
function tripledes (key, message, encrypt, mode, iv, k) {
var result = des_crypt (key.substr(encrypt?0:16,8), message, encrypt, mode, iv, k);
result = des_crypt (key.substr(8,8), result, !encrypt, mode, iv, k);
result = des_crypt (key.substr(encrypt?16:0,8), result, encrypt, mode, iv, k);
return (result);
}
Большое спасибо. Но этих исходников у меня море.
Мой баг заключался в неправильной "запятой". Первый класс: "Казнить нельзя помиловать" :)))
Название алгоритма должно звучать так:
( TripleDES ) - cbc
Сначала мы должны гнать 8 байт через 3DES, а уж потом делать XOR со следующими 8 байт.
Кстати, тестовая последовательность:
Key: 000102030405060708090A0B0C0D0E0F
Text: 3030303030303030AA000000000000000000280A0BAB8B2B0BA1D3B48E36DFC201D80000000000000001172D5A5A5A5A
Encrypted text: FA2DEF709E793E3A3D9C7FEF60A1FB4376CF544F9C40282C7C0CA39F5BAB7702AC717CDE62CAE9347013A6003757801F