2.13M
Категория: ИнформатикаИнформатика

Хэширование и хэш - функции

1.

2.

3.

4.

Свойства хэш-функций

5.

Типы хэш-функций

6.

Примеры криптографических хэш-функций

7.

Примеры некриптографических хэш-функций

8.

Где используются хэш-функции?

9.

Где используются хэш-функции?

10.

Где используются хэш-функции?

11.

Где используются хэш-функции?

12.

Хэширование в блокчейне
Хэширование является важной частью блокчейн технологии. Хэш-функции
используются для создания уникальных идентификаторов блоков, транзакция и
адресов кошельков. Это позволяет обеспечить конфиденциальность и защиту от
возможных мошеннических действий и атак.
Каждый блок содержит хеш предыдущего блока, что обеспечивает целостность
цепочки блоков

13.

Коллизии

14.

Коллизии

15.

Разрешение
коллизий

16.

Метод цепочек

17.

Метод цепочек

18.

Задание 1
Написать (или изменить существующий) класс хеш-таблицы, включающий
методы вставки insert(self, key, value), поиска search(self, key) и удаления
delete(self, key), но с добавленным функционалом обработки коллизий методом
цепочек.
Написать свою хэш-функцию. Размер таблицы можно выбрать любой, но чтобы
по выводу программы можно было судить о правильной реализации метода
цепочек.
Саму программу и скриншот её вывода поместить в отчёт.

19.

Задание 2: Связка ЭЦП и хэша
1. Установка openSSL
Для установки openSSL нужно перейти по ссылке
https://slproweb.com/products/Win32OpenSSL.html
и скачать файл установщика.
После чего запустить его и следовать инструкциям установщика.

20.

Задание 2: Связка ЭЦП и хэша
2. Открываем консоль openSSL

21.

Задание 2: Связка ЭЦП и хэша
3. Создание ключей
После того, как открыли OpenSSL мы можем использовать команды openssl для
генерации ключей.
Команда для создания приватного ключа:
openssl genpkey -algorithm RSA -out private_key.pem
Команда для создания публичного ключа:
openssl rsa -pubout -in private_key.pem -out public_key.pem
Сделать скриншот результата выполнения этих двух команд.

22.

Задание 2: Связка ЭЦП и хэша
4. Создать две папки: для отправителя и
получателя
Папку отправителя назвать своей
фамилией, папку получателя - фамилией
кого-либо из создателей презентации.
В папку отправителя поместить
сгенерированные ключи, файл, для
которого будет создаваться подпись, а
также текстовый файл, в который она
запишется после создания.
В папку получателя поместить открытый
ключ, чтобы он мог с помощью него
расшифровать хеш.
Сделать скриншот папки отправителя и
получателя.

23.

Задание 2: Связка ЭЦП и хэша
5. Запустить программу для создания цифровой подписи, предварительно указав
в ней пути к нужным файлам в папке отправителя.
Теперь подпись хранится в файле signature.txt (можно использовать любое имя
файла). В файле появится примерно такое содержимое(это нормально):
Сделать скриншот открытого файла

24.

Задание 2: Связка ЭЦП и хэша
6. Отправка получателю важного документа и подписи для него
Теперь получатель имеет следующий набор:

25.

Задание 2: Связка ЭЦП и хэша
7. Запустить программу для проверки подписи получателем, предварительно указав
в ней пути к нужным файлам в папке получателя. Сделать скриншот вывода
программы.
8. Изменить документ в папке получателя, запустить программу для проверки
подписи повторно, сделать скриншот вывода программы.

26.

Вопросы
1. Что такое хэш-функция?
2. Какие существуют типы хэш-функций? Чем они отличаются?
3. Что такое коллизия и когда она возникает?

27.

Спасибо за внимание!
English     Русский Правила