Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Алгоритм шифрования DES вопрос генерации ключей.
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Pat
Здравствуйте.

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

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

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

Поясняю

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ну и самое гланое скажите 16 ключей сделанные из одного одинакового ключа должны быть одинаковые для разных реализаций?
jojo
По поводу каши
http://page.math.tu-berlin.de/~kant/teachi...-ws2006/des.htm
OpenSSL и CryptoSys API дают правильный результат, например.
"Неправильный" результат может быть у самостийных утилит, в которых какой-то свой порядок следования байтов.
Zlumd
Какой контроллер ?
ATxmega128A1 аппаратно DES шифрует.

Здесь описание и исходник DES-бутлоадера для ATmega128
http://www.atmel.com/images/doc2541.pdf
http://www.atmel.com/Images/AVR230.zip
анатолий
Ключ, как правило, подается как 64-разрядное число, в котором каждый 8-й бит - бит четности.
Биты четности не принимаются во внимание при шифровании.
Поэтому в натуре ключ 56-битовый.
Ключ используется для создания 16 различных 48-битных подключей, каждый для отдельного этапа шифрования.

Santinel
Если контроллер MSC-51, есть рабочая реализация, 1200 байт кода на ассемблере.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.