Pat 0 13 января, 2015 Опубликовано 13 января, 2015 · Жалоба Здравствуйте. Разбираюсь с DES, знаний по этому вопросу маловато. Натаскал некотрое количество исходников. Пытаюсь зашифровать одним расшифровать другим ничего не получается. Начал разбираться оказывается уже на этапе генерации ключей возникает ошибка. Поясняю В каждой реализации есть функция генератора (расширения) ключей из 64 битного исходного ключа получаем массив из 16, 48 битных. Так вот при одинаковом исходном ключе на выходе ключи разные. Имею в виду, не в массиве из 16 ключей, там они и должны быть разные, а в различных реализациях алгоритма они разные. Перепробовал пять исходников и только в двух реализациях ключи совпали. Но тут загвоздка у меня есть реализация DES c которой мне нужно работать и она вроде рабочая, в ней генерация ключей построена на таблицах. Таблицы большие и в микроконтроллер не лезут. Но самое главное выходной результат ее работы, не совпадает ни с одной реализацией из интернета. Да для чистоты эскпиремента собираю все в одной среде. Может я чего не так делаю, ну можно допустить что в скачаных примерах ошибки. Может я не правильно понимаю сам процесс, (теорию читал и перечитывал, в общих чертах принципы понятны) не понятна реализация генерации ключей. Вроде как DES это стандарт и что бы там не было при одинаковом ключе на входе должны получить одинаковые ключи. Короче в голове каша. Подскажите чем можно проверить конечную работу каждого алгоритма. Есть ли прога которая гарантированна шифрует по DES. Ну или есть ли у кого заведома рабочая версия. Реализацию от Шнайера тоже пробовал она с моей не совпадает. Ну и самое гланое скажите 16 ключей сделанные из одного одинакового ключа должны быть одинаковые для разных реализаций? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jojo 0 14 января, 2015 Опубликовано 14 января, 2015 · Жалоба По поводу каши http://page.math.tu-berlin.de/~kant/teachi...-ws2006/des.htm OpenSSL и CryptoSys API дают правильный результат, например. "Неправильный" результат может быть у самостийных утилит, в которых какой-то свой порядок следования байтов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlumd 0 11 февраля, 2015 Опубликовано 11 февраля, 2015 · Жалоба Какой контроллер ? ATxmega128A1 аппаратно DES шифрует. Здесь описание и исходник DES-бутлоадера для ATmega128 http://www.atmel.com/images/doc2541.pdf http://www.atmel.com/Images/AVR230.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aser 0 8 марта, 2015 Опубликовано 8 марта, 2015 · Жалоба Ключ, как правило, подается как 64-разрядное число, в котором каждый 8-й бит - бит четности. Биты четности не принимаются во внимание при шифровании. Поэтому в натуре ключ 56-битовый. Ключ используется для создания 16 различных 48-битных подключей, каждый для отдельного этапа шифрования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Santinel 0 19 ноября, 2015 Опубликовано 19 ноября, 2015 · Жалоба Если контроллер MSC-51, есть рабочая реализация, 1200 байт кода на ассемблере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться