Область техники
Изобретение относится к области радиотехники, средствам вычислительной техники, устройствам хранения и помехоустойчивой скрытной передачи подвергнутых шифрованию данных при наличии шумов с использованием конечного множества шумоподобных сигналов (ШПС).
Уровень техники. Известно устройство хранения данных [1], содержащее блок управления, блок памяти, блок коммутации и блок защиты ключевых цепей и обеспечивающее надежность и безопасность хранения данных при наличии опасного внешнего воздействия (статического электричества). Недостатком аналога является отсутствия системы шифрования и возможности скрытной передачи сохраненных данных пользователю по линии связи (ЛС) оптимальным образом при наличии (на фоне) шумов.
Известна когерентная система передачи информации [2]. В качестве ШПС используется конечное множество хаотических сигналов. Система содержит передающую и приемную части. В передающей части формируются хаотические сигналы, которые перемножаются на информационные последовательности так, что каждый бит однократно передается своим отрезком хаотического сигнала, при этом требуется вхождение в синхронизм передающей и приемной части. На приемной стороне формируются копии хаотических сигналов для выделения информационной последовательности. Недостатком аналога является необходимость обеспечения синхронизма хаотических сигналов в приемной и передающих частях, что требует использования сигналов достаточного уровня, а это приводит к отсутствию энергетической скрытности работы системы (имеется скрытность структуры сигналов). Синхронизация требует также затрат времени, что снижает быстродействие системы (чем шире спектр ШПС, тем больше время обнаружения и синхронизации). Так же отсутствует система шифрования, запоминающее устройство (ЗУ) для хранения данных. Когерентность системы означает лишь наличие синхронизации хаотических сигналов в передающей и приемной частях и не обеспечивает оптимальность передачи и обработки сигналов (обнаружение и различение) при наличии шумов.
В качестве аналога рассмотрено устройство шифрования [3, с. 51, рис. 2.5], в котором входные последовательности символов преобразуются в выходные последовательности в соответствии с ключом преобразования. Недостатком устройства является отсутствие ЗУ и возможности передачи данных.
Прототипом выбрано устройство [4], содержащее ЗУ (указано энергонезависимое ЗУ), линию связи (указана проводная или беспроводная секция приема/передачи данных), генератор случайных чисел, являющихся ключами шифрования/восстановления переданных данных, выполненный в виде одной/нескольких интегральных схем либо "смарт-карты", главный блок управления, представляющий собой программируемую интегральную схему, основанную на программном обеспечении, загружаемом специальным образом. Недостатком является отсутствие возможности скрытной передачи зашифрованных данных из ЗУ пользователю по ЛС оптимальным образом при наличии (на фоне) шумов.
Краткое изложение сущности и состава предлагаемого устройства. На вход заявляемого устройства хранения и передачи данных с системой шифрования (УХПДШ) подаются входные данные Хвх, состоящие их множества байтов, каждый из которых является совокупностью бит (комбинации логических единиц "1" и нулей "0"). Задача устройства состоит в сохранении входных данных в защищенном от несанкционированной корректировки виде и восстановлении данных в необходимом для пользователя месте в требуемый момент времени, так чтобы в результате Хвых=Хвх. Каждому байту соответствует числовое значение и некоторый символ выбранной системы кодирования данных. Перед запоминанием чисел, соответствующих входным байтам, осуществляется изменение их числовых значений (шифрование) на новые величины в соответствии с выбранным пользователем правилом (ключом шифрования). В работе [3] упоминаются методы перенумерования символов. Шифрование путем перенумерования осуществляется благодаря управляющим сигналам, являющимся результатом сравнения байтов выбранной (эталонной) системы кодирования с ключами шифрования. Байты с новыми, перенумерованными значениями сохраняются в ЗУ. Задача передачи данных по ЛС для их воспроизведения в первоначальном виде в нужном для пользователя месте реализуется с использованием ансамбля кодированных сигналов, относящихся к классу ШПС, с использование оптимальных устройств обработки. При передаче данных из ЗУ каждый зашифрованный байт передается одним из этих сигналов ансамбля. Задача восстановления данных в первоначальном виде проводится путем обратной замены числовых значений байтов, сохраненных в ЗУ, на первоначальные номера (дешифрование) согласно правилу преобразования номеров байтов (ключу дешифрования), задаваемому пользователем. Шифрование и дешифрование осуществляются в шифрователе и дешифрователе.
Таким образом входные данные могут быть сохранены, защищены, скрытно переданы по ЛС при наличии (на фоне) шумов посредством ШПС и обработаны оптимальным образом, после чего восстановлены в первоначальном виде. Используются R-коды [5, 6] и сигналы на их основе, например, фазоманипулированные сигналы (ФМС).
Скрытность передачи сигналов означает [7, с. 8, 9], что требуется использовать специальные методы и устройства для обнаружения факта передачи сигналов при наличии шумов, а также нужно измерять основные параметры сигналов. Чем больше база сигнала, тем выше энергетическая и параметрическая скрытность. Оптимальность обработки сигналов при наличии шумов остается справедливой и в условиях наличия широкого круга помех (узкополосных, импульсных, структурных) [7, с. 7].
Некоторые сведения о R-кодах и ансамблях. В системах управления, связи и радиолокации широко используются ШПС [7], которые обладают известными достоинствами. Разновидностью ШПС являются ФМС. Они состоят из последовательности N радиоимпульсов с одинаковой частотой и амплитудой (считаем ее равной единице). Очередность следования радиоимпульсов с различными начальными фазами характеризуется бинарной кодовой последовательностью или просто кодом G. При этом ФМС на основе этих кодов [5], у которых автокорреляционная функция (АКФ) в области боковых пиков изменяется в пределах ±R (1≤R≤N-1, R- целое), называют сигналами R-города (ФМС-R). Вместе с тем, множество из g кодов G=GxR,N, (x=1,…,g), соответствующее таким сигналам, названо R-кодами (это бинарные коды, у которых АКФ в области боковых пиков изменяется в пределах ±R, то есть R - наибольшее допустимое значение боковых пиков модуля АКФ).
Для немногочисленных кодов Баркера R=1. Наибольшее значение (пик) модуля АКФ таких N-элементных кодов обозначен um=N, относительный уровень боковых пиков (УБП) АКФ равен В1=R/N. База ФМС равна B=N. Признаком широкополосности сигнала является верность условия, что база велика (В>>1) [7]. Пары кодов характеризуются наибольшим значением модуля взаимной корреляционной функции (ВКФ) W.
ФМС-R на основе бинарных R - кодов являются импульсными сигналами. Для оптимального обнаружения и различения между собой этих кодов и сигналов при наличии шумов используются известные способы и схемы (согласованные фильтры и корреляторы) [7].
Некоторые совокупности ШПС обладают определенными свойствами, которые позволяют рассматривать их совместно, как ансамбли для построения алфавитов. В работах [8-10] рассмотрены вопросы нахождения R-кодов.
Символом Т обозначена длительность каждого из N радиоимпульсов ФМС-R. Начальные фазы могут быть равны 0 или π (180°), а коды принято представлять последовательностью коэффициентов соответственно (+1,-1), например, (1,-1,-1,-1,-1,1) для N=6; R=2. В общем случае начальные фазы радиоимпульсов могут быть равны ϕ0+0, когда коэффициент кода равен (+1), или ϕ0+π, в случае, когда коэффициент кода равен (-1), где ϕ0 - фиксированная составляющая указанной начальной фазы (главное, что разность фаз равна 0 или π).
Далее сигналами на основе бинарных кодов считаются ШПС, состоящие из радиоимпульсов, начальных фазы которых равны (ϕ0+0) либо (ϕ0+π), причем на изменения амплитуд и частот радиоимпульсов ограничения не накладываются, введены требования к УБП АКФ и ВКФ.
Представлено множество бинарных импульсных кодов, у которых УБП АКФ и ВКФ удовлетворяют определенным требованиям, в виде
где GxR,N - бинарный код;
Рxj,j=1,…,N - коэффициенты х-го кода ансамбля;
х - индекс нумерации кодов, х=1,…, g;
g - количество кодов в множестве или сигналов на их основе;
R - наибольшее допустимое значение боковых пиков модуля АКФ, 1≤R≤N-1, R- целое;
N - количество коэффициентов в кодах и в сигналах на их основе.
Ансамблем названо множество кодов с введенными ограничениями на УБП АКФ и ВКФ. Например, для кодов с Рxj=±1, R=3, N=30, W≤29, g=256: G13,30=(1,1,-1,-1,-1,1…1), G23,30=(1,-1,-1,-1,-1,1…1),…, G2563,30=(1,-1,-1,-1,1,1…1).
Ограничения на УБП АКФ и ВКФ сформулированы аналитически [5,6]. В моменты tk=k⋅T, где k=1,…,N-1, отсчитываемые от начала АКФ (k=0), величины модуля АКФ принимают экстремальные или нулевые значения и при k=N равны N.
Значения модуля ВКФ пар кодов ансамбля с индексами "х" и "у" рассмотрены в моменты tk=k⋅T, отсчитываемые от начала ВКФ. Коды ансамбля с ограничениями на УБП АКФ и ВКФ согласно [5, 6, 8-10] представимы в виде неравенств относительно коэффициентов кодов:
где Pij, PiN+j-k, j=1,…, N - коэффициенты i-го кода ансамбля;
N - количество коэффициентов в кодах ансамбля или в сигналах на их основе;
k - индекс нумерации отсчетов моментов времени автокорреляционной функции;
R - допустимый УБП АКФ, задаваемый пользователем, 1≤R≤N-1, R - целое;
g - количество кодов в ансамбле или сигналов на их основе;
где Pxj, PyN+j-k,j=1,…,N - коэффициенты х-го и у-го кодов ансамбля;
х,у(х≠у) - индексы различных кодов в ансамбле, принимающие значения от 1 до g;
g - количество кодов в ансамбле или сигналов на их основе;
N - количество коэффициентов в кодах ансамбля или в сигналах на их основе;
k - индекс нумерации отсчетов моментов времени взаимной корреляционной функции;
W - допустимый уровень боковых пиков взаимной корреляционной функции задаваемый пользователем, N>W≥1,
g=g1 - количество символов в системе кодирования данных.
Коды ансамбля вырабатываются генератором кодов ансамбля. Параметры N, R, W и g взаимозависимы.
При передаче данных в информатике и компьютерной технике каждый байт соответствует определенному символу системы кодирования. Если каждому символу и соответственно байту поставить в соответствие код из ансамбля, то получится алфавит. При использовании известной системы кодирования ASCII (American Standard Code for Information Interchange-стандартный код информационного обмена), состоящей из g 1=25 6 символов, требуется ансамбль кодов такой же численности g=g1 [8,9]. Символам соответствуют числовые значения, изменяющиеся от 0 до 255, которые, как известно, представляются набором из восьми бит, составляющих байт.
В общем случае для системы кодирования из g1 символов требуется использовать g2=log2 g1 бит, поэтому наборы из g2 бит (не обязательно равные восьми) названы блоками. Для системы кодирования из двух символов (g1=2) блок состоит из единственного бита (g2=l), принимающего два значения, нужен ансамбль из двух кодов.
Система кодирования может определять соответствие уровней аналогового сигнала в определенные моменты времени и их кодовые значения в виде блоков (байтов). Далее для определенности в описании упоминается система ASCII.
Некоторые термины, использованные для упрощения описания.
Алфавит - взаимно-однозначное соответствие между элементами системы кодирования и кодами или сигналами, составляющими ансамбль.
Ансамбль - множество бинарных кодов или импульсных сигналов на их основе, для которых введены ограничения на УБП АКФ (R) и ВКФ (W).
Сигналы на основе бинарных кодов - это импульсные сигналы, состоящие из радиоимпульсов, начальные фазы которых равны (ϕ0+0) либо (ϕ0+π), где ϕ0 - фиксированная составляющая указанной начальной фазы, причем на изменения амплитуды и частоты радиоимпульсов требования не накладываются, для этих сигналов введены ограничения (2), (3) на УБП АКФ и ВКФ. Если амплитуды и частоты постоянны, то имеются ансамбли ФМС-R.
Блок - совокупность g2=log2 g1 бит, где g1 - количество символов в системе кодирования, в которой каждому символу взаимно-однозначно соответствует определенный набор бит.
L-данные - блоки (байты) входных данных, перенумерованные в шифрователе в соответствии с ключами шифрования, обозначенными символом L.
Запись данных - занесение в ячейки ЗУ бит зашифрованных блоков (L-данных).
Восстановление данных - преобразование переданных по ЛС кодов ансамбля в L-данные и их последующее дешифрование.
Линганум - установленная пользователем функция (правило, формула, таблица), определяющая взаимно-однозначное соответствие между множествами чисел (0;1;…;g1) и множеством символов выбранной системы кодирования. ASCII - частный случай линганума.
Перенумерование блоков (байтов) - изменение порядка следования элементов (бит), например, логических единиц и нулей, либо положительных и отрицательных логических единиц, входящих в блок (байт) так, чтобы числовое значение, определяемое элементами блока (байта), стало равным назначенному числу (ключу).
Числовые значения блоков определяются последовательностью элементов, которые рассматриваются в качестве цифр двоичной системы исчисления, причем, если элементами выбраны положительные и отрицательные логические единицы, то при подсчете числовых значений блока отрицательные логические единицы заменяются на нули.
Формуляр - это такой набор кодов, для которого задано взаимно-однозначное соответствие целых чисел по порядку от 1 до g и кодов ансамбля (1), например, (G13,30;…; G2563,30) при g=256.
Сортировка - операция преобразования одной конечной последовательности числовых значений в другую так, что индексы порядковых номеров элементов исходной последовательности уменьшаются на единицу и меняются местами со значениями элементов этой последовательности, порядковые номера новой числовой последовательности увеличиваются на единицу и элементы полученной последовательности со своими измененными порядковыми номерами расставляются в порядке возрастания этих номеров.
Сортировка используется для определения линганума восстановления данных и ключей дешифрования, исходя из вида линганума записи и ключей шифрования, что позволяет при дешифровании использовать те же операции и схемы, что и при шифровании.
Порядок сортировки определяется тем, что величины первоначальной последовательности надо поменять на новые, а также учесть, что эти величины и их индексы различаются на единицу (например, в ASCII индексы варьируются как 1,2,3,…, а числовые значения символов изменяются по возрастанию 0,1,2,…). Для этого величины индексов первоначальной последовательности перед указанной заменой уменьшаются на единицу, а индексы новой последовательности должны быть увеличены на единицу.
Пример проведения сортировки: задана первоначальная последовательность , записанная с учетом порядкового номера и значения элементов, с использованием знака соответствия "→". То есть (порядковый номер (первоначальное значение → новое значение)): 1(0→5); 2(1→0); 3(2→3); 4(3→2); 5(4→1); 6(5→4). Возможна иная запись: Сортировка для определения искомой последовательности уменьшение индекса порядкового номера на единицу - (50; 01; 32; 23; 14; 45); замена местами индексов и значений - (05; 10; 23, 32; 41; 54); увеличение индексов новой последовательности на единицу - (06; 11; 24; 33; 42; 55); расстановка элементов в порядке возрастания индексов - Можно переписать это через знак соответствия для проведения проверки: 1(0→1); 2(1→4); 3(2→3); 4(3→2); 5(4→5); 6(5→0). Видна однозначная взаимосвязь полученного результата с первоначальной последовательностью, представленной выше через знак соответствия, перенумерования ("→").
Представление операции шифрования путем перенумерования байтов. Представлен вариант, когда блок соответствует байту. Шифрование проводится путем замены числовых значений байтов, то есть способом перенумерования. Обозначено:
последовательность значений линганума записи данных в двоичном и десятичном представлении (выписаны первые два и последний байты), каждое значение в скобках является одним из целых положительных чисел от 0 до (g1-1), используемым при составлении этой последовательности лишь однажды (g1 - количество символов в системе кодирования данных, например, g1=256);
для двоичной системы представления Li,j j задает i-й бит j-го байта (принимают значения логических "1" или "0"). Значения L устанавливают сигналы, используемые в качестве ключей шифрования.
входные данные в двоичной и десятичной системе (записаны лишь первые два байта);
данные после шифрования в двоичной и десятичной системах (записаны только первые два байта);
i, j - индексы нумерации бит и байтов.
При табличной записи значений Хi,j и Х°i,j индекс j опускается, его роль выполняют номера строк таблицы. Перенумерование байтов (5) в (6) осуществляется в шифрователе (перед записью в ЗУ) и в дешифрователе (при восстановлении данных) путем выполнения операции проверки выполнимости определенных условий и осуществлении операции присвоения:
операция шифрования путем замены числовых значений,
где j=1, 2,… - индекс нумерации байтов;
Xвхj - значение j-го байта входных данных;
X°j - значение j-й байта после шифрования;
L1; L2; …;Lg1 - последовательность значений ключей шифрования;
g1 - количество символов в системе кодирования данных.
Заметим, что если j>(g1-1), например, j=1000, то "Если" Хвх 1000=0 "ТО" X°1000=L1 или "Если" Хвх 1000=1 "ТО" Х°1000=L2 или … "Если" Хвх 1000=(g1-1) "ТО" X°1000=Lg1, следовательно, выражение (7) применимо (важно значение, а не индекс).
Выходные данные после восстановления:
выходные данные в двоичной и десятичной системах (приведены первые два байта).
При восстановлении данных имеем значения, аналогичные (4):
последовательность значений линганума для восстановления данных в двоичном и десятичном представлении (первые два и последний байты), каждое значение в скобках при десятичном представлении является целым положительным числом от 0 до (g1-1), используемым при составлении линганума лишь однажды, g1 - количество символов в системе кодирования данных; для двоичной системы представления L'i,j определяет i-й бит j-го байта. Этот линганум дешифрования используется в качестве ключей дешифрования. При восстановлении данных значения Х° из (6) преобразуются в Хвых из (8):
операции дешифрования путем замены числовых значений,
где j=1, 2,… - индекс нумерации байтов;
Х°j - значение j-го байта до дешифрования;
Хвых j - значение j-го байта выходных данных;
L'1; L'2;…; L'g1 - последовательность значений ключей дешифрования (линганума восстановления данных);
g1 - количество символов в системе кодирования данных.
Значения L в формуле (4) и L' в выражении (9) используются для установки сигналов управления работой ключей инверторов, применяемых для получения логических функций (ЛФ), которые обеспечивают перенумерование данных при шифровании и дешифровании. Такие ЛФ реализуются, например, на логических элементах [11, 12]. Шифрование проводится в соответствии с ЛФ, строящейся на основании таблицы истинности. Для реализации требуемых инверсий аргументов ЛФ применяются инверторы. После формирования сигналов управления инверторами УХПДШ готово к работе.
Генератор ключей шифрования формирует сигналы, соответствующие числовым значениям (Lj, j=1,2,…, g1) последовательности (4). При восстановлении данных используется сортировка, то есть последовательность (9) линганума восстановления получается после сортировки последовательности (4) линганума записи. Генератор ключей дешифрования формирует сигналы, соответствующие значениям последовательности L'j, j=1,2,…, g1, где g1 - количество символов в избранной системе кодирования.
Для реализации операций с данными в заявленном УХПДШ используются устройства, имеющие несколько входов либо выходов, для которых с целью удобства изложения введена следующая нумерация. Шифрователь - первых вход есть вход УХПДШ; второй вход тот, что соединен с выходом генератора ключей шифрования; запоминающее устройство - первый вход тот, что соединен с выходом шифрователя; второй вход тот, что соединен с вторым выходом устройства управления; устройство управления - первый выход тот, что соединен с входом генератора кодов ансамбля; второй выход тот, что соединен во вторых входом запоминающего устройства; дешифрователь - первый вход тот, что соединен с выходом генератора ключей дешифрования; второй вход тот, что соединен с выходом формирователя данных; логическое устройство шифрования - первый вход тот, что соединен с выходом сопрягающего устройства шифрователя; второй вход тот, что соединен с выходом преобразователя ключей шифрования; логическое устройство дешифрования - первый вход тот, что соединен с выходом преобразователя ключей дешифрования; второй вход тот, что соединен с вторым входом дешифрователя.
Сущность изобретения
Задачей, на решение которой направлено заявляемое изобретение, является обеспечение защищенности данных от внешних воздействий при их хранении и передаче.
Поставленная задача решается за счет того, что в устройство хранения данных с системой шифрования, содержащее запоминающее устройство, линию связи и генератор ключей шифрования, как новые признаки введены шифрователь, дешифрователь, устройство управления, генератор кодов ансамбля, приемное устройство, формирователь данных, генератор ключей дешифрования, причем первый вход шифрователя соединен с входом всего устройства, второй вход шифрователя подключен к выходу генератора ключей шифрования, выход шифрователя соединен с первым входом запоминающего устройства, второй вход запоминающего устройства подключен к второму выходу устройству управления, вход устройства управления соединен с выходом запоминающего устройства, первый выход устройства управления соединен с входом генератора кодов ансамбля, выход генератора кодов ансамбля подключен к входу линии связи, а выход линии связи соединен с входом приемного устройства, выход приемного устройства подключен к входу формирователя данных, выход которого соединен с вторым входом дешифрователя, выход дешифрователя является выходом всего устройства, первый вход дешифрователя соединен с выходом генератора ключей дешифрования, при этом
генератор кодов ансамбля формирует множество кодов (1) или сигналов на их основе, коэффициенты также удовлетворяют соотношениям (2),
коды ансамбля удовлетворяют ограничениям (3),
шифрователь формирует сигналы Х°j, где j=1,2,…, исходя из условий (7),
дешифрователь формирует сигналы Xвыхj, где j=1,2,…, исходя из условий (10), генератор ключей шифрования формирует сигналы, соответствующие элементам последовательности Lj,j=1, 2,…, g1 (4), где g1- количество символов в системе кодирования данных, генератор ключей дешифрования формирует сигналы, соответствующие элементам последовательности L'j, j=1,2,…, g1, где g1 - количество символов в системе кодирования данных, полученной так, что порядковые номера j-x элементов последовательности ключей шифрования Lj, j=1,2,…, g1 уменьшаются на единицу и меняются местами с значениями элементов этой последовательности, порядковые номера новой числовой последовательности увеличиваются на единицу и элементы полученной последовательность со своими измененными порядковыми номерами расставляются в порядке возрастания этих номеров, шифрователь содержит преобразователь ключей шифрования, логическое устройство шифрования и сопрягающее устройство шифрователя,
вход преобразователя ключей шифрования является вторым входом шифрователя, а выход преобразователя ключей шифрования подключен к второму входу логического устройства шифрования, первый вход логического устройства шифрования подключен к выходу сопрягающего устройства шифрователя, вход сопрягающего устройства шифрователя является первым входом шифрователя и всего устройства, выход логического устройства шифрования является выходом шифрователя;
устройство управления содержит формирователь импульсов запуска и генератор адресов и режимов,
выход генератора адресов и режимов является вторым выходом устройства управления, вход формирователя импульсов запуска связан с входом устройства управления, выход формирователя импульсов запуска подключен к первому выходу устройства управления;
дешифрователь содержит преобразователь ключей дешифрования, логическое устройство дешифрования и сопрягающее устройство дешифрователя,
вход преобразователя ключей дешифрования является первым входом дешифрователя, выход преобразователя ключей дешифрования соединен с первым входом логического устройства дешифрования, второй вход логического устройства дешифрования является вторым входом дешифрователя, выход логического устройства дешифрования связан с входом сопрягающего устройства дешифрователя, выход которого является выходом дешифрователя и всего устройства.
Представленная совокупность существенных признаков позволяет получить технический результат и достичь цели изобретения, которые заключаются в повышении защищенности хранения данных за счет их шифрования и в обеспечении энергетически скрытной передачи зашифрованных данных пользователю по ЛС, в том числе при наличии шумов оптимальным образом.
Предложенное устройство иллюстрируется структурной схемой (фиг. 1).
Перечень чертежей
Фиг. 1 - структурная схема устройства хранения и передачи данных с системой шифрования;
Фиг. 2 - таблица двоичных значений аргументов ЛФ шифрования;
Фиг. 3 - таблица двоичных значений зашифрованных данных и ЛФ шифрования;
Фиг. 4 - таблица десятичных значений линганума записи и шифрования данных;
Фиг. 5 - таблица значений ЛФ управления генератором кодов ансамбля.
Сведения, подтверждающие возможность осуществления изобретения.
1. Использованные логические функции, операция сортировки для проведения дешифрования. Рассмотрены ЛФ, на которых базируется работа УХПДШ, подвергнута разбору применяемая при дешифровании операция сортировки.
1.1 ЛФ для логического устройства (ЛУ) шифрования.
Для записи ЛФ составлена таблица истинности, в которой указаны номера символов и байтов до шифрования и после проведения этой операции на основе линганума записи. Если в таблицу истинности ввести неявно заданные значения линганума записи (4), то ЛФ в явном виде выразить невозможно. Поэтому в качестве примера дан один из возможных вариантов линганума, что позволяет записать ЛФ в явной форме. Этот пример рассмотрен для случая, когда блоки соответствуют байтам.
Аргументами искомой ЛФ шифрования являются входные байты (5), а значениями функции являются зашифрованные байты (6). Размещение входных и выходных байтов в одной таблице затруднительно, поэтому использованы две таблицы. На фиг. 2 приведены значения таблицы аргументов ЛФ шифрования для выбранного в качестве примера линганума записи. В ней отсутствуют символы системы кодирования, но даны их порядковые номера, указаны значения двоичных разрядов и десятичные значения этих двоичных чисел (нумерация по порядку следует с единицы, а величины начинаются с нуля). Например, символу "Е" соответствуют двоичное и десятичное числа 10001012=6910, порядковый номер в таблице равен 70. В первой колонке записаны номера по порядку следования, далее восемь колонок со значениями бит для всех вариантов байтов (двоичное представление числа) и в последней колонке заданы десятичные значения Х10 (от 0 до 255 для g1=256).
На фиг. 3 представлена таблица значений аргументов и таблица истинности для ЛФ шифрования, которая позволяет посредством знака соответствия "→" - записать операцию перевода числовых значения аргументов (фиг. 2) в определенные значения функции. Тогда на примере линганума (4) получим:
Первая колонка таблицы на фиг. 3 - номера байтов по порядку; вторая - новые десятичные значения в соответствии с заданным линганумом; 3…10 колонки - зашифрованные двоичные значения; 11…18 колонки - новые двоичные значения в соответствии с линганумом (они совпадают со значениями колонок 3…10, но выделены для удобства построения ЛФ по правилам [11, с. 31; 12, с. 18]).
Пояснение к обозначению. ЛФ шифрования есть совокупность компонент, обозначенных F°i,j, i=1,…,8; j=1,…, 256, которые совместно с Хi,j индексируются построчно и по колонкам. Варьирование по индексу i осуществлено путем введения колонок для компонент ЛФ, а варьирование по j в обозначении компонент в указанной таблице фиг. 3 не показано, так как оно проводится в соответствии с известными правилами построения ЛФ. То есть зашифрованные значения данных в двоичной форме j-ой строки равны значениям компонент F°8,…,F°1 (индекс строк j опущен). Операция инверсии обозначена символом (…)*. На частном примере таблиц фиг. 2, 3 приведены старшие компоненты ЛФ шифрования F°8, F°7, которые равны:
Многоточие в суммах означает возможное наличие других слагаемых (на фиг. 3 представлена часть строк полной таблицы для всех возможных байтов). Также составляются и другие компоненты ЛФ. Примеры выражений определяют ЛФ записи с шифрованием для любого набора аргументов - числовых величин всевозможных байтов до шифрования.
1.2 Операция сортировки.
При восстановлении данных применяется линганум дешифрования (9), числовые значения которого являются результатом проведения сортировки линганума записи (4). Вариант такой операции рассмотрен на примере величин таблицы фиг. 4 (дана расширенная таблица по сравнению с таблице на фиг. 3).
Обозначения в таблице: j - индекс нумерации по порядку следования числовых значений символов системы кодирования; Х10- десятичные числовое значения байтов системы кодирования; Lj - десятичные числа линганума перенумерования (новое числовое значение байтов, которые требуется получить после шифрования). Справедливо соотношение: j=1+X10. Для краткости изложения примера в указанной таблице дана лишь часть числовых значений системы кодирования для g1=256. Например, j=111-й символ системы кодирования описывается байтом, соответствующим десятичному числу 11010, а в соответствии с линганумом записи символ перенумеруется и ему соответствует десятичное число 14910 и так далее.
На основании данных таблицы фиг. 4 линганум записи имеет вид:
Например, элемент j=55 равен десятичному числу L55=54 и перенумеруется в число 250.
Восстановление путем дешифрования происходит в обратном порядке. Требуется первые и вторые числа поменять местами (либо изменить направление стрелок знака соответствия "→") и провести сортировку (перестановку, изменение порядка записи) этих пар чисел так, чтобы ставшими после перестановки первыми числа (левые) возрастали.
На основании ранее изложенной процедуры сортировки получим пошаговые результаты выполнения операций получения требуемой последовательности L':
- уменьшение индексов на единицу;
- замена индексов и значений;
- увеличение индексов в новой последовательности на единицу и расстановка элементов по возрастанию индексов.
Следовательно, линганум восстановления, определяющий ключи дешифрования:
Показана процедура сортировки значений линганума записи для построения линганума восстановления данных (13), определяющего ключи дешифрования.
1.3 ЛФ управления генератором кодов ансамбля.
Для определенности выбрана система ASCII (g1=256). Рассмотрен вид логических функций n=1,…, g1, которые надо использовать для получения импульсов запуска генератора кодов ансамбля. Так как в ЗУ сохраняются байты L - данных (зашифрованные байты входных данных) X°i,j, i=1,…,8; j=1,2,…,256, то каждому из них соответствует десятичное число, которое обозначено .
Требуется получить импульс (значение ЛФ отмечены в виде "1") только на -м выходе из всех имеющихся g1=256 выходов, а на остальных выходах должно формироваться значение "0". Полученный сигнал позволяет далее с помощью формирователя кодов ансамбля генерировать только -й код ансамбля из всех возможных g1=256 вариантов. То есть, если из ЗУ извлекается байт L - данных, который соответствует, например, десятичному числу 184, то рассматриваемая схема формирователя команд создает импульс "1" лишь на своем -м выходе. Это дает возможность запустить устройство, формирующее исключительно лишь 185-й код из формуляра кодов ансамбля.
Обозначено: (Х°i,j, i=1,…,8; j=1,2,…,256) - аргументы, ( n=1,…,256) - ЛФ от этих аргументов, причем, значение ЛФ равно "1" (фиг. 5) только для -го набора аргументов (), а для остальных вариантов величина равна "0". Составлена таблица истинности (фиг. 5), причем для простоты указано лишь несколько числовых значений. В первой колонке - номера по порядку, в колонках со второй по десятую - десятичные и двоичные числовые значения бит, соответствующие символам системы ASCII. В остальных колонках - требуемые значения ЛФ.
Если сигнал есть на первом выходе устройства, реализующего ЛФ, то на всех других выходах функция равна нулю, если сигнал есть на втором выходе, то на всех других равен нулю и так далее (≠0 лишь для n-го байта, n=1,…,g1). Применяя известные правила [11, с. 31; 12, с. 18], получим требуемые ЛФ. Например:
где n=g1=256, j=1, 2,… - индекс нумерации байтов.
Если подставить двоичные значения чисел, последовательно, например, для j=1, 185,256 (А и ) из таблицы фиг. 5 в формулы (14), то получим соответственно (другие компоненты равны нулю), (прочие компоненты равны нулю), (остальные компоненты равны нулю). Эти величины определяют ЛФ управления формирователями ШПС. В общем случае применения блоков ЛФ содержит g=g1 компонент. Эти величины определяют ЛФ управления формирователями кодов ансамбля.
2. Пример формуляра кодов ансамбля (GxR,N (N=30; R=3; W=29; х=1,…, g; g=256).
1) 1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1
2) 1,1,-1,1,1,1,1,-1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,1,1,-1,-1,-1,1,-1,1,1
3) 1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1
4) 1,1,-1,1,-1,1,-1,-1,1,-1,1,1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1
5) 1,1,-1,1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,1
6) 1,1,-1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,1,1,1,-1,1,1
7) 1,1,-1,1,-1,1,-1,1,-1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1
8) 1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1
9) 1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,-1,1,1,1,-1,1,1,1,-1,-1,1,-1,1,-1,1,1,1,1
10) 1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,1,1,1
11) 1,1,-1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,1,1
12) 1,1,-1,-1,1,1,1,-1,1,1,-1,1,1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,1
13) 1,1,-1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,1
14) 1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,1,1,-1,1,-1,-1,1,1,1
15) 1,1,-1,-1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,-1,1,1,-1,1,-1,1,-1,-1,-1,1,1,1
16) 1,1,1,1,-1,1,-1,1,-1,-1,1,1,1,-1,1,1,1,-1,-1,-1,1,-1,1,1,-1,-1,1,-1,1,1
17) 1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,1,1
18) 1,1,1,1,-1,-1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,1,1,-1,1,1,-1,1,1,1,-1,-1,1,1
19) 1,1,1,1,-1,-1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,1
20) 1,1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,1
21) 1,1,1,-1,-1,1,-1,1,1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,1,1
22) 1,1,1,-1,-1,-1,1,-1,1,-1,1,1,-1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,1,1
23) 1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,1,-1,1,1,-1,1,1,1,-1,-1,1,1,1,1,-1,-1,1
24) 1,1,-1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,-1,1
25) 1,1,-1,1,1,1,-1,1,1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1,-1,1
26) 1,1,-1,1,1,-1,1,1,-1,-1,1,1,1,-1,1,1,1,1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,1
27) 1,1,-1,1,1,-1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,-1,-1,-1,1
28) 1,1,-1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,1,-1,1,-1,1,1,-1,-1,-1,1,-1,-1,-1,-1,1
29) 1,1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,1
30) 1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,1,-1,1,1,1,1,-1,1,-1,1,1,-1,1,1,-1,-1,1
31) 1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,1
32) 1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,1,1,-1,1,1,-1,1,-1,-1,1
33) 1,1,-1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,1
34) 1,1,-1,-1,-1,1,1,-1,-1,-1,1,1,1,1,1,1,1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,1
35) 1,1,-1,-1,1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,1
36) 1,1,-1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,1
37) 1,1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,1,1,1,-1,-1,-1,1
38) 1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,1,1,1,1,-1,-1,-1,1
39) 1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,-1,1
40) 1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,-1,1
41) 1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,-1,-1,-1,-1,1
42) 1,1,-1,1,1,-1,1,1,-1,-1,1,1,1,-1,-1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,1,-1,1
43) 1,1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,-1,-1,1,1,1,1,-1,1,-1,1,-1,1,1,1,1,-1,1
44) 1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,1,1,1,1,1,-1,1,-1,1,1,-1,1
45) 1,1,-1,-1,1,1,1,-1,-1,1,1,1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,1
46) 1,1,-1,-1,1,-1,-1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,-1,1
47) 1,1,-1,-1,1,1,1,-1,1,1,1,1,1,1,-1,1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,-1,1
48) 1,1,-1,-1,1,1,-1,-1,1,1,1,-1,1,-1,1,1,1,1,1,1,-1,1,-1,-1,1,-1,-1,1,-1,1
49) 1,1,-1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,1
50) 1,1,-1,-1,1,-1,-1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,-1,1
51) 1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,1
52) 1,1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,1
53) 1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,1,-1,-1,1
54) 1,1,1,1,1,-1,1,-1,-1,-1,-1,1,-1,1,1,-1,-1,1,-1,1,1,1,-1,-1,-1,1,1,-1,-1,1
55) 1,1,1,1,-1,-1,1,1,1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1
56) 1,1,1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1
57) 1,1,1,1,1,1,-1,1,1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,1
58) 1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1
59) 1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,1
60) 1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,-1,-1,1,1,-1,-1,-1,1,-1,1,-1,-1,-1,1
61) 1,1,1,-1,1,-1,1,-1,-1,-1,1,1,-1,1,-1,1,1,-1,1,1,-1,1,1,1,1,1,1,-1,-1,1
62) 1,1,1,-1,1,-1,1,-1,1,1,1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,-1,1
63) 1,1,1,1,1,-1,1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,1,1,1,1,-1,-1,1,1,1,-1,1
64) 1,1,1,1,-1,-1,1,1,1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,-1,1,-1,1,1,-1,1,1,-1,1
65) 1,1,1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,-1,1
66) 1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1,-1,-1,-1,1,-1,1,-1,1
67) 1,1,1,1,-1,1,1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,-1,1,1,-1,-1,1,-1,1
68) 1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,-1,1,1,-1,1
69) 1,1,1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,1,-1,1
70) 1,1,1,-1,-1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,1,1,1,1,1,1,-1,1
71) 1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,1,1,1,1,1,-1,1
72) 1,1,1,-1,-1,-1,1,-1,1,1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,1,1,1,1,1,1,-1,1
73) 1,1,1,-1,-1,-1,1,1,-1,-1,1,1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,-1,1,1,1,1,-1,1
74) 1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,-1,1
75) 1,1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,1
76) 1,1,1,-1,1,1,1,1,1,-1,-1,1,1,-1,-1,-1,1,-1,1,1,1,1,-1,-1,1,-1,-1,1,-1,1
77) 1,1,1,-1,-1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,-1,1,-1,1
78) 1,1,1,-1,-1,-1,1,1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,1,-1,1
79) 1,-1,-1,1,1,1,-1,-1,-1,-1,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,1,-1,1,1
80) 1,-1,-1,1,1,1,1,-1,-1,1,1,1,-1,1,1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1
81) 1,-1,-1,1,1,-1,1,1,-1,1,-1,1,1,1,1,-1,1,1,1,1,1,-1,-1,-1,1,-1,-1,-1,1,1
82) 1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1
83) 1,-1,-1,1,-1,1,1,-1,1,1,1,1,1,1,-1,1,1,-1,-1,-1,1,-1,1,1,1,-1,-1,-1,1,1
84) 1,-1,-1,1,-1,-1,1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,1,-1,1,1,1,-1,-1,-1,1,1
85) 1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,-1,1,1,-1,-1,-1,1,1
86) 1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1,1,-1,1,-1,1,1,1,1,-1,-1,-1,1,1
87) 1,-1,-1,-1,1,-1,1,-1,1,-1,-1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,-1,1,1
88) 1,-1,-1,-1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,-1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1
89) 1,-1,-1,-1,-1,1,1,-1,1,-1,1,-1,1,1,1,1,-1,1,1,1,-1,-1,1,1,-1,1,1,-1,1,1
90) 1,-1,-1,-1,-1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,1
91) 1,-1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,-1,1,1,-1,-1,1,-1,1,1,1,-1,-1,-1,1,-1,1,1
92) 1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,-1,1,1
93) 1,-1,-1,-1,1,1,1,1,1,1,-1,1,1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,-1,1,1
94) 1,-1,-1,-1,1,1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1
95) 1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,1,1
96) 1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,1,-1,-1,1,1
97) 1,-1,-1,-1,1,-1,1,-1,1,1,1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1
98) 1,-1,-1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1
99) 1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1,-1,1,1
100) 1,-1,-1,1,1,1,1,-1,-1,-1,1,-1,1,1,-1,1,-1,1,-1,-1,1,1,-1,1,1,1,1,1,1,1
101) 1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,1,1,1,1,1,1
102) 1,-1,-1,1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,-1,-1,1,-1,1,1,1,1,1
103) 1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,1,-1,-1,1,1,1,1
104) 1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,1,1,1,1
105) 1,-1,-1,1,1,1,1,1,1,-1,1,1,-1,1,1,-1,1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,1,1
106) 1,-1,-1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,1,-1,1,-1,1,-1,1,1,1
107) 1,-1,-1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,1,1
108) 1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,1
109) 1,-1,-1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,1
110) 1,-1,-1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,1
111) 1,-1,1,1,1,1,-1,1,-1,1,-1,1,1,1,1,-1,-1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,1,1
112) 1,-1,1,1,-1,1,-1,1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1
113) 1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,1,1,1,-1,-1,1,1,1,-1,-1,1,1,-1,1,1,-1,1,1
114) 1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,1,-1,-1,1,1,1,-1,-1,1,1
115) 1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1
116) 1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1
117) 1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,1,1,1,1,1,1,-1,1,1,1,-1,-1,1,1
118) 1,-1,1,-1,-1,1,-1,-1,1,-1,1,1,1,1,1,1,-1,1,-1,1,1,1,-1,-1,1,1,-1,-1,1,1
119) 1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,-1,1,1
120) 1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,-1,-1,1,-1,-1,1,1
121) 1,-1,1,1,1,-1,-1,1,1,1,1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,1,-1,1,1,1,1,1
122) 1,-1,1,1,-1,1,1,-1,1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,1,1,1,-1,-1,1,1,1,1
123) 1,-1,1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,1,1,1
124) 1,-1,1,1,1,1,1,1,-1,1,1,-1,1,-1,-1,1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,1,1
125) 1,-1,1,1,1,1,1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,1,1,-1,-1,-1,1,1,1
126) 1,-1,1,1,1,1,-1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,-1,-1,1,1,1
127) 1,-1,1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,-1,1,1,1
128) 1,-1,1,1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,1
129) 1,-1,1,1,-1,-1,-1,1,1,-1,1,1,1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,1,1,-1,1,1,1
130) 1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,1,1,1
131) 1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,1,1,1
132) 1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,1
133) 1,-1,1,-1,-1,1,1,-1,1,-1,1Л,1,-1,-1,1,-1,-1,-1,1,1,1,1,1,1,-1,1,1,1,1
134) 1,-1,1,-1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,-1,1,1,1
135) 1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,1,1,1,1,1,1,-1,-1,-1,1,1,1
136) 1,-1,1,-1,-1,1,-1,-1,1,1,1,1,-1,1,-1,-1,-1,1,1,-1,-1,1,1,1,1,1,-1,1,1,1
137) 1,-1,-1,1,-1,-1,1,1,1,1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1
138) 1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,1,1,1,-1,-1,1,-1,-1,1
139) 1,-1,-1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,1,1,-1,1,-1,1,1,1,1,1,-1,1
140) 1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,1
141) 1,-1,-1,1,1,1,-1,1,-1,1,1,1,-1,1,1,1,-1,-1,-1,-1,-1,1,1,1,1,-1,1,1,-1,1
142) 1,-1,-1,1,1,-1,1,1,-1,-1,-1,-1,1,1,1,1,-1,1,1,1,1,-1,1,1,-1,1,-1,1,-1,1
143) 1,-1,-1,1,-1,-1,1,1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1,1,1,1,1,1,-1,1,-1,1,-1,1
144) 1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,1,-1,1,1,-1,1,1,1,1,1,-1,1,-1,-1,-1,1,-1,1
145) 1,-1,1,1,1,1,1,-1,1,-1,1,1,-1,1,-1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,1,-1,-1,1
146) 1,-1,1,1,-1,1,1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,-1,1,-1,1,1,1,-1,-1,1
147) 1,-1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,1,1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,-1,1
148) 1,-1,1,-1,1,-1,1,1,-1,1,1,1,1,-1,1,1,1,1,-1,-1,-1,-1,1,1,-1,1,1,-1,-1,1
149) 1,-1,1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1,1,1,-1,-1,1,-1,-1,1
150) 1,-1,1,-1,-1,-1,1,-1,1,1,1,1,1,-1,1,1,-1,1,1,1,-1,-1,1,-1,1,1,-1,-1,-1,1
151) 1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,1,1,1,-1,1
152) 1,-1,1,1,1,1,-1,-1,1,-1,1,1,1,1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,1,1,-1,1
153) 1,-1,1,1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,-1,1,-1,-1,1,1,1,1,-1,1
154) 1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,-1,1,-1,-1,1,1,1,1,-1,1
155) 1,-1,1,1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,1
156) 1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,1,-1,1
157) 1,-1,1,1,-1,-1,-1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,1,-1,1
158) 1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,1,1,1,-1,1
159) 1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,-1,1,1,1,1,-1,-1
160) 1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,1,1,1,-1,-1
161) 1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,1,-1,1,1,1,-1,-1,1,1,1,-1,-1
162) 1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,1,1,-1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,1,-1,-1
163) 1,-1,-1,1,-1,-1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1
164) 1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,-1,1,-1,1,1,1,1,1,-1,-1,-1,1,1,-1,-1
165) 1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,1,-1,1,-1,-1
166) 1,-1,-1,1,1,1,1,1,-1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1
167) 1,-1,-1,1,1,-1,1,1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1,-1
168) 1,-1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,1,1,-1,1,1,1,-1,1,-1,1,-1,-1,1,-1,-1
169) 1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,-1,1,-1,-1
170) 1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1
171) 1,-1,-1,1,1,-1,1,-1,-1,1,1,1,1,1,-1,1,-1,1,1,1,1,-1,1,1,-1,-1,-1,1,-1,-1
172) 1,-1,-1,1,1,-1,-1,1,-1,1,1,1,1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1
173) 1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,-1,1,1,-1,-1
174) 1,-1,-1,-1,1,1,1,-1,-1,1,1,-1,1,1,1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,-1
175) 1,-1,-1,-1,1,1,-1,1,1,1,-1,1,1,1,1,1,-1,-1,-1,1,-1,1,1,-1,1,1,-1,1,-1,-1
176) 1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1
177) 1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,-1
178) 1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,1,1,-1,1,1,1,-1,1,-1,-1
179) 1,-1,-1,-1,-1,1,1,1,1,1,1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,-1,-1
180) 1,-1,-1,1,1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,1,-1,1,1,1,1,1,1,1,-1,1,-1,-1,-1
181) 1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,1,1,1,1,-1,-1,-1
182) 1,-1,-1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,1,1,-1,1,1,-1,1,1,1,1,1,-1,-1,-1,-1
183) 1,-1,-1,1,1,1,-1,-1,1,1,-1,1,1,-1,1,1,-1,1,-1,1,-1,1,1,1,1,1,-1,-1,-1,-1
184) 1,-1,-1,1,1,-1,1,1,1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,-1,-1,-1,-1
185) 1,-1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,-1,1,-1,-1,-1,-1,1,1,1,-1,-1,-1,-1
186) 1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1
187) 1,-1,-1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1
188) 1,-1,-1,1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,1,1,-1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1
189) 1,-1,-1,-1,1,1,1,-1,-1,1,1,-1,1,1,-1,-1,1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1
190) 1,-1,1,1,1,1,1,1,1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,1,-1,1,1,-1,-1
191) 1,-1,1,1,1,1,1,1,-1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,-1,1,1,-1,-1
192) 1,-1,1,-1,1,1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1,-1,-1
193) 1,-1,1,-1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,1,1,-1,-1,-1,1,1,-1,-1
194) 1,-1,1,-1,1,-1,1,1,1,-1,-1,1,1,1,1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,1,-1,-1
195) 1,-1,1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,1,1,1,1,1,1,-1,-1,1,1,-1,-1
196) 1,-1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,1,1,1,1,1,1,1,1,1,-1,-1
197) 1,-1,1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,1,1,-1,-1,-1,1,1,1,1,1,1,1,1,1,-1,-1
198) 1,-1,1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1
199) 1,-1,1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,1,1,1,1,-1,1,1,1,1,1,1,-1,-1,1,-1,-1
200) 1,-1,1,-1,-1,1,-1,1,-1,1,1,1,-1,-1,-1,1,1,1,1,1,1,1,-1,1,1,-1,-1,1,-1,-1
201) 1,-1,1,-1,-1,1,-1,1,-1,1,1,1,1,1,-1,-1,-1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1
202) 1,-1,1,1,1,-1,1,-1,1,1,-1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,-1,-1,-1
203) 1,-1,1,1,-1,-1,1,1,-1,1,-1,1,-1,1,1,1,1,-1,-1,1,1,1,1,1,1,1,1,-1,-1,-1
204) 1,-1,1,1,-1,1,1,-1,-1,1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,-1,1,-1,-1,-1
205) 1,-1,1,1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,-1
206) 1,-1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1
207) 1,-1,1,1,-1,1,1,-1,-1,-1,1,1,-1,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,-1
208) 1,-1,1,1,-1,1,-1,-1,1,1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1
209) 1,-1,1,1,-1,-1,-1,-1,-1,1,1,-1,1,1,-1,1,-1,1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1
210) 1,-1,1,1,1,-1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,-1,1,1,1,-1,-1,-1,-1
211) 1,-1,1,1,-1,1,1,-1,1,-1,1,1,1,-1,-1,1,1,1,-1,1,1,1,1,1,1,-1,-1,-1,-1,-1
212) 1,-1,1,1,-1,1,1,-1,1,-1,1,-1,1,1,1,-1,-1,1,1,1,-1,1,1,1,1,-1,-1,-1,-1,-1
213) 1,-1,1,-1,1,1,1,1,-1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,-1,1,-1,-1,-1
214) 1,-1,1,-1,-1,1,1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1
215) 1,-1,1,-1,-1,-1,1,-1,1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,-1,-1
216) 1,-1,1,-1,-1,1,-1,1,-1,1,1,-1,-1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1
217) 1,-1,1,-1,-1,1,-1,1,-1,1,1,1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1
218) 1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,1,1,-1,-1,1,-1,1,-1,-1,1,1,1,1,1,1,1,1,-1
219) 1,-1,-1,-1,1,1,-1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,1,-1
220) 1,-1,-1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,1,1,1,-1
221) 1,-1,-1,-1,1,-1,1,1,1,-1,1,1,-1,1,-1,-1,-1,1,1,1,1,-1,1,1,-1,1,1,1,1,-1
222) 1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,1,1,1,-1
223) 1,-1,-1,-1,-1,-1,-1,1,1,1,1,-1,1,1,-1,1,1,1,-1,-1,1,1,1,-1,1,-1,1,1,1,-1
224) 1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,1,1,1,-1
225) 1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,-1,1,-1,1,1,-1,-1,-1,1,1,1,-1,1,-1,-1,-1,1,1,-1
226) 1,-1,-1,1,1,-1,1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1
227) 1,-1,-1,1,1,-1,-1,1,1,1,1,1,-1,1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1
228) 1,-1,-1,1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,1,-1,-1,1,-1,1,-1
229) 1,-1,-1,1,1,1,-1,-1,1,1,1,-1,1,-1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,1,-1
230) 1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,1,1,1,1,1,1,1,-1,-1,-1,1,1,1,1,-1,-1,1,-1
231) 1,-1,-1,-1,-1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,1,1,1,1,1,1,-1,1,-1
232) 1,-1,-1,-1,1,1,1,1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,-1,1,1,-1,-1,1,-1
233) 1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,-1,-1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,1,-1,-1,1,-1
234) 1,-1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,1,1,1,1,-1,-1,-1,1,1,1,1,1,1,1,1,-1
235) 1,-1,1,1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,-1,-1,-1,-1,1,1,1,-1
236) 1,-1,1,1,-1,1,1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,1,1,-1
237) 1,-1,1,1,-1,-1,-1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,1,1,-1,-1,1,1,-1
238) 1,-1,1,-1,-1,-1,-1,-1,-1,1,1,-1,1,1,1,-1,1,1,-1,1,1,1,1,-1,-1,1,1,1,1,-1
239) 1,-1,1,-1,1,1,-1,1,-1,1,1,1,-1,-1,-1,1,1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1
240) 1,-1,1,-1,-1,1,-1,1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,1,-1
241) 1,-1,1,-1,-1,1,-1,1,1,1,1,1,1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,-1,-1,1,1,-1
242) 1,1,-1,1,1,-1,-1,-1,-1,1,1,-1,1,1,1,-1,-1,-1,1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1
243) 1,1,-1,-1,1,-1,1,1,1,-1,-1,1,1,-1,1,-1,1,1,-1,1,1,1,1,1,1,1,1,-1,-1,-1
244) 1,1,-1,-1,1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,1,1,-1,-1,-1
245) 1,1,-1,-1,1,1,-1,-1,-1,1,-1,1,1,-1,1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,-1
246) 1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,1,-1,1,1,1,-1,-1,-1,-1,-1,-1,-1
247) 1,1,-1,-1,1,-1,-1,1,1,-1,-1,-1,1,1,1,-1,1,-1,1,-1,-1,1,-1,1,-1,-1,-1,-1,-1,-1
248) 1,1,-1,-1,-1,1,1,-1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,-1,-1,-1,-1
249) 1,1,-1,1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,-1,-1,1,1,1,-1,-1
250) 1,1,-1,-1,-1,1,1,-1,1,-1,-1,1,1,-1,1,1,-1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,1,-1,-1
251) 1,1,1,1,1,-1,-1,-1,-1,-1,1,-1,1,-1,1,-1,-1,1,-1,-1,1,1,-1,-1,-1,1,1,-1,-1,-1
252) 1,1,1,-1,1,1,1,1,-1,1,-1,1,-1,1,1,1,-1,-1,-1,1,1,-1,1,1,-1,1,1,-1,-1,-1
253) 1,1,1,-1,1,1,1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,-1,-1,-1,1,-1,1,1,-1,-1,-1
254) 1,1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1
255) 1,1,1,-1,1,1,1,-1,-1,-1,-1,1,-1,-1,-1,1,1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1
256) 1,1,1,-1,1,-1,-1,1,1,1,1,-1,1,-1,-1,1,1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,-1
Наибольшее значение ВКФ всегда меньше наибольшего значения (пика) АКФ, поэтому для любого множества кодов W<N. Следовательно, коды представленного формуляра составляют ансамбль с параметрами N, R, W и условия (2), (3) выполняются. Это позволяет путем анализа УБП АКФ и ВКФ различить друг от друга коды и сигналы на их основе и восстановить переданные по ЛС зашифрованные блоки данных и исходные входные данные после их хранения в ЗУ. Необходимо использовать ансамбли кодов и сигналов на их основе с максимально низкими значениями УБП АКФ и ВКФ [5, 6].
3. Описание предлагаемого устройства.
Устройство хранения и передачи данных с системой шифрования (фиг. 1) содержит запоминающее устройство 1, линию связи 2, генератор ключей шифрования 3, шифрователь 4, дешифрователь 5, устройство управления 6, генератор кодов ансамбля 7, приемное устройство 8, формирователь данных 9, генератор ключей дешифрования 10, при этом первый вход шифрователя 4 соединен с входом всего устройства, второй вход шифрователя 4 подключен к выходу генератора ключей шифрования 3, выход шифрователя 4 соединен с первым входом запоминающего устройства 1, второй вход которого подключен к второму выходу устройству управления 6, вход устройства управления 6 соединен с выходом запоминающего устройства 1, первый выход устройства управления 6 подключен к входу генератора кодов ансамбля 7, выход генератора кодов ансамбля 7 подключен входу линии связи 2, а выход линии связи 2 соединен с входом приемного устройства 8, выход дешифрователя 5 является выходом всего устройства, первый вход дешифрователя 5 соединен с выходом генератора ключей дешифрования 10, выход приемного устройства 8 подключен к входу формирователя данных 9, выход которого соединен с вторым входом дешифрователя 5, вместе с тем
генератор кодов ансамбля 7 формирует множество кодов (1) или сигналов на их основе, которые удовлетворяют соотношениям (2), а также ограничениям (3),
шифрователь 4 формирует сигналы Х°j, преобразуя входные данные Xвхj, j=1,2,…, исходя из условий (7),
дешифователь 5 формирует сигналы Xвыхj, преобразуя Х°j, j=1,2,…, по правилам (10), генератор ключей шифрования 3 формирует сигналы, соответствующие элементам последовательности Lj, j=1, 2,…, g1 (4), где g1- количество символов в системе кодирования данных,
генератор ключей дешифрования 10 формирует сигналы, соответствующие элементам (9) последовательности L'j, j=1,2,…, g1, где g1 - количество символов в системе кодирования данных, полученной так, что порядковые номера j-x элементов последовательности ключей шифрования Lj, j=1,2,…, g1 уменьшаются на единицу и меняются местами со значениями элементов этой последовательности, порядковые номера новой числовой последовательности увеличиваются на единицу и элементы полученной последовательности со своими измененными порядковыми номерами расставляются в порядке возрастания этих номеров, образуют последовательность L'j,j=1,2,…,g1, кроме этого, шифрователь 4 содержит преобразователь ключей шифрования 11, логическое устройство шифрования 12, сопрягающее устройство шифрователя 13,
вход преобразователя ключей шифрования 11 является вторым входом шифрователя 4, а выход преобразователя ключей шифрования 11 подключен к второму входу логического устройства шифрования 12, первый вход логического устройства шифрования 12 соединен с выходом сопрягающего устройства шифрователя 13, вход которого является первым входом шифрователя 4 и всего устройства, выход логического устройства шифрования 12 является выходом шифрователя 4;
устройство управления 6 содержит формирователь импульсов запуска 14 и генератор адресов и режимов 15,
выход генератора адресов и режимов 15 является вторым выходом устройства управления 6, вход формирователя импульсов запуска 14 связан с входом устройства управления 6, выход формирователя импульсов запуска 14 подключен к первому выходу устройства управления 6;
дешифрователь 5 содержит преобразователь ключей дешифрования 16, логическое устройство дешифрования 17 и сопрягающее устройства дешифрователя 18,
вход преобразователя ключей дешифрования 16 является первым входом дешифрователя 5, выход преобразователя ключей дешифрования 16 соединен с первым входом логического устройства дешифрования 17, второй вход логического устройства дешифрования 17 является вторым входом дешифрователя 5, выход логического устройства дешифрования 17 связан с входом сопрягающего устройства дешифрователя 18, выход которого является выходом дешифрователя 5 и всего устройства.
4. Состав и работа отдельных устройств, входящих в заявляемое устройство.
Устройства 1, 3, 4, 6, 7, 11-15 из схемы на фиг. 1 для удобства изложения отнесены к запоминающей части, а устройства 2, 5, 8, 9, 10, 16-18 причислены к восстанавливающей части, обе части соединены ЛС 2 и составляют УХПДШ. Для конкретности изложения представлено описание указанных устройств применительно к блокам в виде байтов.
4.1 Запоминающее устройство. ЗУ 1 предназначено для записи, хранения и воспроизведения на своем выходе сохраненных L-данных. ЗУ 1 является энергонезависимым и многократно перепрограммируемым. Этим требованиям, в частности, удовлетворяют твердотельные интегральные перепрограммируемые ЗУ с электрическим стиранием (без снятия микросхемы от контактных площадок) или EEPROM [13, с. 231,233] и жесткие диски (с большим объемом памяти при стационарном режиме использования УХПДШ или малогабаритные при мобильном варианте применения).
Имеется матрица, состоящая из запоминающих ячеек (ЗЯ), дешифраторов выбора строк и столбцов, адресных шин для записи и считывания сигналов из ячеек [13,с.237, 239]. Сигналы выбора ячеек подаются из устройства управления 6 (фиг. 1). Режимы работы: чтение, запись, стирание.
В рабочем режиме байты L-данных заносятся в ЗЯ. Последовательность записи и считывания регулируется сигналами управления адресами ЗЯ и режимом работы. Сигналы поступают на второй вход ЗУ 1 с второго выхода устройства 6. После окончания записи генератор ключей шифрования 3 может быть выключен (или отсоединен от всего устройства). При отключении питания от всего устройства ЗУ 1 переходит в режим хранения. Схожим образом реализуется считывание данных из ЗУ 1. Удаление данных из ЗУ 1 возможно путем подачи с генератор ключей шифрования сигналов (4), все значения которых одинаковы.
Все варианты позволяют получить один и тот же технический результат.
4.2 Линия связи. ЛС 2 предназначена для осуществления передачи кодов ансамбля или сигналов на их основе в ту часть заявляемого устройства, где данные восстанавливаются (от контакта G к Н фиг. 1). ЛС 2 представляет собой совокупность технических средств и физическую среду, обеспечивающих распространение сигналов данных [14, с. 189]. Технические средства могут включать модулятор (например, смеситель с усилителем), передатчик (например, усилители и антенны), приемник (например, преобразователь частоты с усилителем), демодулятор. Физические среды: твердая, жидкая, газообразная, вакуум. Различают линии электрической связи (проводной и радиосвязи), звуковой (акустической) и световой (оптической) связи.
Данные могут передаваться при использовании электромагнитных волн, распространяющихся через провода, кабели, волноводы, световоды, а также в воздушном и безвоздушном пространстве. В частности посредством витой пары, волоконно-оптического кабеля (ВОК), коаксиального кабеля, радиоканала наземной либо спутниковой связи [15].
Примером твердой физической среды являются звукопроводы поверхностных и объемных акустических волн из, например, пьезокварца и ниобата лития. Длина звуко-проводов невелика, но они практически нечувствительны к внешним воздействиям, исключая прямое физическое разрушение. Устройства на объемных и поверхностных акустический волнах для звуковых (акустических) линий связи представлены в [16].
Звуковые (акустические) линии связи в жидкой среде рассмотрены в [17], где указаны особенности звукоподводной связи. Линии световой (оптической) связи представлены в [18].
При непосредственном соединении контактов G и Н (фиг. 1) линия связи 2 состоит из проводников элементов схем соответствующих устройств.
Вспомогательное оборудование (преобразователи, усилители, антенны и так далее) здесь не рассмотрены. Все варианты реализации ЛС 2 обеспечивают один и тот же технический результат.
4.3 Генератор ключей шифрования. Генератор 3 предназначен для формирования сигналов, соответствующих лингануму шифрования (4). Эти сигналы представляют набор из g1=g байтов, числовые значения каждого из которых соответствуют величине Lj в выражении (4). Каждый набор байтов, состоит из совокупности бит. Параметры g, g1 - количество кодов в ансамбле и в выбранной системе кодирования. Устройство может быть выполнен на элементах дискретной схемотехники, например, на регистрах сдвига с отводами [7], так что к соответствующим отводам подключены инверторы, что позволяет получить на сумматоре сигналы от всех отводов требуемую числовую комбинацию бит, то есть необходимые байты ключей шифрования.
Возможен вариант выполнения в виде запоминающего устройства, в которое записаны все требуемые сигналы и из которого они могут быть извлечены. Эти сигналы являются выходными для генератора ключей шифрования 3.
Генератор ключей шифрования 3 может быть выполнен в виде программируемой логической интегральной схемы (ПЛИС) [12, 13, с. 494, 534] или ее разновидности либо варианта ПЛИС, который может быть создан в будущем. Сигналы управления, подаваемые на ПЛИС, позволяют реализовать должные ЛФ, получить требуемые последовательности байтов. В любом случае обеспечивается один и тот же технический результат.
4.4 Шифрователь. Устройство 4 предназначено для шифрования входных данных путем перенумерования байтов в соответствии с линганумом записи (на основании выражения (4)), задаваемым генератором ключей шифрования 3.
Для реализации указанного предназначения используются ЛФ, схожие с выражением (11), построение дано в примере. ЛФ могут быть реализованы, например, на логических элементах "И", "ИЛИ", "НЕ" [11, 12]. В состав шифрователя входит преобразователь ключей шифрования 11, ЛУ шифрования 12 и сопрягающее устройство шифрователя 13.
Краткое изложение сущности операций шифрования. Для реализации ЛФ шифрования, как это следует из выражения (11), требуется выполнить операции инверсии, что возможно путем применения инверторов, режим работы которых регулируется управляющими сигналами. Эти операции осуществляются в ЛУ шифрования 12, а указанные управляющие сигналы вырабатываются преобразователем ключей шифрования 11. Управляющие сигналы зависят от результатов сравнения (по определенному правилу) байтов, формируемых генератором ключей шифрования 3 (они задаются пользователем), с байтами выбранной системы кодирования (они выполняют роль эталонов).
Назначение инверторов - осуществление операции инвертирования (отрицания) двоичной переменной (обозначим ее "А") при воздействии внешнего сигнала управления U. Например, переменная А преобразуется в А*, если U равно логической "1" и не преобразуется, если U равно логическому "0".
В частности, инвертор может быть построен из двух электронных ключей (Кл. 1, 2) и схемы, выполняющей функцию инверсии "НЕ". Общая схема состоит из двух параллельных ветвей. В первой расположен Кл. 1, во второй - элемент "НЕ" и последовательно с ним Кл. 2. Входы и выходы ветвей являются также входами и выходами инвертора. Кл.1 размыкается, когда на управляющий вход ключа подается положительный сигнал U (обозначим его "+1"), а Кл. 2 при подаче этого сигнала замыкается. В этом случае входная переменная А проходит на выход через Кл.2 и инвертируется ("+1" - инверсия есть). Если подается противоположный сигнал управления (обозначим "0"), то Кл. 1 замыкается, а Кл. 2 размыкается. Входная переменная А проходит на выход без инверсии ("0" - инверсии нет). Меняя значение U, можно получить аргументы ЛФ в требуемом инвертируемом или нет виде. ЛФ для управления инверторами задается следующим образом: устройство управления инверторами имеет два входа, на которые подаются логические величины "В" и "С", тогда на выходе формируются значения сигналов управления в виде соотношения U=С⋅В*. Эта ЛФ принимает ненулевое значение лишь для набора аргументов (В;С)=(0;1). Устройства управления инверторами посредством сигналов U могут быть реализованы на логических элементах "И", "НЕ" [11, 12].
Исходя из установленных значений U (величина принимает единичное значение лишь для пары аргументов (0;1)) для проведения операции инверсии требуется сформировать следующий набор значений: переменная "С" (значение функции преобразования) равна "1", а аргумент "В"(входной сигнал) равен "0".
Введено обозначение: F°1,j; F°2,j;…;F°7;j; F°8,j - j-e компоненты ЛФ шифрования, каждая из которых равна произведению бит, часть из которых может быть инвертирована. Эти значения должны быть сформированы схемотехнически, они соответствуют лингануму записи. ЛФ шифрования - это набор величин F°1; F°2;…,F°7; F°8, являющихся суммами указанных компонент ЛФ для всех значений j=1,…, g1 (например, g1=256).
В соотношении U=С⋅В* считаем, что переменная "С" аналогична значениям компонент ЛФ шифрования и одновременно значениям линганума записи (таблица фиг. 3), а "В" является аргументом этой функции (таблица фиг. 2). Тогда для проведения операции инвертирования сигнал управления U в виде логической "+1" будет создаваться, когда "С" равно "+1" и "В" равно "0". Для всех других наборов переменных (В;С) на выходе схемы формирования сигнала управления U будет формироваться "0". Сигнал U определяется по указанному правилу для каждого i-го бита любого j-го байта применительно к каждой функции F°k, k=1,…, 8 (фиг. 3). Следовательно, сигналы управления инверторами в общем виде зависят от трех указанных индексов (i, j, k) и поэтому обозначены Ui,j,k. То есть величина "С" (компоненты ЛФ и значения линганума записи) является разрешающим сигналом проведения инвертирования величины "В" (аргументов ЛФ).
Преобразователь ключей шифрования 11, входящий в шифрователь 4, формирует управляющие сигналы Ui,j,k для инверторов на основе выбранного пользователем линганума, который реализуется в виде сигналов генератора ключей шифрования 3, а ЛУ шифрования 12 позволяет получить компоненты и построить требуемую ЛФ шифрования.
Схема реализации преобразователя ключей шифрования 11. В возможной схеме преобразователя ключей шифрования 11 для формирования Ui,j,k имеется вход для значений линганума передаваемых на второй вход шифрователя 4 от генератора ключей шифрования 3, а также имеется генератор байтов системы кодирования. Байты системы известны. Для g1=256 по аналогии с (5) эти байты обозначены - Величины принимают значения целых десятичных чисел от 0 до 255, а в двоичной системе исчисления они совпадают с числами в строках таблицы на фиг. 2 (от набора (0,…,0) до (1,…,1)). Эти величины играют роль эталонов. Генератор байтов Х'i,j системы кодирования может быть выполнен на регистрах с весовыми отводами и сумматорами [7] или в виде запоминающего устройства. Этот генератор байтов запускается при подключении напряжения питания. Величины Х'i,j есть значения номеров байтов (эталонов), используемые в подготовительном режиме для получения сигналов установки инверторов. Эти сигналы установки далее применяются в ЛУ шифрования 12 для формирования ЛФ шифрования в рабочем режиме.
Схемы для реализации ЛФ U=С⋅В* и генератор байтов системы кодирования входят в состав преобразователя ключей шифрования 11 и могут быть построены на логических элементах "НЕ", "И" для всех бит (i=1,…, 8) j-го байта. Аналогичные схемы нужны для всех разных значений j=1,…, g1 с целью создания напряжений управления всеми инверторами, что позволяет получить требуемые ЛФ шифрования.
Например, L1,j последовательно умножается на инверсии значений Х'1,j, X'2,j,…X'8,j и получаются сигналы Ui,j,1, U2,j,1,…, U8,j,1. Если же L8,j умножается на X'1,j, X'1,j,…,X'i,j, в результате формируются величины U1,j,8, U2,j,8,…, U8,j,8 и так для всех байтов j=1,…,g1. Для ASCII индексы величин Ui,j,k характеризуют: i=1,…,8 - зависимость от номера бит в байте; j=1,…,256 - подчиненность от номера байта; k=1,…,8 - связанность с номером компонент ЛФ (F°1,j;…; F°8,j) шифрования. Такими же по назначению индексами нумеруются инверторы, то есть Ii,j,k.
Работа преобразователя ключей шифрования 11. После подключения электропитания запускается генератор ключей шифрования 3 и генератор байтов системы кодирования. В соответствии с указанными правилами создаются напряжения управления инверторами U. В результате преобразователь ключей шифрования 11 трансформирует ключи шифрования в управляющие напряжения для инверторов ЛУ шифрования 12.
ЛУ шифрования 12 предназначено для выполнения операции шифрования входных байтов путем их перенумерования в соответствии с линганумом записи, с использованием напряжений управления инверторами. Для воплощения этой задачи можно использовать схемы для реализации ЛФ, сходных с выражением (11), применяя логические элементы "И", "ИЛИ", "НЕ" [11, 12].
В структуре ЛФ выражения (11) отметим особенности. Ранее аргументы обозначались Хi,j, i=1,…,8; j=1, 2,…, а в приведенном примере выражений для F°8 и F°7 используется одноиндексная нумерация Xi, i=1,…,8. Это связано с тем, что каждое слагаемое в ЛФ соответствует определенному значению индекса j, то есть вариация этого индекса при построении ЛФ учтена, поэтому для упрощения записей введена одноиндексная нумерация. При построении схемы ЛУ шифрования 12 это обстоятельство учтено в том, что в схеме имеются две части: одна формирует компоненты сумм различных ЛФ, а другая осуществляет их объединение, образуя в результате требуемую функцию целиком.
Каждая из указанных ЛФ представляется суммой произведений аргументов (Xi,j, i=1,…,8; j=1,2,…), как в формуле (11), некоторые из них инвертированы. Количество слагаемых для g1=256 равно количеству строк в таблицах фиг. 2, 3. В зависимости от вида линганума записи часть слагаемых указанной суммы произведений равна нулю, поэтому они отсутствуют в (11). В общем случае для каждой из восьми компонент ЛФ (рассматривается блок из восьми бит) требуется при их схемотехнической реализации формировать все g1 слагаемых (например, g1=256).
По правилам [11, с. 31; 12, с. 18] формирования любой ЛФ выделяются наборы аргументов, при которых функция равна единице (отмечены на фиг. 3 знаком (*)). Для инвертирования нулевых значений из этого набора аргументов используются инверторы. Инверторы Ii,j,k управляются сигналами Ui,j,k, вырабатываемыми преобразователями ключей шифрования 11. В подготовительном режиме формируются напряжения управления работой инверторов, а в рабочем режиме на входы соответствующих устройств подаются байты данных для дальнейшего шифрования, сохранения и восстановления.
То есть ЛУ шифрования 12 состоит из формирователей компонент F°1,j; F°2,j;…; F°7,j; F°8,j каждого j-го байта (это произведение бит, часть которых может быть инвертирована) и сумматоров для получения набора ЛФ шифрования (F°1; F°2;…; F°7; F°8).
Состав схем одного из возможных вариантов реализации формирователей компонент может включать инверторы Ii,j,k, i=1,…, 8; j=1,…, g1 (например, g1=256); k=1,…,8 и перемножители двоичных сигналов (8-ми входовые элементы "И). В режиме записи на входы формирователей компонент подаются значения входных данных (аргументы ЛФ) (Xi,j, Х2,j,…, X8,j). На выходе имеются значения компонент ЛФ (F°1; F°2, j;…; F°8, j) для каждого значения j=1,…, g1, причем эти компоненты являются произведениями значений входных данных (аргументов ЛФ) и некоторые из них инвертированы. В результате формируются слагаемые для компонент каждой из ЛФ, соответствующие всем j=1,…, g1. Далее проводится суммирование по всем значениям индекса j.
В схеме реализации формирователя компонент ЛФ так же имеется вход для сигналов управления инверторами Ui,j,k (i - индекс для изменения бит входных байтов; k - индекс вариации входных байтов; k - индекс нумерации компонент ЛФ F°1,j;…; F°8,j).
Например, на инверторы Ii,j,1; I2,j,1; …, I8,j,1, позволяющие получить инвертированные или нет входные биты, подаются 1,2,…, 8-й биты j-го байта входных данных X1,j, Х2, j,…, X8,j, а также сигналы управления записью U1,j,1;U2,j,1;…;U8,j,1. В результате перемножения сигналов на выходах инверторов получается компонента ЛФ F°i,j. Таким же образом применяются другие инверторы, в частности, если на инверторы I1,j,8; I2,j,8;…; I8,j,8, подать сигналы управления записью U1,j,8;U2,j,8;…;U8,j,8, то будет найдена компонента ЛФ F°8,j. Такие операции проводятся для всех значений индекса j=1,…, g1 (например, g1=256). Применяются схемы для каждого указанного значения j в отдельности, которые отличаются состоянием инверторов (подаются различающиеся управляющие сигналы, зависящие от линганума).
Имеются схемы суммирования слагаемых, составляющих компоненты ЛФ для различных j, и схемы для формирования набора ЛФ. Пусть примером является выражение (11) для одной из функций набора, допустим F°8. На каждую схему суммирования компонент (элементы "ИЛИ") поступают сигналы от формирователей этих компонент для различных j. Компоненты, относящиеся к одной и той же ЛФ, но для разных значений j, суммируются на g1 - входовых элементах "ИЛИ" (например, g1=256), что позволяет получить требуемые ЛФ.
На выходе схемы суммирования компонент имеются значения набора ЛФ шифрования (F°1; F°2;…; F°8), которые соответствуют разрядам зашифрованных посредством перенумерования байтов (6). То есть шифрователь 4 позволяет реализовать операции преобразования входных данных в зашифрованные байты, которые сохраняются в ЗУ 1.
Сопрягающее устройство шифрователя 13 предназначено для согласования ЛУ шифрования 12 с линией передачи, по которой на УХПДШ подаются входные данные, или для согласования формы представления данных или для применения известных правил, которые требуется реализовать для работоспособности ЛУ шифрования 12.
Согласование в сопрягающем устройстве шифрователя 13 позволяет энергетически эффективно и без искажений передать на ЛУ шифрования 12 входные данные. Функция согласования формы данных может заключаться, например, в преобразовании последовательной передачи байтов в параллельное следование байтов или в использовании некоторых протоколов, стандартов передачи/приема данных.
В несогласованных линиях связи возможны искажения данных [13, с. 29-32]. Они могут быть снижены путем применения устройства согласования [13, с. 32-40] или стандартов ввода/вывода данных [13, с. 43-53], что также относится к функции сопрягающего устройства. Оно может быть выполнено на пассивных или активных элементах (транзисторах, микросхемах) или в виде универсальной последовательной шины USB как в [4]. Все варианты обеспечивают одинаковый технический результат.
Работа шифрователя 4 начинается с подачи байтов входных данных (Х1,j, Х2,j,…, X8,j - это разряды двоичных чисел j-й строки таблицы фиг. 2). Инверторы установлены сигналами управления в подготовительном режиме, поэтому требуемые ЛФ шифрования имеются. Это позволяет задать новый номер каждому из входных символов (входных байтов) согласно этой ЛФ шифрования, что и нужно получить.
Схемы шифрователя 4 могут быть осуществлены на логических элементах или в виде ПЛИС [12, 13, с. 494, 534] или на ее разновидности либо на таком варианте ПЛИС, который может быть создан в будущем. Все варианты выполнения обеспечивают один и тот же технический результат.
4.5 Дешифрователь. Устройство 5 предназначено для дешифрования полученных из ЗУ 1 зашифрованных путем перенумерования байтов данных (согласно значениям линганума восстановления), то есть в соответствии с величинами (9), формируемыми генератором ключей дешифрования 10. Для этого используется схемы и формируются ЛФ, сходные с теми, которые предназначены для проведения шифрования и записи (примером является выражение (11)), с тем отличием, что линганум восстановления имеет другой вид. Указанные схемы могут быть реализованы, например, на логических элементах "И", "ИЛИ", "НЕ" [11, 12] либо на ПЛИС. Операция дешифрования реализуется с помощью преобразователя ключей дешифрования 16, ЛУ дешифрования 17 и сопрягающего устройства дешифрователя 18.
Преобразователь ключей дешифрования 16 сходен с преобразователем ключей шифрования 11. Разница между ключами шифрования и дешифрования связана с отличиями линганумов. Величины L', формируемые генератором ключей дешифрования 10, получаются в результате сортировки значений сигналов генератора ключей шифрования 3, что рассмотрено на примере и получены выражения (12), (13).
Сортировка позволяет добиться унификации путем использования одинаковых операций и схем при дешифровании и при шифровании (различия заключаются в сигналах управления инверторами). Составление ЛФ восстановления байтов путем дешифрования осуществляется таким же образом, как и при реализации операции шифрования.
Введено обозначение V=Vi,j,k - сигналы управления инверторами дешифрователя, используемые в ЛУ дешифрования 17, где i - индекс для нумерации бит; j - индекс вариации байтов; k - индекс компонент ЛФ дешифрования.
Схема реализации преобразователя ключей дешифрования 16. В этой схеме для формирования V=Vi,j,k имеется вход для значений линганума L', передаваемых на первый вход дешифрователя 5 от генератора ключей дешифрования 10, а также используется генератор байтов системы кодирования. Эти заранее известные байты для g1=256 по аналогии с (5) обозначены (X'i,j, i=1,…,8; j=1, 2,…, 256)=[(X'1,1;X'2,1;…; X'8,1); (X'1,2; Х'2,2;…; X'8,2);…;(X'1,256; X'2,256;…; Х'8,256)]. Величины этих байтов принимают значения целых десятичных чисел от 0 до 255, а в двоичной системе исчисления они совпадают с числами в строках таблицы на фиг. 2 (от набора (0,…,0) до (1,…,1)). Генератор байтов X'i,j системы кодирования может быть выполнен на регистрах с весовыми отводами и сумматорами [7] или в виде запоминающего устройства. Этот генератор байтов запускается при подключении напряжения питания. Величины X'i,j - эталонные числовые значения байтов, используемые в подготовительном режиме для получения сигналов Vi,j,k установки инверторов, которые далее применяются в рабочем режиме в ЛУ дешифрования 17.
Далее на логических элементах "НЕ" и "И" многократно реализуется ЛФ V=С⋅В* для всех бит (i=1,…, 8) каждого j-го байта. Аналогичные схемы для разных значений j=1,…, g1 позволяют получить требуемые ЛФ для сигналов управления всеми инверторами ЛУ дешифрования 17.
Сопрягающее устройство дешифрователя 18 предназначено для согласования сопротивлений ЛУ 14 дешифрователя с линией передачи, по которой из УХПДШ подаются выходные данные или для согласования формы представления данных.
Согласование, обеспечивающееся сопрягающем устройстве дешифрователя 18, позволяет энергетически эффективно и без искажений передать данные на выход УХПДШ. Согласование формы данных может заключаться, например, в преобразовании последовательной передачи байтов в паралельное следование байтов или в использовании известных протоколов либо стандартов передачи/приема данных.
В несогласованных линиях связи возможны искажения данных [13, с. 29-32]. Они могут быть снижены путем применения устройств согласования [13, с. 32-40] или стандартов ввода/вывода данных [13, с. 43-53], что также обеспечивается сопрягающим устройством 18. Оно может быть выполнено на пассивных или на активных элементах (транзисторах, микросхемах) или в виде универсальной последовательной шины USB как в [4]. Для любого варианта обеспечивается одинаковый технический результат.
Работа преобразователя ключей дешифрования 16. После подключения электропитания запускается генератор ключей дешифрования 10 и генератор байтов системы кодирования. Далее устанавливаются сигналы управления инверторами. В итоге преобразователь ключей дешифрования 16 трансформирует ключи дешифрования в управляющие сигналы инверторов, расположенных в ЛУ дешифрования 17.
ЛУ дешифрования 17 предназначено для выполнения операции дешифрования принятых из ЗУ 1 зашифрованных байтов путем их перенумерования в соответствии с линганумом восстановления данных, с использованием напряжений управления инверторами. Для воплощения этой задачи требуется использовать схемы, реализующие ЛФ, ранее рассмотренные на примере выражения (11). Схемотехнически ЛУ дешифрования 17 может быть реализован на логических элементах "И", "ИЛИ", "НЕ" или на ПЛИС.
Инверторы I'i,j,k, посредством которых осуществляется инвертирование требуемых аргументов ЛФ по правилам [11, 12], управляются сигналами Vi,j,k, вырабатываемыми преобразователями ключей дешифрования 16 в подготовительном режиме. В результате предварительной установки инвертируются лишь необходимые для проведения дешифрования данных биты. В рабочем режиме на входы инверторов поступают байты зашифрованных данных (6).
ЛУ дешифрования 17 состоит из формирователей компонент F'1,j; F'2, j;…;F'8,j каждого j-го байта (это произведение бит, часть которых может быть инвертирована) и сумматоров указанных компонент для получения набора ЛФ дешифрования (F'1; F'2;…; F'8) для всех значений j=1,…, g1 (например, g1=256).
Сущность операций ЛУ дешифрования 17. Схема одного из возможных вариантов реализации формирователя компонент ЛФ состоит из инверторов I'i,j,k, i=1,…, 8; j=1,…, g1 (например, g1=256); k=1,…, 8 и перемножителей двоичных сигналов (8-ми входовых элементов "И" для получения произведения восьми значений бит каждого из байтов, некоторые из которых инвертированы). В режиме восстановления данных на вход формирователей компонент ЛФ подаются значения принятых из ЗУ 1 зашифрованных данных, которые являются в этом случае входными сигналами и аргументами ЛФ. У инверторов, как и при шифровании, имеется вход для сигналов управления Vi,j,k (i - индекс для изменения бит входных байтов; j - индекс вариации входных байтов; k - индекс компонент ЛФ). В результате на выходе этих схем имеются значения компонент ЛФ дешифрования (F'1,j; F'2,j;…;F'8,j).
Для получения набора ЛФ дешифрования проводится суммирование этих слагаемых по всем возможным значениям индекса j, что реализуется сумматорами компонент (схемами "ИЛИ"). На каждую из таких схем поступают сигналы от формирователей этих компонент, то есть слагаемые ЛФ для различных значений индекса j. В результате компоненты, относящиеся к одной и той же ЛФ, но для разных значений j, суммируются на g1-входовых элементах "ИЛИ" (например, g1=256). После суммирования компонент вырабатывается набор ЛФ дешифрования F'=(F'1; F'2;…; F'8), которые в рабочем режиме соответствуют разрядам восстановленных в результате дешифрования байтов (8).
В рабочем режиме на вход ЛУ дешифрования 17 подаются сигналы управления инверторами Vi,j,k и зашифрованные данные (6). В соответствии с ЛФ дешифрования F' реализуются операции перенумерования принятых из ЗУ 1 зашифрованных L-байтов, в результате чего происходит восстановление данных (8) в исходном виде (Хвых=Хвх).
Схемы дешифрователя 5 могут быть выполнены на логических элементах или в виде ПЛИС [12, 13, с. 494, 534] или на ее разновидности либо варианта ПЛИС, который может быть создан в будущем. Все варианты выполнения обеспечивают один и тот же технический результат.
4.6 Устройство управления. Это устройство 6 является генератором сигналов управления следующими действиями: операциями записи/чтения зашифрованных данных в ячейки ЗУ 1 или из них; формированием импульсов запуска генератора кодов ансамбля 7. Один из возможных вариантов реализации устройства 6 предполагает генерирование следующих сигналов: 1) импульсов адресов строк и колонок ЗЯ ( m, n=1,2,… - сигналы управления перебором номеров соответственно строк и колонок матрицы ЗЯ, в которые побайтно заносятся L-данные для хранения в ЗУ 1 и дальнейшего их чтения); 2) сигналов задания режима записи/чтения данных в/из ЗУ 1 (этот сигнал обозначен Он управляет операцией записи зашифрованных данных в ЗУ 1 и чтением этих данных для дальнейшей их передачи на восстанавливающую часть УХПДШ (это происходит после начала работы преобразователя ключей дешифрования 16); 3) импульсов запуска генератора кодов ансамбля 7.
Устройство, вырабатывающее импульсы запуска генератора кодов ансамбля 7, именован формирователем импульсов запуска 14 (импульсы подаются на первый выход устройства управления 6). Устройство, создающее импульсы адресов строк и колонок, а также сигналы задания режимов, названо генератором адресов и режимов 15 (создаваемые сигналы могут подаваться последовательно на второй выход устройства управления 6).
Генератор адресов и режимов 15 является стандартным. Запись, чтение и управление этими режимами осуществляется с помощью разрядных шин, подключенных ко всем ЗЯ. Формирование сигналов режима возможно известными методами и устройствами [11-13]. Устройство может работать в автоколебательном режиме, формируя сигналы такой длительности, которая определяет временные интервалы для записи и восстановления данных. Сигнал может запускаться, например, вручную переключателем, подключающим генератор 15 к источнику питания. В результате начинается процесс восстановления данных на выходе УХПДШ. Сигналы адресов и режимов поступают на второй вход ЗУ 1 и показаны для простоты на схеме фиг. 1 одиночной линией.
Вход формирователя импульсов запуска 14 является входом устройства управления записью 6 и подключен к выходу ЗУ1. Выход этого формирователя 14 есть совокупность g1 выходов (например, g1=256), составляющих первый выход устройства управления 6. При поступлении из ЗУ 1 одного из возможных байтов L-данных, лишь на одном из всех этих g1 выходов появляется сигнал реакции (импульс запуска), который передается на выход 1 устройства управления 6 и далее на вход генератора кодов ансамбля 7, что приводит к генерированию соответствующего кода или сигнала на основе этого кода.
Формирователь импульсов запуска 14 реализует ЛФ (14) и может быть построен, например, на логических элементах "И", "ИЛИ", "НЕ" [11, 12]. Принцип работы формирователя подобен тому, что использован в шифрователе 4 (одна комбинация входных сигналов преобразовать в другую совокупность выходных значений посредством использования ЛФ). Формирователь импульсов запуска 14 может быть выполнен в виде ПЛИС [12, 13, с. 494, 534] или на ее разновидности либо варианта ПЛИС, который может быть создан в будущем. Все варианты обеспечивают один и тот же технический результат.
В примере (14) ЛФ являются произведением аргументов, которые входят в это произведение с инверсией либо без нее. Поэтому схема формирователя импульсов запуска 14 должна состоять из g1 (например, g1=256 - по числу ЛФ) восьми входовых (по числу бит в байтах входных сигналов этого формирователя) перемножителей, на которые передаются входные сигналы напрямую или после инвертирования, в зависимости от величины индекса ЛФ n=1,…,g1. Подключение инверторов к перемножителям выполняется при изготовлении и неизменно (сигналы управления не требуются).
Работа устройства управления 6. В зависимости от режима работы генератором адресов и режимов 15 формируются импульсы записи, чтения, стирания байтов ЗУ 1. Считанные из ЗУ 1 байты трансформируются в импульсы запуска одного из кодов ансамбля. Это реализуется формирователем импульсов запуска 14. В рабочем режиме на его вход подаются различные байты L-данных из ЗУ 1. Например, если подан первый байт из таблицы фиг. 5, то на первом выходе будет получен импульс запуска (на других выходах - нуль). В случае подачи байта последней строки таблицы фиг. 5 получим импульс запуска (остальные выходные сигналы - нули) и так далее. Каждый выход формирователя импульсов запуска соединен с входом соответствующего формирователя кодов ансамбля, которые входят в состав генератора кодов ансамбля 7. Импульсы запуска позволяют получить соответствующие коды ансамбля и преобразовать каждый байт L-данных из ЗУ 1 в определенный код ансамбля из формуляра либо сигнал на его основе.
4.7 Генератор кодов ансамбля. Это устройство 7 предназначено для формирования кодов ансамбля или сигналов на их основе с теми же порядковыми номерами из формуляра, что и соответствующие числовые значения байтов L-данных, сохраняемых в ЗУ 1.
Генератор 7 является совокупностью g формирователей кодов ансамбля, которые могут быть построены на микросхемах [7, рис. 3.11, с. 47 пример для КБ, 357] или в виде устройств на поверхностных акустических волнах (ПАВ) [14,16]. Последовательность чередования символов в кодах (1) определяет геометрическое расположение электродов преобразователей ПАВ в указанных устройствах. Устройства на ПАВ позволяют использовать коды и сигналы на их основе с коэффициентами (+1, -1) (1), что обеспечивает высокую энергетическую эффективность и микроминиатюрность УХПДШ.
Для формирователей кодов ансамбля имеются индивидуальные входы, которые совокупно подключены к первому выходу устройства управления 6 (количество таких выходов равно количеству формирователей кодов g=g1, но для простоты в схеме фиг. 1 показана одна линия на выходе). Соответственно в генераторе 7 имеется g=g1 входов (в схеме фиг. 1 на входе этого устройства показана двойная линия). Выходы формирователей генератора 7 подключены к g-входовому сумматору, объединяющему коды ансамбля или сигналы на их основе, далее они передаются на выход генератора кодов ансамбля 7.
В рабочем режиме на одном из входов формирователей генератора кодов 7 имеется тактовый импульс запуска, переданный с первого выхода устройства управления 6, а на всех других входах такой импульс отсутствует. Поэтому один из формирователей откликается соответствующим кодом (1), появляющимся на выходе сумматора и всего генератора 7. В итоге каждому байту L-данных ставится в соответствие требуемый код ансамбля или сигнала на основе этого кода, представленного в формуляре. Коды передаются по ЛС 2 для дальнейшего преобразования и проведения операции восстановления данных.
Устройства на ПАВ позволяют сразу получить сигналы на основе выбранных кодов ансамбля. Возможен вариант формирования вначале кодов ансамбля, а потом посредством модулятора выработать сигналы на основе выбранных кодов на требуемой несущей частоте, подходящей для конкретной ЛС.
Генератор кодов 7 может быть выполнены в виде формирователей кодов и сигналов на их основе и в виде модулятора несущих колебаний для передачи по каналу связи, причем модулирующими сигналами являются эти коды и сигналы.
Этот же генератор может быть выполнен в виде запоминающего устройства, в которое записаны и из которого могут быть извлечены все требуемые сигналы. Эти сигналы являются выходными для указанного генератора. Генератор кодов ансамбля 7 может быть выполнен в виде ПЛИС [12, 13, с. 494, 534] или ее разновидности или варианта ПЛИС, который может быть создан в будущем. Тогда выходной сигнал определяется соответствующей ЛФ и сигналами управления.
Все варианты реализации обеспечивают один и тот же технический результат.
4.8 Приемное устройство. Приемное устройство (ПУ) 8 предназначено для оптимального (при наличии шумов) приема кодов ансамбля или сигналов на их основе, переданных по ЛС 2. Оптимальным приемником является совокупность согласованных фильтров (СФ) или корреляторов [7, с. 26,159]. Оба варианта обеспечивают один и тот же технический результат. Рассмотрен вариант с применением СФ. Каждый из них согласован с одним из кодов или сигналов, формируемым генератором кодов ансамбля 7.
Возможный вариант схемы ПУ 8 может состоять из ветвей с параллельно соединенными входами. Любая ветвь включает СФ для одного из кодов ансамбля (1,2,…, g, например g=256) из формуляра и порогового устройства. СФ в ветвях нумеруются так же, как сами коды. Пороговое устройство вырабатывает сигнал в случае, когда выходной сигнал СФ превосходит установленное пороговое значение, что означает поступление на вход ПУ 8 кода с определенным номером по формуляру, согласованного с СФ данной ветви. Эти сигналы распознавания кодов и выходы ПУ 8 обозначены Выход каждой ветви является одним из выходов ПУ 8 (на фиг. 1 выходы показаны для простоты одиночной линией, всего g выходов, например, g=256). Для каждого байта принятых данных один их сигналов распознавания равен, например, "1", а все другие равны "0".
СФ могут быть реализованы на микросхемах [7, с. 48, рис. 3.13, с. 366, рис. 22.5] либо на ПАВ-устройствах [7, с. 357, рис. 21], [14,16]. Структура встречно-штыревых преобразователей ПАВ СФ связана с чередованием "1" и "-1" в кодах ансамбля (1).
Вход ПУ 8 соединен с ЛС 2 (фиг. 1), выходы ПУ 8 связаны с входами формирователя данных 9. При работе на все параллельные ветви подается входной сигнал, поступивший с ЛС 2 (один из возможных кодов (1) из формуляра либо сигналов на их основе). На выходе СФ соответствующей ветви будет формироваться сигнал АКФ того кода, который был использован для передачи соответствующего L-байта. АКФ представляет собой две области боковых пиков, между которыми имеется главный пик с высоким уровнем сигнала. На всех выходах прочих СФ имеется сигнал ВКФ, который может иметь несколько пиков, но наибольший из них всегда ниже главного пика АКФ. Необходимо использовать ансамбли кодов с низким уровнем пиков ВКФ, что повышает качество различения одного кода от другого, то есть разных символов системы кодирования. Далее в пороговом устройстве сравнивается полученный от СФ сигнала и уровень порога. Если он превышен, то формирует импульс распознавания ( например, g=256) на соответствующем выходе ПУ 8, означающий принятие конкретного кода формуляра (то есть поступление на вход вполне определенного символа данных в силу взаимно однозначного соответствия кодов и байтов). Так же принимаются и различаются все L-байты.
В качестве устройства сравнения может быть использована схема дифференциального каскада или цифровой компаратор [12]. Порог должен быть установлен выше уровня боковых пиков АКФ и наибольшего значения W всех ВКФ кодов, но ниже уровня главного пика АКФ всех кодов ансамбля. Должна быть реакция лишь на пик АКФ, без отклика на сигналы ВКФ. В результате в рабочем режиме ПУ 8 различает коды формуляра и далее полученные сигналы передаются на формирователь данных.
4.9 Формирователь данных. Это устройство 9 предназначено для преобразования принятых по ЛС 2 кодов в байты L-данных, аналогичные хранящимся в ЗУ 1. Восстановленные байты и биты обозначим соответственно и при корректной работе они равны зашифрованным данным Х°i,j, где i=1,…,8; j=1, 2,…, g1 (например, g1=256).
Состав возможного варианта схемы может включать параллельные ветви, каждая из которых состоит из формирователя байтов выбранной системы кодирования. Например, первая ветвь состоит из формирователя первого байта с числовым значением нуль, вторая ветвь - второго байта с числовым значением один и так до последней 256-ой ветви для формирования 256-го байта, соответствующего числу 255. Числовые значения представлены в двоичной системе исчисления. Каждая ветвь активизируется только соответствующим этой ветви сигналом распознавания.
Вход формирователя данных 9 - это раздельные входы всех ветвей, обозначенные на фиг. 1 для простоты одиночной линией. Этот вход подключен к выходу ПУ 8, с которого поступают сигналы распознавания кодов n=1,…,g1. Выход формирователя данных 9 соединен со вторым входом дешифрователя 5, на который передаются восстановленные байты L - данных j=1, 2,… Для простоты изображения схемы на фиг. 1 выход формирователя данных 9 изображен одиночной линией, по которой передаются все биты i=1,…,8; j=1, 2… каждого j-го восстановленного байта.
Формирователь данных 9 состоит из g1 формирователей всевозможных байтов, каждый из формирователей байтов соединен с соответствующим входом формирователя данных 9. Каждый формирователь байтов является генератором последовательности импульсов. Последовательности состоят из логических "1" или "0" и образуют наборы бит каждого -го байта восстановленных после передачи по линии связи L - данных, j=1, 2…, (соотношение индекса j и набора бит байтов представлено в таблице фиг. 2). Эти генераторы могут быть выполнены на элементах дискретной схемотехники, например, на регистрах сдвига с отводами [7]. К соответствующим отводам подключены инверторы, что позволяет получить на сумматоре сигналов от всех отводов требуемую комбинацию сигналов. Формирователем данных 9 может быть постоянное запоминающее устройство, содержащее значения всех байтов, каждый из которых извлекается при появлении сигналов распознавания кодов n=1,…, g 1.
В рабочем режиме из ПУ 8 на один из входов формирователя данных 9, например h-й, поступает сигнал распознавания кодов Он запускает формирователь импульсов этой ветви, который формирует один набор бит, соответствующих h-му байту восстановленных Х-данных. Эти байты следуют в том же порядке, в каком они были записаны в ЗУ 1. Восстановленные L-данные имеют тот же вид, что был на выходе шифрователя 4, то есть i=1,…,8; j=1, 2… (6). Далее байты передаются на вход дешифрователя 5.
Формирователь данных 9 может быть выполнен в виде запоминающего устройства, содержащего все требуемые сигналы и из которого они могут быть извлечены по соответствующим входным сигналам управления. Эти сигналы являются выходными для генератора ключей шифрования 3. Формирователь данных 9 может быть выполнен в виде ПЛИС [12, 13, с. 494, 534] или ее разновидности либо варианта ПЛИС, который может быть создан в будущем. Сигналы управления, подаваемые на ПЛИС, позволяют реализовать должные ЛФ, получить требуемые последовательности байтов. Все варианты выполнения обеспечивают один и тот же технический результат.
4.10 Генератор ключей дешифрования. Этот генератор 10 предназначен для формирования сигналов, соответствующих лингануму дешифрования (9). Его сигналы представляют набор из g1=g байтов, числовые значения каждого из которых соответствуют j-му элементу в выражении (9), представленному в двоичной системе (g, g1 - количество кодов в ансамбле и в выбранной системе кодирования).
Генератор 10 может быть выполнен на элементах дискретной схемотехники, например, на регистрах сдвига с отводами [7]. К соответствующим отводам подключены инверторы, что позволяет получить на сумматоре сигналы от всех отводов, соответствующие требуемой числовой комбинации бит (необходимые байты линганума дешифрования). Генератор 10 может быть выполнен в виде запоминающего устройства, в которое записаны все требуемые сигналы и из которого они могут быть извлечены.
Генератор ключей дешифрования 10 может быть выполнен в виде ПЛИС [12, 13, с. 494, 534] или ее разновидности либо варианта ПЛИС, который может быть создан в будущем. Сигналы управления, подаваемые на ПЛИС, позволяют реализовать должные ЛФ, получить требуемые последовательности байтов. Все варианты выполнения обеспечивают один и тот же технический результат.
5. Работа заявленного устройства. На примере текстов рассмотрены операции записи, хранения и восстановления данных. Применен вариант линганума записи из таблицы фиг. 4 для двух однословных текстов со словами yES и NOT. В полной таблице системы кодирования символ "у" соответствует числу 121 (в [19] используется термин код) с номером по порядку j=122. Из той же таблицы следует, что указанный символ перенумеруется в число 11. Для символа "у" имеем соответствие 121 → 11. Аналогично для других символов: "Е" - 69→169; "S" - 83→183; "N" - 78→178; "О" - 79→179; "Т" - 84→184.
При восстановлении данных с помощью случайно выбранного из всех возможных вариантов линганума восстановления данных (кодов дешифрования), применим, например, тот, в котором значения следуют в порядке возрастания (фиг. 4), без сортировки. Зашифрованные символы со значениями 121,69,83 будут расшифрованы как знаки со значениями 11,169,183 (по порядку номеров это символы 12,170,184). Отмечалось, что число и индекс в таблицах различаются на единицу. В результате вместо текста yES, будет получены символы и . Буквы со значениями 78, 79, 84 (текст NOT) будут расшифрованы как символы со значениями 178, 179, 184 (по порядку номеров это 179, 180, 185), то есть [19]. Использование ложного линганума приводит к искаженному восстановлению данных. В случае применения верного линганума восстановления, как было показано ранее (выражение (13)), данные воспроизводятся без искажений. Линганум должен держаться в секрете, часто изменяться.
Работа заявленного устройства начинается с подготовительного этапа и задания пользователем в генераторе ключей шифрования 3 (п.4.3) значений линганума записи (4) (всех бит каждого из g1 байтов). Это позволяет в преобразователе ключей шифрования 11, входящего в шифрователь 4, определить величины сигналов управления инверторами Ui,j,k (i - индекс нумерации бит входных байтов; j - индекс вариации входных байтов; k -индекс нумерации компонентов ЛФ шифрования), по которым устанавливаются режимы работы инверторов Ii,j,k (всех бит каждого байтов и для всех ЛФ) ЛУ шифрования 12 (п.4.4). В рабочем режиме записи и сохранения на вход шифрователя 4 подаются данные (5), которые шифруются (6) и записываются в ЗУ 1 (п.4.1).
Восстановление данных также начинается с задания пользователем в генераторе ключей дешифрования 10 (п.4.10) значений линганума (ключей) восстановления (9) (всех бит каждого из g1 байтов, полученных предварительно в результате проведения операции сортировки (13)). На подготовительном этапе в преобразователе ключей дешифрования 16, входящим в дешифрователь 5 (п.4.5), определяются величины сигналов управления инверторами дешифрователя Vi,j,k (i - индекс бит каждого байта; j - индекс вариации байтов; k - индекс нумерации компонент ЛФ), по которым устанавливаются режимы работы инверторов I'i,j,k (всех бит любого байта, для каждой ЛФ дешифрования).
Далее в устройстве управления 6 генерируются сигналы задания режима для начала считывания данных из ЗУ 1 (п.4.6), запускается генератор импульсов адресов, управляющий считыванием байтов из ЗЯ (п.4.1). Сигналы поступают на второй вход ЗУ 1 со второго выхода устройства управления 6. После окончания считывания процесс завершается до прихода следующего сигнала который предназначается для начала процедуры восстановления данных на выходе УХПДШ и может создаваться различным образом. Например, нужный сигнал может запускаться вручную пользователем, получающим выходные данные (путем сдвига переключателя), вручную администратором УХПДШ либо путем использования генератора сигналов режимов, работающего в автоколебательном режиме и устанавливающего периодичность восстановления данных, например, через каждую минуту, час, сутки и так далее.
После считывания данных из ЗУ 1 устройство управления 6 (п.4.6) формирует импульсы запуска генератора кодов ансамбля 7 (п.4.7), которые позволяют сформировать коды ансамбля с такими же порядковыми номерами из формуляра, что и соответствующие числовые значения байтов Z-данных, сохраненных в ЗУ 1. Полученные коды направляются в ЛС 2 (от контакта G к Н, фиг. 1) и далее на ПУ 8 (п.4.8), которое формирует сигналы распознавания кодов ансамбля, подаваемые далее на один из входов формирователя данных 9 (п.4.9). Формирователь воспроизводит структуру байтов, хранящихся в ЗУ 1, и перенаправляет байты на вход дешифрователя 5 (п.4.5). Зашифрованные данные (6) воссоздаются в дешифрователе в исходном виде (8) и поступают на выход (фиг. 1). Операция восстановления данных на этом завершается.
Требуется заметить, что после формирования необходимых сигналов управления генераторы ключей шифрования 3 и дешифрования 10 могут быть отключены. При отключенном питании всего УХПДШ сигналы установки инверторов не сохраняются и без ввода ключей шифрования и дешифрования использовать заявляемое устройство в рабочем режиме невозможно (сохраняются лишь L-данные в энергонезависимом ЗУ 1), несанкционированный доступ исключен. Сбросить настройки инверторов можно путем задания ключей шифрования (дешифрования), которые равны одной и той же величине.
Сопрягающие устройства 13 и 18 могут работать по стандарту USB 2.0 или любому другому более быстродействующему стандарту, который может быть создан в будущем.
6. Обоснование достижения технического результата. Технический результат, заключающийся в обеспечении энергетически скрытной передачи зашифрованных данных пользователю по ЛС 2, обеспечивается передачей кодов ансамбля на уровне ниже уровня шумов (ρ2<<1, где ρ2- отношение мощностей ШПС и помех) [7]. Отношения сигнал/шум на выходе СФ или коррелятора при оптимальном приеме в 2-В раз больше, чем на входе [7, с. 6]. Необходимо использовать коды ансамбля с базой В>>1 (представлены коды с В=N=30), так как чем больше база, тем больше превышение над шумами и выше скрытность [7, с. 9]. При несанкционированном доступе потребуется использование специальных методов и устройств для решения вопроса передаются ли какие-то сигналы, либо имеется только шум [7, с. 6]. Кроме того, применение приемного устройства, состоящего из совокупности СФ для каждого кода ансамбля, позволяет осуществить оптимальное обнаружение и различение сигналов при наличии шумов [7].
7. Защищенность заявляемого устройства от несанкционированного доступа.
Количество вариантов линганума, которые могут быть использованы при шифровании/дешифровании, определяется числом перестановок (g1)!. Несанкционированный доступ может осуществляться лишь путем перебора всех возможных вариантов преобразования номеров байтов и выбора версии ШПС, а также анализа получаемых при этом результатов. Для каждого варианта требуется затрачивать интервал времени, определяемый факториальной функцией от g1 (для g1=256 это величина большого порядка), чтобы установить наличие информативной значимости в полученных данных (определить имеется ли в них смысл), для чего требуется быстродействующая интеллектуальная система, что увеличивает затраты времени. Статистические методы нахождения ключей дешифрования в данном случае не применимы. Для любого набора ключей дешифрования будут получены выходные данные, они верны лишь для единственного набора ключей дешифрования.
Предотвращение возможности несанкционированного доступа повышает безопасности передачи информации от источника к пользователю. Ключи шифрования необходимо держать в секрете, часто обновлять, а генераторы ключей шифрования и дешифрования целесообразно выполнить отключаемыми от электропитания.
8. Некоторые варианты применения заявляемого устройства.
1. Стационарный вариант. Источником входных данных могу быть датчики или базы данных о множестве объектов. Сведения накапливаются определенное время, после чего передаются по ЛС 2 (например, витой паре или ВОК) множеству потребителей. Реализуется функция безопасного хранения и скрытной передачи данных исключительно нужным пользователям. Могут использоваться всевозможные физические среды (п.4.2).
2. Мобильный вариант. После записи данных в УХПДШ восстанавливающая часть отключается и перемещается в другое место на усмотрение пользователя (источник питания должен быть встроенным либо внешним). В качестве ЛС 2 выбирается радиоканал. Выход восстанавливающей части (всего устройства) подключается к устройству отображения (планшету, терминалу). Пользователь может перемещаться в пределах рабочей зоны и использовать сохраненные и обновляемые входные данные. Дополнительное оборудование не рассмотрено. Выбора начала процесса восстановления данных определяется пользователем (п.5). Имеется некоторое сходство с Wi-Fi, но здесь используется эффективное шифрование, обеспечивается скрытность работы при наличия шумов и помех.
Контакты G и Н в УХПДШ могут быть соединены напрямую (непосредственное соединение запоминающей и восстанавливающей частей для передачи данных после хранения). Тогда линией связи 2 являются соединительные проводники выхода конечного элемента схемы генератора кодов ансамбля 7 и входные проводники схемы ПУ 8.
Заявленное устройство может использоваться в дистанционных системах управления объектами, предназначенными для перемещения и выполнения требуемых операций в различных физических средах в назначенное время. Объектами могут быть, например, робототехнические системы, летательные и плавательные аппараты.
9. Электропитание, разъемы. Энергообеспечение может обеспечиваться от стационарных источников или от малогабаритных аккумуляторов. Типы разъемов зависят соединителей источников входных данных и выходных потребителей, типа линий связи. Могут использоваться соединители типа USB, штекеры и высокочастотные разъемы (предпочтительно с экранированием и заземлением).
Библиографический список
1. Патент RU №2506633, "Устройство хранения данных"; МПК: G06F 12/14, G11С 16/22, G06F 21/60; опубл. 10.02.2014, Бюл. №4.
2. Патент RU №2326500, "Когерентная система передачи информации хаотическими сигналами"; МПК: H04L 9/00; опубл. 10.06.2008, Бюл. №16.
3. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. - М.: Радио и связь, 2001. - 376 с.
4. Патент RU №2342697, "Портативное устройство хранения данных с системой шифрования"; МПК G06F 12/14; опубл. 27.12.2008, Бюл. №36.
5. Чепруков Ю.В., Соколов М.А Синтез фазоманипулированных сигналов с требуемым уровнем боковых пиков АКФ// Радиотехника. 1991. №5. С.68-70.
6. Чепруков Ю.В., Соколов М. А. Бинарные Я2-коды, их характеристики и применение// Информационно-управляющие системы. 2014. №1. С.76-82.
7. Варакин Л. Е. Системы связи с шумоподобными сигналами. - М.: Радио и связь, 1985. - 384 с.
8. Чепруков Ю.В., Соколов М.А. Корреляционные характеристики и применение некоторых бинарных Рч3-кодов // Информационно-управляющие системы. 2014. №3. С.93-102.
9. Чепруков Ю.В., Соколов М.А. Корреляционные характеристики некоторых бинарных R4-кодов и ансамблей сигналов на их основе // Информационно-управляющие системы. 2014. №5. С.87-96.
10. Чепруков Ю.В. Синтез бинарных R-кодов // Информационно-управляющие системы. 2015. №1. С.59-67.
11. Бойко В.И. и др. Схемотехника электронных систем. Цифровые устройства. - СПб: БХВ-Петербург, 2004.-512 с.
12. Лехин С.Н. Схемотехника ЭВМ. - СПб: БХВ-Петербург, 2010. - 672 с.
13. Угрюмов Е.П. Цифровая схемотехника.- СПб.: БХВ-Петербург, 2004.-800 с.
14. Электроника. Энциклопедический словарь. Гл. ред. Колесников В.Г., - М. Сов. энциклопедия, 1991, - 688 с.
15. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы.-СПб.: Питер, 2002. - 672 с.
16. Бугаев А. С, Дмитриев В. Ф., Кулаков С. В. Устройства на поверхностных акустических волнах: учеб. пособие / А. С.Бугаев, В. Ф. Дмитриев, С. В. Кулаков. - СПб.: ГУАП, 2009. - 188 с.
17. https://ww.booksite.ru/fulltext/1/001/008/045/201.htm, 28.03.2021 г.
18. https://www.booksite.ru/fulltext/1/001/008/084/692.htm. 28.03.2021 г.
19. ftp://ftp.vt.tpu.ru/study/Malchukov/public/PHDL/Proiects/ascii.pdf. 28.11.2020 г.
Изобретение относится к области радиотехники. Технический результат заключается в повышении защищенности хранения данных, обеспечивая скрытную передачу зашифрованных данных пользователю оптимальным образом по линии связи при наличии шумов. Устройство хранения и передачи данных с системой шифрования содержит запоминающее устройство, линию связи, генераторы ключей шифрования и дешифрования, шифрователь, дешифрователь, устройство управления, генератор кодов ансамбля, приемное устройство, формирователь данных. 9 з.п. ф-лы, 1 ил., 4 табл.
1. Устройство хранения и передачи данных с системой шифрования, содержащее запоминающее устройство, линию связи и генератор ключей шифрования, отличающееся тем, что введены
шифрователь, дешифрователь, устройство управления, генератор кодов ансамбля, приемное устройство, формирователь данных, генератор ключей дешифрования, причем первый вход шифрователя соединен с входом всего устройства, второй вход шифрователя подключен к выходу генератора ключей шифрования, выход шифрователя соединен с первым входом запоминающего устройства, второй вход запоминающего устройства подключен к второму выходу устройства управления, вход устройства управления соединен с выходом запоминающего устройства, первый выход устройства управления соединен с входом генератора кодов ансамбля, выход генератора кодов ансамбля подключен к входу линии связи, выход линии связи соединен с входом приемного устройства, выход приемного устройства подключен к входу формирователя данных, выход которого соединен с вторым входом дешифрователя, выход дешифрователя является выходом всего устройства, первый вход дешифрователя соединен с выходом генератора ключей дешифрования, вместе с этим
генератор кодов ансамбля формирует множество бинарных импульсных кодов или сигналов на их основе
где GxR,N - бинарные коды;
х - индекс нумерации кодов, х=1,…, g;
g - количество кодов в ансамбле или сигналов на их основе;
R - наибольшее допустимое значение модуля боковых пиков автокорреляционной функции кодов ансамбля, 1≤R≤N-1, R - целое;
N - количество коэффициентов в кодах ансамбля;
Pxj,j=1,…, N - коэффициенты х-го кода,
коэффициенты кодов удовлетворяют соотношениям
где Pij, PiN+j-k, j=1,…,N - коэффициенты i-го кода ансамбля;
N - количество коэффициентов в кодах ансамбля;
k - индекс нумерации отсчетов моментов времени автокорреляционной функции кодов ансамбля;
R - наибольшее допустимое значение модуля боковых пиков автокорреляционной функции кодов ансамбля, 1≤R≤N-1, R - целое;
g - количество кодов в ансамбле или сигналов на их основе;
g=g1 - количество символов в системе кодирования данных,
коэффициенты кодов ансамбля удовлетворяют ограничениям
где Pxj, PyN+j-k, j=1,…,N - коэффициенты х-го и у-го кодов ансамбля;
x,y (х≠у) - индексы различных кодов в ансамбле, индексы принимают значения от 1 до g;
g - количество кодов в ансамбле или сигналов на их основе;
N - количество коэффициентов в кодах ансамбля;
k - индекс нумерации отсчетов моментов времени взаимной корреляционной функции кодов ансамбля;
W - допустимый уровень боковых пиков взаимной корреляционной функции, N>W≥1,
g=g1 - количество символов в системе кодирования данных,
шифрователь формирует сигналы Х°j, где j=1, 2,…, исходя из условий
"Если" Xвxj=0 "ТО" X°j=L1 или
"Если" Хвх j=1 "ТО" X°j=L2 или
"Если" Хвхj=2 "ТО" X°j=L3 или …
"Если" Хвхj=(g1-1) "ТО" X°j=Lg1,
где j=1, 2,… - индекс нумерации блоков;
Xвxj - значение j-го блока входных данных;
X°j - значение j-го блока после шифрования;
L1; L2; Lg1 - последовательность значений ключей шифрования, формируемых генератором ключей шифрования;
g - количество кодов в ансамбле или сигналов на их основе;
g=g1 - количество символов в системе кодирования данных,
дешифрователь формирует сигналы Xвыхj, где j=1,2,…, исходя из условий
"Если" X°j=0 "ТО" Хвыхj=L'1 или
"Если" X°j=1 "ТО" Хвыхj=L'2 или
"Если" X°j=2 "ТО"Хвыхj=L'3 или …
"Если" X°j=(g1-1) "TO" Хвыхj=L'g1, где
j=1, 2,… - индекс нумерации блоков;
X°j - значение j-го блока до дешифрования;
Хвых j - значение j-го блока выходных данных;
L'1; L'2; …, L'g1 - последовательность значений ключей дешифрования, формируемых генератором ключей дешифрования;
g - количество кодов в ансамбле или сигналов на их основе;
g=g1 - количество символов в системе кодирования данных,
генератор ключей шифрования формирует сигналы, соответствующие элементам последовательности Lj, j=1, 2,…, g1, каждое значение которой является одним из целых положительных чисел от 0 до (g1-1), используемым при составлении этой последовательности лишь однажды, где g1 - количество символов в системе кодирования данных, генератор ключей дешифрования формирует сигналы, соответствующие элементам последовательности L'j, j=1,2,…, g1, где g1 - количество символов в системе кодирования, полученной так, что порядковые номера j-x элементов последовательности ключей шифрования Lj, j=1,2,…, g1 уменьшаются на единицу и меняются местами со значениями элементов этой последовательности, порядковые номера этой новой созданной числовой последовательности увеличиваются на единицу и элементы полученной последовательности со своими измененными порядковыми номерами расставляются в порядке возрастания этих номеров.
2. Устройство по п. 1, отличающееся тем, что шифрователь содержит преобразователь ключей шифрования, логическое устройство шифрования и сопрягающее устройство шифрователя,
вход преобразователя ключей шифрования соединен с вторым входом шифрователя, а выход преобразователя ключей шифрования подключен к второму входу логического устройства шифрования, первый вход логического устройства шифрования соединен с выходом сопрягающего устройства шифрователя, вход сопрягающего устройства шифрователя соединен с первым входом шифрователя и всего устройства, выход логического устройства шифрования подключен к выходу шифрователя;
шифрователь выполнен на логических элементах или программируемых логических матрицах или ее вариантах;
сопрягающее устройство шифрователя выполнено на пассивных элементах или на транзисторах или на микросхемах или в виде универсальной последовательной шины USB.
3. Устройство по п. 1, отличающееся тем, что дешифрователь содержит сопрягающее устройство дешифрователя, преобразователь ключей дешифрования и логическое устройство дешифрования,
вход преобразователя ключей дешифрования является первым входом дешифрователя, выход преобразователя ключей дешифрования соединен с первым входом логического устройства дешифрования, второй вход логического устройства дешифрования является вторым входом дешифрователя, выход логического устройства дешифрования соединен с входом сопрягающего устройства дешифрователя, выход которого подключен к выходу дешифрователя и всего устройства;
дешифрователь выполнен на логических элементах или программируемых логических матрицах или ее вариантах;
сопрягающее устройство дешифрователя выполнено на пассивных элементах или на транзисторах или на микросхемах или как универсальная последовательная шина USB.
4. Устройство по п. 1, отличающееся тем, что устройство управления содержит генератор адресов и режимов, формирователь импульсов запуска,
выход генератора адресов и режимов соединен с вторым выходом устройства управления, вход формирователя импульсов запуска подключен к входу устройства управления, выход формирователя импульсов запуска подсоединен к первому выходу устройства управления;
формирователь импульсов запуска выполнен на логических элементах или программируемых логических матрицах или на ее вариантах.
5. Устройство по п. 1, отличающееся тем, что линия связи
представляет собой совокупность технических средств, таких как модулятор, передатчик, приемник, демодулятор и физическую среду, такую как газ или жидкость или твердое тело или вакуум; линия связи является линией проводной электрической связи или радиосвязи или линией звуковой акустической связи или линией световой оптической связи;
линия связи выполнена в виде проводников элементов схем или волоконно-оптического кабеля или коаксиального кабеля или волновода или звукопровода или витой пары или радиоканала наземной либо спутниковой связи.
6. Устройство по п. 1, отличающееся тем, что генератор ключей шифрования выполнен на элементах дискретной схемотехники или в виде запоминающего устройства или на программируемых логических матрицах или ее вариантах.
7. Устройство по п. 1, отличающееся тем, что генератор кодов ансамбля
выполнен в виде устройств на поверхностных акустических волнах или элементах дискретной схемотехники или в виде запоминающего устройства или на программируемых логических матрицах или ее вариантах для непосредственной передачи по каналу связи; генератор кодов ансамбля выполнен в виде устройств для формирования кодов и сигналов на их основе и в виде модулятора несущих колебаний для передачи по каналу связи, причем модулирующими сигналами являются эти коды и сигналы.
8. Устройство по п. 1, отличающееся тем, что приемное устройство выполнено в виде функциональной группы согласованных фильтров или корреляторов для каждого кода генератора кодов ансамбля или каждого сигнала на их основе.
9. Устройство по п. 1, отличающееся тем, что формирователь данных выполнен на элементах дискретной схемотехники или в виде запоминающего устройства или на программируемых логических матрицах или ее вариантах.
10. Устройство по п. 1, отличающееся тем, что генератор ключей дешифрования выполнен на элементах дискретной схемотехники или в виде запоминающего устройства или на программируемых логических матрицах или ее вариантах.
УСТРОЙСТВО ХРАНЕНИЯ ДАННЫХ (ВАРИАНТЫ) | 2012 |
|
RU2506633C1 |
КОГЕРЕНТНАЯ СИСТЕМА ПЕРЕДАЧИ ИНФОРМАЦИИ ХАОТИЧЕСКИМИ СИГНАЛАМИ | 2006 |
|
RU2326500C1 |
Машина для нанесения шлифовального узора на стеклянные изделия | 1956 |
|
SU108167A1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Авторы
Даты
2023-03-10—Публикация
2022-01-11—Подача