алгоритм шифрования DES
ребят будьте добры расскажите поподробнее про этот алгоритм. т.е. меня интересует что за каким действием идет. прочитал кучу документации, но понял, что сначала мы приводим ключ шифрования в 16 систему, потом в бинарную, а что дальше?
п.с. можно поподробнее. |
прием!
|
реализую алгоритм DES
помогите написать перестановку по матрице function Permutation(string,matrix) { var PermutatedText = ''; var newArr = new Array(); for (var i=0; i<string.length; i++) { newArr[i] = string[matrix[i]]; } for (var i=0; i<newArr.length; i++) { PermutatedText += newArr[i]; } return PermutatedText; } var binText = new Array(); var permutationText = new Array(); var ip = new Array( 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7); for (var i=0; i<text.length; i++) { binText[i] = TextToBinary(text[i]); //переводим в bin permutationText[i] = Permutation(binText[i],ip); //производим перестановку, по начальной матрице } newArr[i] = string[matrix[i]]; - вот здесь как то не так работает, проверял обычным перебором (в уме xD) справка: блок binText[i] преобразуется с помощью матрицы ip, т.е. бит с номером 58 блока binText[i] становится битом с номером 1, бит с номером 50 - битом с номером 2 и т.д. |
да, ответ по делу, спасибо огромное! очень помогло!
п.с. нашел ошибку newArr[i] = string[matrix[i] -1]; |
Часовой пояс GMT +3, время: 22:43. |