Результаты исследований учащихся в проекте Шифрование данных: различия между версиями
(→Результаты проведённого исследования) |
(→Результаты проведённого исследования) |
||
| Строка 42: | Строка 42: | ||
Ниже представлен код программы основанный на алгоритме Гронсфельда: | Ниже представлен код программы основанный на алгоритме Гронсфельда: | ||
| − | |||
| − | |||
unit Unit1; | unit Unit1; | ||
| Строка 82: | Строка 80: | ||
end; | end; | ||
end. | end. | ||
| + | |||
| + | Основой шифра Гронсфельда является шифр Цезаря, реализующий кодирование фразы путем «сдвига» всех букв фразы на величину сдвига не являющуюся постоянной, а задаваемой ключом. | ||
Ниже представлен интерфейс программы: | Ниже представлен интерфейс программы: | ||
Версия 11:37, 15 декабря 2009
Содержание
Авторы и участники проекта
участники проекта, группа "Шифровальщики"
Тема исследования группы
Шифр Гронсфельда
Проблемный вопрос (вопрос для исследования)
Какой способ кодирования информации оптимальнее?
Цели исследования
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