Результаты исследований учащихся в проекте Шифрование данных
Содержание
Авторы и участники проекта
участники проекта, группа Шифровальщики
Тема исследования группы
Шифр Гронсфельда
Проблемный вопрос (вопрос для исследования)
Какой способ кодирования информации оптимальнее?
Цели исследования
Проанализировать различные варианты кодирования и выбрать из них оптимальный.
Результаты проведённого исследования
По результатам проведенного исследования было отобрано несколько способов кодирования информации. Нами были рассмотрены несколько алгоритмов шифрования, такие как:
1)Шифр Цезаря;
2)Шифр Гронсфельда;
3)Шифр Виженера;
4)«Тарабарская грамота»;
5)Матричная шифровка;
6)Шифровка по спирали.
Ниже представлен интерфейс программы:
Основой шифра Гронсфельда являеться шифр Цезаря, реализущий кодирование фразы путем «сдвига» всех букв фразы на величину сдвига не являющуюся постоянной, а задаваемой ключом.
Ниже представлен код программы основанный на алгоритме Гронсфельда:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var key,S,alphabet:string; i,j,n:integer; begin key:=Edit1.text; S:=Edit2.Text; alphabet:='абвежзийклмнопрстуфхцчшщъыьэюя'; n:=length(S); for i:=1 to n do for j:=1 to 5 do S[i]:=alphabet[alphabet[pos(S[i],alphabet)]+strtoint(key[j])]; Edit3.text:=S; end; end.
Вывод
Были рассмотрены различные шифры замены и перестановки, в результате, из выше описанных методов шифрования, критериям задач наиболее соответствовал метод Гронсфельда, за его распространенность, эфективность и простоту использования.
Полезные ресурсы
Винокуров А. Криптография, ее истоки и место в современном обществе
Tatu Ylonen. Введение в криптографию (перевод)
Другие документы
Основной курс программы Intel Обучение для будущего сентябрь-декабрь 2009