Здравствуйте.
Разбираюсь с DES, знаний по этому вопросу маловато.
Натаскал некотрое количество исходников.
Пытаюсь зашифровать одним расшифровать другим ничего не получается.
Начал разбираться оказывается уже на этапе генерации ключей возникает ошибка.
Поясняю
В каждой реализации есть функция генератора (расширения) ключей из
64 битного исходного ключа получаем массив из 16, 48 битных.
Так вот при одинаковом исходном ключе на выходе ключи разные.
Имею в виду, не в массиве из 16 ключей, там они и должны быть разные, а в различных реализациях алгоритма они разные.
Перепробовал пять исходников и только в двух реализациях ключи совпали.
Но тут загвоздка у меня есть реализация DES c которой мне нужно работать и она вроде рабочая, в ней генерация ключей построена на таблицах.
Таблицы большие и в микроконтроллер не лезут.
Но самое главное выходной результат ее работы, не совпадает ни с одной реализацией из интернета.
Да для чистоты эскпиремента собираю все в одной среде.
Может я чего не так делаю, ну можно допустить что в скачаных примерах ошибки.
Может я не правильно понимаю сам процесс, (теорию читал и перечитывал, в общих чертах принципы понятны) не понятна
реализация генерации ключей.
Вроде как DES это стандарт и что бы там не было при одинаковом ключе на входе должны получить одинаковые ключи.
Короче в голове каша.
Подскажите чем можно проверить конечную работу каждого алгоритма.
Есть ли прога которая гарантированна шифрует по DES.
Ну или есть ли у кого заведома рабочая версия.
Реализацию от Шнайера тоже пробовал она с моей не совпадает.
Ну и самое гланое скажите 16 ключей сделанные из одного одинакового ключа должны быть одинаковые для разных реализаций?