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

Изобретение относится к способам криптографического преобразования с одновременной выработкой производного ключа шифрования. Технический результат - облегчение процессов синхронной выработки производного ключа шифрования на зашифровывающей и расшифровывающей сторонах. При криптографическом преобразовании блоков цифровых данных осуществляют разбиение цифровых данных на блоки. Подлежащие шифрованию блоки данных группируют по несколько блоков данных и шифрование группы блоков данных осуществляют совместно. При зашифровании формируют блок синхропосылки и используют его как первый блок в группе шифруемых блоков. При расшифровании результат расшифрования первого блока данных не используют. Дополнительно осуществляют шифрование с выработкой цепочки производных ключей шифрования. В этом случае при зашифровании для первой группы шифруемых блоков данных в качестве итерационных ключей для первого в группе блока данных используют ключи, сформированные из криптографического ключа. При зашифровании последующих групп блоков данных в качестве итерационных ключей для первого в группе блока данных используют результаты шифрования последнего блока данных в предыдущей группе блоков данных. 1 з.п. ф-лы, 4 ил., 4 табл.

 

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

Известно, что для обеспечения стойкости к криптоанализу криптографические ключи должны использоваться для шифрования ограниченного объема данных [1]. С этой цель при реализации средств криптографической защиты осуществляют выработку производных криптографических ключей, которые используют для шифрования ограниченного объема данных.

Известен способ, позволяющий вырабатывать производный ключ Ρ 1323565.1.022-2018 «Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Функции выработки производного ключа» [2]. Для выработки производного ключа используется набор исходных значений и секретный долговременный ключ. Функция выработки производного ключа принимают на вход шесть аргументов: исходную ключевую информацию, длину производной ключевой информации, случайную строку фиксированной длинны, метку использования, информацию о субъектах, дополнительную информацию. Функция вычисляется в два этапа. На первом этапе из исходной ключевой информации и случайной строки вырабатывается промежуточный ключ. Полученный промежуточный ключ вместе с остальными входными параметрами используется на втором этапе функции, выходом которых является производный ключ.

Недостатком известного способа является отсутствие определения способа получения используемых аргументов и их синхронизации между взаимодействующими сторонами.

Известен способ формирования ключа шифрования Патент РФ №2180770, МПК Η04L 9/14, 9/16; Способ формирования ключа шифрования/дешифрования/ Молдовян Α.Α., Коржик В.И., Молдовян Н.А., Синюк А.Д., Яковлев В.А.; Заявл. 12.04.2000; Опубл. 20.03.2002 [3]. В известном способе предусматривается одновременное формирование принятой случайной и первичной случайной последовательности соответственно на приемной и передающей сторонах направления связи, формирование исходной и зашумленной исходной последовательностей на приемной стороне направления связи, передачи зашумленной исходной последовательности по обратному каналу связи без ошибок на передающую сторону направления связи, кодирование исходной последовательности, выделение из кодированной исходной последовательности блока проверочных символов, передача его по обратному каналу без ошибок, формирование декодированной последовательности и функции хеширования последовательностей на передающей стороне направления связи, передачи функции хеширования по прямому каналу связи без ошибок ни приемную сторону направления связи и формирование ключей шифрования на приемной и передающей сторонах направления связи путем хеширования исходной и декодированной последовательностей по сформированной функции хеширования последовательностей, стирание первичной случайной, принятой случайной, исходной и декодированной последовательностей.

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

Известен способ формирования переменного ключа для блочного шифрования и передачи шифрованных данных Патент РФ №2631981, МПК Η04L 9/00, Способ блочной шифрации с закрытым ключом/ Суханова Н.В., Кабак И.С., Шептунов С.Α., Соломенцев Ю.М.; Заявл. 12.02.2016; Опубл. 29.09.2017 [4]. В известном способе сообщения в передатчике разбивают на совокупность отдельных блоков данных, осуществляют формирование из закрытого ключа последовательности ключей для каждого блока данных, при поблочной передаче данных осуществляют шифрование с использование модификации ключей, причем сначала в передатчике к блоку данных присоединяют блок служебной информации, содержащий модификатор закрытого ключа следующего блока данных, затем шифруют блок данных и служебную информацию и передают в канал связи. В приемнике принятый блок расшифровывают и выделяют из него блок служебной информации, содержащий модификатор ключа для последующего блока. После чего приемник может модифицировать ключ для следующего блока и осуществить его расшифрование при приеме.

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

Наиболее близким по технической сущности к заявленному способу является патент РФ №2359415, МПК Η04L 9/00, Способ криптографического преобразования блоков цифровых данных/ Амербаев В.М., Романец Ю.В., Шарамок А.В; Заявл. 26.06.2007; Опубл. 20.06.2009 [5]. В способе-прототипе преобразуемые цифровые данные разбивают на блоки, блоки данных группируют по несколько блоков данных и шифрование группы блоков данных осуществляют совместно. Шифрование блоков данных осуществляют итеративно с использованием левообратимой бинарной операции. При шифровании первого в группе блока данных используют секретный криптографический ключ, из которого в соответствии с установленным расписанием ключей формируют итерационные ключи, используемые на итерациях шифрования. При зашифровании всех последующих блоков данных в качестве итерационных ключей используют результаты зашифрования предыдущего блока данных. При расшифровании первого блока зашифрованных данных в качестве итерационных ключей используют ключи, сформированные в соответствии с расписанием ключей из криптографического ключа. При расшифровании всех последующих блоков данных в качестве итерационных ключей используют результаты расшифрования предыдущего блока данных.

Этот способ имеет недостатки: в способе-прототипе не описана процедура смены ключей и синхронизации смены ключей или выработки производных ключей при шифровании отдельных групп блоков данных. Для этого должна использоваться отдельная процедура, неописанная в способе-прототипе.

Задачей заявленного способа является упрощение процессов синхронного формирования производного ключа шифрования на зашифровывающей и расшифровывающей сторонах путем осуществления криптографического преобразования с одновременной выработкой производного ключа шифрования.

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

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

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

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

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

Фиг. 1 иллюстрирует процесс зашифрования в соответствии с заявленным способом криптографического преобразования.

Фиг. 2 иллюстрирует процесс расшифрования в соответствии с заявленным способом криптографического преобразования.

Фиг. 3 иллюстрирует процесс зашифрования с выработкой цепочки производных ключей шифрования.

Фиг. 4 иллюстрирует процесс расшифрования с выработкой цепочки производных ключей шифрования.

В заявленном способе входные данные разбивают на блоки (Фиг. 1). Блоки данных группируют по несколько блоков (Х1, Х2, …, XM), и зашифрование группы блоков осуществляют совместно. Дополнительно формируют блок синхропосылки ξ. В зависимости от назначения синхрополсылка может формироваться детерминированным способом (например, как описано в способе [6]) или быть случайным значением и вырабатываться от датчика случайных чисел (например, как описано в способе [7]). Сформированный блок случайных данных добавляют к группе зашифровываемых данных и используют его как первый блок в группе шифруемых блоков. Далее осуществляют зашифрование сформированной группы блоков. При зашифровании первого в группе блока данных в качестве итерационных ключей используют ключи (K1, K2, …, ΚΝ), сформированные из долговременного криптографического ключа. Например, для формирования итерационных ключей зашифрования из долговременного ключа могут использовать прядок формирования итерационных ключей в соответствии с [8] для алгоритма «Магма». При зашифровании всех последующих блоков данных в качестве итерационных ключей используют результаты зашифрования предыдущего блока данных на этой же итерации, на последней итерации зашифрования блоков данных в качестве итерационного ключа используют результат зашифрования предыдущего блока данных на предпоследней итерации. Результат зашифрования группы данных передают для расшифрования.

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

Расшифрование зашифрованных данных в соответствии с заявленным способом осуществляют следующим образом (Фиг. 2). При расшифровании зашифрованной группы блоков данных используют долговременный криптографический ключ, ранее использованный для зашифрования. При расшифровании первого в группе блока данных (результата зашифрования блока синхропосылки) в качестве итерационных ключей (KN, KN-1, …, K1]) используют ключи, сформированные из долговременного криптографического ключа. Например, для формирования итерационных ключей расшифрования из долговременного ключа могут использовать прядок формирования итерационных ключей в соответствии с [8] для алгоритма «Магма». При расшифровании всех последующих блоков данных на первой итерации расшифрования блоков данных в качестве итерационного ключа используют результат расшифрования предыдущего блока данных на первой итерации, для всех последующих итераций в качестве итерационных ключей используют результаты расшифрования предыдущего блока данных на предыдущей итерации. Результат расшифрования первого блока данных не используют, например, уничтожают. Другие результаты расшифрования группы блоков данных являются ранее зашифрованными блоками данных.

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

Дополнительно в заявленном способе осуществляют шифрование с выработкой цепочки производных ключей шифрования.

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

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

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

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

Для подтверждения возможности достижения технического результата заявленного способа в таблицах 1-4 представлены примеры вычислений в соответствии с заявленным способом.

В примерах вычислений размер блока определен в 4-е бита, в одновременно шифруемую группу входит 16-ть блоков, число итераций шифрования равно 16-ти. В качестве левообратимой бинарной операции используется операция сложения по модулю 16, которой соответствует обратная операции вычитание по модулю 16:

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

Таблица 1 содержит пример зашифрования с одновременной выработкой производного ключа шифрования для группы блоков. Таблица 3 содержит пример расшифрования с одновременной выработкой производного ключа шифрования для группы блоков, зашифрование которой приведено в Таблице 1.

Процесс зашифрования представлен в Таблице 1. При зашифровании группы блоков в соответствии с заявленным способом, группу блоков дополняют синхропосылкой (СП) и используют ее как первый блок в группе шифруемых блоков (значение F). Для зашифрования в таблице 1 приведены итерационные ключи (F,1,0,F,D,2,A,4,6,E,9,8,B,7,3,5). Для демонстрации работы заявленного способа порядок формирования итерационных ключей является несущественным.

Зашифрование синхропосылки осуществляют с использованием итерационных ключей. На первой итерации зашифрование синхропосылки осуществляют следующим образом (15+15) mod 16=14 (0хЕ), на второй итерации (14+1) mod 16=15 (0xF) и т.д. Результатом зашифрования синхропосылки является значение 10 (0хА). Все последующие блоки в группе зашифровываются аналогичным образом, при этом в качестве итерационных ключей используются результаты шифрования предыдущего блока на предыдущей итерации, за исключением последней итерации зашифрования.

На последней итерации зашифрования всех последующих блоков в качестве итерационных ключей используются результаты шифрования предыдущего блока на две итерации раньше. В Таблице 1 зашифрование первого блока на последний итерации осуществляют следующим образом (5+15) mod 16=4 (0x4).

Процесс расшифрования представлен в Таблице 3. Для расшифрования итерационные ключи используют в порядке обратном процессу зашифрования (5,3,7,B,8,9,E,6,4,A,2,D,F,0,1,F).

Расшифрование синхропосылки осуществляют с использованием итерационных ключей. На первой итерации расшифрование синхропосылки осуществляют следующим образом (10-5) mod 16=5 (0x5), на второй итерации (5-3) mod 16=2 (0x2) и т.д. Результатом расшифрования синхропосылки является значение 15 (0xF), что совпадает с зашифровываемым значением синхропосылки из Таблицы 1. На первой итерации расшифрования всех последующих блоков в группе в качестве итерационных ключей используют результаты расшифрования предыдущего блока после первой итерации. Расшифрование первого блока на первой итерации осуществляют следующим образом (4-5) mod 16=15 (0xF). На всех последующих итерациях в качестве итерационных ключей используют результаты расшифрования предыдущего блока на предыдущей итерации. Расшифрование первого блока на второй итерации осуществляют следующим образом (15-5) mod 16=10 (0хА) и т.д. Результатом расшифрования первого блока является значение 1 (0x1), что совпадает с зашифровываемым значением перового блока из Таблицы 1.

Таблицы 1 и 2 содержат пример зашифрования с одновременной выработкой производного ключа шифрования для двух групп блоков с формированием цепочки производных ключей шифрования с использованием режима шифрования по прямоугольному полю способа прототипа. Таблицы 3 и 4 содержат пример расшифрования с одновременной выработкой производного ключа шифрования для двух групп блоков с формированием цепочки производных ключей шифрования.

При зашифровании второй группы блоков (Таблица 2) для зашифрования блока синхропосылки используются итерационные ключи (F,F,3,E,F,C,2,C,6,E,A,1,A,7,F,6), являющиеся незашифрованным значением и результатом зашифрования последнего блока данных в первой группе блоков данных Таблица 1.

При расшифровании второй группы блоков (Таблица 4) для расшифрования блока синхропосылки используются итерационные ключи (6,F,7,A,1,A,E,6,C,2,C,F,E,3,F,F), являющиеся результатами расшифрования и незашифрованным значением последнего блока данных в первой группе блоков данных Таблица 3.

Зашифрование в таблицах 1, 2 и расшифрование в таблицах 3, 4 блока синхропосылки являются процессами выработки производного криптографического ключа на основе значения синхропосылки.

Таким образом, заявленный способ позволяет осуществлять зашифрование и расшифрование блоков данных с одновременной выработкой производного ключа. При этом выработку производного ключа осуществляют в процессе шифрования, на основе блока синхропосылки.

Источники информации:

1. МР 26.2.001-2016 Методические рекомендации ТК 26. Информационная технология. Криптографическая защита информации. Допустимые объемы материала для обработки на одном ключе при использовании некоторых вариантов режимов работы блочных шифров;

2. Ρ 1323565.1.022-2018 Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Функции выработки производного ключа;

3. Патент РФ №2180770, МПК Η04L 9/14, 9/16; Способ формирования ключа шифрования/дешифрования/ Молдовян А.А., Коржик В.И., Молдовян Н.А., Синюк А.Д., Яковлев В.А.; Заявл. 12.04.2000; Опубл. 20.03.2002;

4. Патент РФ №2631981, МПК Η04L 9/00, Способ блочной шифрации с закрытым ключом/ Суханова Н.В., Кабак И.С., Шептунов С.Α., Соломенцев Ю.М.; Заявл. 12.02.2016; Опубл. 29.09.2017;

5. Патент РФ №2359415, МПК Η04L 9/00, Способ криптографического преобразования блоков цифровых данных/ Амербаев В.М., Романец Ю.В., Шарамок А.В; Заявл. 26.06.2007; Опубл. 20.06.2009;

6. Патент РФ №287222, МПК H04K 1/00 H04L 9/18; Способ формирования синхропослыки криптографического алгоритма в системах связи с обеспечением имитозащищенности и конфеденциальности передаваемых сообщений/ И.Е. Грехнева, А.В. Шарамок; Заявл. 20.05.2005; Опубл. 10.11.2006;

7. Патент РФ №2343628, МПК Н03М 7/00, G06F 7/58 G06F 17/18; Способ преобразования случайных чисел с произвольным законом распределения в случайные числа с равномерным законом распределения/ В.М. Амербаев, Е.М Зверев, Ю.В. Романец, А.В. Шарамок; Заявл. 11.01.2007; Опубл. 10.01.2009;

8. ГОСТ 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры.

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

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

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

2. Способ по п. 1, отличающийся тем, что

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

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



 

Похожие патенты:

Изобретение относится к способам и компьютерам для создания множества записей на основе упорядоченного смарт-контракта. Технический результат заключается в обеспечении упорядоченного формирования блоков для цепочки блоков.

Изобретение относится к области связи, а именно обмена данными. Технический результат заключается в повышении безопасности обмена данных.

Группа изобретений относится к защищенным вычислительным системам. Техническим результатом является повышение безопасности и конфиденциальности данных.

Изобретение относится к компьютерной технике и предназначено для шифрования данных на носителях информации. Технический результат заключается в упрощении шифрование данных с сохранением надежности их защиты.

Изобретение относится к области защиты персональных данных пользователей. Технический результат заключается в расширении арсенала технических средств для безопасной передачи запрашиваемых данных от устройства доверенной стороны к устройству третьей стороны.

Изобретение относится к области вычислительной техники. Технический результат заключается в повышении уровня гибкости и безопасности при применении интегральных схем ASIC в системах проверки блокчейн-транзакций.

Изобретение относится к области вычислительной техники. Технический результат заключается в повышении уровня гибкости и безопасности при применении интегральных схем ASIC в системах проверки блокчейн-транзакций.

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение распределения транзакционных данных для блокчейн–консенсуса.

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение безопасности данных при обмене данными.

Изобретение относится к области шифрования данных. Техническим результатом является создание устройства для реализации алгоритма шифрования «Кузнечик» стандарта ГОСТ Р 34.12-2015 и алгоритма хэш-функции «Стрибог» стандарта ГОСТ Р 34.11-2012 с упрощенной конструкцией вследствие упрощения аппаратной части за счет использования шестидесяти четырех блоков замены байт для выполнения алгоритмов шифрования «Кузнечик» и «Стрибог» на одном устройстве.

Изобретение относится к средствам криптографической защиты информации, а именно к устройствам шифрования данных в соответствии с алгоритмом «Магма» по стандарту ГОСТ Р 34.12-2015, и может быть использовано в доверенных сенсорных системах сбора, обработки и передачи цифровых данных. Технический результат заключается в обеспечении криптографической обработки данных в соответствии с итерацией алгоритма «Магма» по стандарту ГОСТ Р 34.12-2015 при их инвертированном представлении. Он достигается тем, что в устройстве криптографической защиты информации реализуют инвертированные вычисления для операций, составляющих итерацию криптографического преобразования. В этом случае между преобразованиями в прямом и инвертированном представлении сохраняется изоморфизм, при соответствии входных данных в прямом и инвертированном представлении сохраняется соответствие выходных данных и промежуточных результатов в прямом и инвертированном представлении. 2 ил.
Наверх