Порядок выполнения самостоятельной работы
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) |