Какой алгоритм:
самопальный, ассиметричный (в основе md5)
Все известные мне на данный момент широко используемые криптоалгоритмы с открытым ключом основаны на следющих трудноразрешимых задачах:
- разложение на простые множители больших чисел (RSA)
- дискретное лагорифмирование в конечном поле (Diffie-Hellman, El-Gamal)
- вычисление квадратных корней по модулю составного числа (Rabin)
Существуют также чисто теоретические и малоиспользуемые асимметричные криптоалгоритмы. Они не получили широкого распространения по следующим причинам:
- недостаточные теоретические исследования в области задачи, на которой построен криптоалгоритм
- доказанная криптографическая нестойкость (например, задача об укладке сверхвозрастающего ранца)
- неэффективность практического использования (слишком длинный ключ; размер шифртекста намного больше размера открытого текста; недопустимо низкая скорость работы)
Внимание, вопрос: Светлана, не могли бы вы рассказать устройство вашего "самопального" асиммертричного криптоалгоритма, основанного на md5? Прежде всего хотелось бы узнать, на какой трудноразрешимой задаче основан ваш алгоритм.
p.s. Если решили браться за криптографию, неплохо было бы вначале изучить теорию.
Полезные ссылки:
http://www.pgpru.com/articles/crypto/schneier_snakeoil.shtml - про "самопальные" системы защиты информации
http://www.ssl.stu.neva.ru/psw/publications/crypto.html - анализ причин ненадежности современных криптосистем
http://www.ssl.stu.neva.ru/psw/crypto.html - хорошая подборка ссылок на русскоязычные статьи по криптографии