Приветствую Вас Гость | RSS

Суббота, 29.06.2024, 08:21
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
13. Алгоритмы симметричного шифрования
BlofeldДата: Суббота, 16.01.2010, 16:18 | Сообщение # 1
Местный копирайтер
Группа: Администраторы
Сообщений: 583
Репутация: 2012
Статус: Offline
Рассмотрим общую схему симметричной, или традиционной, криптографии.

Рис. Общая схема симметричного шифрования

В процессе шифрования используется определенный алгоритм шифрования, на вход которому подаются исходное незашифрованное сообщение, называемое также plaintext, и ключ. Выходом алгоритма является зашифрованное сообщение, называемое также ciphertext. Ключ является значением, не зависящим от шифруемого сообщения. Изменение ключа должно приводить к изменению зашифрованного сообщения.Зашифрованное сообщение передается получателю. Получатель преобразует зашифрованное сообщение в исходное незашифрованное сообщение с помощью алгоритма дешифрования и того же самого ключа, который использовался при шифровании, или ключа, легко получаемого из ключа шифрования.Незашифрованное сообщение будем обозначать P или M, от слов plaintext и message. Зашифрованное сообщение будем обозначать С, от слова ciphertext.Клод Шеннон ввел понятия диффузии и конфузии для описания стойкости алгоритма шифрования.
Диффузия - это рассеяние статистических особенностей незашифрованного текста в широком диапазоне статистических особенностей зашифрованного текста.
Конфузия - это уничтожение статистической взаимосвязи между зашифрованным текстом и ключом. Если Х - это исходное сообщение и K - криптографический ключ, то зашифрованныйпередаваемый текст можно записать в виде Y = EK[X]. Получатель, используя тот же ключ, расшифровывает сообщение X = DK[Y]. Противник, не имея доступа к K и Х , должен попытаться узнать Х, K или и то, и другоею Алгоритмы симметричного шифрования различаются способом, которым обрабатывается исходный текст. Возможно шифрование блоками или шифрование потоком.Блок текста рассматривается как неотрицательное целое число, либо как несколько независимых неотрицательных целых чисел. Длина блока всегда выбирается равной степени двойки. В большинстве блочных алгоритмов симметричного шифрования используются следующие типы операций:
• Табличная подстановка, при которой группа битов отображается в другую группу битов. Это так называемые S-box.
• Перемещение, с помощью которого биты сообщения переупорядочиваются.
• Операция сложения по модулю 2, обозначаемая XOR или .
• Операция сложения по модулю 2^32 или по модулю 2^16.
• Циклический сдвиг на некоторое число битов.эти операции циклически повторяются в алгоритме, образуя так называемые раунды. Входом каждого раунда является выход предыдущего раунда и ключ, который получен по определенному алгоритму из ключа шифрования K. Ключ раунда называется подключом.

Области применения
Стандартный алгоритм шифрования должен быть применим во многих приложениях:
• Шифрование данных. Алгоритм должен быть эффективен при шифровании файлов данных или большого потока данных.
• Создание случайных чисел. Алгоритм должен быть эффективен при создании определенного количества случайных битов.
• Хэширование. Алгоритм должен эффективно преобразовываться в одностороннюю хэш-функцию.

Дополнительные требования
• Алгоритм шифрования должен, по возможности, удовлетворять некоторым дополнительным требованиям.
• Алгоритм должен быть простым для написания кода, чтобы минимизировать вероятность программных ошибок.
• Алгоритм должен иметь плоское пространство ключей и допускать любую случайную строку битов нужной длины в качестве возможного ключа. Наличие слабых ключей нежелательно.
• Алгоритм должен легко модифицироваться для различных уровней безопасности и удовлетворять как минимальным, так и максимальным требованиям.
• Все операции с данными должны осуществляться над блоками, кратными байту или 32-битному слову.

 
  • Страница 1 из 1
  • 1
Поиск: