- •Информация. Способы и средства защиты информации.
- •Симметричные системы шифрования. Основные группы алгоритмов симметричного шифрования.
- •3. Методы полиграммной подстановки. Приведите примеры.
- •4. Алгоритмы генерации псевдослучайных чисел
- •5. Алгоритм des. Основные преобразования, используемые в алгоритме des
- •6. Алгоритм rsa. Генерация открытого и закрытого ключей.
- •7. Ассиметричное шифрование. Схема генерации ключей и работы с ними.
- •8. Хэш функции. Основные требования, слабая и сильная хэш-функция
4. Алгоритмы генерации псевдослучайных чисел
Существует несколько алгоритмов генерации псевдослучайных чисел (ПСЧ), которые используются в различных областях информатики, криптографии, моделирования и т.д. Вот некоторые из наиболее распространенных алгоритмов:
5. Алгоритм des. Основные преобразования, используемые в алгоритме des
Стандарт DES (Data Encryption Standart) • Длина блока – 64 бит. • Длина ключа 56 бит. • Для шифрования и дешифрования используются одинаковые алгоритм и ключ. • Состоит из 16 циклов.
DES позволяет использовать для шифрования или дешифрирования блока одну и ту же функцию. Единственное отличие состоит в том, что ключи должны использоваться в обратном порядке. При расшифровании – раундовые ключи те же, что и при шифровании. Но они используются в обратном порядке !
DES (Data Encryption Standard) - это один из наиболее широко используемых симметричных алгоритмов шифрования. Он был разработан в 1970-х годах и широко использовался в течение многих лет до того, как был заменён более современными алгоритмами шифрования, такими как AES (Advanced Encryption Standard).
Основные преобразования, используемые в алгоритме DES, включают в себя:
1. **Перестановка (Permutation)**: Перестановка битов выполняется в различных этапах DES, чтобы обеспечить диффузию и конфузию. Примеры перестановок включают начальную перестановку (IP) и конечную перестановку (FP).
2. **Функция Фейстеля (Feistel function)**: DES использует структуру Фейстеля для шифрования данных. Она состоит из четырех основных шагов:
- **Расширение (Expansion)**: Расширение входных данных до более длинной последовательности для обеспечения большей сложности в вычислениях.
- **Применение ключа (Key Mixing)**: Использование подключа для добавления дополнительной нелинейности в функцию.
- **Подстановка (Substitution)**: Применение S-блоков (Substitution boxes), которые заменяют блоки битов в соответствии с заранее определенными таблицами замен.
- **Перестановка (Permutation)**: Перестановка битов для смешивания данных.
3. **Ключи (Keys)**: DES использует ключи для обеспечения безопасности шифрования. Он работает с ключом длиной 56 бит, но фактически использует только 48 бит из него. В процессе шифрования ключ разбивается на 16 подключей, каждый из которых используется в раунде шифрования.
4. **Раундовые функции (Round functions)**: DES выполняет шифрование в несколько раундов (обычно 16). Каждый раунд включает в себя применение функции Фейстеля к данным с использованием уникального подключа.
Эти преобразования обеспечивают высокую степень безопасности и смешивают данные, чтобы сделать шифр устойчивым к различным видам атак. Однако DES стал уязвим к атакам перебора ключа, и его использование в настоящее время не рекомендуется для новых систем.
6. Алгоритм rsa. Генерация открытого и закрытого ключей.
Алгоритм RSA (Rivest-Shamir-Adleman) является одним из самых широко используемых асимметричных криптографических алгоритмов. Он основан на задаче факторизации больших простых чисел. Вот как происходит генерация открытого и закрытого ключей в алгоритме RSA: