Реферат: Алгоритм криптографического преобразования в режиме простой замены - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Алгоритм криптографического преобразования в режиме простой замены

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 287 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

13 Лабораторная работа На тему: " Алгоритм криптографического преобразования в режиме простой замены " Алгоритм работы Основной шаг криптопреобразования Основной шаг криптопреобразования (рис. 1 ) по своей сути является оператором, определяющим преобразование 64 - б итового блока данных. Дополнительным параметром этого оператора является 32 - б итовый блок, в качестве которого используется какой-либо элемент ключа. Рис. 1 . Схема основного шага криптопреобразования алгоритма ГОСТ 28147 – 8 9. Шаг 0. Определение исходных данных для основного шага криптопреобразования, где N – п реобразуемый 64 - б итовый блок данных, в ходе выполнения шага его младшая (N1) и старшая (N2) части обрабатываются как отдельные 32 - б итовые целые числа без знака. Таким образом, можно записать N=(N1 , N 2), а X – 32 - б итовый элемент ключа. Шаг 1. Сложение с ключом. Младшая половина преобразуемого блока складывается по модулю 232 с используемым на шаге элементом ключа, результат передается на следующий шаг. Шаг 2. Поблочная замена. 32 - б итовое значение, полученное на предыдущем шаге, интерпретируется как массив из восьми 4 - б итовых блоков кода: S= (S0 , S 1 , S 2 , S 3 , S 4 , S 5 , S 6 , S 7). Далее значение каждого из восьми блоков заменяется на новое, которое выбирается по таблице замен следующим образом: значение блока Sm заменяется на Sm - н ый по порядку элемент (нумерация с нуля) m - н ого узла замен ( т.е. m - н ой строки таблицы замен, нумерация также с нуля). Другими словами, в качестве замены для значения блока выбирается элемент из таблицы замен с номером строки, равным номеру заменяемого блока, и номером столбца, равным значению заменяемого блока как 4 - б итового целого неотрицательного числа. Шаг 3. Циклический сдвиг на 11 бит влево. Результат предыдущего шага сдвигается циклически на 11 бит в сторону старших разрядов и передается на следующий шаг. На схеме алгоритма символом И11 обозначена функция циклического сдвига своего аргумента на 11 бит в сторону старших разрядов. Шаг 4. Побитовое сложение: значение, полученное на шаге 3, побитно складывается по модулю 2 со старшей половиной преобразуемого блока. Шаг 5. Сдвиг по цепочке: младшая часть преобразуемого блока сдвигается на место старшей, а на ее место помещается результат выполнения предыдущего шага. Шаг 6. Полученное значение преобразуемого блока возвращается как результат выполнения алгоритма основного шага криптопреобразования. Базовые циклы криптографических преобразований Базовые циклы построены из основных шагов криптографического преобразования, рассмотренного в предыдущем разделе. В процессе выполнения основного шага используется только один элемент ключа, в то время как ключ ГОСТ содержит восемь таких элементов. Следовательно, чтобы ключ был использован полностью, каждый из базовых циклов должен многократно выполнять основной шаг с различными его элементами. Базовые циклы заключаются в многократном выполнении основного шага с использованием разных элементов ключа и отличаются друг от друга только числом повторения шага и порядком использования ключевых элементов. Ниже приведен этот порядок для различных циклов. Цикл шифрования 32 - З : K0 , K 1 , K 2 , K 3 , K 4 , K 5 , K 6 , K 7 , K 0 , K 1 , K 2 , K 3 , K 4 , K 5 , K 6 , K 7 , K 0 , K 1 , K 2 , K 3 , K 4 , K 5 , K 6 , K 7, K7 , K 6 , K 5 , K 4 , K 3 , K 2 , K 1 , K 0. Цикл дешифрования 32 - Р : K0 , K 1 , K 2 , K 3 , K 4 , K 5 , K 6 , K 7 , K 7 , K 6 , K 5 , K 4 , K 3 , K 2 , K 1 , K 0 , K 7 , K 6 , K 5 , K 4 , K 3 , K 2 , K 1 , K 0, K7 , K 6 , K 5 , K 4 , K 3 , K 2 , K 1 , K 0 . Каждый из циклов имеет собственное буквенно-цифровое обозначение, соответствующее шаблону «n-X», где первый элемент обозначения (n), задает число повторений основного шага в цикле, а второй элемент обозначения (X), буква, задает порядок шифрования («З» ) или дешифрования («Р» ) в использовании ключевых элементов. Цикл дешифрования должен быть обратным циклу шифрования, то есть последовательное применение этих двух циклов к произвольному блоку должно дать в итоге исходный блок. Для выполнения этого условия для алгоритмов, подобных ГОСТу, необходимо и достаточно, чтобы порядок использования ключевых элементов соответствующими циклами был взаимообратным (рис. 2 а, рис. 2 б). Схемы базовых циклов приведены на рисунках 2а, 2б. Каждый из них принимает в качестве аргумента и возвращает в качестве результата 64 - б итный блок данных, обозначенный на схемах N. Символ Шаг (N , K j) обозначает выполнение основного шага криптопреобразования для блока N с использованием ключевого элемента K. Рис. 2 а. Схема цикла шифрования 32 - З . Рис. 2 б. Схема цикла дешифрования 32 - Р . Исходный текст unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Math, Grids, Dre_Proc_Common; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Edit2: TEdit; Label2: TLabel; Button1: TButton; StringGrid1: TStringGrid; procedure Button1Clic k (Sender: TObject); private Private declarations public Public declarations end; var Form1: TForm1; i : integer; j : integer; k : integer; a : integer; b : integer; y : integer; c : integer; d : integer; e : integer; f : integer; g : integer; x : integer; m : integer; t : integer; l : integer; q : integer; u : integer; z : integer; p : integer; kol : integer; st : string; str : string; hr : string; hr1 : integer; kod : string; kod1 : string; kod_64_1: string; kod_64_2 : string; full : string; kluch : string; plus : string; plus1 : string; full1 : string; slovo : string; decod : string; step : int64; blok : string; stolbec : integer; sdv : string; plus2 : string; plus3 : string; h : integer; k_slovo : string; implementation $R *.dfm procedure TForm1 . Bu tton1Clic k (Sender: TObject); begin randomize; st:='абвгдежзиклмнопрстуфхцчшщьыъэюя1234567890_ ., ' ; ShowMessag e (' Алфавит : ' + st ); // Проверка длины фразы if ( lengt h ( Edit 1. Te xt) > 100) or (lengt h (Edit1. Te xt) < 1) then begin ShowMessag e (' Превышает заданное значение '); exit; end; StringGrid1 . Co lCount:=16; StringGrid1 . Ro wCount:=8; // генерация матрицы for b := 0 to 7 do for c:= 0 to 15 do begin repeat f:=0; hr:=DEC2BI N (random( 16)); while length(hr) < 4 do hr:='0' + hr; for g:=0 to c - 1 do if hr=StringGrid1 . Ce ll s [g, b ] then f:=1; until f=0; StringGrid1 . Ce ll s [c, b ]:=hr; end; // 32 степень 2 step:=1; for i:=1 to 32 do step:=step*2; k_slovo:=''; // К одирование for i : = 1 to lengt h (Edit1. Te xt) do begin full:=''; for j : = 1 to length(st) do begin if Edit1 . Te xt[i] = st[j] then begin full:= full + DEC2BIN(j); while length(full) < 8 do full:='0' + full; kod:=kod + full; end; end; end; ShowMessag e ('Слово в 2 виде'+kod); a:= length(kod) div 64; for i : = 1 to lengt h (Edit2. Te xt) do begin full1:=''; for j : = 1 to length(st) do begin if Edit2 . Te xt[i] = st[j] then begin full1:= full1 + DEC2BIN(j); while length(full1) < 8 do full1:='0' + full1; kod1:=kod1 + full1; end; end; end; ShowMessag e ('Ключ в 2 виде'+kod1); m:=1; l:=1; for i:=1 to a do begin kod_64_1:=''; kod_64_2:=''; kluch:=''; plus:=''; for j:=1 to 32 do begin kod_64_1:=kod_64_1 + ko d [m+ j -1 ]; kluch:=kluch + kod 1 [l+ j -1 ]; end; for j:=33 to 64 do kod_64_2:=kod_64_2 + ko d [m+ j - 1 ]; ShowMessag e ('N1- '+kod_64_1); ShowMessag e ('N2- '+kod_64_2); plus:=DEC2BIN((BIN2DE C (kod_ 64_1) + BIN2DEC(kluch)) mod step); while length(plus) < 32 do plus:='0' + plus; ShowMessag e ('32 - х битный блок ключа'+kluch); ShowMessag e ('Результат 1 - г о шага-'+ plus ); q:=1; plus1:=''; for y:=0 to 7 do begin blok:=''; for j:=1 to 4 do blok:=blok+ plu s [q+ j - 1 ]; stolbec:=BIN2DEC(blok); plus1:=plus1 + StringGrid1 . Ce ll s [stolbec, y ]; q:=q+4; end; ShowMessag e ('Замена по таблице'+plus1); for y:=1 to 11 do begin plus2:=''; sdv:=plus 1 [ 1]; for j:=2 to 32 do plus2:=plus2+plus 1 [ j]; plus2:=plus2+sdv; plus1:=plus2; end; ShowMessag e (' сдвиг на 11 бит влево -'+ plus 1); plus3:=''; for y:=1 to 32 do begin if (plus 1 [ y]='1') and (kod_64_ 2 [ y]='1') then h:=0; if (plus 1 [ y]='1') and (kod_64_ 2 [ y]='0') then h:=1; if (plus 1 [ y]='0') and (kod_64_ 2 [ y]='1') then h:=1; if (plus 1 [ y]='0') and (kod_64_ 2 [ y]='0') then h:=0; plus3:= plus3+ IntToStr(h); end; ShowMessag e ('Побитное сложение N 2 и S -'+ plus 3); kod _64_2:= kod _64_1; kod _64_1:= plus 3; k _ slovo := k _ slovo + kod _64_1+ kod _64_2; ShowMessag e ('Шифр – '+k_slovo); m:=m+64; l:=l+32; end; end; end. Пример выполнения Литература 1) Методы и средства защиты информации . Бородин В.Б . : ЭКОМ, 1999.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Президент подарил мальчику айфон.
Некоторые догадались, что это айфон премьера.
А вот в АНБ были очень удивлены, когда на очередном докладе о прослушке узнали, что российский руководитель плохо себя ведет, не слушается бабушку, не хочет кушать кашу и вечером папа придет и поставит его в угол.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Алгоритм криптографического преобразования в режиме простой замены", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru