Порядок выполнения самостоятельной работы

1. В таблице вариантов найти для Вашего варианта значения характеристик P,V,T, а также группы символов,

используемых при формировании пароля.

2. Вычислить мощность алфавита паролей A, соответствующую Вашему варианту.

3. Вычислить по формуле нижнюю границу S* для заданных P,V,T.

4. Зная мощность алфавита паролей A, вычислить минимальную длину пароля L, при котором выполняется условие

.

5. Сформировать 3 пароля длиной L .

 

 

Таблица 4.1. ASCII кодов

! # $ % & ( ) *          
         
0 1 2 3 4 5 6 7 8 9          
         
A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z        
       
a b c d e f g h i j k l m n o
p q r s t u v w x y z        
       
А Б В Г Д Е Ж З И Й К Л М Н О
П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э
Ю Я                          
                         
а б в г д е ж з и й к л м н о
п р с т у ф х ц ч ш щ ъ ы ь э
ю я                          
                         

 

4.2. Таблица двоичного представления кодов

символ код
   
А

 

 

4.3. Таблица вариантов

Вариант P V T Используемые группы символов пароля
10-4 15 паролей/мин 2 недели 1. Цифры (0-9) 2. Латинские строчные буквы (a-z)
10-5 3 паролей/мин 10 дней 1. Латинские прописные буквы (A-Z) 2. Русские строчные буквы (а-я)
10-6 10 паролей/мин 5 дней 1. Русские прописные буквы (А-Я) 2. Специальные символы.
10-7 11 паролей/мин 6 дней 1. Цифры (0-9) 2. Латинские прописные буквы (A-Z)
10-4 100 паролей/день 12 дней 1. Русские прописные буквы (А-Я) 2. Латинские строчные буквы (a-z)
10-5 10 паролей/день 1 месяц 1. Русские строчные буквы (а-я) 2. Специальные символы.
10-6 20 паролей/мин 3 недели 1. Цифры (0-9) 2. Русские строчные буквы (а-я)
10-7 15 паролей/мин 20 дней 1. Латинские строчные буквы (a-z) 2. Латинские прописные буквы (A-Z)
10-4 3 паролей/мин 15 дней 1. Русские прописные буквы (А-Я) 2. Русские строчные буквы (а-я)
10-5 10 паролей/мин 1 неделя 1. Цифры (0-9) 2. Специальные символы.
10-6 11 паролей/мин 2 недели 1. Цифры (0-9) 2. Русские прописные буквы (А-Я)
10-7 100 паролей/день 10 дней 1. Латинские строчные буквы (a-z) 2. Русские прописные буквы (А-Я)
10-4 10 паролей/день 5 дней 1. Цифры (0-9) 2. Латинские строчные буквы (a-z)
10-5 20 паролей/мин 6 дней 1. Латинские прописные буквы (A-Z) 2. Русские строчные буквы (а-я)
10-6 15 паролей/мин 12 дней 1. Русские прописные буквы (А-Я) 2. Специальные символы.

Пример 4.1.Расчет задачи для варианта 15

 

Вариант P V T Используемые группы символов пароля
10-6 15 паролей/мин 12 дней 1. Русские прописные буквы (А-Я) 2. Специальные символы.

 

1. Р = 10-6 ; V = 15 паролей/мин ; T = 12 дней.

 

2. А = 32 + 10 = 42.

 

 

3.

 

4. . Чтобы найти L, будем возводить число 42 в степень L=1,2,3,… и результат каждый раз будем сравнивать с числом 43200000000, пока не выполним требуемое неравенство. В ходе итерации было получено L=8, при котором S=9682650000000, что на порядок больше .

 

5. Сформируем пароли с учетом их длины, равной 8 и известного множества символов, получим:

 

Пароли К!О”T#$K АДРЕСС)!   СОЛЬ%%*O

 

Для расчетов удобно применять следующую программу на языке С++ в системе Visual Studio 2008:

 

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

 

 

int main()

{

int V,T,L=0;

 

double A,A1=1;

float S;

float P;

 

/* P - вероятность взлома; V – скорость взлома (число паролей в минуту);

T – время действия пароля; А – число парольных символов;

L – искомая длина пароля; S - пространство взлома (число возможных

паролей).

*/

 

cout<<"\n Enter P, V, T ,A\n";

cin>>P>>V>>T>>A; // ввод исходных данных

 

cout<<"\n P = "<<P<<" V = "<<V<<" T = "<<T<<" A = "<<A<<"\n";

// печать для проверки

 

S=V*T*60*24*12/P;

 

cout<<"\n S = "<<S;

 

while(A1<S)

{

L++;

A1=A1*A; // степени А

 

}

 

cout<<"\n A1 = "<<A1;

cout<<"\n L = "<<L;

 

getch();

return 0;

}

 

Контрольные вопросы

1. Что понимается под идентификацией и аутентификацией

пользователя?

2. Чем определяется стойкость к взлому подсистемы идентификации

и аутентификации пользователя?

3. Перечислите основные требования к выбору пароля и к реализации

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

4. Как количественно оценить стойкость подсистемы парольной

аутентификации к взлому?

5. Методы криптографической защиты информации

Цель работы – изучение простейших традиционных алгоритмов криптографической защиты информации и особенностей их практической реализации.

 

Шифрование методом Цезаря

При шифровании исходного текста по данному методу каждая буква заменяется на другую букву того же алфавита путем ее смещения в используемом алфавите на число позиций, равное K. При достижении конца алфавита выполняется циклический переход к его началу.

Общая формула шифра Цезаря имеет следующий вид:

 

С=P+K (mod M),   (5.1)

 

где P – номер символа открытого текста, С – соответствующий ему номер символа шифротекста, K – ключ шифрования (коэффициент сдвига), M – размер алфавита (для русского языка M = 32)

Для данного шифра замены можно задать фиксированную таблицу подстановок, содержащую соответствующие пары букв открытого текста и шифротекста.

 

Пример 5.1

Таблица подстановок для символов русского текста при ключе K=3 представлена в таблице 4.1. Данной таблице соответствует формула:

С=P+K (mod M),   (5.2)

 

Табл. 5.1. Табл. подстановок шифра Цезаря для ключа K=3

А ® Г   Р ® У
Б ® Д   С ® Ф
В ® Е   Т ® Х
Г ® Ж   У ® Ц
Д ® З   Ф ® Ч
Е ® И   Х ® Ш
Ж ® Й   Ц ® Щ
З ® К   Ч ® Ь
И ® Л   Ш ® Ы
Й ® М   Щ ® Ъ
К ® Н   Ь ® Э
Л ® О   Ы ® Ю
М ® П   Ъ ® Я
Н ® Р   Э ® А
О ® С   Ю ® Б
П ® Т   Я ® В

 

Согласно формуле (5.2) открытый текст «БАГАЖ» будет преобразован в шифротекст «ДГЖГЙ».

Дешифрование закрытого текста, зашифрованного методом Цезаря согласно (5.1), осуществляется по формуле:

 

P=C-K (mod M)   (5.3)