2011-gre-cs-practice-book.pdf/Q31 — различия между версиями
Ydanyok (обсуждение | вклад) (→Объяснение) |
Ydanyok (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
=== Объяснение === | === Объяснение === | ||
+ | == Решение задачи о подборе пароля методом brute-force == | ||
− | + | ### Постановка задачи | |
+ | |||
+ | Нам дано, что пароль состоит из 1–6 символов из 10-символьного алфавита. Атака методом brute-force отправляет запросы аутентификации с частотой один раз в миллисекунду. Необходимо найти среднее время, которое потребуется для определения пароля. | ||
+ | |||
+ | ### Метод полного перебора | ||
+ | |||
+ | Количество возможных паролей определяется формулой: | ||
$$ | $$ | ||
Строка 22: | Строка 29: | ||
$$ | $$ | ||
− | В | + | где $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)
Рассмотрим атаку подбора пароля методом простого подбора(brute-force), которая может отправлять запросы аутентификации с частотой один раз в миллисекунду. Предположим, что пароль состоит из 1–6 символов из 10-символьного алфавита. В среднем, сколько примерно секунд потребуется, чтобы определить пароль с помощью этого типа атаки?
Ответы
- Правильный ответ: 555
- 100
- 500
- 1000
- 1111
Объяснение
Решение задачи о подборе пароля методом brute-force
- Постановка задачи
Нам дано, что пароль состоит из 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.
- Расчет среднего времени
Так как атака происходит с частотой один запрос в миллисекунду, среднее время, необходимое для определения пароля, будет равно половине общего количества возможных паролей, умноженной на длительность одного запроса:
$$ 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е.