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

Материал из DISCOPAL
Перейти к: навигация, поиск
 
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{reserve-task|[[Участник:Ydanyok|Ydanyok]] 14:35, 19 декабря 2024 (UTC)}}== Вопрос: Q31-08c765 ==
+
== Вопрос: Q31-08c765 ==
 +
Рассмотрим атаку подбора пароля методом [https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%C2%AB%D0%B3%D1%80%D1%83%D0%B1%D0%BE%D0%B9_%D1%81%D0%B8%D0%BB%D0%BE%D0%B9%C2%BB простого подбора] (''brute-force''), которая может отправлять запросы аутентификации с частотой один раз в миллисекунду.
  
Рассмотрим атаку подбора пароля методом простого подбора(brute-force), которая может отправлять запросы аутентификации с частотой один раз в
+
Предположим, что пароль состоит из 1–6 символов из 10-символьного алфавита.  
миллисекунду. Предположим, что пароль состоит из 1–6 символов из 10-символьного алфавита. В среднем,
+
 
сколько примерно секунд потребуется, чтобы определить пароль с помощью этого типа атаки?
+
В среднем, сколько примерно секунд потребуется, чтобы определить пароль с помощью этого типа атаки?
  
 
=== Ответы ===
 
=== Ответы ===
 
 
* Правильный ответ: 555
 
* Правильный ответ: 555
 
* 100
 
* 100
Строка 15: Строка 15:
 
=== Объяснение ===
 
=== Объяснение ===
  
== Решение задачи о подборе пароля методом brute-force ==
+
Количество возможных паролей определяется по формуле: <m>k^n</m>
  
### Постановка задачи
+
где k — размер алфавита, а n — длина пароля. В нашем случае k = 10. Так как длина пароля варьируется от 1 до 6 символов, необходимо просуммировать количество возможных паролей для каждой длины:
 
+
<m>\sum_{n=1}^{6} 10^n = 10^1 + 10^2 + 10^3 + 10^4 + 10^5 + 10^6</m>
Нам дано, что пароль состоит из 1–6 символов из 10-символьного алфавита. Атака методом brute-force отправляет запросы аутентификации с частотой один раз в миллисекунду. Необходимо найти среднее время, которое потребуется для определения пароля.
+
 
+
### Метод полного перебора
+
 
+
Количество возможных паролей определяется формулой:
+
 
+
$$
+
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
+
$$
+
 
+
### Вычисление суммы
+
 
+
Рассчитаем каждое слагаемое отдельно:
+
 
+
$$
+
\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 111 100.
 
Общее количество возможных паролей составляет 1 111 100.
 
### Расчет среднего времени
 
  
 
Так как атака происходит с частотой один запрос в миллисекунду, среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:
 
Так как атака происходит с частотой один запрос в миллисекунду, среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:
  
$$
+
<m>t_{\text{среднее}} = \frac{1}{2} \times 1111100 \, \text{мс} = 555550 \, \text{мс}</m>
t_{\text{среднее}} = \frac{1}{2} \times 1111100 \, \text{мс} = 555550 \, \text{мс}
+
$$
+
 
+
### Перевод в секунды
+
 
+
Переведем миллисекунды в секунды:
+
 
+
$$
+
555550 \, \text{мс} = 555.55 \, \text{с}
+
$$
+
 
+
### Заключение
+
  
Таким образом, в среднем потребуется около 556 секунд (примерно 9 минут и 16 секунд), чтобы определить пароль методом простого перебора при заданных условиях.
 
 
{{cstest-source|2011-gre-cs-practice-book.pdf|30|31}}
 
{{cstest-source|2011-gre-cs-practice-book.pdf|30|31}}
  
Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 15:38, 19 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Комбинаторика]]
 +
[[Категория:Криптография]]

Текущая версия на 15:38, 19 декабря 2024

Вопрос: Q31-08c765

Рассмотрим атаку подбора пароля методом простого подбора (brute-force), которая может отправлять запросы аутентификации с частотой один раз в миллисекунду.

Предположим, что пароль состоит из 1–6 символов из 10-символьного алфавита.

В среднем, сколько примерно секунд потребуется, чтобы определить пароль с помощью этого типа атаки?

Ответы

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

Объяснение

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

где k — размер алфавита, а n — длина пароля. В нашем случае k = 10. Так как длина пароля варьируется от 1 до 6 символов, необходимо просуммировать количество возможных паролей для каждой длины:

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

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

Исходники — вопрос 31 на 30 странице книги «2011-gre-cs-practice-book.pdf»