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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Объяснение)
Строка 16: Строка 16:
  
  
Пусть $n$ — длина пароля, а $k$ — размер алфавита. Тогда количество возможных паролей равно:
+
Для решения задачи используем метод полного перебора всех возможных комбинаций паролей. Количество таких комбинаций зависит от длины пароля ($n$) и размера алфавита ($k$). Общее количество возможных паролей вычисляется по формуле:
  
$$ k^n $$
+
$$
 +
k^n
 +
$$
  
В нашем случае $k = 10$, так как алфавит содержит 10 символов. Длина пароля варьируется от 1 до 6 символов, поэтому нам нужно просуммировать количество возможных паролей для каждой длины:
+
В данном случае $k = 10$ (размер алфавита). Длина пароля варьируется от 1 до 6 символов, поэтому необходимо просуммировать количество возможных паролей для каждой длины:
  
$$ \sum{n=1}^{6} 10^n = 10^1 + 10^2 + 10^3 + 10^4 + 10^5 + 10^6 $$
+
$$
 +
\sum_{n=1}^{6} 10^n = 10^1 + 10^2 + 10^3 + 10^4 + 10^5 + 10^6
 +
$$
  
Вычислим эту сумму:
+
Вычисляем каждую степень отдельно:
  
$$ 10^1 = 10 $$
+
$$
 +
\begin{align*}
 +
10^1 &= 10 \\
 +
10^2 &= 100 \\
 +
10^3 &= 1000 \\
 +
10^4 &= 10000 \\
 +
10^5 &= 100000 \\
 +
10^6 &= 1000000
 +
\end{align*}
 +
$$
  
$$ 10^2 = 100 $$
+
Суммируем полученные значения:
  
$$ 10^3 = 1000 $$
+
$$
 +
10 + 100 + 1000 + 10000 + 100000 + 1000000 = 1111100
 +
$$
  
$$ 10^4 = 10000 $$
+
Общее количество возможных паролей составляет 1 111 100.
  
$$ 10^5 = 100000 $$
+
Поскольку атака происходит с частотой один запрос в миллисекунду, среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:
  
$$ 10^6 = 1000000 $$
+
$$
 +
t_{\text{среднее}} = \frac{1}{2} \times 1111100 \, \text{мс} = 555550 \, \text{мс}
 +
$$
  
Теперь сложим все эти значения:
+
Переводим миллисекунды в секунды:
 
+
$$ 10 + 100 + 1000 + 10000 + 100000 + 1000000 = 1111100 $$
+
 
+
Таким образом, общее количество возможных паролей составляет 1 111 100.
+
 
+
Так как атака происходит с частотой один запрос в миллисекунду, то среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:
+
 
+
$$ t{\text{среднее}} = \frac{1}{2} \times 1111100 \, \text{мс} = 555550 \, \text{мс} $$
+
 
+
Переведем миллисекунды в секунды:
+
 
+
$$ 555550 \, \text{мс} = 555.55 \, \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}}
  

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

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

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

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

Ответы

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

Объяснение

Для решения задачи используем метод полного перебора всех возможных комбинаций паролей. Количество таких комбинаций зависит от длины пароля ($n$) и размера алфавита ($k$). Общее количество возможных паролей вычисляется по формуле:

$$ 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.

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

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

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

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

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

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