Назад Шифрование (алгоритм RSA)

Имя программы, автор Shifr_RSA, Winni (www.win-ni.narod.ru     Vlad-Alex_0@mail.ru)
Лицензия Исполняемый файл - freeware но Demo-версия шифрует только первые 1000 байт файла, остальные заменяет на Х.; Весь проект: пишите на E-mail;
Источники
  • В.И.Нечаев Элементы криптографии. Основы теории защиты информации.М.,Высшая школа, 1999 г 109 с.
  • Баричев С.Г. Серов Р.Е. Основы современной криптографии. ver 1.3 (в формате djvu 457Kb)
  • Брюс Шнайер Прикладная криптография 2-е издание. (В формате MS Word 8Mb - .doc)
Компоненты
  • Unit1.pas
    TGroupBox; TButton; TLabel; TEdit; TMemo; TShape; TOpenDialog; TProgressBar; TSaveDialog;
  • ura1.pas
    TLabel; TEdit; TBitBtn;
  • stepen21.pas
    TEdit; TBitBtn; TLabel;
Классы и типы данных
  • Unit1.pas
    TStringList; TFileStream; LongWord;
  • Shifproc.pas
    Const MaxLong = 200; Longi = array [1..MaxLong] of Byte; {В Longi хранятся большие целые числа, необходимые для RSA}
Стандартные подпрограммы, методы, свойства. Выражения.
  • Unit1.pas
    TFileStream.Create(OpenDialog1.FileName, fmOpenRead); Stepen.ShowModal;
  • Unit2.pas
    if odd(a) then ;
  • Shifproc.pas
    Trim(Buusi); If Byte(Buff[ii]) in [48..57] then Bufsi:= Bufsi + Buff[ii]; val (Bufsi[ii],ccc,kod);
Описание программы Программа разбивает исходные данные на блоки по 3 байта. Каждый блок шифруется алгоритмом RSA и записывается в файл зашифрованных данных блоком 4 байта. При расшифровке данные читаются блоками по 4 байта, дешифруются алгоритмом RSA и записываются блоками по 3 байта. В результате точно воспроизводится исходный файл. Программа использует числа $FFFFFFFF > R > $FFFFFF, то есть R < 4 300 000 000, поэтому криптостойкость намного меньше, чем у стандартных программ, использующих этот метод, в которых R порядка 1E100 - 1E200.
Основана на выполнении операций модульной арифметики над большими десятичными числами (порядка 100-200 десятичных цифр). Числа эти хранятся в виде строк. Когда-то было время и терпение написать процедуры-функции для таких операций. В Инете можно найти более экономные решения, поэтому работу в этом направлении продолжать не хочется. Однако реализация метода Рабина-Миллера для генерации больших простых чисел может пригодиться, тем более что имеется и простейшая проверка простоты полученных чисел (для полной гарантии). Demo-версия шифрует только первые 1000 байт файла, остальные заменяет на Х.
Математика программы соответствует книге: В.И.Нечаев Элементы криптографии. Основы теории защиты информации.М.,Высшая школа, 1999 г 109 с.
Примечание: ранее такой подход был применен в проекте "Гигакалькулятор", который опубликован на этом сайте и для которого R намного больше.
Ссылка на screenshot http://www.win-ni.narod.ru/progs/crypto_RSA.gif
Ссылка на архив исполняемого файла + ключи + примеры http://www.win-ni.narod.ru/progs/crypto_RSA.rar


( Для скачивания:
1. Правый щелчок по ссылке
2. Выпадет контекстное меню. Выбрать: Сохранить объект как
3. В окне "Сохранить как" щелкнуть кнопку "Сохранить". )

Rambler's Top100
Hosted by uCoz