Сложение по модулю 2 в степени 32

Сложение по модулю 2 в степени 32

Калькулятор выполняет арифметические операции по заданному модулю.

Калькулятор решает заданное математическое выражение по модулю с отображением пошагового решения. Можно просто ввести целое число — калькулятор вычислит его остаток от деления по модулю. Также можно использовать следующие операции:

  • + сложение по модулю
  • вычитание по модулю
  • * умножение по модулю
  • / деление по модулю ( операция доступна для всех чисел только тогда, когда модуль — простое число )
  • ^ возведение в степень
  • () группировка выражений

В нашей стране установлен единый алгоритм криптографического представления данных для систем обработки информации в сетях ЭВМ, отдельных вычислительных комплексов и ЭВМ, который определяется ГОСТ 28147-89.

Этот алгоритм криптографического преобразования данных представляет собой 64-битовый блочный алгоритм с 256-битовым ключом, предназначен для аппаратной и программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степень секретности защищаемой информации.

При описании алгоритма используются следующие обозначения:

L и R — последовательности битов;
LR — конкатенация последовательностей L и R, в которой биты последовательности R следуют за битами последовательности L;
(+) — поразрядное сложение по модулю 2 (операция "исключающее ИЛИ");
[+] — сложение 32-разрядных чисел по модулю 2 32 ;
<+>- сложение 32-разрядных чисел по модулю 2 32 -1.

Числа суммируются по следующему правилу:

A [+] B = A + B, если A + B 32 ,
A [+] B = A + B — 2 32 , если A + B >= 2 32 . A <+>B = A + B , если A + B A <+>B = A + B — (2^32 — 1), если A + B >= 2^32 — 1.

В любом случае для шифрования данных используется 256-битовый ключ K, который представляется в виде восьми 32-битовых подключей K i :

K = K 7 K 6 K 5 K 4 K 3 K 2 K 1 K 0 .

Расшифрование выполняется по тому же ключу, что и шифрование, но этот процесс является инверсией процесса шифрования данных.

Режим простой замены

Первый и самый простой режим — замена. Данные, подлежащие шифрованию, разбивают на 64-битовые блоки. Процедура шифрования блока открытых данных T 0 включает 32 цикла (j=1. 32).

Блок T 0 разделяется на две последовательности по 32 бита: В(0)A(0), где В(0) — левые или старшие биты, A(0) — правые или младшие биты.

Эти последовательности вводят в накопители N 1 и N 2 перед началом первого цикла шифрования.

Первый цикл (j=1) процедуры шифрования 64-битового блока данных описывается следующими формулами:

< A(1) = f ( A(0) [+] K 0 ) (+) B(0),
B(1)=A(0).

Здесь A(1) — заполнение накопителя N 1 после 1-го цикла шифрования

< A(i)=f(A(i-1)[+]X(j)) (+) B(i-1),
B(i)=A(i-1), если i=25, 26. 31; j=32-i
Читайте также:  Как поменять инструктора по вождению в автошколе
< A(32)=A(31),
B(32)=f(A(31)[+]X(0)) (+) B(31),

Здесь i обозначает номер итерации (i = 1, 2. 32).

Функция f называется функцией шифрования. Ее аргументом является сумма по модулю 2 32 числа A(i), полученного на предыдущем шаге итерации, и числа X(j) ключа (размерность каждого из этих чисел равна 32 знакам).

Функция шифрования включает две операции над полученной 32-разрядной суммой. Первая операция называется подстановкой К. Блок подстановки К состоит из 8 узлов замены К(1) . К(8) с памятью 64 бит каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на 8 последовательно идущих 4-х разрядных векторов, каждый из которых преобразуется в 4-х разрядный вектор соответствующим узлом замены, представляющим собой таблицу из 16 целых чисел в диапазоне 0. 15.

Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором. Затем 4-х разрядные выходные векторы последовательно объединяются в 32-разрядный вектор. Таблицы блока подстановки К содержит ключевые элементы, общие для сети ЭВМ и редко изменяемые.

Вторая операция — циклический сдвиг влево 32-разрядного вектора, полученного в результате подстановки К. 64-разрядный блок зашифрованных данных Т ш представляется в виде Т ш =A(32)B(32).

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

Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях. К этим случаям относится выработка ключа и зашифрование его с обеспечением имитозащиты (защиты от навязывания ложных данных) для передачи по каналам связи или хранения в памяти ЭВМ.

Режим гаммирования

Открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1, 2. m, где m определяется обьемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Г ш , которая вырабатывается блоками по 64 бит, то есть Г ш =(Г(1),Г(2). Г(i). Г(m)).

Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается.

Уравнение зашифрования данных в режиме гаммирования может быть представлено в следующем виде:

Здесь Ш(i) — 64-разрядный блок зашифрованного текста,
A — функция шифрования в режиме простой замены (аргументами этой функции являются два 32-разрядных числа),
С1 и С2 — константы, заданные в ГОСТ 28147-89,
Y(i) и Z(i) — величины, которые определяются итерационно по мере формирования гаммы следующим образом:
(Y(0), Z(0))=A(S), где S — 64-разрядная двоичная последовательность (синхропосылка);
(Y(i), Z(i))=(Y(i-1) [+] C2, Z(i-1) <+>C(1)) для i = 1,2. m.

Читайте также:  Отзывы о телефоне asus zenfone max pro

Расшифрование данных возможно только при наличии синхропосылки, которая не является секретным элементом шифра и может храниться в памяти ЭВМ или передаваться по каналам связи вместе с зашированными данными.

Режим гаммирования с обратной связью

Режим гаммирования с обратной связью очень похож на режим гаммирования. Как в и режиме гаммирования открытые данные, разбитые на 64-разрядные блоки Т(i) (i=1, 2. m , где m определяется обьемом шифруемых данных), зашифровываются путем поразрядного сложения по модулю 2 с гаммой шифра Г ш , которая вырабатывается блоками по 64 бит:

Число двоичных разрядов в блоке Т(m) может быть меньше 64, при этом неиспользованная для шифрования часть гаммы шифра из блока Г(m) отбрасывается.

Уравнение зашифрования данных в режиме гаммирования с обратной связью может быть представлено в следующем виде :

Здесь Ш(i) — 64-разрядный блок зашифрованного текста,
A — функция шифрования в режиме простой замены. Аргументом функции на первом шаге итеративного алгоритма является 64-разрядная синхропосылка, а на всех последующих — предыдущий блок зашифрованных данных Ш(i-1).

Bыработки имитовставки

Процесс выработки имитовстаки единообразен для любого из режимов шифрования данных.

Имитовставка — это блок из р бит (имитовставка Ир), который вырабатывается либо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебную информацию (например, адресную часть, время, синхропосылку) и не зашифровываться. Значение параметра р (число двоичных разрядов в имитовставке) определяется криптографическими требованиями с учетом того, что вероятность навязывания ложных помех равна 1/2^р.

Для получения имитовставки открытые данные представляются в виде 64-разрядных блоков Т(i) (i=1, 2. m , где m определяется объемом шифруемых данных). Первый блок открытых данных Т(1) подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. Причем в качестве ключа для выработки имитовставки используется ключ, по которому шифруются данные.

Полученное после 16 циклов работы 64-разрядное число суммируется по модулю 2 со вторым блоком открытых данных Т(2). Результат суммирования снова подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены. Полученное 64-разрядное число суммируется по модулю 2 с третьим блоком открытых данных Т(3) и т.д. Последний блок Т(m) при необходимости дополненный до полного 64-разрядного блока нулями, суммируется по модулю 2 с результатом работы на шаге m-1, после чего зашифровывается в режиме простой замены по первым 16 циклам работы алгоритма. Из полученного 64-разрядного числа выбирается отрезок Ир длиной р бит.

Читайте также:  Тип памяти 3d2 tlc

Имитовставка Ир передается по каналу связи или в память ЭВМ после зашифрованных данных. Поступившие зашифрованные данные расшифровываются, и из полученных блоков открытых данных T(i) вырабатывается имитовставка Ир’, которая затем сравнивается с имитовставкой Ир, полученной из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок все расшифрованные данные считают ложными.

Важной операцией в информатике является сложение по модулю. Это операция арифметического сложения, при котором единица переноса в старший разряд, если таковая образуется при поразрядном сложении, отбрасывается. Обычно при выполнении этой операции конкретизируют, о каком модуле идет речь, например, по модулю 10, или по модулю 2, или по модулю 16. Обозначается эта операция ⊕.

Таблица сложения двоичных чисел по модулю 2 приведена ниже (обозначения строк и столбцов соответствуют слагаемым):

Пример 7. Сложить по модулю 2 двоичные числа 10 и 11.

Сложение выполним поразрядно:

1) разряд единиц: 0⊕1 = 1;

2) разряд десятков: 1⊕1 = 0.

Таким образом, 102⊕112 = 012. Чтобы подчеркнуть, что в сложении участвовали двухразрядные слагаемые, в результате оставляются обе цифры.

Таблица сложения десятичных чисел по модулю 10 приведена ниже (обозначения строк и столбцов соответствуют слагаемым):

Пример 8. Сложить по модулю 10 десятичные числа 59 и 152.

Сложение выполним поразрядно:

1) разряд единиц: 9⊕2 = 1;

2) разряд десятков: 5⊕5 = 0;

3) разряд сотен: 0⊕1 = 1.

Таким образом, 59⊕152 =101.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: При сдаче лабораторной работы, студент делает вид, что все знает; преподаватель делает вид, что верит ему. 9790 — | 7481 — или читать все.

Ссылка на основную публикацию
Сервер не поддерживает символы не ascii
Многие из нас пользуются замечательным FTP сервером FileZilla Server. Думаю, не я один столкнулся с проблемой некорректного отображения русских букв...
Ресивер пионер vsx 528
5.1 канальный AV ресивер Pioneer VSX-528 с 6x HDMI, AirPlay, DLNA, MHL, сквозным сигналом Ultra HD 4K и Интернет-радио vTuner....
Ресивер для нтв плюс какой лучше
Телекомпания НТВ‑ПЛЮС гарантирует получение качественных услуг, а также обеспечение корректного доступа к каналам и дополнительным сервисам Телекомпании, только при условии...
Сервера для обновления nod32 бесплатно
Отличие полной версии от триальной Полные (не триальные) антивирусные базы и программные компоненты Eset Antivirus и Eset Smart Security! Отличия...
Adblock detector