Время, необходимое для полного перебора ключей

Наименование машины Мощность (FLOPS) 56 бит 7.2*Е16 64 бита 1.8*E19 80 бит 1.2*Е24 100 бит 1.26*Е30 128 бит 3.4*E38
Intel ASCI Red 1.333*Е12 14 часов 5 мес. 28460 лет 3.01*Е10 8.09*Е18
Hitachi/Tsukuba CP-PACS 3.68*Е11 52 часа 18 мес. 102676 года 1.09*Е11 2.93*Е19
SGI/Cray T3E 2.65*Е11 69 часов 51 мес. 143256 года 1.51*Е11 4.07*Е19
Fujitsu Numerical Wind Tunnel 2.3*Е11 171 час 60 мес. 164592 года 1.74*Е11 4.69*Е19
Hitachi SR2201 2.2*Е11 178 часов 61 мес. 172720 лет 1.82*Е11 4.9*Е19

Таким образом с помощью указанной рабочей модели можно оценивать надежность проектируемых и эксплуатируемых систем шифрования. Алгоритм ГОСТ 28147-89 использует таблицу подстановок размером 512 бит. Общее число возможных таблиц составляет 1.33*Е36 и полное время перебора составляет 3.162*Е16 лет. Для алгоритма IDEA длина ключа составляет 128 бит и полное время перебора составляет 8.09*Е18 лет. Даже если будет использован суперкомпьютер состоящий из ста тысяч процессоров с максимально возможной скоростью в 1016 операций/секунду для расшифровывания ГОСТа понадобится 4.21*Е7 лет, а для IDEA - 1.08*Е10 лет. Очевидно, что даже применение нескольких сотен суперкомпьютеров Intel ASCI Red, стоимостью по 55 миллионов долларов каждый, не в стоянии кардинально улучшить ситуацию.

Анализируя предельные значения второй тенденции, можно отметить, что увеличению количества процессоров в системе тоже есть свой предел.

Для нашей планеты естественным пределом является площадь земной поверхности. Если выразить поверхность земного шара (считая океаны, пустыни, Арктику с Антарктикой) в квадратных миллиметрах, и на каждый миллиметр поместить по миллиону таких процессоров, то в год мощность такого вычислительного устройства составит 5.1 * 1052 операций, что эквивалентно длине в 175-176 бит. Если исходить из предположения, что стойкость шифра должна составлять 100 лет, то за указанный период такая система сможет перебрать 5 *1054 ключей, что составит 181-182 бита. И это притом, что никакие вычислительные ресурсы процессоров не тратятся на согласование их взаимной работы в системе, на решение задачи дешифрования и т.д.

Таблица 2.3

Варианты перебора ключа раскладок клавиатуры

Раскладка Символы Варианты Минимальная длина пароля
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ 68 2.11*Е18 10
ABCDEFGHIJKLMNOPQRSTUVWXYZ АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ 58 2.49*Е19 11
0123456789АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ 42 3.01*Е19 12
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 36 4.74*Е18 12
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ 32 3.67*Е19 13
ABCDEFGHIJKLMNOPQRSTUVWXYZ 26 6.45*Е19 14
0123456789 10 1*Е19 19

Из проведенного нами исследования можно сделать вывод, что для обеспечения надежности достаточно использовать алгоритмы с длиной ключа не менее 64 битов, а применять и разрабатывать алгоритмы с длиной ключа более 128 бит экономически не выгодно. Однако, как правило, для генерации ключа используется пароль, который в свою очередь часто содержит лишь символы латинского алфавита. В таком случае для обеспечения необходимой защиты требуется использовать пароль не короче 12 символов, что соответствует 56-битному ключу. 16-символьный гарант пароль соответствует 75-битному ключу и гарантирует достаточную защиту от прямой атаки.

 



Разработка программы

На текущий момент имеется несколько языков программирования высокого уровня, позволяющих создавать полноценные программы, предназначенные для работы в среде Microsoft Windows 9x. Мы выбрали хорошо известный язык C++, который обладает следующими достоинствами: во-первых, C++ обладает универсальностью и может быть использован для создания программ любого уровня сложности, а во-вторых, эффективный машинный код обеспечивает высокую скорость работы программы, что особенно немаловажно. Применяемые библиотеки и разработанные программные функции описаны ниже:

Таблица 3.1

Использованные библиотеки

Stdio.h Работа с файлами
String.h Работа со строками
Stdlib.h Вспомогательные процедуры
Time.h Время
Dos.h Прерывания

Таблица 3.2


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: