Зависит от того, как вы пытаетесь "сломать" DES... Я предполагаю, что вы пытаетесь расшифровать заданный зашифрованный текст (атака только зашифрованным текстом).
Помимо библиотеки, способной поддерживать шифрование/дешифрование DES, вам, вероятно, следует дополнительно поискать библиотеку, поддерживающую криптоанализ, чтобы понять, как это реализовать. Для грубой силы такая библиотека не требуется, это так же просто, как перебирать возможные значения для 56-битного ключа и пытаться расшифровать ваш зашифрованный текст. Для этого можно взять практически любой язык программирования, если он поддерживает DES.
Если вы хотите что-то более сложное, например. линейный или дифференциальный криптоанализ, хорошим введением является Современный криптоанализ . Примеры кода в этой книге используют Python. Вы тоже можете рассмотреть возможность использования языка высокого уровня, такого как Python или Ruby, потому что он ускоряет процесс разработки по сравнению с реализацией вещей, скажем, на C, и вам не придется иметь дело с неприятными ошибками из-за управления памятью, указателей. и т. д. И Python, и Ruby поддерживают шифрование и дешифрование DES. Недостатком является то, что ваш код, вероятно, будет более производительным на языке более низкого уровня (при условии, что вы делаете это правильно), поэтому, если скорость имеет существенное значение, C в сочетании с OpenSSL (или любая другая криптобиблиотека с поддержкой DES) будет хорошим выбором.
Примеры библиотек криптоанализа
person
emboss
schedule
20.07.2011