Тема: Алгоритм шифрування QKGV.
Виставляю свою розробку QKGV.
Симетричний блочний алгоритм. (Хоча не зовсім симетричний, є деякі відмінності між шифруванням і розшифруванням)
Сучасний варіант одноразового блокнота.
Написано на с++ з використанням Qt.
Для роботи потрібно мати плагіни:
QKGVKey - файл з попередньо записаними реально випадковими даними (не з генератора псевдовипадкових чисел).
QKGVLib - набір формул виду "double fx(double)". Необхідна умова - неперервність на всій області визначення.
QKGVHash - хеш функція. Від розміру дайджеста залежить максимальний розмір даних, що можуть опрацьовуватися. 128-бітний MD5 дозволяє опрацьовувати до 4 Гб. Можна використовувати як уже написаний, та і свій авторський.
Ну і пароль само собою.
Плагіни зберігаються в обох сторін і використовуються багаторазово. Передаються лише зашифровані дані.
Передавальна сторона повинна також мати генератор випадкових чисел (його параметри для приймаючої сторони абсолютно неважливі). Для 99,9% користувачів достатньо буде дефолтьної реалізації псевдовипадкового генератора.
Шифротекст в кожному сеансі буде абсолютно іншим, навіть при аналогічному шифруванні (всі вхідні параметри і дані одинакові).
Власне ключ, який і накладається на відкритий текст створюється по ходу процесу і ніде не зберігається.
Реалізовано в 2 варіантах: самостійної exe консольки і dll'ки.
http://crprogram.16mb.com/download/file.php?id=124