Вообще этот вопрос стоило поместить в курсовые, но она все таки ближе сюда. Если модеры сочтут нужным, то можно и во флейм. Суть: Тема работы - сложность взлома алгосов в зависимости от длины ключа. (delphi) Есть реализация нескольких алгоритмосов: RSA, des, простейший однобайтовый xor. С последними двумя тема работы не пересекается, но препод схавал. Необходимо наглядно показать процесс взлома этих алгосов. С ксором все просто - перебираем все байты, на каждом шагу, расшифровываем и кидаем эту строчку в эдит. Дальше - сложнее.. Как показать процесс факторизации RSA? Самое простое конечно и медленное - процесс попытки разложения большого числа тупым перебором. Но такая "наглядность" будет пахать даже на маленьких числах очень долго. Сейчас у меня реализован алгоритм полларда "Монте-карло", а как там это сделать - ума не приложу. С des вообще вата - там фиксированный ключ, брутфорсить его на глазах у преподов дело малоблагодарное... Разве что из 8ми байт, например, заполнять первые 2-3 и их наглядно брутить, типа как с ксором. Вобщем интересны ваши мнения на этот взгляд. Особенно с рса.
CrypTool посмотри - там реализация множества алгоритмов факторизации (Поллард, Вильямс, ECM Ленстры, QS)
Ну для наглядности можно и это показать, выбрав для каждого варианта пару, которая бы давала возможность не больше 10 итераций сделать. Вам шашечки или ехать? Наглядность и скорость - две взаимоисключающие задачи. Тот же криптотул, вроде как, создавался для обучения процессам. Прийдется включать диаграммы и графики - пусть развивают абстрактное мышление.
Да пошли они Сделаю лог в котором будут записи типа 710515801 не делится на 2 710515801 не делится на 3 ... 710515801 делится на 10903!!! Ураааа! Пусть [возятся] ) не себе ж делаю предупреждение за мат