моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Прежде чем знакомиться с потоковыми шифрами, давайте сначала поймем базовую операцию XOR точки знаний.
Правила работы: такие же, как 0, отличные от 1.
Особенности: Один бит дважды подвергается операции XOR и может быть восстановлен до исходного бита.
Обычный текст: 1100
Ключ: 0101 (зашифрованный)
Шифрованный текст: 1001
Ключ: 0101 (расшифровка)
Обычный текст: 1100
преимущество:Эта обратимость позволяет использовать операцию XOR как для преобразований шифрования, так и для дешифрования.
недостаток:Если злоумышленник сможет угадать или захватить ключ, его можно легко расшифровать с помощью XOR.
Причина, по которой операцию XOR можно использовать для шифрования и дешифрования одновременно, заключается в ее обратимости, но это также и ее недостаток. Безопасность полностью полагается на сокрытие ключа.
One-Time Pad (OTP) — это алгоритм потокового шифрования. Теоретически он считается одним из наиболее безопасных методов шифрования при условии, что его реализация строго соответствует нескольким ключевым принципам:
1. Ключ должен быть такой же длины, как и открытый текст.: Это означает, что при каждом шифровании используется ключ той же длины, что и шифруемое сообщение.
2. Ключ должен быть действительно случайным: Каждый бит ключа должен генерироваться случайным образом, без какой-либо закономерности или предсказуемости.
3. Ключ необходимо использовать только один раз: один и тот же ключ не должен использоваться для шифрования нескольких сообщений, иначе корреляция между зашифрованными текстами может использоваться для определения содержимого сообщения.
4. Ключ должен храниться в секрете: Распространение и хранение ключей должны быть максимально безопасными, чтобы предотвратить доступ третьих лиц.
преимущество:
недостаток:
Когда люди изучают алгоритмы шифрования одноразовых блокнотов, они пытаются решить проблемы управления ключами и их длины. Если существовал способ сгенерировать все ключи для шифрования открытого текста, предоставляя только небольшую часть ключа, то поточный шифр был разработан на основе этой идеи.
В поточном шифре небольшой ключ (часто называемый начальным числом или вектором инициализации) используется через генератор псевдослучайных чисел (PRNG) для генерации потока псевдослучайных ключей той же длины, что и открытый текст. Затем этот ключевой поток подвергается операции XOR с открытым текстом для получения зашифрованного текста. Аналогично, процесс дешифрования заключается в выполнении XOR зашифрованного текста с тем же потоком ключей для восстановления открытого текста.
ключсгенерировать ключевой поток
И используйте следующие правила для сравнения простых текстовых строк
Чтобы зашифровать:
![]()
Регистр сдвига с линейной обратной связью обычно используется для генерации псевдослучайных ключей. Этот принцип здесь обсуждаться не будет.
Процесс шифрования и дешифрования можно описать следующим образом:
Принципы разработки потоковых шифров на самом деле сосредоточены на создании генератора потока ключей, который может создавать поток ключей с определенными свойствами безопасности. Последовательность ключевого потока должна иметь следующие свойства:
огромный цикл : Период потока ключей должен быть достаточно продолжительным, чтобы предотвратить повторное использование одного и того же сегмента потока ключей, что может выявить закономерности в зашифрованных данных и позволить криптоаналитикам проводить атаки путем сравнения сходств и различий различных сообщений. Теоретически для n-битного пространства ключей идеальная длина цикла должна составлять 2n-1. На практике более длительные периоды означают, что поток ключей повторяется реже, что повышает безопасность криптосистемы.
хорошие статистические свойства : поток ключей должен выглядеть как действительно случайная последовательность битов, то есть он должен удовлетворять различным статистическим тестам, таким как равное распределение нулей и единиц, независимость между любыми двумя или более последовательными битами, а также отсутствие прогнозируемых шаблонов или периодичности. Хорошие статистические свойства помогают обеспечить непредсказуемость ключевого потока, который является важным компонентом безопасности потокового шифрования.
Устойчивость к линейному анализу : Поточный шифр должен быть устойчив к линейному анализу, при котором криптоаналитик пытается восстановить ключ или открытый текст, находя линейную корреляцию между потоком ключей и открытым текстом или зашифрованным текстом. Обычно для этого требуется, чтобы выходные данные генератора потока ключей были нелинейными или, по крайней мере, содержали достаточное количество нелинейных компонентов, чтобы простые методы решения линейных систем не могли вывести поток ключей или сам ключ.