Хэш-функции в криптосистемах
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат факторы, конституционное право шпаргалки
| Добавил(а) на сайт: Мукосеев.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
После обработки символа он добавляется в список списков процедурой add_in_list(x: integer; s: string; var gr: llist) следующим образом - l^.inf:=ord(s[k])*generate(x,ord(s[k]),k), где l^.inf-элемент списка списков, x - ключ (для функции generate), s - строка, разбиваемая на блоки по 8 символов. Каждый подсписок имеет длину не более 8 элементов размером до 5 байт.
Третим шагом является сложение соответствующих элементов процедурой
summ_all(gr: llist; var a:array_type) из каждого подсписка l в 8 элментный
массив a, т.е. первый элемент из первого элемента складывается с первым
элементом второго, третьего и т.д. подсписка и записывается в a[1].
Так - же поступаем и с другими элементами подсписков.
Следующим щагом записываем в файл ключ и по очереди все элементы массива a, обработанные функцией FromIntToString(), которая переводит численный тип в символьный и переворачивает.
Для сверки пароля его требуется зашифровать заново по известному ключу и сверить с зашифрованным экземпляром.
Вот исходный текст программы:
kriptmod.pas unit kriptmod; interface type Plist=^list; list=record inf: word; num: 1..8; next: Plist; end;
Llist=^List_of_list;
List_of_list=record nb: Plist; inf: 1..32; next: Llist; end;
array_type=array[1..8] of longint;
function generate(x: integer; a, b: byte):integer;
procedure add_in_llist(x: integer; s: string; var gr: llist);
procedure print_llist(gr: llist);
procedure summ_all(gr: llist; var a:array_type);
function FromIntToString(L: longint):string;
implementation
{--Эта функция переводит из целочисленного типа в символьный-------------0) do begin case l1 mod 10 of
0: s:=s+'0';
1: s:=s+'1';
2: s:=s+'2';
3: s:=s+'3';
4: s:=s+'4';
5: s:=s+'5';
6: s:=s+'6';
7: s:=s+'7';
8: s:=s+'8';
9: s:=s+'9'; end; l1:=l1 div 10; end; case l1 mod 10 of
0: s:=s+'0';
1: s:=s+'1';
2: s:=s+'2';
3: s:=s+'3';
4: s:=s+'4';
Рекомендуем скачать другие рефераты по теме: инновационный менеджмент, курсовая работа.
Категории:
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата