Алгоритмы шифрования семейства blowfish

Содержание

Слайд 2

АКТУАЛЬНОСТЬ Безопасность данных в современном мире крайне важна. Для их шифрования

АКТУАЛЬНОСТЬ

Безопасность данных в современном мире крайне важна. Для их шифрования было

изобретено множество алгоритмов шифрования. Долгое время незаменимым стандартом являлся DES. Но и у него были найдены слабости, из-за чего компании нуждались в новых более надёжных и быстрых алгоритмах шифрования.
Слайд 3

ЦЕЛЬ ПРОЕКТА Спроектировать программы реализующие алгоритмы шифрования семейства blowfish (blowfish, twofish, treefish) и проанализировать их особенности.

ЦЕЛЬ ПРОЕКТА

Спроектировать программы реализующие алгоритмы шифрования семейства blowfish (blowfish, twofish, treefish)

и проанализировать их особенности.
Слайд 4

ЗАДАЧИ Изучить принцип работы алгоритмов семейства blowfish. По документации написать программы,

ЗАДАЧИ

Изучить принцип работы алгоритмов семейства blowfish.
По документации написать программы, реализующую алгоритмы

на языке C.
Проверить правильность работы написанных алгоритмов, сравнив полученные данные с тестовыми векторами.
Проанализировать результаты программ.
Слайд 5

Сравнение алгоритмов

Сравнение алгоритмов

Слайд 6

Шифрование и расшифрование blowfish 16 раундов сети Фейстеля. Для расшифрования подключи берутся от последнего к первому

Шифрование и расшифрование blowfish

16 раундов сети Фейстеля.
Для расшифрования подключи берутся

от последнего к первому
Слайд 7

Сеть Фейстеля blowfish 64-х битовый блок разбивается на два 32-х битовых

Сеть Фейстеля blowfish

64-х битовый блок разбивается на два 32-х битовых
Левый блок

ксорится со значением подключа, проходит через функцию F(), ксорится со значением правого блока
Левый и правый блоки меняются
Слайд 8

Инициализация подключей blowfish Инициализация ключей проходит в два этапа: 1. Производится

Инициализация подключей blowfish

Инициализация ключей проходит в два этапа:

1. Производится операция

xor исходных подключей с введенным ключом .

2. Полученные подключи шифруются алгоритмом blowfish.

Слайд 9

Функция шифрования twofish

Функция шифрования twofish

Слайд 10

Сеть Фейстеля и Функция F() twofish

Сеть Фейстеля и Функция F() twofish

Слайд 11

Иницилизация подключей twofish

Иницилизация подключей twofish

Слайд 12

Функция h() в иницилизации ключей twofish Функция h, сердце алгоритма Twofish,

Функция h() в иницилизации ключей twofish

Функция h, сердце алгоритма Twofish,
примененная

к множествам Mo и Me –
формирует множество раундовых
подключей. Функция q — основа
функции h.
Слайд 13

Функция шифрования treefish

Функция шифрования treefish

Слайд 14

Функции mix() и demix() treefish

Функции mix() и demix() treefish

Слайд 15

Инициализация подключей

Инициализация подключей

Слайд 16

Значения, полученные программой соответствуют значениям тестовых векторов. Алгоритм работает верно. Шифрование блоков алгоритмом blowfish.

Значения, полученные программой соответствуют значениям тестовых векторов. Алгоритм работает верно.

Шифрование блоков

алгоритмом blowfish.
Слайд 17

Пример шифрования twofish (128 бит ключ)

Пример шифрования twofish (128 бит ключ)

Слайд 18

Примеры шифрования алгоритмом Treefish (512 бит блок)

Примеры шифрования алгоритмом Treefish (512 бит блок)

Слайд 19

Особенности алгоритмов Blowfish – быстро работает, но генерация подключей занимает большое

Особенности алгоритмов

Blowfish – быстро работает, но генерация подключей занимает большое количество

времени.
Twofish – отличается большей степенью защищённости, но при этом функции шифрования заметно усложняются.
Treefish – множественное повторение простых функций, отсутствие иницилизации S блоков,что делает данный алгоритм наиболее быстрым и простым из трёх, но и самым защищённым.
Слайд 20

Итог Проведя данный проект мы познакомились с методами блочного симметричного шифрования,

Итог

Проведя данный проект мы познакомились с методами
блочного симметричного шифрования, на практике

разобрали
работу бинарных операций и функций, разобрали сложение и
умножение в поле Галуа, которое использовалось в twofish,
получили большое кол-во практики написания кода при реализации
алгоритмов на языке си. все поставленные задачи были выполнены.