Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Захист інформації

Реферат Захист інформації





вності


Генератор псевдовипадкових чисел може бути описаний рекурентною формулою:

i=agi - 1 + b (mod m),


де: gi - i-й член послідовності псевдовипадкових чисел; a, b, m і g 0 - ключові параметри.

Дана послідовність складається з цілих чисел від 0 до m - 1, і якщо елементи gi і gj співпадуть, то наступні ділянки послідовності також співпадуть: g i + 1=g j + 1, g i + 2 =g j + 2, і т.д.

Тому послідовність {gi} є періодичною, і її період не перевищує m. Для того щоб період послідовності псевдовипадкових чисел, згенерованої за формулою (1), був максимальним (рівним m), параметри формули (1) повинні задовольняти таким умовам: і m -взаємне прості числа; a - 1 ділиться на будь-який простий дільник числа m; a - 1 кратно 4, якщо m кратно 4.

Приклад, що демонструє роботу процедури: використовувала компонент SpinEdit - для введення стартового (секретного) числа B більшого L (255), компонент Memo - для відображення результату і командна кнопка Button (рис. 6).


Рис. 7


Процедура, що реалізує алгоритм

RND_CODE (X, M: integer; var RCOD: array of integer) ;, A: integer;:=M + 1; [0]:=X mod 255; i:=1 to M - 1 do [i]:=(A * RCOD [i - 1] + X) mod 255; ;

Команда створення послідовності псевдо випадкових чисел

TForm1.Button1Click (Sender: TObject) ;: array [1..500] of integer; , X: integer;:=SpinEdit1.Value; _CODE (X, High (A), A);.Clear; i:=1 to High (A) do .Lines.Add ( № + IntToStr (i) + Значення числа= + IntToStr (A [i])) ;;


. Шифрування мультиплікативним ключем


Програма шифрування і дешифрування тексту використовує деяку функцію зміни ключа шифрування в залежності від поточного номера символу в тексті.

Для реалізації програми використовувала наступні компоненти (рис. 7): 1,2 - введення початкових значень стартового і мультиплікативного ключів; 1,2,3 - вікна введення тексту, уявлення шифрограми і ДЕШИФРОВАНОГО тексту; 1,2 - командні кнопки.


Рис. 8. Компоненти, що використовуються в програмі


Глобальні змінні рівня модуля

: TForm1 ;, MultKey: integer;


Функція шифрування і дешифрування

CCR (const TXT: string; StartKey, MultKey: Integer; CRT: Boolean): string ;: Integer;:= raquo ;; i:=1 to Length (TXT) do:= Result + Chr (Ord (TXT [i]) xor (StartKey shr 8)); CRT=true then:=(Ord (Result [i]) + StartKey) * MultKey:=(Ord (TXT [i]) + StartKey ) * MultKey ;;

Команда шифрування

TForm1.Button1Click (Sender: TObject);:=SpinEdit1.Value; :=SpinEdit2.Value;.Text:=CCR (Memo2.Text, StartKey, MultKey, true) ;;


Команда дешифрування

TForm1.Button2Click (Sender: TObject);:=SpinEdit1.Value;// (567) Значення стартового ключа:=SpinEdit2.Value;// (18367) Значення множітеля.Text:=CCR (Memo1.Text, StartKey, MultKey, false) ;;


. Обчислення первообразного кореня (алгоритм Ель-Гамаля)


Загальні положення

В основі алгоритму Ель-Гамаля лежить процедура відкритого розподілу ключів, опублікована в 1976 році в роботі У. Діффі і М.Е. Хеллмана «Нові напрямки в криптографії».

Ключі шифрування і дешифрування обчислюються за алгоритмом, де P - велике просте число, g - первісний корінь по модулю P. Секретне число a може бути будь-яким цілим числом, краще випадковим. Величина числа не обмежена.

первообразному (примітивним) коренем по модулю P, буде число g lt; P і взаємно просте з P, що належить показнику d. Показник d (дискретний логарифм числа g по модулю P при основине i т.е або) є найменшим, натуральним числом, що забезпечує порівняння. Звідси випливає, що для взаємно простих P і=P - 1 чисел показник (індекс) і отже, де: i=2,3,4, ..., P - 2. Виходячи з того факту, що першою підставою i, (для простого P і взаємно простого) утворюючим перший примітивний корінь можуть бути тільки числа 2 і 3, отже, обчислити перший корінь не складає труднощів. Наприклад, для модуля P=11, першого коренем буде число 2, оскільки: =, де: і d=5 =. Для модуля P=7 перших коренем буде число 3 ^ 3 (mod 7)=6, а другим коренем буде, 5 ^ 3 (mod 7)=6.

Первісні корені утворюють мультипликативную групу кільця, яка представляє ряд чисел, ступеня яких g0, g1, g2, ... g? (m) - 1 являє собою сукупність всіх взаємно простих з m чисел, менших m. Тобто gk пробігає систему відрахувань при k=1, 2, ...? (M), де:? (M) - функція Ейлера.

У програмі використовувала компоненти SpinEdit 1,2,...


Назад | сторінка 4 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Створення компонента для шифрування-дешифрування тексту
  • Реферат на тему: Розробка програми шифрування та дешифрування тексту методом простої заміни
  • Реферат на тему: Розробка програм шифрування і дешифрування тексту методом простої заміни
  • Реферат на тему: Отримання псевдовипадкових чисел
  • Реферат на тему: Закріплення знань учнів з теми: "Числа 1-10 та число 0"