> (1.2)
Перетворення тексту здійснюється потоком в міру вироблення гами. Тому потокові шифри підходять для шифрування безперервних потоків даних - голосу, відео і т.д.
Принцип шифрування гаммированием полягає в генерації нескінченного ключа (гами шифру) за допомогою датчика псевдовипадкових чисел (ПСЧ) та накладення отриманої гами на вихідні дані оборотним чином. Процес розшифрування даних зводиться до повторної генерації гами шифру при відомому ключі і накладення такої гами на зашифровані дані. p align="justify"> Якщо період гами перевищує довжину всього зашифрованого тексту і невідома ніяка частина вихідного тексту, то зашифрований текст можна розкрити тільки шляхом прямого перебору.
1.4 Порівняльний аналіз методів шифрування
Порівняльний аналіз методів шифрування симетричним методом викладена в таблиці 1.1.
Після проведеного аналізу було виявлено, що шифруванням методом простої підставки абсолютно не ефективні, так як його можна розшифрувати після нескладного аналізу. Алгоритм одиночній перестановки набагато надійніше підставки, але якщо ключ використовується кілька разів, то його можна проаналізувати і зламати. З трьох проаналізованих методів, алгоритм методом гамування є найефективнішим. p align="justify"> Але у всіх методів є загальний недолік відправник і одержувач повинні деяким таємним чином отримати копії секретного ключа і зберігати їх у таємниці.
Таблиця 1.1 Порівняльний аналіз алгоритмів симетричного шифрування
В
2. Практичний розділ
.1 Ідентифікація користувача
Ідентифікація користувача - розпізнавання користувача комп'ютерної системи на підставі раніше заданого опису. Ідентифікація має на меті визначення повноважень користувача (права доступу до даних і вибору режиму їх використання). p align="justify"> Для ідентифікація користувача за серійним номером флеш-карти знадобилося 2 процедури: - визначає і повертає тип носія; - визначає інформацію про носія, серед якої міститься серійний номер.
Лістинг модуля для ідентифікація користувача:
procedure TParol.InputClick (Sender: TObject);, dtyp: DWORD;, b: DWORD;, disk: Array [0 .. 255] of char;: cardinal;: = GetDriveType ('G : '); dtyp <> DRIVE_REMOVABLE then
ShowMessage ('Диск не знайдений. Вхід не виконано!');
exit;; (
'G: ',, (Buffer),
@ SerialNum,, b,, 0);: = 3830754817; SerialNum = nomer then// порівнюємо серійний номер ('Вхід виконаний!!');. Show ();. Hide (); ('Вхід не виконано!!');;
2.2 Симетричне шифрування