Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   алгоритм шифрования DES (https://javascript.ru/forum/misc/27753-algoritm-shifrovaniya-des.html)

brizzzobot 23.04.2012 19:53

алгоритм шифрования DES
 
ребят будьте добры расскажите поподробнее про этот алгоритм. т.е. меня интересует что за каким действием идет. прочитал кучу документации, но понял, что сначала мы приводим ключ шифрования в 16 систему, потом в бинарную, а что дальше?

п.с. можно поподробнее.

brizzzobot 24.04.2012 00:31

прием!

brizzzobot 24.04.2012 19:23

реализую алгоритм 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 и т.д.

brizzzobot 25.04.2012 15:49

да, ответ по делу, спасибо огромное! очень помогло!

п.с. нашел ошибку
newArr[i] = string[matrix[i] -1];


Часовой пояс GMT +3, время: 13:30.