Область техники
Изобретение относится к средствам вычислительной техники, в частности к устройствам хранения, в которых применяется шифрование.
Уровень техники
Известно устройство хранения данных [1], содержащее блок управления, блок памяти, блок коммутации и блок защиты ключевых цепей и обеспечивающее надежность и безопасность хранения данных при воздействии опасного внешнего воздействия (статического электричества). Недостатком аналога является отсутствия системы шифрования.
Аналогом выбрано устройство [2], содержащее запоминающее устройство (энергонезависимого типа), линию связи (указана проводная или беспроводная секция приема/передачи данных), генератор случайных чисел, являющихся ключами шифрования/восстановления переданных данных, выполненный в виде одной/нескольких интегральных схем либо "смарт-карты", главный блок управления, представляющий собой программируемую интегральную схему, основанную на программном обеспечении, загружаемом специальным образом. Недостатком является отсутствие возможности варьирования значений ключей шифрования в широких пределах без дополнительных энергозатрат и увеличения габаритов.
Прототипом выбрано устройство [3], содержащее запоминающее устройство (ЗУ), генератор ключей шифрования, шифрователь, дешифрователь, устройство управления, генератор ключей дешифрования. Шифрование реализуется посредством перенумерования значений входных байтом в соответствии с задаваемыми пользователем ключами шифрования. Зашифрованные данные хранятся в ЗУ, считываются и дешифруются по ключам дешифрования путем обратного перенумерования байт. Ключи формируются соотвествующими генераторами. Недостатком прототипа является отсутствие возможности оперативного варьирования значений ключей шифрования и дешифрования.
Краткое изложение сущности и состава предлагаемого устройства. На вход заявляемого устройства хранения и передачи данных с системой шифрования (УХДШ) подаются входные данные Хвх, состоящие их множества байт, каждый из которых является совокупностью бит (комбинации логических единиц "1" и нулей "0"). Задача устройства состоит в сохранении входных данных в защищенном от несанкционированной корректировки виде и восстановлении данных в необходимом для пользователя месте в требуемый момент времени, так чтобы в результате Хвых=Хвх. Каждому байту соответствует числовое значение и некоторый символ выбранной системы кодирования данных. Перед запоминанием чисел, соответствующих входным байтам, осуществляется изменение их числовых значений (шифрование) на новые величины в соответствии с выбранным пользователем правилом (ключом шифрования). В работе [4] упоминаются методы перенумерования символов. Шифрование путем перенумерования осуществляется благодаря управляющим сигналам, являющимся результатом сравнения байтов выбранной (эталонной) системы кодирования с ключами шифрования. Байты с новыми, перенумерованными значениями сохраняются в ЗУ. Задача восстановления данных в первоначальном виде проводится путем обратной замены числовых значений байтов, сохраненных в ЗУ, на первоначальные номера (дешифрование) согласно правилу преобразования номеров байтов (ключу дешифрования), задаваемому пользователем. Шифрование и дешифрование осуществляются в шифрователе и дешифрователе. Таким образом входные данные могут быть защищены, сохранены и восстановлены.
Указанные операции проводятся на ограниченных временных интервалах (слотах), длительности которых задаются пользователем. В зависимости от действий пользователя данные перешифровываются по новым ключам и вновь хранятся в ЗУ. Если пользователь подключает к выходу ЗУ дешифрователь, то данные кроме поступления на перешифрование также дешифруются и передаются на выход устройства. Когда дешифрователь не активирован, то данные лишь перешифровываются. Такие операции продолжаются в течение определенного пользователем срока.
При передаче данных в информатике и компьютерной технике каждый байт соответствует определенному символу системы кодирования. При использовании известной системы кодирования ASCII (American Standard Code for Information Interchange-стандартный код информационного обмена), состоящей из g1=256 символов. Символам соответствуют числовые значения, изменяющиеся от 0 до 255, которые, как известно, представляются набором из восьми бит, составляющих байт.
В общем случае для системы кодирования из g1 символов требуется использовать g2=1 og2g1 (округление в большую сторону до ближайшего целого числа) символов (бит), наборы из g2 бит, не обязательно равные восьми, названы блоками.
Некоторые термины, использованные для упрощения описания.
Блок - набор конечного числа бит данных, блок из восьми бит является байтом.
L-данные - зашифрованные байты входных данных, перенумерованные в шифрователе в соответствии с ключами шифрования, обозначенными символом L.
Запись данных - занесение в ячейки ЗУ бит зашифрованных блоков (L-данных).
Восстановление данных - преобразование зашифрованных блоков в вид, который имели данные до шифрования на входе заявленного устройства.
Линганум - установленная пользователем функция (правило, формула, таблица), определяющая взаимно-однозначное соответствие между множествами чисел (0; 1; …; g1-1) и множеством символов выбранной системы кодирования. ASCII - частный случай линганума.
Перенумерование блоков (байтов) - изменение порядка следования элементов, например, бит логических единиц и нулей, либо положительных и отрицательных логических единиц, входящих в блок (байт) так, чтобы числовое значение, определяемое элементами блока (байта), стало равным назначенному числу (ключу).
Числовые значения блоков определяются последовательностью бит, которые рассматриваются в качестве цифр двоичной системы исчисления, причем, если элементами выбраны положительные и отрицательные логические единицы, то при подсчете числовых значений блока отрицательные логические единицы заменяются на нули.
Сортировка - операция преобразования одной конечной последовательности числовых значений в другую так, что индексы порядковых номеров элементов исходной последовательности уменьшаются на единицу и меняются местами с значениями элементов этой последовательности, порядковые номера новой числовой последовательности увеличиваются на единицу и элементы полученной последовательности со своими измененными порядковыми номерами расставляются в порядке возрастания этих номеров.
Сортировка используется для определения линганума восстановления данных и ключей дешифрования, исходя из вида линганума записи и ключей шифрования, что позволяет при дешифровании использовать те же операции и схемы, что и при шифровании.
Порядок сортировки определяется тем, что величины первоначальной последовательности надо поменять на новые, а также учесть, что эти величины и их индексы различаются на единицу (например, в 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). Видна однозначная связь полученного результата с первоначальной последовательностью, представленной выше через знак соответствия, перенумерования "→".
Рассмотрим пример многократного перенумерования. Для второго примера выберем последовательность Запись через знак соответствия позволяет получить маршруты перенумерования: 1(0→2); 2(1→4); 3(2→5); 4(3→1); 5(4→3); 6(5→0). Результаты операций: (20; 41; 52; 13; 34; 05); (02; 14; 25; 31; 43; 50); (03; 15; 26; 32; 44; 51); =(51; 32; 03; 44; 15; 26) - набор после сортировки. Сверка элементов подтверждает верность результата операции сортировки.
При последовательном двухкратном перенумеровании числовых значений имеем следующий маршрут: 1(0→5→0); 2(1→0→2); 3(2→3→1); 4(3→2→5); 5(4→1→4); 6(5→4→3). Результат двухкратного перенумерования, получаемый при последовательном использовании двух маршрутов: 1(0→0); 2(1→2); 3(2→1); 4(3→5); 5(4→4); 6(5→3). Двухкратное перенумерование можно ввести совокупной последовательностью которая на основании маршрута (всех этапов, шагов) перенумерований определяет результирующие величины каждого из начальных числовых значений элементов после этих этапов перенумерований.
Для проведения сортировки требуется провести ранее указанные операции: (00; 21; 12; 53; 44; 35); (00;12; 21; 35; 44; 53); (01;13; 22; 36; 45; 54); F'2=(01;22; 13; 54; 45; 36) - результат сортировки.
Далее при d-кратном перенумеровании (d=1, 2, …, D) задаются значения последовательности выписываются маршруты перенумерования элементов, задаваемые выполняется сортировка и определяются элементы на основе маршрутов элементов для предыдущих значений при (d-1)-кратном перенумеровании составляется маршрут элементов для d-кратного перенумерования (от d=1 до d-го), на основании которого составляется совокупная последовательность перенумерования, выполняется сортировка и определяются элементы Любая операция может контролироваться сравнением последовательностей до и после сортировки.
Элементы совокупной последовательности определяются маршрутами последовательных перенумерований от первого до d-го этапа, причем эти маршруты задаются значениями определяющими индивидуальное перенумерование каждой из величин элементов с значения на предыдущем этапе на значение на следующем этапе, так что в результате элементы определяют конечное значение каждого элемента первоначального блока данных после d-кратных индивидуальных перенумерований.
Представление операции шифрования путем перенумерования блоков. Рассмотрен вариант, когда блоки являются байтам. Шифрование проводится путем замены числовых значений байтов, то есть способом перенумерования на варьируемых временных интервалах (слотах). Индивидуальные ключи шифрования для каждого слота:
последовательность варьируемых значений линганума записи данных в двоичном и десятичном представлении (выписаны первые два и последний байты) для любого из d=1, 2, …, D слота, каждое значение в скобках является одним из целых положительных чисел от 0 до (g1-1), используемым при составлении этой последовательности лишь однажды (g1-количество символов в системе кодирования данных, например, g1=256);
td=td-1+Λd-окончание d-го слота длительностью Λd≥0;
- последовательность ключей шифрования длительностей слот;
tD -сумма Λd длительностей всех D слот;
t0, tD -начальное и конечное значения первого и последнего слота. Для двоичной системы представления Li,j,d принимают значения логических "1" или "0" и задают i-й бит j-го байта для d-го слота. Значения Ld в формуле (1) устанавливают ключи шифрования для любого слота. На фиг. 1(a) графически представлены слоты различной длительности.
Если зашифрованные данные многократно перешифровываются без предварительного дешифрования, то шифрование данных от первого до d-го слота индивидуальными ключами Ld по отдельности эквивалентно применению совокупных (обобщенных) ключей шифрования каждого символа данных сразу от первого до d-го слота, они обозначены:
последовательность значений совокупных ключей шифрования данных в двоичном и десятичном представлении (выписаны первые два и последний байты) для любого из d=1, 2, …, D слота, каждое значение в скобках является одним из целых положительных чисел от 0 до (g1-1), используемым при составлении этой последовательности лишь однажды (g1 - количество символов в системе кодирования данных, например, g1=256);
td=td-1+Λd-окончание d-го слота длительностью Λd≥0.
В двоичной системе принимают значения логических "1" или "0" и задают i-й бит j-го байта для d-го слота, формула (2) устанавливает общие ключи шифрования для любого слота (графическое представление дано на фиг. 1(б)).
Элементы совокупной последовательности определяются последовательностью (маршрутами) перенумерований элементов входных блоков данных на каждом d-м этапе (слоте), определяемых индивидуальными ключами шифрования на предыдущих слотах.
Введены входные и зашифрованные данные для каждого d-го слота:
входные данные в двоичной и десятичной системе (записаны лишь первые два байта);
данные после последовательного d-кратного шифрования в двоичной и десятичной системах (записаны только первые два байта);
i, j, d - индексы нумерации бит, байтов, слот.
При табличной записи значений (фиг. 3, 4) индекс j не вводится (его роль выполняют номера строк), индекс слота в примерах таблиц для их упрощения не конкретизируется. Перенумерование байтов (3) в выражении (4) осуществляется в шифрователе и в дешифрователе (при восстановлении данных) путем реализации операции проверки выполнимости определенных условий и осуществлении операции присвоения:
операция шифрования путем замены числовых значений,
где j=1, 2, …, d=1, 2, …, D - индексы нумерации байтов и слот;
- значение j-го байта входных данных на d-м слоте;
- значение j-го байта после шифрования на d-м слоте;
- последовательность значений ключей шифрования на d-м слоте;
g1 - количество символов в системе кодирования данных.
Перед очередным перешифрованием выходные данные ЗУ становятся входными данными устройства, передаются от точки G к точке F (фиг. 2).
Выходные данные для любого слота в случае их восстановления обозначены:
выходные данные в двоичной и десятичной системах (приведены первые два байта).
Возможно восстановление данных при дешифровании путем замены числовых значений байтов (перенумерованием) на всех слотах. При этом как было обосновано шифрование индивидуальными ключами Ld на каждом слоте d=1, 2, …, D тождественно результату шифрования совокупными ключами из выражения (2). Ключи дешифрования данных на каждом слоте:
последовательность варьируемых значений линганума восстановления данных в двоичном и десятичном представлении (выписаны первые два и последний байты) для любого из d=1, 2, …, D слот, каждое значение в скобках является одним из целых положительных чисел от 0 до (g1-1), используемым при составлении этой последовательности лишь однажды (g1 - количество символов в системе кодирования данных, например, g1=256);
- момент времени окончания d-го слота длительностью Λ'd≥0;
- последовательность ключей шифрования длительностей слот;
t'D - сумма Λ'd длительностей всех D слот;
t'0, t'D - начальное и конечное значения первого и последнего слота. Для двоичной системы представления в выражении (7) принимают значения логических "1" или "0" и задают i-й бит j-го байта для d-го слота. Этот линганум дешифрования используется в качестве ключей дешифрования. На фиг. 1(б) графически представлены слоты различной длительности. Для верного восстановления данных интервалы слот, ключи шифрования и дешифрования должны соответствовать друг другу, быть синхронизированными.
При восстановлении данных значения Х° вида (4), (5) получаем Хвых формулы (6):
операции дешифрования путем замены числовых значений,
где j=1, 2, …, d=1, 2, …, D - индексы нумерации байтов и слот;
X°j,d - значение j-го байта до дешифрования;
- значение j-го байта выходных данных;
- последовательность значений ключей дешифрования (линганума восстановления данных);
g1 - количество символов в системе кодирования данных.
Значения L(t) в формуле (1) и в выражении (7) используются для установки сигналов управления работой ключей инверторов, применяемых для получения логических функций (ЛФ), которые обеспечивают перенумерование данных при шифровании и дешифровании. Такие ЛФ реализуются, например, на логических элементах [5-8]. Шифрование проводится в соответствии с ЛФ, строящейся на основании таблицы истинности. Для реализации требуемых инверсий аргументов ЛФ применяются инверторы. После формирования сигналов управления инверторами УХДШ готово к работе.
Генератор ключей шифрования формирует сигналы, соответствующие числовым значениям последовательности (1). При восстановлении данных используется сортировка, то есть последовательность (7) линганума восстановления получается после сортировки последовательности (2) совокупных ключей шифрования, зависящих от индивидуальных ключей шифрования (1). Генератор ключей дешифрования формирует сигналы, соответствующие значениям последовательности (7).
Для реализации указанных ранее операций с данными в заявленном УХДШ используются устройства, имеющие несколько входов либо выходов, для которых с целью удобства дальнейшего изложения введена нумерация. Шифрователь - первых вход есть вход УХДШ; второй вход тот, что соединен с выходом генератора ключей шифрования. Запоминающее устройство - первый вход тот, что соединен с выходом шифрователя; второй вход тот, что соединен с первым выходом устройства управления; третий вход тот, что соединен с вторым выходом устройства управления. Устройство управления - первый выход тот, что соединен с вторым входом запоминающего устройства; второй выход тот, что соединен с третьим входом запоминающего устройства. Дешифрователь - первый вход тот, что соединен с выходом генератора ключей дешифрования; второй вход тот, что соединен с выходом запоминающего устройства. Логическое устройство шифрования -первый вход тот, что соединен с выходом сопрягающего устройства шифрователя; второй вход тот, что соединен с выходом преобразователя ключей шифрования. Логическое устройство дешифрования - первый вход тот, что соединен с выходом преобразователя ключей дешифрования; второй вход тот, что соединен с вторым входом дешифрователя. Генератор режимов - второй выход тот, что соединен с входом генератора адресов; первый выход тот, что соединен с первым выходом устройства управления. Программатор слот-первый выход тот, что подключен к входу генератора ключей шифрования, второй- тот, что соединен с входом устройства управления; третий выход тот, что соединен с входом генератора ключей дешифрования. Генератор слот - первый, второй, третий выходы соединены с одноименными выходами программатора слот. Синхронизатор-первый выход связан с первым выходом программатора слот, второй выход подключен к входу генератора слот, третий и четвертый выходы подключены к второму и третьему выходам программатора слот.
Сущность изобретения. Задачей, на решение которой направлено заявляемое изобретение, является дополнительное обеспечение защищенности данных от внешних воздействий при их хранении.
Поставленная задача решается за счет того, что в устройство хранения данных с системой синхронизируемого шифрования, содержащее запоминающее устройство, генератор ключей шифрования, шифрователь, дешифрователь, устройство управления, генератор ключей дешифрования, причем
первый вход шифрователя соединен с входом всего устройства, второй вход шифрователя подключен к выходу генератора ключей шифрования, выход шифрователя соединен с первым входом запоминающего устройства, второй вход запоминающего устройства подключен к первому выходу устройству управления, второй выход устройства управления соединен с третьим входом запоминающего устройства, выход запоминающего устройства подключен к второму входу дешифрователя, выход дешифрователя является выходом всего устройства, первый вход дешифрователя соединен с выходом генератора ключей дешифрования, как новые признаки введены программатор слот, первый выход которого соединен с входом генератора ключей шифрования, второй выход программатора слот подключен к входу устройства управления, третий выход программатора слот соединен с входом генератора ключей дешифрования, вместе с тем, шифрователь формирует сигналы Х° вида (4), исходя из условий (5), дешифрователь формирует сигналы Хвых вида (6), исходя из условий (8), генератор ключей шифрования формирует сигналы, соответствующие элементам (1) последовательности Ld=Lj,d, j=1, 2, …, g1 для каждого слота d=1, 2, …, D, g1 - количество символов в системе кодирования данных,
генератор ключей дешифрования формирует сигналы, соответствующие элементам (7) последовательности j=1, 2, …, g1 для каждого слота d=1, 2, …, D, g1 – количество символов в системе кодирования данных, полученной так, что порядковые номера j-x элементов последовательности совокупных ключей шифрования уменьшаются на единицу и меняются местами с значениями элементов этой последовательности, порядковые номера новой числовой последовательности увеличиваются на единицу и элементы полученной последовательность со своими измененными порядковыми номерами расставляются в порядке возрастания этих номеров, при этом элементы последовательности совокупных ключей шифрования определяются последовательностью значений индивидуальных ключей шифрования Ld на каждом слоте, задающими набор числовых значений от первого до d-го слота для любого элемента входных данных и элементы Ld определяют конечное значение каждого элемента первоначального блока данных на d-м слоте,
шифрователь содержит преобразователь ключей шифрования, логическое устройство шифрования и сопрягающее устройство шифрователя,
вход преобразователя ключей шифрования подключен к второму входу шифрователя, а выход преобразователя ключей шифрования подключен к второму входу логического устройства шифрования, первый вход логического устройства шифрования подключен к выходу сопрягающего устройства шифрователя, вход сопрягающего устройства шифрователя соединен с первым входом шифрователя и всего устройства, выход логического устройства шифрования соединен с выходом шифрователя;
устройство управления содержит генератор адресов и генератор режимов, выход генератора адресов соединен с вторым выходом устройства управления, первый выход генератора режимов соединен с первым выходом устройства управления, второй выход генератора режимов соединен с входом генератора адресов, вход генератора режимов подключен к входу устройства управления;
дешифрователь содержит преобразователь ключей дешифрования, логическое устройство дешифрования и сопрягающее устройство дешифрователя,
вход преобразователя ключей дешифрования является первым входом дешифрователя, выход преобразователя ключей дешифрования соединен с первым входом логического устройства дешифрования, второй вход логического устройства дешифрования является вторым входом дешифрователя, выход логического устройства дешифрования связан с входом сопрягающего устройства дешифрователя, выход которого является выходом дешифрователя и всего устройства;
программатор слот содержит генератор слот и синхронизатор, первый, второй и третий выходы генератора слот подключены к таким же выходам программатора слот, первый выход синхронизатора подключен к первому выходу программатора слот, второй выход синхронизатора соединен с входом генератора слот, третий и четвертый выходы синхронизатора подключены к второму и третьему выходам программатора слот.
Представленная совокупность существенных признаков позволяет получить технический результат и достичь цели изобретения, которые заключаются в дополнительном повышении защищенности сохраняемых данных за счет их шифрования на множестве временных интервалов. Предложенное устройство дано на структурной схеме (фиг. 2).
Перечень фигур графического изображения
Фиг. 1 - различные слоты ключей шифрования и дешифрования данных.
Фиг. 2 - структурная схема заявленного устройства.
Расшифровка числовых обозначений: 1. Запоминающее устройство; 2. Генератор ключей шифрования; 3. Шифрователь; 4. Устройство управления; 5. Дешифрователь; 6. Генератор ключей дешифрования; 7. Программатор слот; 8. Преобразователь ключей шифрования; 9. Логическое устройство шифрования; 10. Сопрягающее устройство шифрователя; И. Генератор адресов; 12. Генератор режимов; 13. Преобразователь ключей дешифрования; 14. Логическое устройство дешифрования; 15.Сопрягающее устройство дешифрователя; 16. Генератор слот; 17. Синхронизатор.
Фиг. 3 - таблица двоичных значений аргументов ЛФ шифрования.
Фиг. 4 - таблица двоичных значений зашифрованных данных и ЛФ шифрования.
Фиг. 5 - таблица десятичных значений линганума записи и шифрования данных.
Сведения, подтверждающие возможность осуществления изобретения
1. Использованные логические функции, операция сортировки.
Рассмотрены ЛФ, на которых базируется работа УХДШ, подвергнута разбору применяемая при дешифровании операция сортировки.
1.1 ЛФ для логического устройства (ЛУ) шифрования.
Для записи ЛФ (как и в прототипе [3]) составлена таблица истинности, в которой указаны номера символов и байтов до шифрования и после проведения этой операции на основе линганума записи. Если в таблицу истинности ввести неявно заданные значения линганума записи (индивидуальных ключей для каждого слота) (1), то ЛФ в явном виде выразить невозможно. Поэтому в качестве примера дан один из возможных вариантов линганума, что позволяет записать ЛФ в явной форме. Рассмотренный пример соответствует случаю, когда блок соответствует байту, он верен для любого слота, поэтому индекс слота не записывается.
Аргументами искомой ЛФ шифрования являются входные байты (3), а значениями функции являются зашифрованные байты (4). Размещение входных и выходных байтов в одной таблице затруднительно, поэтому использованы две таблицы. На фиг. 3 приведены значения таблицы аргументов ЛФ шифрования для выбранного в качестве примера лингамума записи некоторого слота. В ней отсутствуют символы системы кодирования, но даны их порядковые номера, указаны значения двоичных разрядов и десятичные значения этих двоичных чисел (нумерация по порядку следует с единицы, а величины начинаются с нуля). Например, символу "Е" соответствуют двоичное и десятичное числа 10001012=6910, порядковый номер в таблице равен 70. В первой колонке записаны номера по порядку следования, далее восемь колонок со значениями бит для всех вариантов байтов (двоичное представление числа) и в последней колонке заданы десятичные значения Х10 (от 0 до 255 для g1=256).
На фиг. 4 представлена таблица значений аргументов и таблица истинности для ЛФ шифрования, которая позволяет, как показано ранее, записать операцию перевода числовых значений аргументов (фиг. 3) в определенные значения функции. Тогда для примера линганума некоторого слота (1) индивидуальные ключи равны: L=(Lj, j=1,2, …, 256)=(01, 12, …, 16970, …, 18485, …, 11122, …, 255256), это означает наличие соответствия 1(0→0); 2(1→1); …; 70(69→169); …; 85(84→184); …; 122(121→11); …; 256(255→255), где ("→") - знака соответствия.
Первая колонка таблицы на фиг. 4 - номера байтов по порядку; вторая - новые десятичные значения в соответствии с заданным линганумом; 3…10 колонки - зашифрованные двоичные значения; 11…18 колонки - новые двоичные значения в соответствии с линганумом (они совпадают со значениями колонок 3…10, но выделены для удобства построения ЛФ по правилам [6, с. 31; 7, с. 18]).
Пояснение к обозначению: ЛФ шифрования есть совокупность компонент, обозначенных i=1 , …, 8; j=1 , …, 256, которые вместе с Xi,j индексируются по строкам и колонкам. Варьирование по индексу i осуществлено путем введения колонок для компонент ЛФ, а варьирование по j в обозначении компонент в указанной таблице фиг. 4 не показано, так как оно проводится в соответствии с известными правилами построения ЛФ. То есть зашифрованные значения данных в двоичной форме j-ой строки равны значениям компонент F°8, …, F°1 (индекс строк j опущен). Операция инверсии обозначена символом (…)*. На частном примере таблицы фиг. 4 получены старшие компоненты ЛФ шифрования F°8, F°7, которые равны:
Многоточие в суммах компонентов ЛФ означает возможное наличие других слагаемых (на фиг. 4 представлена часть строк полной таблицы для всех возможных байтов). Также составляются и другие компоненты ЛФ. Примеры выражений определяют ЛФ записи с шифрованием для любого набора аргументов (числовых величин всевозможных байтов до шифрования). Символ (*) - операция инверсии. На примере (9) могут быть записаны ЛФ для любого слота на основании индивидуальных ключей шифрования (1) для этих слот.
1.2 Операция сортировки.
При восстановлении данных применяются ключи шифрования формулы (7), числовые значения которого являются результатом проведения сортировки совокупных ключей шифрования выражения (2). Вариант такой операции рассмотрен на примере величин расширенной таблицы фиг. 5. Значения совокупных ключей определяются заданными величинами индивидуальных ключей шифрования для каждого слота (1).
Обозначения в таблице: j - индекс нумерации по порядку следования числовых значений символов системы кодирования; Х10 - десятичные числовое значения байтов системы кодирования; Lj - десятичные числа линганума перенумерования (новое числовое значение байтов, которые требуется получить после шифрования). Справедливо соотношение: j=1+X10. Для краткости изложения примера в указанной таблице дана лишь часть числовых значений системы кодирования для g1=256. Например, j=111-й символ системы кодирования описывается байтом, соответствующим десятичному числу 11010, а в соответствии с линганумом записи символ перенумеруется и ему соответствует десятичное число 14910 и так далее.
На основании данных таблицы фиг. 5 значения равны:
Например, элемент j=55 равен десятичному числу перенумеруется в число 250.
Восстановление данных путем перенумерования происходит в обратном порядке. Требуется первые и вторые числа поменять местами (изменить направление стрелок знака соответствия) и провести сортировку (перестановку, изменение порядка записи) этих пар чисел так, чтобы ставшими после перестановки первыми числа (левые) возрастали.
На основании (10) и ранее изложенной процедуры сортировки получим пошаговые результаты выполнения операций получения требуемой последовательности
(00, 11, 22, …, 25054, …, 16969, …, 17878, …, 17979 .., 18383, …, 18484, …, 149110, …, 11121, …, 160188, …, 254254, 255255) - уменьшение индексов на единицу;
(00, 11, 22, …, 54250, …, 69169, …, 78178, …, 79179, …, 83183, …, 84184, …, 110149, …, 12111, …, 188160, …, 254254, 255255) - замена индексов и значений;
(01 12, 23 ,…, 12112, …, 110150, …, 188161, …, 69170, …, 78179, …, 79180, …, 83184, …, 84185, …, 54251, …, 254255, 255256) - увеличение индексов в новой последовательности на единицу и расстановка элементов по возрастанию индексов.
Следовательно, линганум восстановления, определяющий ключи дешифрования:
Показана процедура сортировки значений совокупных ключей шифрования для построения ключей дешифрования (11), требуемых для восстановления данных. 2. Описание предлагаемого устройства.
Структурная схема представлена на фиг. 2, ранее дана расшифровка введенной числовой нумерации элементов схемы, при этом
первый вход шифрователя 3 соединен с входом всего устройства, второй вход шифрователя 3 подключен к выходу генератора ключей шифрования 2, выход шифрователя 3 соединен с первым входом запоминающего устройства 1, второй вход запоминающего устройства 1 подключен к первому выходу устройству управления 4, второй выход устройства управления 4 соединен с третьим входом запоминающего устройства 1, выход запоминающего устройства 1 подключен к второму входу дешифрователя 5, выход дешифрователя 5 является выходом всего устройства, первый вход дешифрователя 5 соединен с выходом генератора ключей дешифрования 6, введен программатор слот 7, первый выход которого соединен с входом генератора ключей шифрования 2, второй выход программатора слот 7 подключен к входу устройства управления 4, третий выход программатора слот 7 соединен с входом генератора ключей дешифрования 6, вместе с тем
шифрователь 3 содержит преобразователь ключей шифрования 8, логическое устройство шифрования 9, сопрягающее устройство шифрователя 10, вход преобразователя ключей шифрования 8 является вторым входом шифрователя 3, выход преобразователя ключей шифрования 8 подключен к второму входу логического устройства шифрования 9, первый вход логического устройства шифрования 9 соединен с выходом сопрягающего устройства шифрователя 10, вход которого является первым входом шифрователя 3, выход логического устройства шифрования 9 является выходом шифрователя 3;
устройство управления 4 содержит генератор адресов 11 и генератор режимов 12, выход генератора адресов 11 является вторым выходом устройства управления 4, второй выход генератора режимов 12 соединен с входом генератора адресов 11, первый выход генератора режимов 12 соединен с первым выходом устройства управления 4, вход генератора режимов 12 подключен к входу устройства управления 4;
дешифрователь 5 содержит преобразователь ключей дешифрования 13, логическое устройство дешифрования 14 и сопрягающее устройство дешифрователя 15, вход преобразователя ключей дешифрования 13 является первым входом дешифрователя 5, выход преобразователя ключей дешифрования 13 соединен с первым входом логического устройства дешифрования 14, второй вход логического устройства дешифрования 14 является вторым входом дешифрователя 5, выход логического устройства дешифрования 14 связан с входом сопрягающего устройства дешифрователя 15, выход которого является выходом дешифрователя 5;
программатор слот 7 содержит генератор слот 16 и синхронизатор 17, первый, второй и третий выходы генератора слот 16 подключены к выходам с такими же номерами программатора слот 7, первый выход синхронизатора 17 подключен к первому выходу программатора слот 7, второй выход синхронизатора 17 соединен с входом генератора слот 16, третий и четвертый выходы синхронизатора 17 подключены к второму и третьему выходам программатора слот 7.
Операции, реализуемые с данными и используемые для этого элементы схемы. Если генераторы ключей выполнены в виде ЗУ, то первоначально в генератор ключей шифрования записываются все индивидуальные для каждого слота ключи шифрования (задаются пользователем). По индивидуальным ключам для любого слота однозначно изложенным способом находятся совокупные ключи шифрования. В результате сортировки совокупных ключей для каждого слота это позволяет построить ключи дешифрования для любого слота, которые могут быть записаны в ЗУ, выполняющего функции генератора ключей дешифрования. Незнание лишь одного индивидуального ключа шифрования не позволяет провести восстановление хранимых данных на шагах, начиная с номера шага, индивидуальный ключ для которого не известен. Рациональный выбор длительности слот позволяет исключить несанкционированный подбор индивидуальных ключей шифрования. Реализуются операции многократного шифрования, хранения данных после каждого этапа шифрования, стирания сохраняемых данных, дешифрования сохраняемых данных на любом шаге, редактирование данных. Один из вариантов применения: данные вводятся в заявленное устройство и отдаленно хранятся длительное время (на удалении находятся ЗУ, генератор ключей шифрования и устройство управления). После длительного хранения подключается генератор ключей шифрования и реализуется восстановление исходных данных на выходе устройства. Далее проводится редактирование данных (подключается еще программатор слот) и процесс хранения измененных данных возобновляется. Все устройства структурной схемы должны функционировать в соответствии со своим назначением вне зависимости от временного отсутствия электрического соединения с другими элементами схемы, например, при многократном перешифровании без дешифрования данных дешифрователь может бы механически отключен от схемы, но должен продолжать синхронно формировать требуемые сигналы на своем выходе.
Конкретный вариант состоит, например, в выборе длительностей слот величиной в несколько длительностей байт, проведении шифрования индивидуальными ключами и занесении результатов в ЗУ 1. Тоже проделывается с другими байтами до D-го слота. Для перешифрования байты из ЗУ 1 подаются на вход заявленного устройства для воздействия на них новыми индивидуальными ключами, результаты вновь сохраняются. Известность всех индивидуальных ключей на всех слотах позволяет установить (как показано на примерах) совокупные ключи дешифрования для всех байт любого слота и воспроизвести многократно зашифрованные данные по сигналу с помощью дешифрователя.
3. Состав и работа отдельных устройств, входящих в заявляемое устройство.
Устройства 1-4 из схемы на фиг. 2 для удобства изложения отнесены к запоминающей части, а устройства 5-7 причислены к восстанавливающей части, в результате обе части составляют УХДШ.
3.1 Запоминающее устройство. ЗУ 1 предназначено для записи, хранения и воспроизведения на своем выходе сохраненных L-данных. ЗУ 1 является энергонезависимым и многократно перепрограммируемым. Этим требованиям, в частности, удовлетворяют твердотельные интегральные перепрограммируемые ЗУ с электрическим стиранием (без снятия микросхемы от контактных площадок) или EEPROM [8, с. 231, 233] и жесткие диски (с большим объемом памяти при стационарном режиме использования УХДШ или малогабаритные при мобильном варианте применения).
Имеется матрица, состоящая из запоминающих ячеек (ЗЯ), дешифраторов выбора строк и столбцов, адресных шин для записи и считывания сигналов из ячеек [8, с. 237, 239]. Сигналы выбора ячеек подаются из устройства управления 4 (фиг. 2). Режимы работы: чтение, запись, стирание (вписывание в ЗЯ одинаковых значений).
В рабочем режиме байты зашифрованных данных заносятся в ЗЯ. Последовательность записи и считывания регулируется сигналами управления адресами ЗЯ и режимом работы. Сигналы адресов поступают на третий вход ЗУ 1 с второго выхода устройства управления 4. Сигналы режимов подаются на второй вход ЗУ 1 с первого выхода устройства управления 4, после чего ЗУ 1 переходит в режим хранения. Схожим образом реализуется считывание данных из ЗУ 1 на вход дешифрователя 5 для преобразования в исходный вид в восстанавливающей части УХДШ.
Если данные хранятся длительное время и выводятся только после завершения всех слот, то могут поступать на дешифрователь в конце последнего слота по сигналу (фиг. 1(б)). Дешифрователь 5 может быть электрически отключен (точки Н и G не соединены), а подключаться пользователем при необходимости проведения работ с сохраненными в ЗУ 1 данными, при этом дешифрователь 5 всегда функционирует. Данные могут редактироваться, после чего процесс хранения с перешифрованием запускается заново с первого слота с иным набором ключей (1).
Если дешифрование надо проводить на любых слотах, то на дешифрователь данные подаются с ЗУ 1, например, в конце первого слота (фиг. 1(б)) по ключам дешифрования этого слота. Далее наступает следующий слот, устанавливаются напряжения и дан-ные из ЗУ 1 в начале нового слота (фиг. 1 (б)) по сигналам передаются на вход УХДШ, выполняется перешифрование по индивидуальным ключам шифрования следующего слота и проводится запись в ЗЯ.
Для исключения коллизии сигналов начала воспроизведения данных в конце предыдущего слота и начала записи перешифрованных данных на последующем слоте целесообразно чтобы адреса ЗЯ, в которые проводится запись, по крайней мере первых байтов данных различались для соседних слот.
Возможен выбор длительности слота величиной в 3…10 длительностей байт. Они зашифровываются индивидуальными ключами и заносятся в ЗУ 1. Следующая такая партия байт также шифруется ключами последующего слота и тоже записывается в ЗУ 1. Такие операции проводятся до D-го слота, все зашифрованные байты слот сохраняются. Далее все байты слот из ЗУ 1 перешифровываются новыми индивидуальными ключами и сохраняются. По сигналу сохраненные в ЗУ 1 данные воспроизводятся с помощью дешифрователя. Затруднительность несанкционированного доступа состоит в сложности подбора ключей дешифрования за малую длительность каждого слота при варьировании индивидуальных ключей, при этом точное восстановление данных обеспечивается синхронностью применения верных ключей шифрования и дешифрования.
Объемы памяти запоминающих устройств, которые могут использоваться при построении устройств, входящих в состав УХДШ, соизмеримы с объемом входных данных. Все варианты позволяют получить одинаковый технический результат.
3.2 Генератор ключей шифрования. Генератор 2 предназначен для формирования индивидуальных ключей шифрования (1) для каждого слота. Эти сигналы представляют наборы Ld=Lj,d, j=1, 2, …, g1, d=1, 2, …, D байтов (показаны в общем виде на фиг. 1) для разных слот, где g1- количество символов в выбранной системе кодирования.
Генератор 2 может быть выполнен на элементах дискретной схемотехники, например, на регистрах сдвига с отводами [5], так что к соответствующим отводам подключены инверторы, что позволяет получить на сумматоре сигналы от всех отводов требуемую числовую комбинацию бит, то есть необходимые байты линганума шифрования. Различные комбинации включения/отключения инверторов в отводы позволяет пользователю изменять ключи шифрования. Включение/отключение инверторов отводов возможно в оперативном режиме с учетом выбранного линганума записи, что позволяет варьировать значения ключей шифрования в широких пределах без дополнительного энергопотребления.
Генератор 2 может быть выполнен в виде запоминающего устройства, в которое записаны все требуемые сигналы для любых слот и из которого они могут быть извлечены. Эти сигналы являются выходными для генератора ключей шифрования 2.
Генератор ключей шифрования 2 может быть выполнен в виде программируемой логической интегральной схемы (ПЛИС) [7, 8, с. 494, 534] или ее разновидности либо варианта ПЛИС, который может быть создан в будущем. Сигналы управления, подаваемые на ПЛИС, позволяют оперативно реализовать должные ЛФ, получить требуемые последовательности байтов. В любом случае имеются широкие возможности варьирования значений ключей шифрования при сохранении микроминиатюрности. Все варианты выполнения обеспечивают один и тот же технический результат.
3.3 Шифрователь. Устройство 3 предназначено для шифрования входных данных путем перенумерования байтов в соответствии с индивидуальными ключами для каждого слота (выражение (1)), формируемым генератором ключей шифрования 2.
Используются ЛФ, схожие с выражением (9), построение которых дано в примере. Такие функции могут быть реализованы, например, на логических элементах "И", "ИЛИ", "НЕ" [6, 7]. В состав шифрователя входит преобразователь ключей шифрования 8, ЛУ шифрования 9 и сопрягающее устройство шифрователя 10.
Краткое изложение сущности операций шифрования. Для реализации ЛФ шифрования, как это следует из выражения (9), требуется выполнить операции инверсии, что возможно путем применения инверторов, режим работы которых регулируется управляющими сигналами. Эти операции осуществляются в ЛУ шифрования 9, а указанные управляющие сигналы вырабатываются преобразователем ключей шифрования 9. Управляющие сигналы создаются в результате сравнения (по определенному правилу) байтов, формируемых генератором ключей шифрования 2 (они задаются пользователем), со всеми байтами выбранной системы кодирования (они выполняют роль эталонов).
Назначение инверторов - осуществление операции инвертирования (отрицания) двоичной переменной (обозначим ее "А") при воздействии внешнего сигнала управления U. Например, переменная А преобразуется в А*, если U равно логической "1" и не преобразуется, если U равно логическому "0".
В частности, инвертор может быть построен из двух электронных ключей (Кл. 1, 2) и схемы, выполняющей функцию инверсии "НЕ". Общая схема состоит из двух параллельных ветвей. В первой расположен Кл. 1, во второй - элемент "НЕ" и последовательно с ним Кл. 2. Входы и выходы ветвей являются также входами и выходами инвертора. Кл. 1 размыкается, когда на управляющий вход ключа подается положительный сигнал U (обозначим его "+1"), а Кл. 2 при подаче этого сигнала замыкается. В этом случае входная переменная А проходит на выход через Кл.2 и инвертируется ("+1" - инверсия есть). Если подается противоположный сигнал управления (обозначим "0"), то Кл. 1 замыкается, а Кл. 2 размыкается. Входная переменная А проходит на выход без инверсии ("0" - инверсии нет). Меняя значение U, можно получить аргументы ЛФ в требуемом инвертируемом или нет виде. ЛФ для управления инверторами задается следующим образом: устройство управления инверторами имеет два входа, на которые подаются логические величины "В" и "С", тогда на выходе формируются значения сигналов управления в виде соотношения U=С⋅В*. Эта ЛФ принимает ненулевое значение лишь для набора аргументов (В; С)=(0; 1). Устройства управления инверторами посредством сигналов U могут быть реализованы на логических элементах "И", "НЕ" [6, 7].
Исходя из установленных значений U (величина принимает единичное значение лишь для пары аргументов (0;1)) для проведения операции инверсии требуется сформировать следующий набор значений: переменная "С" (значение функции преобразования) равна "1", а аргумент "В"(входной сигнал) равен "0" (для варианта, когда операция инверсии реализуется при U=1 ).
Введено обозначение: - j-e компоненты ЛФ шифрования, каждая из которых равна произведению бит, часть из которых может быть инвертирована. Эти значения должны быть сформированы схемотехнически, они соответствуют лингануму записи. ЛФ шифрования - это набор величин являющихся суммами указанных компонент ЛФ для всех значений j=1 , …, g1 (например, g1=256).
В соотношении U=С⋅В* считаем, что переменная "С" аналогична значениям компонент ЛФ шифрования и одновременно значениям линганума записи (таблица фиг. 4), а "В" является аргументом этой функции (таблица фиг. 3). Тогда для проведения операции инвертирования сигнал управления U в виде логической "+1" будет создаваться, когда "С" равно "+1" и "В" равно "0". Для всех других наборов переменных (В; С) на выходе схемы формирования сигнала управления U будет формироваться "0". Сигнал U определяется по указанному правилу для каждого i-го бита любого j-го байта применительно к каждой функции k=1, …, 8 (фиг. 4). Следовательно, сигналы управления инверторами в общем виде зависят от трех указанных индексов (i, j, k) и поэтому обозначены Ui,j,k. То есть величина "С" (компоненты ЛФ и значения линганума записи) является разрешающим сигналом проведения инвертирования величины "В" (аргументов ЛФ).
Преобразователь ключей шифрования 8 формирует управляющие сигналы Ui,j,k для инверторов на основе выбранного пользователем линганума, который реализуется в виде сигналов генератора ключей шифрования 2, а ЛУ шифрования 9 позволяет получить компоненты и построить требуемую ЛФ шифрования.
Схема реализации преобразователя ключей шифрования 8. Для формирования Ui,j,k в возможной схеме преобразователя ключей шифрования 8 имеется вход для значений индивидуальных ключей шифрования на каждом слоте, передаваемых на второй вход шифрователя 3 от генератора ключей шифрования 2, а также имеется генератор байтов системы кодирования. Байты этой системы известны, постоянны для всех слот. Для g1=256 по аналогии с (3) эти байты обозначены
Величины байтов принимают значения целых десятичных чисел от 0 до 255, а в двоичной системе исчисления они совпадают с числами в строках таблицы на фиг. 3 (от набора (0, …,0) до (1, …, 1)). Генератор байтов системы кодирования может быть выполнен на регистрах с весовыми отводами и сумматорами [5] или в виде запоминающего устройства. Этот генератор байтов запускается при подключении напряжения питания. Величины есть значения номеров байтов (эталонов), используемых в подготовительном режиме для получения сигналов установки инверторов. Эти сигналы установки далее применяются в рабочем режиме в ЛУ шифрования 9 для формирования ЛФ шифрования.
Схемы для реализации ЛФ U=С⋅В* и генератор байтов системы кодирования входят в состав преобразователя ключей шифрования 7 и могут быть построены на логических элементах "НЕ", "И" для всех бит (i=1, …, 8) j-го байта. Аналогичные схемы нужны для всех разных значений j=1, …, g1 с целью создания напряжений управления всеми инверторами, что позволяет получить требуемые ЛФ шифрования.
Для демонстрации примера зафиксируем номер слота и вычеркнем его из обозначений, тогда, например, L1,j последовательно умножается на инверсии значений и получаются сигналы U1,j,1, U2,J,1, …, U8,j,1. Если же L8,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 - связанность с номером компонент ЛФ шифрования. Такими же по назначению индексами нумеруются инверторы, то есть Ii,j,k. Во все величины в общем виде надо ввести индекс слота, который не влияет на результаты и порядок действий.
Работа преобразователя ключей шифрования 8. В начале работы после подключения электропитания запускается генератор ключей шифрования 2 и генератор байтов системы кодирования. В соответствии с указанными правилами создаются напряжения управления инверторами U. В результате преобразователь ключей шифрования 8 трансформирует ключи шифрования в управляющие напряжения для инверторов ЛУ шифрования 9. В начале каждого слота проводятся те же действия, соответствующие генераторы функционируют и формируют положенные для этого слота сигналы.
ЛУ шифрования 9 предназначено для выполнения операции шифрования входных байтов путем их перенумерования в соответствии с индивидуальными ключами шифрования (линганумом записи), с использованием напряжений управления инверторами. Для воплощения этой задачи требуется использовать схемы для реализации ЛФ, сходных с выражением (9), применяя логические элементы "И", "ИЛИ", "НЕ" [6, 7].
В структуре ЛФ выражения (9) отметим особенности. Ранее аргументы обозначались Xi,j, i=1, …, 8; j=1, 2, …, а в приведенном примере выражений для используется одноиндексная нумерация Xi, i=1, …, 8. Это связано с тем, что каждое слагаемое в ЛФ соответствует определенному значению индекса j, то есть вариация этого индекса при построении ЛФ учтена, поэтому для упрощения записей введена одноиндексная нумерация. При построении схемы ЛУ шифрования 9 это обстоятельство учтено в том, что в схеме имеются две части: одна формирует компоненты сумм различных ЛФ, а другая осуществляет их объединение, образуя в результате требуемую функцию целиком.
Каждая из указанных ЛФ представляется суммой произведений аргументов (Xi,j, i=1, …, 8; j=1, 2, …), как в формуле (9), некоторые из них инвертированы. Количество слагаемых для g1=256 равно количеству строк в таблицах фиг. 3, 4. В зависимости от вида линганума записи часть слагаемых указанной суммы произведений равна нулю, поэтому они отсутствуют в (9). В общем случае для каждой из восьми компонент ЛФ (для блока в виде байта) требуется при их схемотехнической реализации формировать все g1 слагаемых (например, g1=256).
По правилам [6, с. 31; 7, с. 18] формирования любой ЛФ выделяются наборы аргументов, при которых функция равна единице (отмечены на фиг. 3 знаком (*)). Для инвертирования нулевых значений из этого набора аргументов используется инверторы. Инверторы Ii,j,k управляются сигналами Ui,j,k, вырабатываемыми преобразователями ключей шифрования 8. В подготовительном режиме после первоначального включения и на последующем слоте формируются напряжения управления работой инверторов, а в рабочем режиме на входы соответствующих устройств подаются байты данных для дальнейшего шифрования (перешифрования), сохранения и восстановления.
То есть ЛУ шифрования 9 состоит из формирователей компонент каждого j-го байта (это произведение бит, часть которых может быть инвертирована) и сумматоров для получения набора ЛФ шифрования
Состав схем одного из возможных вариантов реализации формирователей компонент может включать инверторы Ii,j,k, i=1, …, 8; j=1, …, g1 (например, g1=256); k=1, …, 8 и перемножители двоичных сигналов (8-входовые элементы "И). В режиме записи на входы формирователей компонент подаются значения входных данных (аргументы ЛФ) (X1,j, X2,j, …, X8,j). На выходе имеются значения компонент ЛФ для каждого значения j, причем эти компоненты являются произведениями бит входных данных (аргументов ЛФ) и некоторые из них, как упоминалось ранее, инвертированы. В результате формируются слагаемые для каждой из указанных ЛФ, соответствующие j-му индексу. Далее проводится суммирование по всем значениям индекса j.
В схеме реализации формирователя компонент ЛФ так же имеется вход для сигналов управления инверторами Ui,j,k (i - индекс для изменения бит входных байтов; j - индекс вариации входных байтов; k - индекс нумерации компонент ЛФ
Например, на инверторы I1,j,1; I2,j,1; …. I8,j,1, позволяющие получить инвертированные или нет входные биты, подаются 1, 2, …, 8-й биты j-го байта входных данных X1,j, X2,j, …, X8,j, а также сигналы управления записью U1,j,1; U2,j,1; …; U8,j,1. В результате перемножения сигналов на выходах инверторов получается компонента ЛФ Таким же образом применяются другие инверторы, в частности, если на инверторы I1,j,8; I2,j,8; …. I8,j,8 подать сигналы управления U1,j,8; U2,j,8; …; U8,j,8, то будет найдена компонента ЛФ Такие операции проводятся для всех значений индекса j=1, …, g1 (например, g1=256). Применяются схемы для каждого указанного значения] в отдельности, которые отличаются состоянием инверторов (подаются различающиеся управляющие сигналы, зависящие от индивидуальных ключей шифрования).
Имеются схемы суммирования слагаемых, составляющих компоненты ЛФ для различных], и схемы для формирования набора ЛФ. Пусть примером ЛФ является выражение (9) для одной из функций набора, допустим, На каждую схему суммирования компонент (элемент "ИЛИ") поступают сигналы от формирователей этих компонент для различных j. Компоненты, относящиеся к одной и той же ЛФ, но для разных значений j суммируются на g1 - входовых логических элементах "ИЛИ" (например, g1=256).
На выходе схемы суммирования компонент имеются значения набора ЛФ шифрования которые соответствуют разрядам зашифрованных посредством перенумерования байтов (4). То есть шифрователь 3 позволяет реализовать операции преобразования входных данных в зашифрованные байты, отправляемые в ЗУ 1.
Все операции реализуются в любом слоте, различия состоят в величинах задаваемых пользователем индивидуальных ключей шифрования (1).
Сопрягающее устройство шифрователя 10 предназначено для согласования ЛУ шифрования 9 с источником входных данных или для согласования формы представления данных или для применения известных правил для обеспечения работоспособности ЛУ шифрования 9. Согласование позволяет энергетически эффективно и без искажений передать на ЛУ шифрования 9 входные данные. Функция согласования формы данных может заключаться, например, в преобразовании последовательной передачи байтов в параллельное следование байтов или в использовании некоторых протоколов, стандартов.
В несогласованных линиях связи возможны искажения данных [8, с. 29-32]. Они могут быть снижены путем применения устройства согласования [8, с. 32-40] или стандартов ввода/вывода данных [8, с. 43-53], что также относится к функции сопрягающего устройства. Оно может быть выполнено на пассивных или активных элементах (транзисторах, микросхемах) или в виде универсальной последовательной шины USB. Все варианты обеспечивают одинаковый технический результат.
Работа шифрователя 3 начинается с подачи байтов входных данных (X1,j, Х2,j, …, X8,j - это разряды двоичных чисел j-й строки таблицы фиг. 3). Инверторы установлены сигналами управления в подготовительном режиме, поэтому формируются необходимые ЛФ шифрования. Это позволяет задать новый номер каждому из входных символов (входных байтов) согласно этой ЛФ шифрования, что и требуется получить. При циклическом перешифровании на вход шифрователя поступают данные от точки G к точке F (фиг. 2). Схемы шифрователя 3 могут быть осуществлены на логических элементах или в виде ПЛИС [7, 8, с. 494, 534] или на ее разновидности либо на таком варианте ПЛИС, который может быть создан в будущем. Все варианты выполнения обеспечивают одинаковый технический результат.
3.4 Устройство управления. Это устройство 4 является генератором сигналов управления операциями записи/чтения зашифрованных данных в/из ячеек ЗУ 1.
Один из возможных вариантов реализации устройства 4 предполагает генерирование следующих сигналов: 1) импульсов адресов строк и колонок ЗЯ - сигналы управления перебором номеров соответственно строк и колонок матрицы ЗЯ, в которые побайтно заносятся входные данные для хранения в ЗУ 1 и дальнейшего их чтения); 2) сигналов задания режима записи/чтения данных в/из ЗУ 1 (этот сигнал обозначен Он управляет операцией записи зашифрованных данных в ЗУ 1 и их чтением для дальнейшей передачи на восстанавливающую часть УХДШ на каждом слоте.
Устройство, создающее импульсы адресов строк и колонок, названо генератором адресов 11, а режим работы задается генератором режимов 12. Эти сигналы подаются соответственно на второй и первый выходы устройства управления 4. С второго выхода генератора режимов 12 поступают запускающие сигналы на вход генератора адресов 11 для активации его работы.
Генератор адресов 11 и генератор режимов 12 являются стандартными. Управление режимами чтения, записи, стирания (вписывание в ЗЯ одинаковых значений) осуществляется с помощью разрядных шин, подключенных ко всем ЗЯ.
Формирование сигналов режима возможно известными методами и устройствами [6-8]. Генератор режимов 12 может работать в автоколебательном режиме, формируя сигналы такой длительности, которая определяет временные интервалы для записи и восстановления данных. Сигнал может запускаться, например, вручную переключателем, подключающим генератор 12 к источнику питания, что приводит к началу процесса восстановления данных на выходе УХДШ, передаче данных на вход для следующего этапа шифрования. Так же может использоваться ЗУ, в котором предварительно записаны требуемые сигналы для каждого слота, по которым осуществляется считывание данных из ЗУ 1 на предыдущем слоте и реализация перешифрования с последующим хранением на последующем слоте (фиг. 1(б)). Подобное ЗУ запускается и работает синхронно с сигналами генераторов шифрования и дешифрования.
Работа устройства управления 4. В зависимости от режима работы, задаваемого генератором режимов 12, генератором адресов 11 формируются импульсы записи, чтения, стирания байтов ЗУ 1. В результате осуществляется запись зашифрованных байтов в ЗЯ и считывание L-данных, хранящихся в ЗУ 1.
3.5 Дешифрователь. Устройство 5 предназначено для дешифрования полученных из ЗУ 1 зашифрованных путем перенумерования байтов данных (согласно значениям линганума восстановления) на всех слотах. Для этого используются схемы и формируются ЛФ, сходные с теми, которые предназначены для проведения шифрования и записи (примером является выражение (9)), с тем отличием, что линганум восстановления имеет другой вид. Указанные схемы могут быть реализованы, например, на логических элементах "И", "ИЛИ", "НЕ" [5, 6] либо на ПЛИС. Операция дешифрования реализуется с помощью преобразователя ключей дешифрования 13, ЛУ дешифрования 14 и сопрягающего устройства дешифрователя 15.
Преобразователь ключей дешифрования 13 сходен с преобразователем ключей шифрования 8. Разница между ними связана с отличиями линганумов. Величины в формуле (7), формируемые генератором ключей дешифрования 6 для любого слота, получаются в результате сортировки совокупных ключей шифрования для каждого слота (формула (2)) и известны заранее.
Сортировка позволяет добиться унификации путем использования одинаковых операций и схем при дешифровании и при шифровании (различия заключаются в сигналах управления инверторами). Составление ЛФ восстановления байтов путем дешифрования осуществляется таким же образом, как и при реализации операций записи данных.
Приведены операции, выполняемые для любого слота, индексы слот не указаны, а присовокупляются к другим индексам. Введено обозначение V=Vi,j,k - сигналы управления инверторами дешифрователя, используемые в ЛУ дешифрования 14, где i - индекс для нумерации бит; j - индекс вариации байтов; k - индекс компонент ЛФ дешифрования.
Схема реализации преобразователя ключей дешифрования 13. В этой схеме для формирования V=Vi,j,k имеется вход для значений передаваемых на первый вход дешифрователя 5 от генератора ключей дешифрования 6, а также используется генератор байтов системы кодирования. Эти заранее известные байты для g1=256 по аналогии с (3) обозначены
Величины этих байтов принимают значения целых десятичных чисел от 0 до 255, а в двоичной системе исчисления они совпадают с числами в строках таблицы на фиг. 3 (от набора (0, …, 0) до (1, …, 1)). Генератор байтов системы кодирования может быть выполнен на регистрах с весовыми отводами и сумматорами [5] или в виде запоминающего устройства. Этот генератор байтов запускается при подключении напряжения питания. Величины - это эталонные значения номеров байтов, используемые в подготовительном режиме для получения сигналов Vi,j,k установки инверторов, которые далее применяются в рабочем режиме в ЛУ дешифрования 14. Все генераторы запускаются одновременно для синхронизации выполнения операций на любых слотах посредством сигналов, подаваемых с соответствующих выходов программатора 7.
Далее на логических элементах "НЕ" и "И" многократно реализуется ЛФ V=С⋅В* для всех бит (i=1 , …, 8) каждого j-го байта. Аналогичные схемы для разных значений j=1, …, g1 позволяют получить требуемые ЛФ для сигналов управления всеми инверторами ЛУ дешифрования 14.
Сопрягающее устройство дешифрователя 15 предназначено для согласования ЛУ 14 дешифрователя с нагрузкой, на которую из УХДШ подаются выходные данные или для согласования формы представления данных.
Согласование, обеспечиваемое сопрягающим устройством дешифрователя 15, позволяет энергетически эффективно и без искажений передать данные на выход УХДШ. Согласование данных может заключаться, например, в преобразовании последовательности байтов в параллельное следование байтов или в использовании известных протоколов либо стандартов передачи/приема данных.
В несогласованных линиях связи возможны искажения данных [8, с. 29-32]. Они могут быть снижены путем применения устройств согласования [8, с. 32-40] или стандартов ввода/вывода данных [8, с. 43-53], что также обеспечивается сопрягающим устройством 15. Оно может быть выполнено на пассивных или на активных элементах (транзисторах, микросхемах) или в виде универсальной последовательной шины USB. Для любого варианта может быть обеспечен одинаковый технический результат.
Работа преобразователя ключей дешифрования 13. После подключения электропитания запускается генератор ключей дешифрования 6 и генератор байтов системы кодирования. Далее устанавливаются сигналы управления инверторами. В итоге преобразователь ключей дешифрования 13 трансформирует ключи дешифрования на любом слоте в управляющие сигналы инверторов, находящихся в ЛУ дешифрования 14.
ЛУ дешифрования 14 предназначено для выполнения операции дешифрования принятых из ЗУ 1 зашифрованных байтов путем их перенумерования в соответствии с ключами дешифрования, с использованием напряжений управления инверторами. Для воплощения этой задачи требуется применить схемы, реализующие ЛФ, ранее рассмотренные на примере выражения (9). Схемотехнически ЛУ дешифрования 14 может быть реализован на логических элементах "И", "ИЛИ", "НЕ" или на ПЛИС.
Инверторы I'i,j,k, посредством которых осуществляется инвертирование требуемых аргументов ЛФ, управляются сигналами Vi,j,k, вырабатываемыми преобразователями ключей дешифрования 13 в подготовительном режиме на каждом слоте. В результате предварительной установки инвертируются лишь необходимые для проведения дешифрования данных биты. В рабочем режиме на входы инверторов поступают байты зашифрованных данных (3).
ЛУ дешифрования 14 состоит из формирователей компонент каждого j-го байта (это произведение бит, часть которых может быть инвертирована) и сумматоров указанных компонент для получения набора ЛФ дешифрования для всех значений j=1, …, g1 (например, g1=256).
Сущность операций ЛУ дешифрования 14. Схема одного из возможных вариантов реализации формирователя компонент ЛФ может состоять из инверторов i=1, …, 8; j=1, …, g1 (например, g1=256); k=1, …, 8 и перемножителей двоичных сигналов (8-входовых элементов "И" для получения произведения восьми значений бит каждого из байтов, некоторые из бит инвертируются соответствующим инвертором). В режиме восстановления данных на вход формирователей компонент ЛФ подаются значения принятых из ЗУ 1 зашифрованных данных, которые являются в этом случае входными сигналами и аргументами ЛФ. У инверторов, как и при шифровании, имеется вход для сигналов управления Vi,j,k (i - индекс для изменения бит входных байтов; j - индекс вариации входных байтов; k - индекс компонент ЛФ). В результате на выходе этих схем имеются значения компонент ЛФ дешифрования для каждого слота.
Для получения набора ЛФ дешифрования проводится суммирование этих слагаемых по всем возможным значениям индекса], что реализуется сумматорами (схемами "ИЛИ"). На каждую из схем сумматоров компонент (логических элементов "ИЛИ") поступают сигналы от формирователей этих компонент, то есть слагаемые ЛФ для различных значений индекса]. В результате компоненты, относящиеся к одной и той же ЛФ, но для разных значений], суммируются на g1 - входовых элементах "ИЛИ" (например, g1=256). После суммирования компонент вырабатывается набор ЛФ, это значения ЛФ дешифрования которые в рабочем режиме соответствуют разрядам восстановленных в результате дешифрования байтов (6).
В рабочем режиме на каждом слоте на вход ЛУ дешифрования 14 подаются сформированные сигналы управления инверторами Vi,j,k (они создаются в подготовительном режиме), а также зашифрованные данные (4). В соответствии с ЛФ дешифрования F' обеспечивается реализация операции перенумерования принятых из ЗУ 1 зашифрованных байтов и осуществляется восстановление данных в исходном виде (Хвых=Хвх).
Присоединяемый и отсоединяемый дешифрователь может быть выполнен в виде специализированного микроминиатюрного терминала или встроенного, например, в мобильный телефон устройства. Схемы дешифрователя 5 могут быть выполнены на логических элементах или в виде ПЛИС [7, 8, с. 494, 534] или на ее разновидности. Все варианты выполнения обеспечивают один и тот же технический результат.
3.6 Генератор ключей дешифрования. Этот генератор 6 предназначен для формирования ключей (7). Его сигналы для каждого слота представляют набор, состоящий из g1 байтов, числовые значения каждого из которых соответствуют j-му элементу в выражении (7), представленному в двоичной системе (g1 - количество символов в выбранной системе кодирования). Сигналы генератора ключей дешифрования являются результатом сортировки совокупных (обобщенных) ключей шифрования (2).
Генератор 6 может быть выполнен на элементах дискретной схемотехники, например, на регистрах сдвига с отводами [5]. К соответствующим отводам подключены инверторы, что позволяет получить на сумматоре сигналы от всех отводов, составляющие в совокупности требуемую числовую комбинацию бит (байтов линганума дешифрования). Генератор 6 может быть выполнен в виде запоминающего устройства, в которое записаны все требуемые сигналы и из которого они могут быть оперативно извлечены, при этом реализуется синхронизации работы на каждом слоте с другими генераторами посредством сигналов с программатора слот 7.
Генератор ключей дешифрования 6 может быть выполнен в виде ПЛИС [7, 8, с. 494, 534] или ее разновидности. Сигналы управления, подаваемые на ПЛИС, позволяют реализовать должные ЛФ, получить требуемые последовательности байтов.
Во всех вариантах имеются широкие возможности варьирования значений ключей дешифрования при сохранении уровня микроминиатюризации. Все варианты выполнения обеспечивают один и тот же технический результат.
3.7 Программатор слот. Это устройство 7 генерирует импульсные сигналы, которые предназначены для определения порядка выполнения требуемых для управления работой заявленного устройства действий и режимов работы. Программатор 7 содержит генератор слот 16 и синхронизатор 17 [6-8]. Возможны различные режимы работы и формирования сигналов установки этих режимов.
Режим блокировки (до окончания интервала времени приема/передачи данных) может быть реализован сдвигом слот шифрования и дешифрования, чтобы они не пересекались. Это возможно подачей импульса приостановки на некоторое время формирования одного из видов ключей. При ином варианте блокировки подаются ключи, состоящие из одинаковых значений.
В режиме работы, когда генераторы ключей выполнены в виде запоминающих устройств с записанными в них ключами шифрования и дешифрования, синхронизатор 17 на выходах 1 и 2 программатора слот 7 формирует одновременно импульсы запуска, то есть t0=t'0 (фиг. 1). Они поступают на генераторы 2, 6 и на генератор режимов 12, входящий в устройство управления 4. В результате начинают одновременно, синхронно вырабатываться ключи для набора слот, реализуются требуемые операции. В качестве управляющих импульсов могут быть применены разные ФМС не входящие в формуляр. Формируются сигналы установки эталонных систем кодирования для реализации шифрования и дешифрования. Генератор слот 16 формирует ключи, которые могут быть переданы на соответствующие генераторы.
Рабочим является также режим, когда осуществляется приостановка варьирования ключей шифрования и дешифрования, то есть происходит фиксация ключей на некоторый срок. Это может быть связано с необходимостью передачи данных большего объема, для чего требуется слот большой длительности. При этом приостанавливается работа генераторов 2, 6 путем подачей соответствующих сигналов, но при этом напряжения управления и состояния инверторов в шифрователе 3 и дешифрователе 5 не меняется.
Аналогично периодически может реализовываться режим синхронизации начала воспроизведения слот, так чтобы слоты шифрования и дешифрования совпадали по времени. При движении объекта, на котором установлена приемная часть УХДШ, тоже при необходимости реализуется требуемый режим синхронизации слот.
Возможен вариант работы, в котором генераторы ключей 2, 6 выполнены в виде, например, регистров с отводами и инверторами [5]. Тогда генератор слот 16 формирует последовательность знаков кодов, которые передаются с выходов 1, 2 программатора 7 на указанные генераторы, которые формируют сами ключи.
Ключи шифрования и дешифрования могут быть в виде повторяющихся наборов ключей, заданных для ограниченного множества слот. По сигналам программатора слот 7 возможна остановка процесса изменения слот для проведения корректировки хранящихся данных. После этого по сигналам программатора слот генераторы перезапускаются с первоначального состояния d=1 с новым набором индивидуальных ключей шифрования (1).
Генератор слот 16 и синхронизатор 17 могут быть выполнены на элементах дискретной схемотехники, ПЛИС, либо в виде ЗУ (в зависимости от назначения и режимов работы). Все варианты выполнения обеспечивают один и тот же технический результат.
4. Работа заявленного устройства.
На примере текстов рассмотрены операции записи, хранения и восстановления данных для фиксированного слота. Применен вариант линганума записи из таблицы фиг. 5 для двух однословных текстов со словами yES и NOT. В полной таблице системы кодирования [10] символ "у" соответствует числу 121 с номером по порядку j=122. Из той же таблицы следует, что указанный символ перенумеруется в число 11. Для символа "у" имеем соответствие 121→11. Аналогично для других символов: "Е" - 69→169; "S" - 83→183; "N" - 78→178; "О" - 79→179; "Т" - 84→184.
При восстановлении данных с помощью случайно выбранного из всех возможных вариантов ключей дешифрования применим тот, в котором значения следуют в порядке возрастания (фиг. 5), без сортировки. Зашифрованные символы со значениями 121, 69, 83 будут расшифрованы как знаки со значениями 11, 169, 183 (по порядку номеров это символы 12, 170, 184). Отмечалось, что число и индекс в таблицах различаются на единицу. В результате вместо текста yES будут получены символы Буквы со значениями 78, 79, 84 (текст NOT) будут расшифрованы как символы со значениями 178, 179, 184 (по порядку номеров это 179, 180, 185), то есть [10]. Использование ложного линганума приводит к искаженному восстановлению данных. В случае применения верного линганума восстановления, как было показано ранее, данные воспроизводятся без искажений. Ключи шифрования и дешифрования надо держаться в секрете и менять.
Работа заявленного устройства на слотах, на которых вводится новый код, начинается с подготовительного этапа и задания пользователем в генераторе ключей шифрования 2 (п. 3.2) значений этих ключей (1), то есть всех бит каждого из g1 байтов. Это позволяет в преобразователе ключей шифрования 8 определить величины сигналов управления инверторами Vi,j,k (i - индекс нумерации бит входных байтов; j - индекс вариации входных байтов; k - индекс нумерации компонентов ЛФ), по которым устанавливаются режимы работы инверторов Ii,j,k (всех бит каждого байтов и для всех ЛФ) ЛУ шифрования 9 (п. 3.3). В рабочем режиме записи и сохранения на вход шифрователя 3 подаются данные (3), которые шифруются (4) и записываются в ЗУ 1 (п.3.1).
Восстановление данных также начинается с задания пользователем в генераторе ключей дешифрования 6 (п.3.6) значений линганума восстановления (6) (всех бит каждого из g1 байтов, полученных предварительно в результате проведения операции сортировки (п. 1.2)). На подготовительном этапе в преобразователе ключей дешифрования 12, входящим в дешифрователь 5 (п. 3.5), определяются величины сигналов управления инверторами дешифрователя Vi,j,k (i - индекс бит каждого байта; j - индекс вариации байтов; k - индекс нумерации компонент ЛФ), по которым устанавливаются режимы работы инверторов (всех бит любого байта, для каждой ЛФ дешифрования).
Далее в устройстве управления 4 запускается генератор режимов 12, который активирует также генератор адресов 11, управляющий считыванием байтов из ЗЯ (п.3.1). После окончания считывания процесс на слоте завершается до прихода от генератора режимов 12 следующего сигнала который предназначается для начала процедуры восстановления данных на выходе УХДШ и может создаваться различным образом в зависимости от способа применения устройства. Например: может запускаться вручную пользователем, получающим выходные данные (путем сдвига переключателя); вручную администратором УХДШ либо применением работающего в синхронизированном автоколебательном режиме генератор 12, который устанавливает периодичность восстановления данных (например, в каждом слоте, через каждую минуту, час и так далее).
Данные из ЗУ 1 поступают на второй вход дешифрователя 5 (п.3.5). Эти зашифрованные данные (4) поступают на ЛУ дешифрования 14 и в соответствии с сигналами дешифрования воссоздаются в исходном виде (6), после чего передаются на выход УХДШ (операция восстановления данных на этом слоте завершается), а также на вход заявленного устройства для перешифрования (фиг. 1). Сбросить настройки инверторов можно путем задания ключей шифрования (дешифрования), которые равны одной и той же величине. Сопрягающие устройства 10 и 15 могут работать по стандарту USB или любому другому более быстродействующему стандарту, который может быть создан позже.
5. Обоснование достижения технического результата, защищенность заявляемого устройства от несанкционированного доступа.
Количество вариантов линганума, которые могут быть использованы при шифровании/дешифровании, определяется числом перестановок K=(g1)!. Несанкционированный доступ может осуществляться лишь путем перебора всех возможных вариантов преобразования номеров байтов, а также их анализа, на что требуется затрачивать промежуток времени, определяемый факториальной функцией от g1 (для g1=256 значение К велико). Для каждого варианта требуется установить наличие информативной значимости в полученных данных, то есть решить, имеется ли информационный смысл в полученных после применения варианта ключей дешифрования данных, для чего требуется быстродействующая интеллектуальная система, что существенно увеличивает затраты времени. Статистические методы нахождения ключей дешифрования в данном случае не применимы. Пользователь должен держать в секрете ключи шифрования (линганум записи). Для любого набора ключей дешифрования будут получены некоторые варианты входных данных, но они верны лишь для единственного набора ключей дешифрования.
Сложности подбора ключей при несанкционированном доступе представим на примере трех байт. Начало подбора ключа для первого байта возможен по окончании этого байта, то есть когда имеется второй байт (на временном этапе второго байта). Даже если ключ подобран верно, то применить его можно с третьего байта. Отсюда следует, что длительности слот должны быть меньше оценочного интервала времени, требуемого для перебора всех вариантов и несанкционированного дешифрования с учетом имеющихся вычислительных возможностей. Для достижения требуемой защищенности данных всегда возможно выбрать необходимо малую длительность слот. Доказано, что в случае, когда для каждого символа сообщения (в нашем случае это один или два байта) используется одноразовый ключ, то система является нераскрываемой (идеальной) [4, с. 66]. В нашем случае неповторяемые ключи индивидуального шифрования на достаточно коротких слотах обеспечивают необходимый результат - предотвращение возможности несанкционированного доступа и повышение безопасности хранения данных.
Представленная совокупность существенных признаков позволяет получить технический результат и достичь цели изобретения, которые заключаются в дополнительном повышении защищенности хранения данных за счет выбора ключей шифрования для различных временных интервалов хранения данных с сохранением микроминиатюрности.
6. Некоторые варианты применения заявленного устройства.
1. Источником входных данных могу быть датчики или базы данных о множестве объектов. Такие сведения за определенный период накапливаются в хранилище данных в зашифрованном виде до момента востребования этих данных. При возникновении потребности в использовании данных они изымаются из хранилища, дешифруются и поступают пользователю в первозданном виде.
Удаленное хранение корпоративной базы клиентов или каталога хранилища (ассортимент, количество изделий).
2. Мобильный вариант. После записи мультимедийных данных (например, с видеокамеры) УХДШ перемещается в то место, которое требуется пользователю для восстановления данных в исходном виде. Данные защищены, доступ затруднен. Имеется сходство с использование известных внешних накопителей данных, но здесь реализуется многократное шифрование.
Мобильное длительное и возможно удаленное хранение личных данных в электронном виде (декларация, медицинская карта, каталог источников информации, списки).
3. Создание общедоступного через компьютерную сеть запоминающего устройства ("Облака"). Удаленно работающему сотруднику направляются на ЗУ защищенные указанным образом задания на выполнение работ и могут быть получены отчеты о результатах. Принадлежность ЗУ к организации не позволяет удалять хранимые данные или десинхронизировать систему. Адреса доступа также шифруются.
7. Электропитание, разъемы. Энергообеспечение определяется исходя из варианта использования УХДШ, например, от стационарных источников или от малогабаритных аккумуляторов. Типы разъемов зависят от варианта использования УХДШ (виды соединителей источников входных данных и выходных потребителей). Например, для мобильного варианта, когда источником и потребителем данных являются средства вычислительной техники, могут использоваться соединители типа USB, штекеры и высокочастотные разъемы (предпочтительно с экранированием и заземлением).
Библиографический список
1. Патент RU №2506633, "Устройство хранения данных"; МПК G06F 12/14, G11C 16/22, G06F 21/60; опубликовано 10.02.2014, Бюл. №4.
2. Патент RU №2342697, "Портативное устройство хранения данных с системой шифрования"; МПК G06F 12/14; опубликовано 27.12.2008, Бюл. №36.
3. Патент RU №2787933, "Устройство хранения данных с системой шифрования"; СПК G06F 12/14(2022.08); G06F 21/60 (2022.08); G11C 16/22 (2022.08); опубликовано 13.01.2023, Бюл. №2.
4. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. - М.: Радио и связь, 2001. - 376 с.
5. Варакин Л.Е. Системы связи с шумоподобными сигналами. - М.: Радио и связь, 1985. - 384 с.
6. Бойко В.И. и др. Схемотехника электронных систем. Цифровые устройства. - СПб: БХВ-Петербург, 2004. - 512 с.
7. Лехин С.Н. Схемотехника ЭВМ. - СПб: БХВ-Петербург, 2010. - 672 с.
8. Угрюмов Е.П. Цифровая схемотехника. - СПб.: БХВ-Петербург, 2004.-800 с.
9. Электроника. Энциклопедический словарь. Гл. ред. Колесников В.Г., - М. Сов. энциклопедия, 1991, - 688 с.
10. https://www.industrialnets.ru/files/misc/ascii.pdf, 31.03.2023 г.
Изобретение относится к устройствам хранения данных, в которых применяется шифрование. Задачей является обеспечение дополнительной защищенности данных от внешних воздействий при их хранении. Технический результат заключается в повышении защищенности сохраненных данных за счет синхронизируемого варьирования ключей шифрования и дешифрования в широких пределах, предназначенных для ограниченных временных интервалов (слот), в результате реализуется многократное перешифрование. Устройство содержит запоминающее устройство, генераторы ключей шифрования и дешифрования, шифрователь, дешифрователь, устройство управления, программатор слот, при этом первый выход которого соединен с входом генератора ключей шифрования, второй выход программатора слот подключен к входу устройства управления, третий выход программатора слот соединен с входом генератора ключей дешифрования, вместе с тем шифрователь формирует сигналы Х° для каждого слота. Устройство может быть построено на логических элементах и на программируемых логических интегральных схемах. 6 з.п. ф-лы, 5 ил.
1. Устройство хранения данных с системой синхронизируемого шифрования, содержащее запоминающее устройство, генератор ключей шифрования, шифрователь, дешифрователь, устройство управления, генератор ключей дешифрования, вместе с тем первый вход шифрователя соединен с входом всего устройства, второй вход шифрователя подключен к выходу генератора ключей шифрования, выход шифрователя соединен с первым входом запоминающего устройства, второй вход запоминающего устройства подключен к первому выходу устройства управления, второй выход устройства управления соединен с третьим входом запоминающего устройства, выход запоминающего устройства соединен со вторым входом дешифрователя, первый вход дешифрователя соединен с выходом генератора ключей дешифрования, выход дешифрователя подключен к выходу всего устройства, отличающееся тем, что
введен программатор слот, первый выход которого соединен с входом генератора ключей шифрования, второй выход программатора слот подключен к входу устройства управления, третий выход программатора слот соединен с входом генератора ключей дешифрования, вместе с тем
шифрователь формирует сигналы Х° для каждого слота исходя из условий
где j=1, 2, …, d=1, 2, …, D - индексы нумерации блоков и слот;
Хвх j,d - значение j-го блока входных данных на d-м слоте;
- значение j-го блока после шифрования на d-м слоте;
- последовательность индивидуальных ключей шифрования на d-м слоте;
g1 - количество символов в системе кодирования данных,
дешифрователь формирует сигналы Хвых для каждого слота исходя из условий
где j=1, 2, …, d=1, 2, …, D - индексы нумерации блоков и слот;
X°j,d - значение j-го блока до дешифрования;
Хвых j,d - значение j-го блока выходных данных;
- последовательность значений ключей дешифрования на d-м слоте;
g1 - количество символов в системе кодирования данных,
генератор ключей шифрования формирует сигналы, соответствующие элементам последовательностей индивидуальных ключей шифрования для каждого слота
где j=1, 2, …, d=1, 2, …, D - индексы нумерации блоков и слот;
g1 - количество символов в системе кодирования данных;
td=td-1+Λd - окончание d-го слота длительностью Λd≥0;
- последовательность ключей шифрования длительностей слот;
tD - сумма Λd длительностей всех D слот;
t0, tD - начальное и конечное значения первого и последнего слота,
при этом каждое значение элемента последовательности является одним из целых положительных чисел от 0 до (g1-1), используемым при составлении этой последовательности лишь однажды,
генератор ключей дешифрования формирует сигналы, соответствующие элементам последовательностей ключей дешифрования для каждого слота
где j=1, 2, …, d=1, 2, …, D - индексы нумерации блоков и слот;
g1 - количество символов в системе кодирования данных;
- момент времени окончания d-го слота длительностью Λ'd≥0;
- последовательность ключей шифрования длительностей слот;
t'D - сумма Λ'd длительностей всех D слот;
t'0, t'D - начальное и конечное значения первого и последнего слота,
при этом каждое значение ключей дешифрования является одним из целых положительных чисел от 0 до (g1-1), используемым при составлении этой последовательности лишь однажды,
эти ключи дешифрования получены так, что
порядковые номера j-x элементов последовательности совокупных ключей шифрования уменьшаются на единицу и меняются местами со значениями элементов этой последовательности, порядковые номера новой числовой последовательности увеличиваются на единицу и элементы полученной последовательности со своими измененными порядковыми номерами расставляются в порядке возрастания этих номеров,
при этом
элементы последовательности совокупных ключей шифрования определяются последовательностью значений индивидуальных ключей шифрования Ld на каждом слоте, задающей набор числовых значений от первого до d-го слота для любого элемента входных данных и величины Ld, определяют конечное значение каждого элемента первоначального блока данных на d-м слоте.
2. Устройство по п. 1, отличающееся тем, что шифрователь
содержит преобразователь ключей шифрования, логическое устройство шифрования и сопрягающее устройство шифрователя,
вход преобразователя ключей шифрования подсоединен к второму входу шифрователя, выход преобразователя ключей шифрования подключен к второму входу логического устройства шифрования, первый вход логического устройства шифрования соединен с выходом сопрягающего устройства шифрователя, вход сопрягающего устройства соединен с первым входом шифрователя и всего устройства, выход логического устройства шифрования соединен с выходом шифрователя;
шифрователь выполнен на логических элементах или программируемых логических матрицах;
сопрягающее устройство шифрователя выполнено на пассивных элементах, или на транзисторах, или на микросхемах, или в виде универсальной последовательной шины USB.
3. Устройство по п. 1, отличающееся тем, что дешифрователь
содержит сопрягающее устройство дешифрователя, преобразователь ключей дешифрования и логическое устройство дешифрования,
вход преобразователя ключей дешифрования подключен к первому входу дешифрователя, выход преобразователя ключей дешифрования соединен с первым входом логического устройства дешифрования, второй вход логического устройства дешифрования подключен к второму входу дешифрователя, выход логического устройства дешифрования связан с входом сопрягающего устройства дешифрователя, выход которого подключен к выходу дешифрователя и всего устройства;
дешифрователь выполнен на логических элементах или программируемых логических матрицах;
сопрягающее устройство дешифрователя выполнено на пассивных элементах, или на транзисторах, или на микросхемах, или в виде универсальной последовательной шины USB.
4. Устройство по п. 1, отличающееся тем, что устройство управления
содержит генератор адресов и генератор режимов, выход генератора адресов является вторым выходом устройства управления, первый выход генератора режимов является первым выходом устройства управления, второй выход генератора режимов соединен с входом генератора адресов, вход генератора режимов подключен к входу устройства управления;
устройство управления выполнено на элементах аналоговой или дискретной схемотехники либо в виде элементов запоминающего устройства или на программируемых логических матрицах.
5. Устройство по п. 1, отличающееся тем, что генератор ключей шифрования выполнен на элементах дискретной схемотехники, или в виде запоминающего устройства, или на программируемых логических матрицах.
6. Устройство по п. 1, отличающееся тем, что генератор ключей дешифрования выполнен на элементах дискретной схемотехники, или в виде запоминающего устройства, или на программируемых логических матрицах.
7. Устройство по п. 1, отличающееся тем, что программатор слот
содержит генератор слот и синхронизатор, первый, второй и третий выходы генератора слот подключены к таким же выходам программатора слот, первый выход синхронизатора подключен к первому выходу программатора слот, второй выход синхронизатора соединен с входом генератора слот, третий и четвертый выходы синхронизатора подключены к второму и третьему выходам программатора слот;
программатор слот выполнен на элементах аналоговой или дискретной схемотехники либо в виде запоминающего устройства или на программируемых логических матрицах.
Устройство хранения данных с системой шифрования | 2022 |
|
RU2787933C1 |
СПОСОБ И СИСТЕМА ЗАЩИЩЕННОГО ХРАНЕНИЯ ИНФОРМАЦИИ В ФАЙЛОВЫХ ХРАНИЛИЩАХ ДАННЫХ | 2018 |
|
RU2707398C1 |
СПОСОБ ХРАНЕНИЯ ЗАШИФРОВАННЫХ ДАННЫХ | 2002 |
|
RU2294057C2 |
US 10867071 B2, 15.12.2020 | |||
US 8442235 B2, 14.05.2013 | |||
US 9921978 B1, 20.03.2018. |
Авторы
Даты
2024-08-07—Публикация
2024-01-10—Подача