Опубликован: 19.01.2010 | Доступ: свободный | Студентов: 3187 / 438 | Оценка: 4.28 / 4.00 | Длительность: 26:16:00
ISBN: 978-5-9963-0242-0
Специальности: Математик
Лекция 11:

Шифрование, использующее современные шифры с симметричным ключом

A5/1

В этом разделе мы вводим шифр потока, который использует линейный регистр сдвига (см. лекции 9-10, LFSR Linear Feed Back Shift Register), чтобы создать битовый поток: A5/1. A5/1 (член семейства шифров A5) используется в Глобальной Системе Мобильной связи (GSM). Телефонная связь в GSM осуществляется как последовательность кадров на 228 битов, при этом каждый кадр длится 4,6 миллисекунды. A5/1 создает поток бит, исходя из ключа на 64 бита. Разрядные потоки собраны в буфере по 228 битов, чтобы складывать их по модулю два с кадром на 228 битов, как показано на рис. 11.11.

 Общий вид A5/1

Рис. 11.11. Общий вид A5/1
Генератор ключей

A5/1 используются три LFSR на 19,22,23 бита. LFSR , содержащие биты символов и синхронизации показаны на рис 11.12.

 Три линейных регистра сдвига для AS/5

Рис. 11.12. Три линейных регистра сдвига для AS/5

Однобитовый выход обеспечивает тактовыми импульсами буфер на 228 битов, который используется для шифрования (или дешифрования).

Инициализация. Инициализация выполняется для каждого кадра шифрования (или дешифрования). Она использует ключ засекречивания на 64 бита и 22 бита соответствующего номера кадра. Следующие шаги:

1. Сначала все биты в трех линейных регистрах сдвига устанавливаются в 0.

2. Второй: ключ на 64 бита смешивается со значением регистра согласно следующему коду. Каждый линейный регистр смещается на один шаг ( синхронизация ).

For (i = 0 to 63)
{
  Сложение по модулю 2 K[i] с крайними левыми битами всех трех регистров.
  Синхронизация всех трех линейных регистров сдвига
}

3. Повторить предыдущий процесс, но использовать 22 -битовый кадр.

for (i = 0 to 22)
{
  Сложение по модулю 2 номера кадра [i] с крайними левыми битами всех трех регистров.
  Синхронизация всех трех линейных регистров сдвига
}

4. В течение 100 циклов синхронизируется весь генератор. При этом используется мажоритарная функция (см. следующий абзац), для того чтобы определить, какой линейный регистр сдвига должен быть синхронизирован. Обратите внимание, что иногда синхронизация здесь означает, что два, а то и все три линейных регистра сдвига проходят процесс смещения.

for (i = 0 to 99)
{
  Синхронизация всего генератора, на основе мажоритарной функции
}

Мажоритарная функция. Значение мажоритарной функции ( majority ) с параметрами ( b1 b 2, b3 ) равно 1, если значение большинства битов — 1 ; если это — 0, то ее значение — 0. Например, majority (1, 0, 1) = 1, но majority (0, 0, 1) = 0. Значение мажоритарной функции определяется перед поступлением тактового импульса; три входных бита названы синхронизирующими битами: если самый правый бит равен нулю, это — биты линейных регистров LFSR1 [10], LFSR2 [11] и LFSR3 [11]. Обратите внимание, что в литературе эти биты 8, 10 и 10 отсчитывают слева (как это показано на рис. 11.12). Мы будем рассматривать 10, 11 и 11, считая справа. Это соглашение соответствует месту бита в характеристическом полиноме.

Ключевые биты потока. Генератор ключей создает ключевой поток в один бит при каждом тактовом импульсе. Прежде чем ключ создан, вычисляется мажоритарная функция. Затем каждый линейный регистр сдвига синхронизируется, если его бит синхронизации соответствует результату мажоритарной функции; иначе — он не синхронизируется.

Пример 11.7

В некоторый момент времени биты синхронизации — 1, 0 и 1. Какой должен быть LFSR?

Решение

Результат Majority (1, 0, 1) = 1. LFSR1 и LAFS3 сдвигаются, а LFSR2 — нет.

Шифрование/дешифрование

Разрядные потоки, созданные генератором ключей, записываются в буфер, чтобы потом сформировать ключ на 228 битов, который затем складывает по модулю два с кадром исходного текста, чтобы создать кадр зашифрованного текста. В один момент времени делается шифрование/дешифрование одного кадра.

Проблемы безопасности

Хотя GSM продолжает использовать A5/1, уже были зарегистрированы несколько атак на GSM. Две из них были упомянуты. В 2000 году Алекс Бирюков, Дэвид Вагнер и Эди Шамир показали, что атака в реальном масштабе времени находит ключ за несколько минут на основе известных малых исходных текстов, но это требует этапа предварительной обработки с 248 шагами. В 2003 Экдахи и Джонсон (Ekdahi и Johannson) опубликовали атаку, которая вскрывала A5/1 за несколько минут, используя анализ исходного текста в течение 2-5 минут. Имея в виду некоторые новые атаки GSM, возможно, в будущем нужно будет сменить или укрепить A5/1.

11.3. Другие проблемы

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

Управление ключами

Алиса и Боб должны совместно использовать секретный ключ, чтобы иметь надежную связь с использованием шифра с симметричным ключом. Если есть n объектов в сообществе, каждый из которых хочет связаться с n – 1 другим объектом, то тогда необходимы n (n – 1) ключей засекречивания. Однако при шифровании симметричными ключами один ключ может использоваться в обоих направлениях: от Алисы к Бобу и от Боба к Алисе. Это означает, что нужно только n (n – 1)/2 ключей. Если n — приблизительно миллион, то должны быть выданы почти пятьсот миллионов ключей. Поскольку это нереально, то были найдены несколько других решений. Первое: каждый раз, когда Алиса и Боб хотят связаться, они могут создать между собой сеансовый (временный) ключ. Второе: могут быть установлены один или более центров распределения ключей, чтобы распределять сеансовые ключи для объектов. Все эти проблемы — часть теории управления ключами.

Управление ключами будет обсуждаться в лекции 15.

Генерирование ключей

Другая проблема в шифровании симметричными ключамибезопасная генерация ключа. Различные шифры с симметричным ключом нуждаются в ключах различных размеров. Выбор ключа должен базироваться на гарантии безопасности систематического метода для избежания утечки. Если Алиса и Боб генерируют сеансовые ключи между собой, они должны выбрать ключ случайным образом, так, чтобы Ева не могла предвидеть, каков будет следующий ключ. Если ключи должен распределять ключевой центр, они должны иметь случайный характер, чтобы Ева не могла получить ключ, назначенный Алисе и Бобу, из ключа, назначенного Джону и Еве. Это подразумевает, что нужен генератор случайных (или псевдослучайных) чисел. Поскольку обсуждение генератора случайных чисел включает некоторые темы, которые еще не были рассмотрены, изучение генераторов случайных чисел представлено в приложении K.

Генераторы случайных чисел будут обсуждаться в приложении K.
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Дмитрий Плешаков
Дмитрий Плешаков

Здравствуйте. На данныйц момент я изучаю курс Математика криптографии и теория шифрования. Стоимость обучения на данном курсе указана 1 руб., но, при этом доступ к лекциям указан платный. Не могли бы Вы прояснить данный момент, и, если доступ платный, какова стоимость лекций и общая стоимость курса.

Заранее благодарен.