---
# System prepended metadata

title: Занятие 2. Современные концепции шифрования.
tags: [Cryptography and Steganography]

---

# Занятие 2. Современные концепции шифрования.

###### tags: `Cryptography and Steganography`
![](https://i.imgur.com/6ghNzSI.png)

## Основные методы шифрования

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

![](https://i.imgur.com/6xBQdNn.png)

## Рождение современной криптографии

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

Решение: Протокол Диффи-Хеллмана(правда протокол уязвим на MITM атаки, более подробно это было расмотренно на лекции, видеозапись которой вы можете просмотреть)

![](https://i.imgur.com/8cecBPE.png)

## Протокол Диффи - Хеллмана

Демонстрация работы данного протокола

![](https://i.imgur.com/F0zXhMU.png)

## Из чего состоит современное шифрование

Пояснения: 

Шифры - некие алгоритмы, манипуляции над данными, которые позволяют имея сведения о ключе как зашифровать данные, так и расшифровать их.
Симметричные шифры - для которых процесс шифрования и дешифрования производится с помощью одного ключа.
Ассиметричные шифры - это шифры, в которых для шифрования и расшифрования используются два разных ключа, причём эти ключи связанны между собой математически.
Функции хэширования - функция, осуществляющая преобразование массива входных данных произвольной длины в выходную битовую строку установленной длины, выполняемое определённым алгоритмом.
ЭЦП - Электронно Цифровая Подпись, некий алгоритм, позволяющий доказать авторство при отправки данных
МАС - имитовставка, средство обеспечения имитозащиты в протоколах аутентификации сообщений с доверяющими друг другу участниками — специальный набор символов, который добавляется к сообщению и предназначен для обеспечения его целостности и аутентификации источника данных.
CRC - Контроль целостности, класс алгоритмов, позволяющих контролировать целостность данных при манипуляции над ними.

![](https://i.imgur.com/5E9237H.png)

## Домашнее задание

Написать на удобном вам языке программирования клиент сервер, который будет реализовывать рассмотренный в лекции протокол формирования ключа. 

`Удачи!!!`
