Метод «грубої сили»: відмінності між версіями

[неперевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Об'єднано з Атака грубою силою
часткова вікіфікація, +вікіфікувати
Рядок 5:
У криптографії на обчислювальній складності повного перебору ґрунтується оцінка криптостійкості шифрів. Зокрема, шифр вважається криптостійким, якщо не існує методу «злому» істотно більш швидкого ніж повний перебір всіх ключів. Криптографічні атаки, засновані на методі повного перебору, є найбільш універсальними, але водночас і найбільш повільними.
 
На методі грубої сили базується '''ата́ка по́вного перебо́ру'''  — вид [[криптоаналіз]]у, який полягає у переборі [[ключКлюч (криптографія)|ключів]]ів, з [[множина|множини]] можливих.
 
[[ЕфектЕфективність|Ефективний]]ивний для нескладних алгоритмів [[шифрування]] та алгоритмів, які використовують [[ключ]]іключі довжиною до 64-[[біт]].
 
Для сучасних алгоритмів, які використовують [[ключ]]іключі довжиною від 128-[[біт]], є неефективним.
 
== Методи оптимізації повного перебору ==
Рядок 21:
Для збільшення швидкості підбору ключа використовується розпаралелювання обчислень. Існує два підходи до розпаралелювання:
* побудова конвеєра. Нехай алгоритм співвідношення можна уявити у вигляді ланцюжка найпростіших дій (операцій). Візьмемо <math> N\ </math> процесорів, задамо їх порядок, <math> i\ </math>-ий процесор виконує три однакові за часом операції:
*# отримання даних від -&nbsp;— <math> (i - 1)\ </math>-го процесора;
*# виконання операції;
*# передача даних <math> (i + 1)\ </math>-му процесору.
 
Тоді конвеєр з <math> N\ </math> послідовно з'єднаних, паралельно і синхронно працюючих процесорів працює зі швидкістю <math> v/3\ </math>, де <math> v\ </math> -&nbsp;— швидкість виконання однієї операції одним процесором.
 
* Другий підхід полягає що множина <math> K\ </math> всіх можливих ключів розбивається на непересічні підмножини. Система з <math> Q\ </math> машин перебирає ключі так, що <math> i\ </math>-та машина здійснює перебір ключів з множини <math> K_i\ , i = 1 .. Q </math>. Система припиняє роботу, якщо одна з машин знайшла ключ. Найважче -&nbsp;— це розділення вихідної множини. Але якщо кожен процесор почне обчислення з якогось довільного ключа, то час перебору збільшиться, але схема значно спроститься. Середнє число кроків у цьому випадку становить <math> |K|/N\ </math>, де <math> |K|\ </math> -&nbsp;— число елементів у множині ключів, а <math> N\ </math> -&nbsp;— число процесорів.
 
== Приклад тривалості підбору паролів ==
 
У переліку представлено оцінний час повного перебору паролів в залежності від їх довжини. Передбачається, що в паролі можуть використовуватися 36 різних символів (латинські літери одного регістру та цифри), а швидкість перебору становить 100 000 паролів в секунду (порядок представлених даних в рядку: Кількість знаків -&nbsp;— Кількість варіантів -&nbsp;— Час перебору):
 
{| class=wikitable
Рядок 94:
 
 
{{Вікіфікувати|дата=березень 2017}}
{{Без джерел|дата=січень 2014}}
{{Algorithm-stub}}