Вы находитесь на странице: 1из 2

Лабораторная работа N6

Использование хэш-функций на примере MD5. Оценка устойчивости пароля ко


взлому.

Цель работы. Ознакомиться на практике с работой хэш-функций. Написать на Matlab


программу для оценивания устойчивости пароля ко взлому.

Теоретические основы:

Оценим устойчивость U пароля по взлому.

1. Пусть L - длина пароля.


Если длина пароля L ≤ 4, то U=0
иначе, если 5 ≤ L ≤ 7, то U=6
иначе, если 8 ≤ L ≤ 15, то U=12
иначе, если 16 ≤ L, то U=18
2. Если в пароле есть буквы, но только в одном (нижнем или верхнем регистре), то U=U+5
иначе, если в пароле есть буквы и в нижнем и в верхнем регистрах, то U=U+7
3. Пусть N - число цифр в пароле.
Если число цифр в пароле 1 ≤ N ≤ 2, то U=U+5
иначе, если 3 ≤ N, то U=U+7
4. Пусть S - число спецсимволов (#$%@) в в пароле.
Если 1 ≤ S < 2, то U=U+5
иначе, если 2 ≤ S, то U=U+10.
5. Если в пароле есть буквы в обоих регистрах, спецсимволы и цифры, то U=U+6
иначе, если только чего-то одного из этого нет, U=U+4.

Если U < 16 - пароль очень слабый


иначе, если 15 < U < 25 – слабый
иначе, если 24< U < 35 – средний
иначе, если 34< U < 45 – сильный
иначе, если 44 < U – очень сильный

Методические указания:

1. Создайте на своем компьютере какой-нибудь рабочий подкаталог и скопируйте туда *.m


файлы из каталога лабораторной работы. Запустите Matlab и выберите созданный подкаталог
в качестве “Current Directory”.
2. Ознакомьтесь с прилагаемой к лабораторной работе функцией вычисления хэш-функции
MD5 (файл md5.m). Наберите в Matlab команду help md5
3. Присвойте текстовой переменной свое ФИО. Например, s=’Пономаренко Николай
Николаевич’; Вычислите значение MD5 для этой переменной. Измените какую-нибудь одну
букву в своем ФИО. Вычислите значение MD5 для измененного текста. Поясните
полученный результат.

1
4. Поясните, как хэш-функция может использоваться при аутентификации для того, чтобы
обеспечить подлинность сеанса связи и скрыть пароль, передаваемый по каналам связи от
пользователя к серверу.
5. Напишите программу для оценивания сложности пароля (заданного в виде текстовой
строки). В подкаталоге лабораторной работы выложены функции, облегчающие написание
этой программы:
isbigl(s) - возвращает 1, если s - буква в верхнем регистре
issml(s) - возвращает 1, если s - буква в нижнем регистре
iscif(s) - возвращает 1, если s - цифра
isspec(s) - возвращает 1, если s - спецсимвол
Ознакомьтесь с текстами этих функций и используйте их при написании своей программы.
6. Продемонстрируйте на примерах работу своей программы. Приведите примеры среднего и
сильного паролей.