реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Алгоритм шифрования DES вопрос генерации ключей.
Pat
сообщение Jan 13 2015, 21:11
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 27-05-05
Из: Энергодар
Пользователь №: 5 480



Здравствуйте.

Разбираюсь с DES, знаний по этому вопросу маловато.

Натаскал некотрое количество исходников.
Пытаюсь зашифровать одним расшифровать другим ничего не получается.

Начал разбираться оказывается уже на этапе генерации ключей возникает ошибка.

Поясняю

В каждой реализации есть функция генератора (расширения) ключей из
64 битного исходного ключа получаем массив из 16, 48 битных.

Так вот при одинаковом исходном ключе на выходе ключи разные.

Имею в виду, не в массиве из 16 ключей, там они и должны быть разные, а в различных реализациях алгоритма они разные.

Перепробовал пять исходников и только в двух реализациях ключи совпали.

Но тут загвоздка у меня есть реализация DES c которой мне нужно работать и она вроде рабочая, в ней генерация ключей построена на таблицах.

Таблицы большие и в микроконтроллер не лезут.

Но самое главное выходной результат ее работы, не совпадает ни с одной реализацией из интернета.

Да для чистоты эскпиремента собираю все в одной среде.

Может я чего не так делаю, ну можно допустить что в скачаных примерах ошибки.

Может я не правильно понимаю сам процесс, (теорию читал и перечитывал, в общих чертах принципы понятны) не понятна
реализация генерации ключей.
Вроде как DES это стандарт и что бы там не было при одинаковом ключе на входе должны получить одинаковые ключи.

Короче в голове каша.

Подскажите чем можно проверить конечную работу каждого алгоритма.
Есть ли прога которая гарантированна шифрует по DES.

Ну или есть ли у кого заведома рабочая версия.

Реализацию от Шнайера тоже пробовал она с моей не совпадает.

Ну и самое гланое скажите 16 ключей сделанные из одного одинакового ключа должны быть одинаковые для разных реализаций?
Go to the top of the page
 
+Quote Post
jojo
сообщение Jan 14 2015, 15:00
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



По поводу каши
http://page.math.tu-berlin.de/~kant/teachi...-ws2006/des.htm
OpenSSL и CryptoSys API дают правильный результат, например.
"Неправильный" результат может быть у самостийных утилит, в которых какой-то свой порядок следования байтов.
Go to the top of the page
 
+Quote Post
Zlumd
сообщение Feb 11 2015, 10:13
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 12-04-05
Из: Новосибирск
Пользователь №: 4 057



Какой контроллер ?
ATxmega128A1 аппаратно DES шифрует.

Здесь описание и исходник DES-бутлоадера для ATmega128
http://www.atmel.com/images/doc2541.pdf
http://www.atmel.com/Images/AVR230.zip
Go to the top of the page
 
+Quote Post
анатолий
сообщение Mar 8 2015, 16:24
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Ключ, как правило, подается как 64-разрядное число, в котором каждый 8-й бит - бит четности.
Биты четности не принимаются во внимание при шифровании.
Поэтому в натуре ключ 56-битовый.
Ключ используется для создания 16 различных 48-битных подключей, каждый для отдельного этапа шифрования.

Go to the top of the page
 
+Quote Post
Santinel
сообщение Nov 19 2015, 19:31
Сообщение #5





Группа: Участник
Сообщений: 13
Регистрация: 29-11-12
Пользователь №: 74 613



Если контроллер MSC-51, есть рабочая реализация, 1200 байт кода на ассемблере.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 11:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01367 секунд с 7
ELECTRONIX ©2004-2016