Результаты исследований учащихся в проекте Шифрование данных: различия между версиями
(→Цели исследования) |
(→Вывод) |
||
Строка 86: | Строка 86: | ||
==Вывод== | ==Вывод== | ||
− | Были рассмотрены различные шифры замены и перестановки | + | Были рассмотрены различные шифры замены и перестановки.В качестве примера для программирования был выбран шифр Гронсфельда. |
==Полезные ресурсы== | ==Полезные ресурсы== |
Версия 09:34, 14 ноября 2009
Содержание
Авторы и участники проекта
участники проекта, группа Шифровальщики
Тема исследования группы
Шифр Гронсфельда
Проблемный вопрос (вопрос для исследования)
Какой способ кодирования информации оптимальнее?
Цели исследования
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