2011-gre-cs-practice-book.pdf/Q31 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(Объяснение)
Строка 15: Строка 15:
 
=== Объяснение ===
 
=== Объяснение ===
  
 +
== Решение задачи о подборе пароля методом brute-force ==
  
Для решения задачи используем метод полного перебора всех возможных комбинаций паролей. Количество таких комбинаций зависит от длины пароля ($n$) и размера алфавита ($k$). Общее количество возможных паролей вычисляется по формуле:
+
### Постановка задачи
 +
 
 +
Нам дано, что пароль состоит из 1–6 символов из 10-символьного алфавита. Атака методом brute-force отправляет запросы аутентификации с частотой один раз в миллисекунду. Необходимо найти среднее время, которое потребуется для определения пароля.
 +
 
 +
### Метод полного перебора
 +
 
 +
Количество возможных паролей определяется формулой:
  
 
$$
 
$$
Строка 22: Строка 29:
 
$$
 
$$
  
В данном случае $k = 10$ (размер алфавита). Длина пароля варьируется от 1 до 6 символов, поэтому необходимо просуммировать количество возможных паролей для каждой длины:
+
где $k$ — размер алфавита, а $n$ — длина пароля. В нашем случае $k = 10$.
 +
 
 +
Длина пароля варьируется от 1 до 6 символов, поэтому нужно просуммировать количество возможных паролей для каждой длины:
  
 
$$
 
$$
Строка 28: Строка 37:
 
$$
 
$$
  
Вычисляем каждую степень отдельно:
+
### Вычисление суммы
 +
 
 +
Рассчитаем каждое слагаемое отдельно:
  
 
$$
 
$$
Строка 41: Строка 52:
 
$$
 
$$
  
Суммируем полученные значения:
+
Теперь суммируем их:
  
 
$$
 
$$
 
10 + 100 + 1000 + 10000 + 100000 + 1000000 = 1111100
 
10 + 100 + 1000 + 10000 + 100000 + 1000000 = 1111100
 
$$
 
$$
 +
 +
### Итоговое количество паролей
  
 
Общее количество возможных паролей составляет 1 111 100.
 
Общее количество возможных паролей составляет 1 111 100.
  
Поскольку атака происходит с частотой один запрос в миллисекунду, среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:
+
### Расчет среднего времени
 +
 
 +
Так как атака происходит с частотой один запрос в миллисекунду, среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:
  
 
$$
 
$$
Строка 55: Строка 70:
 
$$
 
$$
  
Переводим миллисекунды в секунды:
+
### Перевод в секунды
 +
 
 +
Переведем миллисекунды в секунды:
  
 
$$
 
$$
 
555550 \, \text{мс} = 555.55 \, \text{с}
 
555550 \, \text{мс} = 555.55 \, \text{с}
 
$$
 
$$
 +
 +
### Заключение
  
 
Таким образом, в среднем потребуется около 556 секунд (примерно 9 минут и 16 секунд), чтобы определить пароль методом простого перебора при заданных условиях.
 
Таким образом, в среднем потребуется около 556 секунд (примерно 9 минут и 16 секунд), чтобы определить пароль методом простого перебора при заданных условиях.

Версия 14:53, 19 декабря 2024

Задача зарезервирована: Ydanyok 14:35, 19 декабря 2024 (UTC)

== Вопрос: Q31-08c765 ==

Рассмотрим атаку подбора пароля методом простого подбора(brute-force), которая может отправлять запросы аутентификации с частотой один раз в миллисекунду. Предположим, что пароль состоит из 1–6 символов из 10-символьного алфавита. В среднем, сколько примерно секунд потребуется, чтобы определить пароль с помощью этого типа атаки?

Ответы

  • Правильный ответ: 555
  • 100
  • 500
  • 1000
  • 1111

Объяснение

Решение задачи о подборе пароля методом brute-force

      1. Постановка задачи

Нам дано, что пароль состоит из 1–6 символов из 10-символьного алфавита. Атака методом brute-force отправляет запросы аутентификации с частотой один раз в миллисекунду. Необходимо найти среднее время, которое потребуется для определения пароля.

      1. Метод полного перебора

Количество возможных паролей определяется формулой:

$$ k^n $$

где $k$ — размер алфавита, а $n$ — длина пароля. В нашем случае $k = 10$.

Длина пароля варьируется от 1 до 6 символов, поэтому нужно просуммировать количество возможных паролей для каждой длины:

$$ \sum_{n=1}^{6} 10^n = 10^1 + 10^2 + 10^3 + 10^4 + 10^5 + 10^6 $$

      1. Вычисление суммы

Рассчитаем каждое слагаемое отдельно:

$$ \begin{align*} 10^1 &= 10 \\ 10^2 &= 100 \\ 10^3 &= 1000 \\ 10^4 &= 10000 \\ 10^5 &= 100000 \\ 10^6 &= 1000000 \end{align*} $$

Теперь суммируем их:

$$ 10 + 100 + 1000 + 10000 + 100000 + 1000000 = 1111100 $$

      1. Итоговое количество паролей

Общее количество возможных паролей составляет 1 111 100.

      1. Расчет среднего времени

Так как атака происходит с частотой один запрос в миллисекунду, среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:

$$ t_{\text{среднее}} = \frac{1}{2} \times 1111100 \, \text{мс} = 555550 \, \text{мс} $$

      1. Перевод в секунды

Переведем миллисекунды в секунды:

$$ 555550 \, \text{мс} = 555.55 \, \text{с} $$

      1. Заключение

Таким образом, в среднем потребуется около 556 секунд (примерно 9 минут и 16 секунд), чтобы определить пароль методом простого перебора при заданных условиях. Исходники — вопрос 31 на 30 странице книги «2011-gre-cs-practice-book.pdf»

Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.