Адлет. 4 лаба. Таырыбы Хэштеу алгоритмдеріні асиеттері
Скачать 449.1 Kb.
|
|
№ | Жұмыстыорындаусапасы | Баға диапазоны | Орындалған % |
1 | Орындалғанжоқ | 0% | |
2 | Орындалды | 0-50% | |
3 | Материялдықөзіндікжүйелендіру | 0-10% | |
4 | Талапетілгенкөлемдежәнекөрсетілгенмерзімдеорындау | 0-5% | |
5 | Қосымшағылымиәдебиеттердіпайдалану | 0-5% | |
6 | Орындағантапсырманыңерекшелігі | 0-10% | |
7 | СӨЖ-діқорғау | 0-20% | |
| Қорытынды: | 0-100% | |
Оқытушы: Cұлтан Ж.Б.
Студент: Саттаров Адилет
Мамандығы:Ақпараттық қауіпсіздік
Алматы 2023ж
Хэштеу алгоритмдерінің қасиеттері.
Первое свойство называется детерминизмом. Это означает, что вывод хеш-функции не меняется между выполнениями, если она выполняется на одном и том же входе. Не имеет значения, когда и на какой машине Вы вычисляете хеш, он будет таким же, если Вы используете тот же алгоритм.
В этом примере я вычислил хеш слова «linux» двумя разными способами, используя команду sha512sum, и используя команду openssl:
Это тот же хеш, если я вычисляю его с помощью онлайн-инструмента, и мы получим тот же результат.
Еще одно важное свойство хеш-функций — что два разных входа всегда имеют разные хеши, или мы можем сказать, что если два входа, такие как два файла, имеют одинаковый хеш, они должны быть равны, если один бит изменяется на входе, это создаст совершенно другой хэш.
Давайте вычислим хеш слова «computer» с помощью sha256. Команда будет выглядеть как: echo –n “computer” | openssldgst –sha256:
Теперь давайте вычислим хеш слова «computer1», используя тот же алгоритм:
Мы заметим, что два разных вывода, имеют два разных хеша. Каждый вход имеет свой собственный уникальный хеш. Имейте это в виду, но теоретически говоря, возможны коллизии.
Следующее свойство хеш функции является односторонним, и означает, что это вычислительно неосуществимо для определения исходного сообщения от работы хеша.
Хеш функции, всегда производят вывод фиксированной длины, независимо от размера ввода. Например, sha256 всегда производит хеш 256 бит и sha 512 — хеш 512 бит. Давайте рассмотрим несколько примеров. Я вычислю хеш двух символов a и b, используя sha256. Команда будет выглядеть как: «echo –n “ab” | sha256sum»:
Это хеш, который имеет длину 256 бит. Теперь я вычисляю хеш фразы: «echo –n “I learn Ethical Hacking” | sha256sum»:
Выходной хеш имеет ту же длину в 64 символа. Давайте теперь посмотрим хеш файла, который мне неинтересен, и его хеш будет иметь длину 256 бит. Команда будет выглядеть как: «sha»:
Доступ запрещен. Давайте попробуем проверить файл /etc/passwd:
И, для сравнения, откроем файл «group»:
Мы видим, что хеши такой же длины, даже если бы у меня был файл одного гигабайта, его хеш будет иметь такую же длину.
Другое свойство алгоритмов хеширования — лавинный эффект. Изменяющий один бит на входе, должен создавать лавинный эффект, и его результат — совершенно другой хеш. Посмотрим пример. Давайте возьмем файл большего размера, для примера, файла словаря, который поставляется с kalilinux, и рассмотрим, сколько символов и слов в этом файле. Это команда: «wc /usr/share/dict/wordlist-probable.txt»:
В нем более 2 миллионов символов. Давайте посчитаем хеш этого файла:
Это хеш, и я добавлю несколько символов в словарь. Я открываю файл с помощью nano, предварительно переключившись на рут:
$ nano /usr/share/dict/wordlist-probable.txt
Мы замечаем, что хеш совершенно другой. Это фактически новыйхеш, и мы можем назвать это лавинным эффектом.Данные свойства, которые мы только что обсудили, являются самыми важными для любой хеш-функции.