- •2.Патентно-информационный анализ
- •2.1 Изделие е-61ра
- •2.1.1 Изделие е-61ра обеспечивает:
- •2.2 Аппаратура криптографической защиты документальной информации. Т-237е
- •2.2.1 Аппаратура обеспечивает:
- •2.2.2Назначение составных устройств аппаратуры:
- •2.3 Аппаратура автоматического засекречивания речевой информации е-58 с обеспечением режима "Абонент - секретарь"
- •3.1 Архитектура программируемых логических интегральных схем (плис или fpga)
- •3.2 Классификация по типу хранения конфигурации плис.
- •2.3.2 Состав аппаратуры:
- •3.Анализ существующих программируемых логических интегральных схем
- •3.3 Конфигурируемые логические блоки.
- •3.4 Программируемые связи логических блоков.
- •3.4 Компилятор для проектирования плис.
- •4. Элементная база и по.
- •4.1 Элементная база
- •4.1.2 Выбор отладочной платы
- •4.2 Программное обеспечение
- •4.3 Обоснование выбора элементной базы и по.
- •1.Разработка проекта гост 28147-89 для программирования плис
- •1.1 Режим простой замены
- •1.1.1 Зашифрование открытых данных
- •1.1.2 Расшифрование зашифрованных данных в режиме простой замены
- •2. Режим гаммирования
- •2.1.1. Зашифрование открытых данных в режиме гаммирования
- •4.4.2. Расшифрование зашифрованных данных в режиме гаммирования
1.1.2 Расшифрование зашифрованных данных в режиме простой замены
Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид (см. рисунок 2), что и при зашифровании. В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бита в каждом.
Ввод любого блока Тш=(а1(32), а2(32), …, а32(32),
b1(32), b2(32), …,
b32(32)) в накопители N1 и N2 производится так,
что значение а1(32) вводится в 1-й разряд N1,
значение a2(32) вводится во 2-й разряд N1,
и т.д., значение a32(32) вводится в 32-й разряд N1;
значение b1(32) вводится в 1-й разряд N2, значение b2(32) вводится во 2-й разряд N2 и т.д.,
значение b32(32) вводится в 32-й разряд N2.
Расшифрование осуществляется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнения накопителей Х0, Х1, …, Х7 считываются из КЗУ в циклах расшифрования в следующем порядке:
Х0, Х1, Х2, Х3, Х4, Х5, Х6, Х7, Х7, Х6, Х5, Х4, Х3, Х2, Х1, Х0,
Х7, Х6, Х5, Х4, Х3, Х2, Х1, Х0, Х7, Х6, Х5, Х4, Х3, Х2, Х1, Х0.
Полученные после 32 циклов работы заполнения накопителей N1 и N2 составляют блок открытых данных.
Т0=(a1(0), a2(0), …, a32(0), b1(0), b2(0), …, b32(0)), соответствующий блоку зашифрованных данных,
при этом значение а1(0) блока Т0 соответствует содержимому 1-го разряда N1, значение а2(0) соответствует содержимому 2-го разряда N1 и т.д.,
значение а32(0) соответствует содержимому 32-го разряда N1;
значение b1(0) соответствует содержимому 1-го разряда N2, значение b2(0) соответствует содержимому 2-го разряда N2, и т.д.,
значение b32(0) соответствует содержимому 32-го разряда N2.
Аналогично расшифровываются остальные блоки зашифрованных данных.
2. Режим гаммирования
2.1.1. Зашифрование открытых данных в режиме гаммирования
Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, должна иметь вид, приведенный на рисунке 1б.
Рисунок 1б
Открытые данные, разбитые на 64-разрядные блоки Т0(1), Т0(2), …, Т0(М-1), Т0(М), зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СМ5 (рис 1) с гаммой шифра Гш, которая вырабатывается блоками по 64 бита:
Рис. 1 Сумматор СМ5 где:
inf[63…32]- гамма шифра Гш
ab[31…0] – зашифрованные данные , подготовленные для побитного сложения с гаммой шифра Гш
Гш=(Гш(1), Гш(2), …, Гш(М-1), Гш(М)),
где М – определяется объемом шифруемых данных.
Гш(i) – i-й 64-разрядный блок, i=1÷Ì, число двоичных разрядов в блоке Т0(М) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Гш(М) отбрасывается.
Рис2. КЗУ.
В КЗУ (Рис.2) вводятся 256 бит ключа. В накопители N1, N2 вводится 64-разрядная двоичная последовательность (синхропосылка) S=(S1, S2, …, S64), являющаяся исходным заполнением этих накопителей для последующей выработки М блоков гаммы шифра.
Синхропосылка вводится в N1 и N2 так, что значение S1 вводится в 1-й разряд N1, значение S2 вводится во 2-й разряд N1, и т.д.,
значение S32 вводится в 32-й разряд N1;
значение S33 вводится в 1-й разряд N2,
значение S34 вводится во 2-й разряд N2 и т.д.,
значение S64 вводится в 32-й разряд N2.
Исходное заполнение накопителей N1 и N2 (синхропосылка S) зашифровывается в режиме простой замены . Результат зашифрования переписывается в 32-разрядые накопители N3 (рис 3) и N4 (рис 4) так, что заполнение N1 переписывается в N3, а заполнение N2 переписывается в N4.
Рис
3. Мультиплексор и накопитель N3
для переключения записи из N1
, и записи просуммированной информации
из СМ3
Рис. 4 Мультиплексор и накопитель N4 для переключения записи из N2 , и записи просуммированной информации из СМ4
Заполнение накопителя N4 суммируется по модулю (232-1) в сумматоре СМ4 с 32-разрядной константой С1 из накопителя N6, результат записывается в N4.
Рис. 5 Константы С1 и С2
Заполнение накопителя N3 суммируется по модулю 232 в сумматоре СМ3 (рис 6) с 32-разрядной константой С2 из накопителя N5, результат записывается в N3.
Рис. 6 Сумматор СМ3
Рис. 7 Сумматор СМ4
Суммирование в СМ3 и СМ4 проходит на 2 такте
Заполнение N3 переписывается в N1, а заполнение N4 переписывается в N2, при этом заполнение N3, N4 сохраняется.
Заполнение N1 и N2 зашифровывается в режиме простой замены(п.1.1 переход на схему рис 8) .
Рис. 8 Переход на схему шифрования в режиме простой замены
Полученное в результате зашифрования заполнение N1, N2 образует первый 64-разрядный блок гаммы шифра Гш(1), который суммируется поразрядно по модулю 2 в сумматоре СМ5 с первым 64-разрядным блоком открытых данных Т0(1)=(t1(1), t2(1), …, t63(1), t64(1)). В результате суммирования получается 64-разрядный блок зашифрованных данных Тш(1)=(τ1(1), τ2(1), …, τ63(1), τ64(1)).
Значение τ1(1) блока Тш(1) является результатом суммирования по модулю 2 в СМ5 значения t1(1) из блока Т0(1)
со значением 1-го разряда N1, значение τ2(1) блока Тш(1) является результатом суммирования по модулю 2 в СМ5 значения t2(1) из блока Т0(1)
со значением 2-го разряда N1 и т.д., значение τ64(1) блока Тш(1) является результатом суммирования по модулю 2 в СМ5 значения t64(1) из блока Т0(1) со значением 32-го разряда N2.
Для получения следующего 64-разрядного блока гаммы шифра Гш(2) заполнение N4 суммируется по модулю (232-1) в сумматоре СМ4 с константой С1 из N6, заполнение N3 суммируется по модулю 232 в сумматоре СМ3 с константой С2 из N5. Новое заполнение N3 переписывается в N1, а новое заполнение N4 переписывается в N2, при этом заполнение N3 и N4 сохраняется.
Заполнение N1 и N2 зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнение N1, N2 образует второй 64-разрядный блок гаммы шифра Гш(2), который суммируется поразрядно по модулю 2 в сумматоре СМ5 со вторым блоком открытых данных Т0(2). Аналогично вырабатываются блоки гаммы шифра Гш(3), Гш(4) …, Гш(М) и зашифровываются блоки открытых данных Т0(3), Т0(4) …, Т0(М). Если длина последнего М-го блока открытых данных Т0(М) меньше 64 бит, то из последнего М-го блока гаммы шифра Гш(М) для зашифрования используется только соответствующее число разрядов гаммы шифра, остальные разряды отбрасываются.
В канал связи или память ЭВМ передаются синхропосылка S и блоки зашифрованных данных Тш(1), Тш(2) …, Тш(М).
