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