Результаты исследований учащихся в проекте Шифрование данных
Содержание
Авторы и участники проекта
участники проекта, группа "Шифровальщики"
Тема исследования группы
Шифр Гронсфельда
Проблемный вопрос (вопрос для исследования)
Какой способ кодирования информации оптимальнее?
Цели исследования
1. Познакомиться с шифрами замены и перестановки, выполнить их сравнение.
2. Для одного из рассмотренных шифров выполнить постановку задачи, разработать алгоритм и программу.
3. Выполнить шифрование с помощью программы, проанализировать результаты.
Результаты проведённого исследования
Все виды шифров относятся к шифрам замены и перестановки:
Шифры замены:
1)Шифр Цезаря;
2)Шифр Гронсфельда;
3)Шифр Виженера.
Шифры перестановки:
1)«Тарабарская грамота»;
2)Матричная шифровка;
3)Шифровка по спирали.
Ниже представлен код программы основанный на алгоритме Гронсфельда:
Основой шифра Гронсфельда является шифр Цезаря, реализующий кодирование фразы путем «сдвига» всех букв фразы на величину сдвига не являющуюся постоянной, а задаваемой ключом.
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