RU2656734C2 - Method of digital information in the form of ultra-compressed nano bar code encoding and decoding (options) - Google Patents

Method of digital information in the form of ultra-compressed nano bar code encoding and decoding (options) Download PDF

Info

Publication number
RU2656734C2
RU2656734C2 RU2016131164A RU2016131164A RU2656734C2 RU 2656734 C2 RU2656734 C2 RU 2656734C2 RU 2016131164 A RU2016131164 A RU 2016131164A RU 2016131164 A RU2016131164 A RU 2016131164A RU 2656734 C2 RU2656734 C2 RU 2656734C2
Authority
RU
Russia
Prior art keywords
information
code
encryption
block
encoding
Prior art date
Application number
RU2016131164A
Other languages
Russian (ru)
Other versions
RU2016131164A (en
Inventor
Евгений Иванович Пряхин
Екатерина Владимировна Ларионова
Евгений Анатольевич Захаренко
Original Assignee
Евгений Иванович Пряхин
Екатерина Владимировна Ларионова
Евгений Анатольевич Захаренко
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Евгений Иванович Пряхин, Екатерина Владимировна Ларионова, Евгений Анатольевич Захаренко filed Critical Евгений Иванович Пряхин
Publication of RU2016131164A publication Critical patent/RU2016131164A/en
Application granted granted Critical
Publication of RU2656734C2 publication Critical patent/RU2656734C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

FIELD: general-purpose electronic circuits.
SUBSTANCE: invention relates to the digital information conversion (encoding), decoding and recording method to form the matrix ultra-compressed two-dimensional code (nano bar code), as well as to optically readable two-dimensional codes representing binary coded data placed on the two-dimensional matrix and thus forming the information placement template. Disclosed is the digital information encoding method in form of the ultra-compressed code, nano bar code, comprising reception of information to be encoded, encoding information using the code conversion table, and obtaining code message on the information storage medium in the form of physical or electronic code, at that, after the information encoding, performing its encryption, compression, and redundant information addition for recovery in the event of its loss, information encryption is performed using cryptographic algorithms in two stages, at the first stage, encryption is performed at the bytes level using the poly-alphabetic byte cipher with the different offset value for each byte of information, at the second stage, the encryption is performed at the bits level based on the symmetric bit encryption algorithm AES, information compression is performed based on the optimal codes methods, wherein the probabilities of the code words occurrence for each block of encoded information are calculated only for this block and are recalculated for each block, to obtain the code message, performing the encoded data structure formation in the form of the ultra-compressed nano bar code.
EFFECT: technical result is increase in the reliability of information encoding in the form of the ultra-compressed nano bar code with ability of the information encryption.
20 cl, 25 dwg, 7 tbl

Description

Предлагаемое изобретение относится к способу преобразования (кодирования), декодирования и записи цифровой информации для формирования матричного ультрасжатого двухмерного кода (нанобар-кода), а также к оптически считываемым двухмерным кодам, представляющим двоично-кодированные данные, размещенные на двухмерной матрице и формирующие, таким образом, шаблон для размещения информации. При этом двоично-кодированные данные разбиты на двоичные блоки с криптографически преобразованной, упакованной алгоритмами сжатия и дополненной алгоритмами восстановления утраченных данных информацией. Также, предлагаемое изобретение найдет применение в области защиты от подделки изделий массового производства, и, в частности, в области идентификации подлинности товаров в системе защиты от подделок.The present invention relates to a method for converting (encoding), decoding, and recording digital information to generate a matrix ultra-compressed two-dimensional code (nanobar code), as well as optically readable two-dimensional codes representing binary-coded data placed on a two-dimensional matrix and forming, thus , template for posting information. In this case, the binary-coded data is divided into binary blocks with a cryptographically converted, packed with compression algorithms and supplemented with information recovery algorithms for lost data. Also, the present invention will find application in the field of protection against counterfeiting of mass-produced products, and, in particular, in the field of identification of the authenticity of goods in the system of protection against counterfeiting.

Известны различные технические решения в рассматриваемой области.There are various technical solutions in this area.

Так, например, в патенте RU №2321890 (МПК G06Q 30/00, опублик. 10.04.2008) используют открытый N-значный номер, что создает возможности легкого его копирования, а помимо информации о товаре, открытый N-значный номер несет в себе дополнительные коды информации (например, рекламные), что при проверке подлинности приведет к получению проверяющим лишней информации, а хранение в базе данных дополнительной информации потребует дополнительных аппаратных средств.So, for example, in patent RU No. 2321890 (IPC G06Q 30/00, published on April 10, 2008), an open N-digit number is used, which makes it easy to copy, and in addition to product information, an open N-digit number carries additional codes of information (for example, advertising), which during authentication will lead to the verification of extra information, and storing additional information in the database will require additional hardware.

В патенте RU №2323474 (МПК G06K 1/00, G09F 3/00, опублик. 27.04.2008) используют многократное скрытое нанесение уникальных номеров под стираемыми непрозрачными слоями, однако, при проверке необходимо, помимо уникального номера вводить порядковый номер полоски, на которой нанесен упомянутый номер. Введение большого количества цифр может быть затруднительно пользователю при проверке подлинности товара.RU patent No. 2323474 (IPC G06K 1/00, G09F 3/00, published. 04/27/2008) uses multiple hidden application of unique numbers under erasable opaque layers, however, when checking, in addition to the unique number, you must enter the serial number of the strip on which the mentioned number is applied. The introduction of a large number of numbers can be difficult for the user to verify the authenticity of the goods.

В патенте RU №2183349 (МПК G06K 1/12, G06K 9/00, опублик. 10.06.2002) используют нанесение на стикер большого количества информации, зашифрованной различными способами. При проверке требуется специальная аппаратура, что затрудняет применение данной системы конечными пользователями.Patent RU No. 2183349 (IPC G06K 1/12, G06K 9/00, published. 06/10/2002) uses a large amount of information encrypted in various ways on the sticker. When checking, special equipment is required, which makes it difficult for end users to use this system.

Таким образом, наиболее функциональным является использование штрих-кодов, выполняющих защитную и идентифицирующую функции.Thus, the most functional is the use of barcodes that perform protective and identifying functions.

В патенте RU №2349957 «Смешанный код, и способ и устройство для его генерирования, и способ и устройство для его декодирования» (МПК G06K 19/06, G09F 3/02, опублик. 20.03.2009) код представлен физическим или электронным изображением. Расположение блоков информации в известном смешанном коде не является рациональным, с точки зрения восстановления информации или захвата изображения кода. При повреждении этих областей невозможно ни сосканировать, ни декодировать код.In RU patent No. 2349957 “Mixed code, and a method and device for generating it, and a method and device for decoding it” (IPC G06K 19/06, G09F 3/02, published. 03.20.2009), the code is represented by a physical or electronic image. The location of the information blocks in the known mixed code is not rational from the point of view of information recovery or image capture code. If these areas are damaged, it is impossible to scan or decode the code.

Еще один тип машиночитаемого кода, отвечающего уровню современных требований, описан в патенте GB №2383878 (МПК: B41F 9/00; В41М 1/10; В41М 3/14; B42D 15/00; B42D 15/10; В65В 61/28; G07D 7/12; G09F 3/00; G09F 3/03, опублик. 09.07.2003). Преимущества такого типа кода среди других торговых машиночитаемых кодов заключаются в очень высокой степени заполнения всевозможными отдельными кодами, а также в способности создавать индивидуальные коды. Недостатком указанного патента является отсутствие уникального дизайна матричного кода (используются известные символики), а также, отсутствие защитных алгоритмов, предотвращающих несанкционированное декодирование информации, размещенной в данном машиночитаемом коде.Another type of machine-readable code that meets the level of modern requirements is described in GB patent No. 2383878 (IPC: B41F 9/00; B41M 1/10; B41M 3/14; B42D 15/00; B42D 15/10; B65B 61/28; G07D 7/12; G09F 3/00; G09F 3/03, published 09.07.2003). The advantages of this type of code among other trading machine-readable codes lie in a very high degree of filling with all kinds of separate codes, as well as in the ability to create individual codes. The disadvantage of this patent is the lack of a unique design of the matrix code (known symbols are used), as well as the lack of protective algorithms to prevent unauthorized decoding of information placed in this machine-readable code.

Известны патенты US №6279830 (МПК: G06K 17/00; G06K 19/00; G06K 19/06; G06K 7/00; G06K 7/10, опублик. 28.08.2001) и US №5591956 (МПК: G06K 17/00; G06K 19/06; G06K 7/10; G06K 7/14, опублик. 07.01.1997) на различные двухмерные символики. Основными особенностями данных матричных кодов является: достаточно высокая плотность информации, возможность кодирования текстовой, байтовой и цифровой информации. Такие коды содержат блоки данных в виде матрицы чередующихся черных и белых квадратов, блок восстановления информации, блок уплотнения текстовой, байтовой, цифровой информации. Недостатком известных патентов является, также, отсутствие защитных алгоритмов, предотвращающих несанкционированное декодирование информации, размещенной в данном машиночитаемом коде. Кроме того, для формирования блоков восстановления информации используются известные алгоритмы.Known patents US No. 6279830 (IPC: G06K 17/00; G06K 19/00; G06K 19/06; G06K 7/00; G06K 7/10, published. 08/28/2001) and US No. 5591956 (IPC: G06K 17/00 ; G06K 19/06; G06K 7/10; G06K 7/14, published. 01/07/1997) on various two-dimensional symbols. The main features of these matrix codes are: a fairly high density of information, the ability to encode text, byte and digital information. Such codes contain data blocks in the form of a matrix of alternating black and white squares, an information recovery unit, a text, byte, and digital information compression unit. A disadvantage of the known patents is also the lack of security algorithms to prevent unauthorized decoding of the information contained in this machine-readable code. In addition, well-known algorithms are used to form information recovery blocks.

Общеизвестный способ считывания двухмерного кода включает в себя этапы принятия образа двухмерного кода с помощью устройства ввода изображения, например, таким как фото- и телекамера, а затем определения положения соответствующего двухмерного кода для считывания содержания кода. Для захвата области изображения двухмерного кода используются области резкого изменения яркости - нахождение таких областей можно организовать на основе анализа первой и второй производной изображения. Далее, производится фрагментация изображения и выделение отдельных ячеек кода, подлежащего дальнейшему анализу и декодированию.A well-known method for reading a two-dimensional code includes the steps of taking an image of a two-dimensional code using an image input device, such as a photo and television camera, and then determining the position of the corresponding two-dimensional code for reading the contents of the code. To capture the image area of a two-dimensional code, areas of sharp brightness change are used - the finding of such areas can be organized based on the analysis of the first and second derived images. Further, the image is fragmented and individual cells of the code are selected for further analysis and decoding.

Впоследствии, размер кодовой матрицы получается на основе двухмерного кода, таким образом, можно рассчитать координаты ячейки данных в кодовой матрице. Затем, выносится суждение о том, является ли каждая ячейка данных "0" или "1" (т.е. светлой или темной), при этом, производится преобразование каждой из данных ячеек в символьную информацию.Subsequently, the size of the code matrix is obtained based on the two-dimensional code, thus, it is possible to calculate the coordinates of the data cell in the code matrix. Then, a judgment is made on whether each data cell is “0” or “1” (ie, light or dark), and each of these cells is converted to symbolic information.

Например, в заявке JP № Н 0212579 (МПК G06K 1/12; G06K 19/00; G06K 19/06; G06K 7/10; G06K 7/14, опублик. 1990-01-17), являющейся аналогом применения патента US №4939354, описана матрица, состоящая из последовательно выстроенных темных (черных) квадратов и двух пунктирных сторон, состоящих из расположенных поочередно светлых (белых) и темных квадратов. Обнаружение символики осуществляется путем различения профиля линий, а затем определения ориентации матрицы. Недостатком вышеупомянутого способа является следующее. Матрица не всегда постоянна в размере, таким образом, может произойти ошибка в обнаружении ячейки, когда положение ячейки прогнозируется согласно заданному интервалу. Кроме того, существует возможность того, что именно по той же схеме, что и характеристика четырех периферийных сторон может произойти ошибка в считывании в области данных. Это потребует сложной обработки для операции считывания матрицы. Соответственно, для такой сложной операции чтения потребуется значительно более длительное время, что затруднит автоматическое считывание и декодирование.For example, in JP application No. H 0212579 (IPC G06K 1/12; G06K 19/00; G06K 19/06; G06K 7/10; G06K 7/14, published. 1990-01-17), which is an analogue of the application of US patent No. 4939354, describes a matrix consisting of sequentially arranged dark (black) squares and two dotted sides, consisting of alternately light (white) and dark squares. Symbology is detected by distinguishing the line profile, and then determining the orientation of the matrix. The disadvantage of the above method is the following. The matrix is not always constant in size, so an error can occur in cell detection when the cell position is predicted according to a given interval. In addition, there is the possibility that, in exactly the same way as the characteristics of the four peripheral sides, an error may occur in the reading in the data area. This will require complex processing for the matrix read operation. Accordingly, such a complex read operation will require a significantly longer time, which will make automatic reading and decoding more difficult.

Известно изобретение WO 2013/100794 А1 известно использование ультрасжатого кода - нанобар-кода (реферат, п. 9 формулы). Система кодирования, указанная в изобретении, используется для кодирования только текстовой информации при формировании информационных полей и предусматривает возможность изменения кода более 10706 раз. К недостатка данного способа относится отсутствие возможности кодирования любой цифровой информации, кроме текстовой. Кроме того, отсутствуют механизмы сжатия данных и восстановления утраченной информации.The invention is known WO 2013/100794 A1 is known to use an ultra-compressed code - nanobar code (abstract, paragraph 9 of the formula). The coding system specified in the invention is used to encode only text information in the formation of information fields and provides for the possibility of changing the code more than 10 706 times. The disadvantage of this method is the lack of the ability to encode any digital information except text. In addition, there are no mechanisms for data compression and recovery of lost information.

В изобретении US 2003/0128140 А1 известен способ сжатия цифровой информации. Данное изобретение представляет методы сжатия кода и декомпрессионных архитектур для встраиваемых систем. Осуществление сжатии информации основано на методах оптимальных кодов, при этом вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывают только для этого блока и затем пересчитываются для каждого блока, осуществление декомпрессии информации также основано на сумме полученных вероятностей на этапе компрессии с вычислением вероятностей исходных кодовых слов. Существенным недостатком указанного способа является необходимость расчета вероятности для всех входных элементов, и таким образом требуют вычисления значений всех элементов массива, что значительно увеличивает время обработки и вероятность ошибок или потери информации при компрессии/декомпрессии.In the invention US 2003/0128140 A1 a method for compressing digital information is known. This invention provides methods for code compression and decompression architectures for embedded systems. The compression of information is based on optimal code methods, while the probabilities of occurrence of code words for each block of encoded information are calculated only for this block and then recounted for each block, the decompression of information is also based on the sum of the probabilities obtained at the stage of compression with the calculation of the probabilities of the source code words . A significant drawback of this method is the need to calculate the probability for all input elements, and thus require the calculation of the values of all elements of the array, which significantly increases the processing time and the likelihood of errors or loss of information during compression / decompression.

Известен патент US 5224106 А, где предложен способ восстановления информации, заключающийся в добавление избыточной информации для восстановления в случае ее утраты и восстановление утраченной информации с помощью алгоритмов восстановления информации на основе избыточной информации, записанной при формировании кода. Для формирования избыточной информации используется полином вида g2(x)=(x+αa-d)*(x+αa-d+1)*…*(х+αа)*…*(x+αa+s)*(x+αa+s+1)*…*(x+αa+s+d). К недостаткам предложенного способа можно отнести необходимость вычисления отдельных таблиц отображения для каждой из операций алгоритма восстановления данных, а также использование двух различных полиномиальных выражений для их расчета. Это приводит к усложнению решения задачи факторизации и увеличивает количество вариантов перебора необходимое для подбора ключа.Known patent US 5224106 A, which proposes a method of information recovery, which consists in adding redundant information to recover in case of loss and restoring lost information using information recovery algorithms based on redundant information recorded during code formation. To generate excess information, a polynomial of the form g 2 (x) = (x + α ad ) * (x + α a-d + 1 ) * ... * (x + α a ) * ... * (x + α a + s ) is used * (x + α a + s + 1 ) * ... * (x + α a + s + d ). The disadvantages of the proposed method include the need to calculate separate mapping tables for each of the operations of the data recovery algorithm, as well as the use of two different polynomial expressions for their calculation. This complicates the solution of the factorization problem and increases the number of enumeration options required for key selection.

Таким образом, существующие способы формирования двухмерных символик лишь частично решают проблему однозначной идентификации и подтверждения подлинности изделия или объекта.Thus, the existing methods for the formation of two-dimensional symbols only partially solve the problem of unambiguous identification and confirmation of the authenticity of the product or object.

Для защиты информации могут использоваться известные методы защиты информации, основанные на использовании криптографических алгоритмов. Такие способы предусматривают преобразование информации с использованием криптографических функций и алгоритмов, но, в абсолютном большинстве не предоставляют вариант машиночитаемой двухмерной символики.To protect information, known methods of information protection based on the use of cryptographic algorithms can be used. Such methods include the conversion of information using cryptographic functions and algorithms, but, in the vast majority do not provide a variant of machine-readable two-dimensional symbols.

В заявке на изобретение RU №2001117145 (МПК G06F 12/14, опублик. 10.06.2003) предложен способ защиты, основанный на формировании ключа, который хранят в памяти внешнего устройства, приспособленного для подсоединения к ЭВМ, дешифрировании информации с использованием ключа во внешнем устройстве, при этом, формирование ключа осуществляют непосредственно во внешнем устройстве, а шифрование информации осуществляют с использованием ключа в этом же устройстве. Формирование ключа осуществляют с использованием сигналов псевдослучайной последовательности и сигналов внешнего случайного воздействия с последующей автоматической проверкой ключа на отсутствие совпадений с ключами, хранящимися в памяти внешнего устройства. Ключ хранят в памяти внешнего устройства, приспособленного для подсоединения к ЭВМ, дешифрировании информации с использованием ключа во внешнем устройстве, отличающийся тем, что формирование ключа при обмене информацией между абонентами осуществляют во внешнем устройстве одного из абонентов, шифруют его системным ключом, предварительно записанным в память системного ключа всех устройств абонентов одной серии, и передают зашифрованный ключ другому абоненту, расшифровывают его у другого абонента, при этом шифрование информации осуществляют с использованием ключа во внешних устройствах каждого из абонентов.In the application for the invention RU No. 20011117145 (IPC G06F 12/14, published. 06/10/2003) a security method is proposed based on the formation of a key, which is stored in the memory of an external device, adapted for connecting to a computer, decrypting information using the key in an external device at the same time, the key is generated directly in the external device, and information is encrypted using the key in the same device. The key formation is carried out using pseudo-random sequence signals and signals of external random action, followed by an automatic check of the key for the absence of matches with keys stored in the memory of an external device. The key is stored in the memory of an external device adapted for connecting to a computer, decrypting information using a key in an external device, characterized in that the key is generated during the exchange of information between subscribers in the external device of one of the subscribers, encrypted with a system key previously stored in memory system key of all devices of subscribers of one series, and transfer the encrypted key to another subscriber, decrypt it from another subscriber, while the encryption of information is carried out vlyayut using the key in the external device, each of the subscribers.

К недостаткам известного способа можно отнести отсутствие возможности реализации способа в случае форс-мажорных обстоятельств, таких, как поломка оборудования у пользователя или выход из строя сегментов оборудования. Также в указанном способе используется управляющая последовательность (ключ), которая или короче, или соответствует длине сообщения и отсутствует точная оценка для вероятности навязывания ложной информации, таким образом, повышается вероятность взлома или вычисление обходного пути для расшифровывания защищенной информации. Также, отсутствует вариант исполнения в графической машиносчитываемой форме двухмерного кода.The disadvantages of this method include the lack of the possibility of implementing the method in the event of force majeure, such as damage to the equipment of the user or failure of the equipment segments. Also, the specified method uses a control sequence (key), which is either shorter or corresponds to the length of the message and there is no exact estimate for the probability of imposing false information, thus increasing the likelihood of hacking or calculating a workaround to decrypt the protected information. Also, there is no embodiment in a graphic machine-readable form of a two-dimensional code.

В патенте RU №2254685 (МПК H04L 9/00, опублик. 20.06.2005) описан способ шифрующего преобразования информации. До начала шифрования все возможные неповторяющиеся значения комбинаций алфавита ui, случайным образом, с помощью датчика случайных чисел (ДСЧ), записывают в кодовую таблицу с N строками, а в каждую строку ui адресной таблицы Та записывают номер строки i кодовой таблицы Тк, в которой записано значение комбинации алфавита ui, где N - размер алфавита, совпадающий с числом строк кодовой и адресной таблиц Тк и Та, ui - исходная комбинация, подлежащая шифрованию. Для заполнения очередной i-и строки кодовой таблицы Тк, где i - значение от 1 до N, получают очередное значение комбинации алфавита от ДСЧ, которое сравнивают с каждым из i-1 значением записанных комбинаций алфавита в кодовую таблицу Тк, и в случае несовпадения ни с одной из записанных комбинаций алфавита очередное значение комбинации алфавита ui записывают в i-ю строку кодовой таблицы Тк. При шифровании из строки ui адресной таблицы Та считывают адрес A(ui) исходной комбинации ui в кодовой таблице Тк, значение шифрованной комбинации vi исходной комбинации алфавита ui при значении параметра преобразования ξi равно значению комбинации алфавита, хранящейся в строке A(vi) кодовой таблицы Тк, адрес которой определяют как А(vi)=А(ui)+ξi по модулю числа N, считывают значение шифрованной комбинации vi из строки кодовой таблицы Тк с адресом A(vi), при дешифровании зашифрованной комбинации vi при значении параметра преобразования ξi определяют значение комбинации, хранящейся в строке адрес A(ui) кодовой таблицы Тк, адрес которой определяют как A(ui)=A(vi)-ξi по модулю числа N, и считывают значение комбинации ui из строки кодовой таблицы Тк с адресом A(ui).Patent RU No. 2254685 (IPC H04L 9/00, published. 06/20/2005) describes a method of encrypting information conversion. Before encryption, all possible non-repeating values of combinations of the alphabet ui are randomly written using a random number sensor (RNG) into a code table with N lines, and each line ui of the address table Ta contains the number of line i of the code table Tk, in which the value of the alphabet combination ui, where N is the size of the alphabet that matches the number of lines of the code and address tables Tk and Ta, ui is the original combination to be encrypted. To fill in the next i-th line of the code table Tk, where i is a value from 1 to N, get the next value of the alphabet combination from the DSL, which is compared with each i-1 value of the recorded alphabet combinations in the code table Tk, and in case of mismatch with one of the recorded alphabet combinations, the next value of the alphabet combination ui is written in the i-th line of the code table Tk. When encrypting, from the string ui of the address table Ta, the address A (ui) of the original combination ui in the code table Tk is read, the value of the encrypted combination vi of the original combination of the alphabet ui with the value of the conversion parameter ξ i is equal to the value of the alphabet combination stored in the string A (v i ) of the code table Tk, whose address is defined as A (v i ) = A (u i ) + ξ i modulo the number N, read the value of the encrypted combination v i from the line of the code table Tk with the address A (v i ), when decrypting the encrypted combination v i for the parameter value conversion Define ξ i t value combinations stored in the row address of A (u i) of the code table Tc whose address is defined as A (u i) = A ( v i) -ξ i modulo the number N, and u i is read the value combinations of the codebook row Tk with address A (u i ).

В известном способе не предусмотрена возможность реализации способа в случае форс-мажорных обстоятельств, таких как поломка оборудования у пользователя или выход из строя сегментов оборудования. Кроме того, этот способ может предусматривать кодирование только на уровне байт, а также не предусматривает вариант исполнения в графической машиносчитываемой форме двухмерного кода.The known method does not provide for the possibility of implementing the method in the event of force majeure, such as a breakdown of equipment at the user or failure of equipment segments. In addition, this method may provide for encoding only at the byte level, and also does not provide for the execution of a two-dimensional code in a graphic machine-readable form.

Известна международная заявка WO 2013162402 (МПК G06F 21/60; Н03М 7/00, опублик. 31.10.2013) «Способ защиты цифровой информации». В известном способе предлагается использовать криптографические алгоритмы для защиты информации при формировании информационного поля. Однако, известный метод кодирования защищенной информации не позволяет сформировать шаблон расположения преобразованной информации на матричном поле и, соответственно, исключает возможность автоматизированного считывания и декодирования информации.Known international application WO 2013162402 (IPC G06F 21/60; H03M 7/00, published. 10.31.2013) "Method of protecting digital information." In the known method, it is proposed to use cryptographic algorithms to protect information in the formation of the information field. However, the known method of encoding protected information does not allow to form a template for the location of the converted information on the matrix field and, accordingly, excludes the possibility of automated reading and decoding of information.

Известный способ основан на принципе формирования системы кодировок из набора «0» и «1», при этом принято, что «1» обозначается факт наличия контрастной ячейки от фона, а «0» - отсутствия ячейки. Кодироваться может любая битовая информация с использованием латинских символов, цифр, знаков пунктуации, национальных шрифтов, символов псевдографики и т.п., представляя собой в общем виде массив символов. Любой символ из кодировочного массива может быть представлен в виде многоразрядной комбинации «0» и «1». Например, можно использовать восьмиразрядную систему кодировки символов, т.е. это будет выглядеть так: 00000000, 00000001, 00000010 и т.д. Совокупность кодировочных значений формируется из генеральной и частной совокупности значений, формирование в данной системе происходит с равновероятным выбором совокупностей без преобладания одной из них. Причем, формирование массивов происходит независимо друг от друга, а источником формирования генератора случайных чисел является криптографическая функция. Принцип действия защиты информации состоит в следующем. Существует сообщение, состоящее из n символов (a1, b1, …z1) и содержащее m повторений символов (a1, a2…am). Существуют количество совокупностей Ai, равное Q, присвоения символам сообщения (a1, b1, …z1), случайным образом кодирующих значений из Ai совокупности, где i принадлежит множеству (1…Q). Установление соответствия кодовых значений символам в совокупностях (A1…Ai) происходит случайным образом. Первому символу a1 случайным образом присваивается значение из совокупности Ai. Символу an присваивается значение из совокупности Ai-1, причем выбор совокупности из диапазона (А1…Ai) происходит также случайным образом. По аналогии, происходит присвоение значений остальным символам (b1, c1…z1). В то же время, одному и тому же символу an в разных частях сообщения может быть присвоено значение из совокупности A1 β раз, определение количества β раз повторений символов an происходит также случайным образом.The known method is based on the principle of forming a system of encodings from a set of "0" and "1", it being assumed that "1" indicates the presence of a contrasting cell from the background, and "0" indicates the absence of a cell. Any bit information can be encoded using Latin characters, numbers, punctuation marks, national fonts, pseudo-graphic characters, etc., representing in general an array of characters. Any character from the encoding array can be represented as a multi-bit combination of “0” and “1”. For example, you can use an eight-bit character encoding system, i.e. it will look like this: 00000000, 00000001, 00000010, etc. A set of coding values is formed from a general and a private set of values; the formation in this system occurs with an equally probable choice of sets without the predominance of one of them. Moreover, the formation of arrays occurs independently of each other, and the cryptographic function is the source of the formation of the random number generator. The principle of information security is as follows. There is a message consisting of n characters (a1, b1, ... z1) and containing m repetitions of characters (a1, a2 ... am). There are a number of sets Ai equal to Q, assignment to message symbols (a1, b1, ... z1), randomly encoding values from Ai of the set, where i belongs to the set (1 ... Q). The correspondence of code values to symbols in the aggregates (A1 ... Ai) occurs randomly. The first character a1 is randomly assigned a value from the set Ai. The symbol an is assigned a value from the set Ai-1, and the selection from the range (A1 ... Ai) is also random. By analogy, the values are assigned to the remaining characters (b1, c1 ... z1). At the same time, one and the same character an in different parts of the message can be assigned a value from the set A1 β times, the number of β times the repetition of the characters an is also determined randomly.

Известный способ предлагает метод защиты информации, способ ее преобразования при кодировании и шифровании, а также предлагает некоторое графическое изображение сформированного нанобар-кода. Однако, такое изображение нанобар-кода не позволяет стандартизировать его матрицу и предложить машинные способы его считывания и декодирования. Кроме того, в алгоритме формирования прототипа не предусмотрено формирование избыточной информации, позволяющей восстанавливать утраченную информацию.The known method offers a method of protecting information, a method for its conversion during encoding and encryption, and also offers some graphic image of the generated nanobar code. However, such an image of a nanobar code does not allow standardizing its matrix and suggesting machine methods for reading and decoding it. In addition, the algorithm for the formation of the prototype does not provide for the formation of redundant information that allows you to restore lost information.

Также, известен патент RU №2251734 «Машиночитаемый код, способ и устройство кодирования и декодирования» (МПК G06K 9/18, G06K 7/10, G06K 19/06, G06K 1/12, опублик. 10.05.2005), который по совокупности своих существенных признаков является наиболее близким к предлагаемому изобретению, и принят за прототип. Известное изобретение относится к кодированию данных с представлением их в виде кода с использованием компоновки ячеек с различными цветами, формами или конфигурациями. Способ включает следующие действия: установку таблицы преобразования кода, установку требуемых данных, кодирование требуемых данных, установку области контроля четности и получение изображения в виде физического или электронного кода.Also, patent RU No. 22251734 is known, "Machine-readable code, a method and apparatus for encoding and decoding" (IPC G06K 9/18, G06K 7/10, G06K 19/06, G06K 1/12, published. 05/10/2005), which together its essential features is the closest to the proposed invention, and adopted as a prototype. The known invention relates to the encoding of data with their presentation in the form of code using the layout of cells with different colors, shapes or configurations. The method includes the following: setting the code conversion table, setting the required data, encoding the required data, setting the parity area, and receiving the image in the form of a physical or electronic code.

Основные достоинства предлагаемого изобретения, по сравнению с прототипом: корреляция компактности с емкостью; повышенная устойчивость к повреждениям информации; возможность восстановления большего объема утраченной информации; возможность шифрования информации; множество вариантов реализации. Основное отличие предлагаемого изобретения по сравнению с прототипом - способ кодирования с использованием принципиально отличного от прототипа полинома.The main advantages of the invention, in comparison with the prototype: the correlation of compactness with capacity; increased resistance to information corruption; the ability to recover more information; the ability to encrypt information; many options for implementation. The main difference of the invention in comparison with the prototype is the encoding method using a polynomial fundamentally different from the prototype.

Кроме того, имеется возможность восстановления данных, имеются опорные элементы в структуре кода для распознавания и выравнивания информации. Шифрование информации происходит с возможностью нанесения на любую поверхность.In addition, there is the possibility of data recovery, there are supporting elements in the code structure for recognition and alignment of information. Information is encrypted with the ability to be applied to any surface.

Таким образом, основной целью предлагаемого изобретения является разработка способа кодирования и декодирования цифровой информации в виде ультрасжатого нанобар-кода, с возможностью шифрования информации, устойчивого к повреждениям и имеющего множество вариантов реализации.Thus, the main objective of the present invention is to develop a method of encoding and decoding digital information in the form of an ultra-compressed nanobar code, with the ability to encrypt information that is resistant to damage and has many options for implementation.

Реализация нанобар-кода может быть выполнена различными методами:The implementation of the nanobar code can be performed by various methods:

- нанобар-код может быть визуализирован в виде изображения, составленного из светлых и темных ячеек, аналогом являются стандартные двухмерные коды, например, QR-код;- the nanobar code can be visualized in the form of an image composed of light and dark cells, the standard are two-dimensional codes, for example, a QR code;

- нанобар-код может быть представлен в виде массива (потока) защищенных данных (аналогом является система защиты информации Крипто С);- the nanobar code can be represented as an array (stream) of protected data (the Crypto C information protection system is an analog);

- нанобар-код может быть визуализирован в виде координат и, таким образом, может быть внедрен в алгоритм нанесения для различных устройств вывода;- the nanobar code can be visualized in the form of coordinates and, thus, can be embedded in the application algorithm for various output devices;

- нанобар-код может быть представлен в виде управляющего файла, включающего в себя область записи данных и алгоритмы или команды, управляющие устройством для визуализации (принтер, лазерная установка и др.);- the nanobar code can be represented in the form of a control file that includes the data recording area and algorithms or commands that control the device for visualization (printer, laser installation, etc.);

- нанобар-код может быть реализован в виде исполняемого компьютерного файла.- nanobar code can be implemented as an executable computer file.

Техническим результатом, достигаемым при использовании предлагаемых способов, является повышение надежности кодирования информации за счет введения операции шифрования, возможности восстановления данных в случае их утери, а также расширение функциональных возможностей.The technical result achieved by using the proposed methods is to increase the reliability of information encoding by introducing an encryption operation, the possibility of recovering data in case of loss, as well as expanding the functionality.

Основные достоинства предлагаемого изобретения, при его практическом применении, по сравнению с известными способами:The main advantages of the invention, in its practical application, in comparison with known methods:

- мультиплатформенность программного обеспечения кодирования и декодирования;- multi-platform encoding and decoding software;

- корреляция компактности с емкостью;- correlation of compactness with capacity;

- нанобар-код более устойчив к повреждениям информации;- the nanobar code is more resistant to information damage;

- возможность восстановления большего объема утраченной информации;- the ability to recover more information lost;

- возможность шифрования информации;- the ability to encrypt information;

- множество вариантов реализации.- many options for implementation.

Кроме того, совмещение постоянных и комбинируемых элементов позволяет использовать нанобар-код в различных областях.In addition, the combination of constant and combinable elements allows the use of a nanobar code in various fields.

Для считывания нанобар-кода используется своя уникальная аппаратно-программная система считывания и распознавания, которая позволяет захватывать изображения в широком диапазоне (от 0,05 - до 100 мм).To read the nanobar code, its own unique hardware-software system for reading and recognition is used, which allows you to capture images in a wide range (from 0.05 to 100 mm).

Примером реализации нанобар-кода в виде контрастного изображения может выступать:An example of the implementation of a nanobar code in the form of a contrast image can be:

1) Полиграфическая печать1) Printing

2) Лазерная маркировка (гравировка)2) Laser marking (engraving)

Современная полиграфическая цифровая печать позволяет воспроизводить изображения высокой четкости и контрастности с разрешением до 2880 dpi, что отвечает любым особенностям нанесения заданных геометрических размеров нанобар-кода. Такой способ подходит для размещения нанобар-кода на бумажных носителях (документы), этикетках, упаковке и других промежуточных носителях.Modern polygraphic digital printing allows you to reproduce high-definition and contrast images with a resolution of up to 2880 dpi, which meets any of the features of applying the specified geometric dimensions of the nanobar code. This method is suitable for placing a nanobar code on paper (documents), labels, packaging and other intermediate media.

Для размещения нанобар-кода непосредственно на материале изделия или защищенных промежуточных носителях (несъемные этикетки) рекомендуется использование прецизионных Лазерных Маркирующих Комплексов (ЛМК) или аналогичных установках на базе различных лазеров, предназначенных для нанесения текстовых и графических изображений на поверхность изделий методом лазерной маркировки и гравировки с высокой точностью и разрешением с возможностью интеграции в технологические линии для работы в автоматическом режиме. Материалы, рекомендуемые к обработке лазерным излучением для воспроизведения нанобар-кода включают различные металлы и сплавы (в т.ч. твердые), пластмассы, полимерные материалы, также возможна маркировка древесины, бумаги, ткани, кожи, оргстекла.To place the nanobar code directly on the material of the product or protected intermediate media (non-removable labels), it is recommended to use precision Laser Marking Complexes (LMK) or similar installations based on various lasers designed for applying text and graphic images to the surface of products using laser marking and engraving with high accuracy and resolution with the ability to integrate into production lines for working in automatic mode. Materials recommended for processing by laser radiation to reproduce the nanobar code include various metals and alloys (including hard ones), plastics, polymeric materials, and marking of wood, paper, fabric, leather, and plexiglass is also possible.

Достигается технический результат тем, что в способе кодирования цифровой информации в виде ультрасжатого нанобар-кода, включающего прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодового преобразования и получение кодового сообщения на носителе информации в виде физического или электронного кода, согласно изобретению, после кодирования информации осуществляют ее шифрование, сжатие и добавление избыточной информации для восстановления в случае ее утраты.The technical result is achieved in that in a method for encoding digital information in the form of an ultra-compressed nanobar code, including receiving information to be encoded, encoding information using a code conversion table, and receiving a code message on an information carrier in the form of a physical or electronic code, according to the invention, after encoding Information is encrypted, compressed, and redundant information is added for recovery in case of loss.

Шифрование информации осуществляют с использованием криптографических алгоритмов в два этапа, на первом этапе шифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта информации, на втором этапе шифрование осуществляют на уровне битов на основе симметричного битового алгоритма шифрования AES.Information is encrypted using cryptographic algorithms in two stages, at the first stage, encryption is carried out at the byte level using a polyalphabetic byte cipher with a different shift value for each information byte, at the second stage, encryption is performed at the bit level based on the AES symmetric encryption algorithm.

Сжатие информации осуществляют на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывают только для этого блока и пересчитывают для каждого блока, для получения кодового сообщения осуществляют формирование структуры закодированных данных.Compression of information is carried out on the basis of optimal code methods, and the probabilities of the occurrence of code words for each block of encoded information are calculated only for this block and recounted for each block, to generate a code message, the structure of the encoded data is formed.

Дополнительными отличиями предлагаемого способа является следующее. Количество раундов перемешивания при шифровании на уровне байтов равняется 1, полученная последовательность зашифрованного сообщения переводится в 16-тиричную систему счисления и передается на этап второй битового шифрования. Для первого этапа шифрования используется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом, количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII. На втором этапе шифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на n-е количество блоков объемом m символов в блоке и шифруется с алгоритмом, содержащим q раундов перемешивания. При шифровании на битовом уровне на всех раундах шифрования осуществляют изменение дизайна шифра, а именно, между операциями Shift-Rows и MixColumns производят сдвиг блоков, с сохранением механизма формирования раундовых ключей и этапов перемешивания.Additional differences of the proposed method is the following. The number of mixing rounds during encryption at the byte level is 1, the received sequence of the encrypted message is translated into a hexadecimal number system and transmitted to the second bit encryption stage. For the first stage of encryption, a table of values of 256 by 256 characters or 256 tables of 256 positions is used, while the number of fields in the table corresponds to the number of fields in the ASCII coding table. At the second stage of encryption (bit encryption), the number of mixing rounds is finite and equal to q, while the message P of length a of characters is divided into the nth number of blocks of m characters in the block and is encrypted with an algorithm containing q mixing rounds. When encrypting at the bit level, all encryption rounds carry out a change in the design of the cipher, namely, between the Shift-Rows and MixColumns operations, blocks are shifted, while maintaining the mechanism for generating round keys and mixing steps.

При этом, формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержащего область фона, область ориентирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных являются контрастными по отношению к изображению области фона. Область ориентирующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода. Область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга. Внутри опорного квадрата может быть размещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону. Центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.In this case, the structure of the encoded data is formed in the form of a physical or electronic image of a two-dimensional code containing a background region, a region of orienting elements and a data region consisting of at least one data block, the image of the regions of the orienting elements and the data region being contrasted to the image of the background area. The orientation element area contains a reference square with a frame and an empty field, alignment rectangles and a code border frame. The data area containing the code message is superimposed on the area of the orienting elements so that the elements of the areas do not overlap each other. Any inscription and / or image can be placed inside the reference square, and the dimensions of the reference square, frame and empty field can be changed in different directions. The center of the reference square is located at the intersection of the symmetry axes of the alignment rectangles.

Также структура закодированных данных может быть сформирована в виде физического или электронного изображения набора координат на координатной плоскости.Also, the structure of the encoded data can be formed as a physical or electronic image of a set of coordinates on the coordinate plane.

Во втором варианте реализации предлагаемого способа кодирования цифровой информации в виде ультрасжатого кода - нанобар-кода, включающем прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодового преобразования и получение кодового сообщения на носителе информации в виде физического или электронного кода, предлагается после кодирования информации осуществлять ее сжатие и добавление избыточной информации для восстановления в случае ее утраты.In a second embodiment of the proposed method for encoding digital information in the form of an ultra-compressed code — a nanobar code, including receiving information to be encoded, encoding information using a code conversion table, and receiving a code message on an information medium in the form of a physical or electronic code, it is proposed to carry out the information after encoding its compression and the addition of redundant information for recovery in case of loss.

Сжатие информации предлагается осуществлять на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывать только для этого блока и пересчитывать для каждого блока, для получения кодового сообщения осуществлять формирование структуры закодированных данных.Information compression is proposed to be carried out on the basis of optimal code methods, and the probability of occurrence of code words for each block of encoded information should be calculated only for this block and recounted for each block to generate a coded data structure.

При этом, формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержащего область фона, область ориентирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных являются контрастными по отношению к изображению области фона. Область ориентирующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода. Область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга. Внутри опорного квадрата может быть размещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону. Центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.In this case, the structure of the encoded data is formed in the form of a physical or electronic image of a two-dimensional code containing a background region, a region of orienting elements and a data region consisting of at least one data block, the image of the regions of the orienting elements and the data region being contrasted to the image of the background area. The orientation element area contains a reference square with a frame and an empty field, alignment rectangles and a code border frame. The data area containing the code message is superimposed on the area of the orienting elements so that the elements of the areas do not overlap each other. Any inscription and / or image can be placed inside the reference square, and the dimensions of the reference square, frame and empty field can be changed in different directions. The center of the reference square is located at the intersection of the symmetry axes of the alignment rectangles.

Также структура закодированных данных может быть сформирована в виде физического или электронного изображения набора координат на координатной плоскости.Also, the structure of the encoded data can be formed as a physical or electronic image of a set of coordinates on the coordinate plane.

Технический результат достигается также тем, что в способе декодирования цифровой информации в виде ультрасжатого кода, включающем считывание закодированных данных с кода, выбор полезной информации, декомпрессию, дешифрование и декодирование этой информации с использованием таблицы кодового преобразования, согласно изобретению, дешифрование информации осуществляют с использованием обратной функции криптографического преобразования в два этапа, на первом этапе дешифрование осуществляют на уровне битов на основе симметричного битового алгоритма шифрования AES. На втором этапе дешифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта информации. Декомпрессию информации осуществляют на основе методов оптимальных кодов, на основе суммы полученных вероятностей на этапе компрессии, с вычисление вероятностей исходных кодовых слов. Утраченную информацию восстанавливают с помощью алгоритмов восстановления информации на основе избыточной информации, записанной при формировании кода.The technical result is also achieved by the fact that in the method of decoding digital information in the form of an ultra-compressed code, including reading the encoded data from the code, selecting useful information, decompressing, decrypting and decoding this information using a code conversion table, according to the invention, information is decrypted using the inverse cryptographic conversion functions in two stages, at the first stage, decryption is carried out at the bit level based on a symmetric bit AES encryption algorithm. At the second stage, decryption is carried out at the byte level using a polyalphabetic byte cipher with a different shift value for each byte of information. Information decompression is carried out on the basis of optimal code methods, based on the sum of the obtained probabilities at the compression stage, with the calculation of the probabilities of the source code words. Lost information is restored using information recovery algorithms based on redundant information recorded during code generation.

Количество раундов перемешивания при дешифровании на уровне байтов равняется 1, полученная последовательность зашифрованного сообщения переводится в 16-тиричную систему счисления и передается на этап второй битового дешифрования.The number of mixing rounds during decryption at the byte level is 1, the received sequence of the encrypted message is translated into a hexadecimal number system and transferred to the second bit decryption stage.

Для дешифрования на уровне байтов используется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом, количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII.For decryption at the byte level, a table of values of 256 by 256 characters or 256 tables of 256 positions is used, while the number of fields in the table corresponds to the number of fields in the ASCII encoding table.

На первом этапе дешифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на n-е количество блоков объемом m символов в блоке и дешифруется с алгоритмом, содержащим q раундов перемешивания.At the first stage of decryption (bit encryption), the number of mixing rounds is finite and equal to q, while the message P of length a of characters is divided into the nth number of blocks of m characters in the block and is decrypted with an algorithm containing q mixing rounds.

При дешифровании на битовом уровне на всех раундах шифрования осуществляют изменения дизайна шифра, а именно, между операциями ShiftRows и MixColumns производят сдвиг блоков, с сохранением механизма формирования раундовых ключей и этапов перемешивания.When decrypting at the bit level, all encryption rounds carry out changes in the cipher design, namely, between the ShiftRows and MixColumns operations, blocks are shifted, while maintaining the mechanism for generating round keys and mixing steps.

Во втором варианте реализации способа декодирования цифровой информации в виде ультрасжатого кода, включающем считывание закодированных данных с кода, выбор полезной информации, декомпрессию и декодирование этой информации с использованием таблицы кодового преобразования предлагается декомпрессию информации осуществлять на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока декодируемой информации рассчитывать только для этого блока. Утраченную информацию восстанавливать с помощью алгоритмов восстановления информации на основе избыточной информации, записанной при формировании кода.In the second embodiment of the method for decoding digital information in the form of an ultra-compressed code, including reading the encoded data from the code, selecting useful information, decompressing and decoding this information using a code conversion table, it is proposed to decompress the information based on optimal code methods, and the probabilities of the occurrence of code words for each block of decoded information to calculate only for this block. Recover lost information using information recovery algorithms based on redundant information recorded during code generation.

Сущность предлагаемого изобретения поясняется следующими фигурами:The essence of the invention is illustrated by the following figures:

фиг. 1, на которой представлен общий вид нанобар-кода, где:FIG. 1, which shows a general view of the nanobar code, where:

1 - указатель на количество ячеек и столбцов в символике,1 - pointer to the number of cells and columns in the symbolism,

2 - рамка опорного квадрата,2 - frame reference square,

3 - поле кодовых слов,3 - field of code words,

4 - опорный квадрат,4 - reference square,

5 - выравнивающие прямоугольники,5 - alignment rectangles,

6 - рамка границы кода,6 - code border frame,

7 - пустое поле;7 - an empty field;

8 - фон;8 - background;

фиг. 2, где представлен предпочтительный вариант опорного квадрата с надписью;FIG. 2, which shows a preferred embodiment of the reference square with the inscription;

фиг. 3, где представлен вариант опорного квадрата без надписи;FIG. 3, which shows a variant of the reference square without an inscription;

фиг. 4, где представлен общий вид выравнивающего прямоугольника;FIG. 4, which shows a general view of the alignment rectangle;

фиг. 5, где представлен общий вид положения верхнего выравнивающего прямоугольника между границей символики и полем информации;FIG. 5, which shows a general view of the position of the upper alignment rectangle between the symbol boundary and the information field;

фиг. 6, где представлено изображение нанобар-кода, полученное с углом поворота, равным α. Причем, α - произвольный угол поворота изображения нанобар-кода относительно осей координат ОХ и OY. Используется для корректировки кода относительно осей для корректного получения потока данных и дальнейшего декодирования.FIG. 6, which shows an image of a nanobar code obtained with a rotation angle equal to α. Moreover, α is an arbitrary angle of rotation of the image of the nanobar code relative to the coordinate axes OX and OY. Used to adjust the code relative to the axes for the correct receipt of the data stream and further decoding.

фиг. 7, где показан откорректированный угол поворота символики, относительно осей ОХ и OY;FIG. 7, which shows the corrected angle of rotation of the symbols, relative to the axes OX and OY;

фиг. 8, где представлены вероятности встречаемости символов русского алфавита, без учета вероятностей в отдельном тексте;FIG. 8, which presents the probabilities of occurrence of characters of the Russian alphabet, excluding probabilities in a separate text;

фиг. 9, где представлена схема второго этапа шифрования, на основе симметричного шифра;FIG. 9, which shows a diagram of a second encryption step, based on a symmetric cipher;

фиг. 10, где представлена схема изменения передачи информации между функциями шифрования ShiftRows и MixColumns (изменения дизайна шифра, по сравнению с аналогичным симметричным шифром AES);FIG. 10, which shows the scheme for changing the transfer of information between the ShiftRows and MixColumns encryption functions (changing the design of the cipher compared to the similar symmetric AES cipher);

фиг. 11, где представлен блок сообщения и блок ключа перед первым раундом второго этапа шифрования;FIG. 11, where a message block and a key block are presented before the first round of the second encryption step;

фиг. 12, где представлены рассчитанные значения шифруемого текста одного блока после различных раундовых операций раундов шифрования (со второго по шестой);FIG. 12, which shows the calculated values of the encrypted text of one block after various round operations of the encryption rounds (second to sixth);

фиг. 13, где представлены рассчитанные значения шифруемого текста одного блока после различных раундовых операций раундов шифрования (с шестого по десятый);FIG. 13, which shows the calculated values of the encrypted text of one block after various round operations of the encryption rounds (from the sixth to the tenth);

фиг. 14, где представлены рассчитанные значения генерации раундовых ключей из общего ключа сообщения (с первого по четвертый раунды и на десятом раунде);FIG. 14, which shows the calculated values for generating round keys from a common message key (from the first to the fourth rounds and in the tenth round);

фиг. 15, где показан режим связывания блоков в режиме СВС (Cipher Block Chaining - сцепление блоков по шифротексту).FIG. 15, where the block binding mode in the SHS mode is shown (Cipher Block Chaining).

фиг. 16, где показана общая структура блока с данными и RS-кодом для восстановления ошибок, где:FIG. 16, which shows the general structure of a block with data and RS-code for error recovery, where:

n - символы четности,n are parity characters,

k - полная длина кодового слова, включающего в себя кодируемые данные и символы четности n. Количество символов четности равно: n - k.k is the total length of a codeword including encoded data and parity symbols n. The number of parity characters is: n - k.

t - максимальное количество исправляемых ошибок,t is the maximum number of correctable errors,

2t - общее количество символов четности,2t is the total number of parity characters,

RS (n, k) - определенная разновидность корректирующих кодов, оперирующая с n-символьными блоками, k-символов из которых представляют полезные данные, а все остальные отведены под символы четности;RS (n, k) is a certain kind of correction codes that operates with n-character blocks, k-characters of which represent useful data, and all others are reserved for parity characters;

фиг. 17, где представлен полином размерностью 120 символов (для блоков длиной 256 байт).FIG. 17, where a polynomial of 120 characters is represented (for blocks 256 bytes long).

фиг. 18, где показаны размеры нанобар-кода, в зависимости от количества символов (количество символов от одного до 2000);FIG. 18, which shows the sizes of the nanobar code, depending on the number of characters (the number of characters from one to 2000);

фиг. 19, где представлен фрагмент нанобар-кода, в виде координат центров модулей;FIG. 19, where a fragment of a nanobar code is presented, in the form of coordinates of the centers of the modules;

фиг. 20, где показано расшифрование в режиме СВС;FIG. 20, which shows decryption in SHS mode;

фиг. 21, на которой представлена структура данных одного блока сообщения.FIG. 21, which shows the data structure of one message block.

фиг. 22, где показан общий вид нанобар-кода с различными размерами ориентирующего и кодового блоков.FIG. 22, which shows a general view of a nanobar code with various sizes of orienting and code blocks.

фиг. 23, где показано расположение начала координат на координатной плоскости в ее центре;FIG. 23, which shows the location of the origin on the coordinate plane in its center;

фиг. 24, где показан вариант с расположением начала координат в любой области координатной плоскости;FIG. 24, which shows a variant with the location of the origin in any area of the coordinate plane;

фиг. 25, где представлена заполненная координатная плоскость.FIG. 25, which shows the filled coordinate plane.

Символ предлагаемого кода (нанобар-кода) располагается на фоне 8 (фиг. 1) и составлен из графических элементов, представляющих собой единичный квадрат или элементарный модуль кода. Причем размер элементарного модуля кода может быть размерно равен выбранному разрешению (dpi) формирования символики или пропорционален разрешению символики.The symbol of the proposed code (nanobar code) is located on the background 8 (Fig. 1) and is composed of graphic elements representing a unit square or elementary code module. Moreover, the size of the elementary code module can be dimensionally equal to the selected resolution (dpi) of symbolic formation or proportional to the resolution of the symbolic.

На фиг. 2 опорный квадрат 4 (фиг. 1) представляет собой поле, ограниченное рамкой 2 по периметру, толщиной минимум в два модуля и пустое поле 7, в котором может находиться надпись. Помимо надписи, опорный квадрат 4 может содержать изображение, представляющее собой растровый монохромный, полихромный или выполненный в градациях серого графический объект, например, логотип. Разрешение такого графического объекта соответствует разрешению предлагаемой символики, при этом элементарный модуль кода пропорционален одному пикселю графического объекта. Размеры объекта рассчитываются, исходя из минимального размера опорного квадрата 4 с надписью. Цветное графическое изображение может состоять из оттенков стандартной палитры, графическому объекту могут быть присвоены атрибуты. Указанный графический объект не влияет на считываемость и декодирование информации, находящейся в нанобар-коде, но несет, при этом, дополнительный экспертный признак подлинности как самой символики, так и объекта, на который она нанесена. Минимальный размер опорного квадрата 4, содержащего надпись по внешнему периметру равен 25×25 модулей, и не менее 10×10 модулей - без надписи.In FIG. 2, the reference square 4 (Fig. 1) is a field bounded by a frame 2 around the perimeter, at least two modules thick and an empty field 7, in which there may be an inscription. In addition to the inscription, the reference square 4 may contain an image representing a raster monochrome, polychrome or graphic object made in grayscale, for example, a logo. The resolution of such a graphic object corresponds to the resolution of the proposed symbology, while the elementary code module is proportional to one pixel of the graphic object. The dimensions of the object are calculated based on the minimum size of the reference square 4 with the inscription. A color graphic image can consist of shades of a standard palette, attributes can be assigned to a graphic object. The specified graphic object does not affect the readability and decoding of the information contained in the nanobar code, but at the same time carries an additional expert attribute of the authenticity of both the symbol itself and the object on which it is applied. The minimum size of the reference square 4 containing the inscription along the outer perimeter is 25 × 25 modules, and at least 10 × 10 modules without the inscription.

Центральный опорный квадрат может быть представлен в виде квадрата, заключенного в квадратную рамку, при этом разделительная белая рамка имеет толщину минимум четыре модуля (фиг. 3). Размеры элементов опорного квадрата 4 могут принимать различные размеры. Ниже приведены минимальные размеры:The central reference square can be represented as a square enclosed in a square frame, while the dividing white frame has a thickness of at least four modules (Fig. 3). The sizes of the elements of the reference square 4 may take various sizes. Below are the minimum sizes:

центрального квадрата - 2×2 модуля,central square - 2 × 2 modules,

белого поля, окружающего центральный квадрат - 8×8 модулей,the white field surrounding the central square - 8 × 8 modules,

внешние размеры черной рамки, окружающей центральный квадрат и пустое поле - 12×12 модулей (при толщине рамки в два модуля).the external dimensions of the black frame surrounding the central square and the empty field are 12 × 12 modules (with a frame thickness of two modules).

Размеры центрального квадрата, рамки 2, пустого поля 7 могут изменяться в различную сторону. Опорные квадраты располагаются на пересечении осей симметрии символики и не перемещаются в поле символики.The dimensions of the central square, frame 2, empty field 7 may vary in different directions. The reference squares are located at the intersection of the axes of symmetry of the symbolism and do not move in the symbolism field.

Выравнивающие прямоугольники (фиг. 4) предназначены для выравнивания кода при съемке относительно осей X и Y (фиг. 6 и фиг. 7). Размер прямоугольника равен модулю кода. Минимальные размеры прямоугольника 1×2 модуля. Размеры прямоугольника могут изменяться в зависимости от размеров кода и соотношения его элементов. Рекомендуемое соотношение сторон выравнивающих прямоугольников равняется

Figure 00000001
.Alignment rectangles (Fig. 4) are designed to align the code when shooting relative to the X and Y axes (Fig. 6 and Fig. 7). The size of the rectangle is equal to the code module. The minimum dimensions of a 1 × 2 rectangle are modules. The dimensions of the rectangle may vary depending on the size of the code and the ratio of its elements. The recommended aspect ratio of alignment rectangles is
Figure 00000001
.

Выравнивающие прямоугольники 5 (фиг. 1) располагаются на белом поле, расположенном между границей области символики и области данных. Белое поле имеет минимальную ширину в три модуля. Ширина поля может меняться, в зависимости от размеров символики и отношений ее опорных элементов. Расположение выравнивающих горизонтальных прямоугольников по горизонтальной оси может отклоняться от центральной вертикальной линии симметрии и смещаться по всей области пустого поля вдоль горизонтальной плоскости перемещения. Минимальное количество выравнивающих прямоугольников по каждой из сторон символики - 1. В зависимости от количества информации и размеров символики, количество выравнивающих прямоугольников может изменяться.The alignment rectangles 5 (Fig. 1) are located on a white field located between the boundary of the symbol area and the data area. The white box has a minimum width of three modules. The width of the field can vary, depending on the size of the symbolism and the relations of its supporting elements. The alignment of horizontal alignment rectangles on the horizontal axis may deviate from the central vertical line of symmetry and shift throughout the empty field along the horizontal plane of movement. The minimum number of alignment rectangles on each side of the symbolism is 1. Depending on the amount of information and the size of the symbolism, the number of alignment rectangles may vary.

Отображение нанобар-кода может быть реализовано следующим образом:The mapping of the nanobar code can be implemented as follows:

визуализирован в виде изображения, составленного из светлых и темных ячеек (элементарных модулей), аналогом являются стандартные двухмерные коды, например, QR-код;visualized in the form of an image composed of light and dark cells (elementary modules), the standard are two-dimensional codes, for example, a QR code;

представлен в виде массива (потока) защищенных данных (аналогом является система защиты информации Крипто С);It is presented in the form of an array (stream) of protected data (the Crypto C information protection system is an analog);

визуализирован в виде координат центров элементарных модулей;visualized in the form of coordinates of the centers of elementary modules;

представлен в виде управляющего файла, включающего в себя область записи данных и управляющие устройством для визуализации (принтер, лазерная установка и др.) алгоритмы или команды;presented in the form of a control file that includes a data recording area and control algorithms for visualization (printer, laser installation, etc.) algorithms or commands;

реализован в виде исполняемого компьютерного файла.implemented as an executable computer file.

Пример реализации нанобар-кода в виде координат (фрагмент координатной плоскости) представлен в таблице 1.An example of the implementation of the nanobar code in the form of coordinates (a fragment of the coordinate plane) is presented in table 1.

Figure 00000002
Figure 00000002

Для кодирования символьной информации используется таблица ASCII 256 символов - для перевода символьной информации в десятиричную, либо шестнадцатиричную систему счисления для дальнейшей обработки алгоритмом шифрования, где каждому символу кодируемого сообщения сопоставляется номер позиции данного символа в таблице ASCII. Используется первая половина таблицы ASCII международного формата с 0 по 127 символ. Вторая половина таблицы ASCII содержит кириллические символы и псевдографику места с 128-256.A 256-character ASCII table is used to encode symbolic information — to convert character information to a decimal or hexadecimal number system for further processing by the encryption algorithm, where each character of the encoded message is mapped to the position number of this character in the ASCII table. The first half of the international format ASCII table is used, from 0 to 127 characters. The second half of the ASCII table contains Cyrillic characters and pseudographics of the place from 128-256.

После шифрования данные сжимаются алгоритмом, основанном на методе использования оптимальных кодов, с тем отличием, что вероятности для каждого поступающего сообщения рассчитываются только для этого сообщения. Т.е. существуют вероятности встречаемости букв русского алфавита, определенные на множестве текстов, но в выборке текстов состоящей из одного текста вероятности встречаемости букв могут отличаться от всей определенной вероятности на большей совокупности текста. Для наиболее оптимального достижения компрессии вероятности необходимо пересчитывать для каждого сообщения. В общем виде, вероятность появления элемента si равна p(si), представление этого элемента будет равно - log2p(si) бит. Если при кодировании длина всех элементов будет приведена к log2p(si) битам, то длина всей кодируемой последовательности будет минимальной для всех возможных методов кодирования. При этом, если распределение вероятностей всех элементов F={p(si)} неизменно, и вероятности элементов взаимно независимы, средняя длина кодов может быть рассчитана как:After encryption, the data is compressed by an algorithm based on the method of using optimal codes, with the difference that the probabilities for each incoming message are calculated only for this message. Those. there are probabilities of occurrence of letters of the Russian alphabet, defined on many texts, but in a sample of texts consisting of one text, the probabilities of occurrence of letters may differ from all the certain probability on a larger set of text. For the most optimal compression, the probabilities must be recounted for each message. In general, the probability of occurrence of an element s i is equal to p (s i ), the representation of this element will be - log 2 p (s i ) bits. If during encoding the length of all elements is reduced to log 2 p (s i ) bits, then the length of the entire encoded sequence will be minimal for all possible encoding methods. Moreover, if the probability distribution of all elements F = {p (si)} is unchanged, and the probabilities of the elements are mutually independent, the average length of the codes can be calculated as:

Н=-Σip(si)⋅log2p(si).H = −Σ i p (s i ) ⋅log 2 p (s i ).

Значение Н является энтропией распределения вероятностей F, или энтропией источника в заданный момент времени. Однако, вероятность появления элемента не может быть независимой, напротив, она находится в зависимости от различных факторов. В этом случае, для каждого нового кодируемого элемента si распределение вероятностей F примет некоторое значение Fk, то есть для каждого элемента F=Fk и Н=Hk.The value of H is the entropy of the probability distribution F, or the entropy of the source at a given point in time. However, the probability of the appearance of an element cannot be independent; on the contrary, it depends on various factors. In this case, for each new encoded element s i, the probability distribution F will take some value F k , that is, for each element F = F k and H = H k .

Иными словами, можно сказать, что источник находится в состоянии k, которому соответствует некий набор вероятностей pk(si) для всех элементов si. Учитывая это, среднюю длину кода можно рассчитать по формуле:In other words, we can say that the source is in state k, which corresponds to a certain set of probabilities p k (s i ) for all elements s i . Given this, the average code length can be calculated by the formula:

H=-ΣkPk⋅Hk=-Σk,iPk⋅pk(si)log2pk(si).H = -Σ k P k ⋅ H k = -Σ k, i P k ⋅p k (s i ) log 2 p k (s i ).

где Pk - вероятность нахождения источника в состоянии k.where P k is the probability of finding the source in state k.

На фиг. 8 представлены вероятности встречаемости символов русского алфавита, без учета вероятностей в отдельном тексте.In FIG. Figure 8 shows the probabilities of occurrence of symbols of the Russian alphabet, without taking probabilities into account in a separate text.

Определение последовательности кодовых значенийDefinition of a sequence of code values

Аналогичных образом, кодируются данные бинарного вида, с тем отличием, что для каждого сообщения строится таблица кодовых слов. Рассчитывается вероятность полученных кодовых слов в сообщении. Для получения однозначно декодируемых оптимальных кодов используются префексные коды. По бинарному графу определяются префексные кодовые слова, и сообщение перекодируется, для получения оптимальной длины кода. В таблице 2 представлена возможность кодирования слов А1-А4 с различной длиной последовательности бит.Similarly, binary data is encoded, with the difference that a codeword table is built for each message. The probability of the received code words in the message is calculated. To obtain uniquely decoded optimal codes, prefix codes are used. The prefex codewords are determined from the binary graph, and the message is recoded to obtain the optimal code length. Table 2 presents the possibility of encoding the words A1-A4 with different bit sequence lengths.

Figure 00000003
Figure 00000003

Шифрование текстовой информацииText Encryption

Способ шифрования, используемый в нанобар-коде, представляет собой блочный симметричный алгоритм шифрования. Блок шифрования предусматривает шифрование на первом этапе на уровне байтов (символов), а на втором этапе - на уровне битов. На первом этапе шифрования, на уровне байтов, предусмотрено количество раундов перемешивания, равное 1. На втором этапе шифрования, на уровне битов, предусмотрено количество раундов перемешивания, с конечным числом раундов, равное q. Сообщение Р длиной а символов разбивается на n-е количество блоков, объемом m символов в блоке, и шифруется с алгоритмом, содержащим q раундов перемешивания. Для первого этапа шифрования на уровне байт используют таблицу значений 256*256 символов (256 таблиц по 256 позиций), при этом, количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII.The encryption method used in the nanobar code is a block symmetric encryption algorithm. The encryption block provides encryption at the first stage at the level of bytes (characters), and at the second stage at the level of bits. In the first encryption step, at the byte level, the number of mixing rounds is set to 1. At the second encryption step, at the bit level, the number of mixing rounds is provided, with a finite number of rounds equal to q. A message P of length a of characters is divided into the nth number of blocks, with a volume of m characters in a block, and encrypted with an algorithm containing q rounds of mixing. For the first stage of encryption at the byte level, a table of values of 256 * 256 characters (256 tables of 256 positions) is used, while the number of fields in the table corresponds to the number of fields in the ASCII coding table.

Используются формулы для кодирования символьного сообщения:Formulas are used to encode a character message:

Ci≡Pi+Ki (mod 256), где:Ci≡Pi + Ki (mod 256), where:

Р=Р1Р2Р3… - кодовые слова сообщенияP = P 1 P 2 P 3 ... - code words of the message

С=С1С2С3… - полученные значения сообщенияC = C 1 C 2 C 3 ... - received message values

k=[(k1,k2), (k3,k4), …(kn,km)] - потоковые ключиk = [(k 1 , k 2 ), (k 3 , k 4 ), ... (k n , k m )] - stream keys

Поток ключей не зависит от символов исходного текста, он зависит только от позиции символа в исходном тексте. Другими словами, поток ключей может быть создан без знания сути исходного текста.The key stream is independent of the characters in the source text, it depends only on the position of the character in the source text. In other words, a key stream can be created without knowing the essence of the source text.

Для примера, закодируем исходный текст "Sheis listening":For example, encode the source text for "Sheis listening":

Выберем генератор потока ключей - ключевое слово "PASCAL".Let's choose a key stream generator - the keyword "PASCAL".

Полный поток ключей равен длине сообщения:The full key stream is equal to the length of the message:

(112, 97, 115, 99, 97, 108, 112, 97, 115, 99, 97, 108, 112, 97).(112, 97, 115, 99, 97, 108, 112, 97, 115, 99, 97, 108, 112, 97).

Поток значений зашифрованного сообщения:The stream of values of the encrypted message:

(217, 201, 216, 204, 213, 216, 217, 213, 231, 200, 207, 213, 222, 200)(217, 201, 216, 204, 213, 216, 217, 213, 231, 200, 207, 213, 222, 200)

Поток в 16-тиричной системе счисления:Stream in hexadecimal notation:

(С9, D8, СС, D5, D8, D9, С9, D5, Е7, С8, CF, D5, DE, С8)(C9, D8, CC, D5, D8, D9, C9, D5, E7, C8, CF, D5, DE, C8)

Для удобства восприятия, сведем данные в таблицу 3.For ease of perception, we summarize the data in table 3.

Figure 00000004
Figure 00000004

Второй этап шифрования основан на симметричном битовом алгоритме шифрования AES (фиг. 9) с изменениями дизайна шифра: между операциями ShiftRows и MixColumns происходит сдвиг блоков, с сохранением механизма формирования раундовых ключей и этапов перемешивания (фиг. 10). Сдвиг блоков между операциями ShiftRows и MixColumns позволяет повысить криптостойкость алгоритма. Оценка увеличения крип-тостойкости без смещения 2n операций, со смещением (2n)! операции.The second stage of encryption is based on the symmetric AES bit encryption algorithm (Fig. 9) with cipher design changes: between the ShiftRows and MixColumns operations, blocks are shifted, while the mechanism for generating round keys and mixing steps is preserved (Fig. 10). The shift of blocks between the ShiftRows and MixColumns operations allows to increase the cryptographic stability of the algorithm. Evaluation of the increase in cryptostability without bias 2 n operations, with bias (2 n )! operations.

Операция SubBytes представляет собой табличную замену каждого байта массива данных, согласно следующим данным. Т.е. входные значения последовательности заменяются на соответствующие табличные значения. Значения таблицы рассчитаны на основе известных многочленов, дающих равновероятное распределение символов после операции (табл. 4).The SubBytes operation is a tabular replacement of each byte of the data array, according to the following data. Those. input sequence values are replaced with the corresponding table values. The values of the table are calculated on the basis of known polynomials giving an equiprobable distribution of characters after the operation (Table 4).

Figure 00000005
Figure 00000005

Figure 00000006
Figure 00000006

Таким образом, при кодировании на основе AES, и выполнении операции SubBytes, биективное отображение происходит с использованием таблицы сформированной с использованием полинома xn+xn-1+…+1=0, где n∈P (Р - пространство простых чисел). В этом случае массив данных подстановки равен значениям от a1 до r16, где n∈P (Р - пространство простых чисел). Кроме того, в случае шифрования, как и в случае кодирования, происходит биективное отображение элементов одного алфавита в другой (из алфавита А в алфавит Б) с тем отличием, что при шифровании функция отображения (ключ) является неизвестной. В предлагаемом изобретении отображение при кодировании происходит с использованием известной кодировочной таблицы ASCII, при шифровании с использованием таблицы, сформированной с использованием полинома xn+xn-1+…+1=0. Так, что возможно использовать оба понятия, с указанием используемой таблицы.Thus, when coding based on AES, and performing the SubBytes operation, bijective mapping occurs using the table generated using the polynomial xn + xn-1 + ... + 1 = 0, where n∈P (P is the space of primes). In this case, the data array of the substitution is equal to the values from a 1 to r 16 , where n∈P (P is the space of primes). In addition, in the case of encryption, as in the case of encoding, there is a bijective mapping of elements of one alphabet to another (from alphabet A to alphabet B) with the difference that during encryption, the mapping function (key) is unknown. In the present invention, mapping during encoding occurs using the well-known ASCII encoding table, when encrypting using a table formed using the polynomial xn + xn-1 + ... + 1 = 0. So, it is possible to use both concepts, indicating the table used.

Операция ShiftRows выполняет циклический сдвиг влево всех строк массива данных, за исключением нулевой. Сдвиг i-й строки массива (для i=1, 2, 3) производится на i байт.The ShiftRows operation rotates to the left all rows of the data array, with the exception of zero. The shift of the ith row of the array (for i = 1, 2, 3) is performed by i bytes.

При этом, сдвиг может происходить как мультипликативно, так и аддитивно, причем со сдвигом как в левую, так и в правую сторону по массиву данных. Т.е. последовательность данных может не только складываться с формируемой псевдослучайной последовательностью, но и вычитаться, а также умножаться. При этом вычисление (поиск) элемента, лежащего в поле 0-255 может происходить как от меньших значений к большим, так и от больших к меньшим значениям. Это позволяет оптимизировать функцию поиска остатка результата сложения или умножения.In this case, the shift can occur both multiplicatively and additively, moreover, with a shift both to the left and to the right side along the data array. Those. the data sequence can not only add up to the generated pseudo-random sequence, but also be subtracted and also multiplied. In this case, the calculation (search) of the element lying in the field 0-255 can occur both from smaller values to large, and from large to smaller values. This allows you to optimize the search function of the remainder of the result of addition or multiplication.

Операция MixColumns выполняет умножение каждого столбца массива данных, который рассматривается как полином в конечном поле GF(28) на фиксированный полином а(х):а(х)=3х32+х+2.The MixColumns operation multiplies each column of the data array, which is considered as a polynomial in the final field GF (2 8 ) by a fixed polynomial a (x): a (x) = 3x 3 + x 2 + x + 2.

Умножение выполняется по модулю х4+1.Multiplication is performed modulo x 4 +1.

Операция AddRoundKey выполняет наложение на массив данных материала ключа, а именно, на i-й столбец массива данных (i=0…3) побитовой логической операцией «исключающее или» (XOR) накладывается определенное слово расширенного ключа W4r+i, где r - номер текущего раунда алгоритма, начиная с 1 (процедура расширения ключа будет описана ниже).The AddRoundKey operation superimposes the key material onto the data array, namely, on the ith column of the data array (i = 0 ... 3), the bitwise logical operation “exclusive or” (XOR) superimposes a certain extended key word W 4r + i , where r - the number of the current round of the algorithm starting from 1 (the procedure for expanding the key will be described below).

Количество раундов алгоритма R зависит от размера ключа, зависимость представлена в табл. 5.The number of rounds of the algorithm R depends on the size of the key, the dependence is presented in table. 5.

Figure 00000007
Figure 00000007

Перед первым раундом алгоритма выполняется предварительное наложение материала ключа с помощью операции AddRoundKey, которая выполняет наложение на открытый текст первых четырех слов расширенного ключа W0…W3.Before the first round of the algorithm, the key material is preliminarily overlaid using the AddRoundKey operation, which superimposes the first four words of the extended key W 0 ... W 3 on the plaintext.

Последний раунд отличается от предыдущих тем, что в нем операция MixColumns не выполняется.The last round differs from the previous ones in that the MixColumns operation is not performed in it.

Количество возможных раундов шифрования размеров блоков и размеров ключа представлено в табл. 6.The number of possible rounds of encryption of block sizes and key sizes is presented in Table. 6.

Figure 00000008
Figure 00000008

Расширение ключа: алгоритм использует ключи шифрования трех фиксированных размеров: 128, 192, и 256 бит. Задача процедуры расширения ключа состоит в формировании нужного количество слов расширенного ключа для их использования в операции AddRoundKey. Под «словом» здесь понимается 4-байтный фрагмент расширенного ключа, один из которых используется в первичном наложении материала ключа и по одному - в каждом раунде алгоритма. Таким образом, в процессе расширения ключа формируется 4*(R+1) слов. Расширение ключа выполняется в два этапа, на первом из которых производится инициализация слов расширенного ключа (обозначаемых как Wi): первые Nk (Nk - размер исходного ключа шифрования К в словах, т.е. 4, 6 или 8) слов Wi (т.е. i=0…Nk-1) формируются их последовательным заполнением байтами ключа.Key extension: the algorithm uses encryption keys of three fixed sizes: 128, 192, and 256 bits. The task of the key extension procedure is to generate the required number of words of the extended key for their use in the AddRoundKey operation. By “word” here is meant a 4-byte fragment of the extended key, one of which is used in the primary overlay of the key material and one in each round of the algorithm. Thus, in the process of key expansion, 4 * (R + 1) words are formed. The extension of the key is carried out in two stages, the first of which initializes the words of the extended key (denoted by W i ): the first Nk (Nk is the size of the original encryption key K in words, i.e. 4, 6 or 8) of the words W i ( i.e. i = 0 ... Nk-1) are formed by their sequential filling in bytes of the key.

Для примера, зашифруем блок данных, размером 128, с использованием десяти раундов шифрования и размером ключа 128 бит.For example, we will encrypt a data block of size 128 using ten rounds of encryption and a key size of 128 bits.

Сообщение:

Figure 00000009
Message:
Figure 00000009

Ключ сообщения:

Figure 00000010
Message Key:
Figure 00000010

Поток сообщения после первого этапа шифрования поступает в блоки вместе с потоком ключей (фиг. 11). На каждом раунде шифрования сообщение преобразуется и принимает вид, представленный на фиг. 12 и 13.The message stream after the first encryption step enters the blocks together with the key stream (Fig. 11). In each round of encryption, the message is converted and takes the form shown in FIG. 12 and 13.

В итоге, на выходе, последовательность зашифрованного сообщения выглядит как:As a result, at the output, the sequence of the encrypted message looks like:

Figure 00000011
Figure 00000011

На каждом этапе шифрования из общего потокового ключа формируются раундовые ключи (фиг. 14).At each stage of encryption, round keys are generated from a common stream key (Fig. 14).

Пример формирования раундовых ключей.An example of the formation of round keys.

На фиг. 14 показаны рассчитанные раундовые ключи для потока сообщения, представленного выше. Здесь, как и в случае с этапом байтового шифрования, длина ключа равна длине сообщения. Общее количество раундов шифрования равно одиннадцати (включая первый этап). Ключ для байтового и битового блоков шифрования генерируется пользователем - вводом кодовой последовательности символов. При этом, длина потокового ключа формируется равной длине исходного сообщения.In FIG. 14 shows the calculated round keys for the message flow presented above. Here, as in the case of the byte encryption step, the key length is equal to the message length. The total number of encryption rounds is eleven (including the first step). The key for the byte and bit encryption blocks is generated by the user - by entering a code sequence of characters. At the same time, the length of the stream key is formed equal to the length of the original message.

Для сцепления блоков друг с другом используется режим CBC(Cipher Block Chaining - сцепление блоков по шифротексту), представленный на фиг. 15. Каждый блок открытого текста побитово складывается по модулю два с предыдущим результатом шифрования.The CBC mode (Cipher Block Chaining) is shown in FIG. 15. Each block of plaintext is added bitwise modulo two with the previous encryption result.

В общем виде, шифрование может быть описано следующим образом:In general, encryption can be described as follows:

C0=IVC 0 = IV

Ci=Ek(Pi⊕Ci-1)C i = E k (P i ⊕C i-1 )

где i - номера блоков, IV - вектор инициализации, Ci и Pi - блоки зашифрованного и открытого текстов соответственно, а Ek - функция блочного шифрования.where i are the block numbers, IV is the initialization vector, C i and P i are the blocks of the encrypted and plaintext, respectively, and E k is the block encryption function.

Количество блоков сцепления равно количеству блоков шифротекста, полученного после этапа шифрования. Открытый текст, пропущенный через блок шифрования XOR-ся с вектором инициализации на выходе дают шифротекст, который является входными данными для следующего блока сцепления. Вектор инициализации указан только для первого блока сцепления.The number of clutch blocks is equal to the number of ciphertext blocks obtained after the encryption step. The plaintext passed through the XOR encryption block with the initialization vector gives the ciphertext, which is the input to the next clutch block. The initialization vector is indicated only for the first clutch block.

Процедура обнаружения и коррекции ошибокError Detection and Correction Procedure

Для обнаружения ошибок используется частный случай БХЧ-кодов (Коды Боуза - Чоудхури - Хоквингхема). В теории кодирования - это широкий класс циклических кодов, применяемых для защиты информации от ошибок), с уровнем восстановления ошибок до 40% утраченной информации (фиг. 16).To detect errors, a special case of BHC codes is used (Bowes-Chowdhury-Hockingham codes). In coding theory, this is a wide class of cyclic codes used to protect information from errors), with an error recovery level of up to 40% of the lost information (Fig. 16).

Формирование избыточной информации происходит с использованием полинома xn+xn-1+…+1=0, где n∈P (Р - пространство простых чисел). В этом случае используемый полином является универсальным, как для операции SubBytes,так и для формирования избыточной информации.The formation of redundant information occurs using the polynomial x n + x n-1 + ... + 1 = 0, where n∈P (P is the space of primes). In this case, the polynomial used is universal, both for the SubBytes operation and for generating redundant information.

Предпочтительный алгоритм формирования избыточной информации состоит из следующих шагов:The preferred algorithm for generating redundant information consists of the following steps:

1) К исходному информационному слову D справа добавляется k нулей, получается слово длины n=m+r и полином Xr*D, где m - длина информационного слова;)1) k zeros are added to the original information word D to the right, we get a word of length n = m + r and a polynomial Xr * D, where m is the length of the information word;)

2) Полином Xr*D делится на порождающий полином G, и вычисляется остаток от деления R, такой что: Xr*D=G*Q+R, где Q - частное, которое отбрасывается.2) The polynomial Xr * D is divided by the generating polynomial G, and the remainder of the division R is calculated such that: Xr * D = G * Q + R, where Q is the quotient that is discarded.

3) Остаток R добавляется к информационному слову D, получается кодовое слово С, информационные биты которого хранятся отдельно от контрольных бит. Остаток, который получается в результате деления - корректирующий код.3) The remainder R is added to the information word D, a code word C is obtained, the information bits of which are stored separately from the control bits. The remainder resulting from the division is a correction code.

4) Информационное слово + корректирующие коды можно записать так: Т=Xr*D+R=GQ. Стоит отметить, что все операции выполняются в конечных полях Галуа GF (2n).4) The information word + correction codes can be written as follows: T = Xr * D + R = GQ. It is worth noting that all operations are performed in the final Galois fields GF (2 n ).

Кодируемые данные передаются через массив data[i], где i=0…(k-1), а сгенерированные символы четности заносятся в массив b[0]…b[2*t-1]. Исходные и результирующие данные представлены в полиномиальной форме. Кодирование производится с использованием сдвигового feedback-регистра, заполненного соответствующими элементами массива, с порожденным полиномом внутри.The encoded data is transmitted through the data [i] array, where i = 0 ... (k-1), and the generated parity characters are entered into the array b [0] ... b [2 * t-1]. The source and resulting data are presented in polynomial form. Encoding is performed using a shift feedback register filled with the corresponding array elements with the generated polynomial inside.

с(х)=data(x)*x(n-k)+b(x).c (x) = data (x) * x (n-k) + b (x).

Формула образующего полинома для генерации прямого и обратного GF (2n):Formula of a generating polynomial for generating direct and inverse GF (2 n ):

х^8+х^4+х^3+х^2+1.x ^ 8 + x ^ 4 + x ^ 3 + x ^ 2 + 1.

Полином размерностью 120 (для блоков длиной 256), позволяющий восстанавливать до 120 ошибок в блоке (фиг. 17).A polynomial of dimension 120 (for blocks of length 256), which allows recovering up to 120 errors in a block (Fig. 17).

Кроме того, при сжатии информации используются вероятностные методы определения выходного значения данных на основе определения эффективной монотонной схемы для функции голосования. Т.е. расчет вероятностей происходит только для элементов входной последовательности, на которых построена монотонная функция, остальные элементы последовательности получаются транслированием, полученных ранее элементов. Это позволяет не рассчитывать вероятности для всех входных элементов и оптимизирует процедуру.In addition, when compressing information, probabilistic methods are used to determine the output value of the data based on determining the effective monotonic scheme for the voting function. Those. the calculation of probabilities occurs only for the elements of the input sequence on which the monotonic function is built, the remaining elements of the sequence are obtained by translating the previously obtained elements. This allows not to calculate the probabilities for all input elements and optimizes the procedure.

Размеры кода изменяются в зависимости от количества кодируемых данных. Минимальный размер символики, при кодировании одного символа не изменяется в диапазоне от 1 до 100 символов. Минимальное размер символики составляет 14, верхнее значение зависит от количества информации, закодированной в коде.Code sizes vary depending on the amount of encoded data. The minimum size of symbols, when encoding one symbol does not change in the range from 1 to 100 characters. The minimum size of the symbology is 14, the upper value depends on the amount of information encoded in the code.

Фиг. 18 показывает размеры нанобар-кода, в зависимости от количества символов.FIG. 18 shows the sizes of the nanobar code, depending on the number of characters.

Нанобар-код может быть технически реализован, как в графическом формате, в виде растрового или векторного изображения, так и виде управляющего файла. Управляющий файл содержит координаты расположения ячеек, относительно центра символики, и координаты векторных объектов (фиг. 1, фиг. 4,), а также технические параметры обработки материала данной технологией, с использованием данного оборудования. В качестве примера приведены параметры лазерной импульсной установки.The nanobar code can be technically implemented, both in graphic format, in the form of a raster or vector image, and in the form of a control file. The control file contains the coordinates of the location of the cells, relative to the center of symbolism, and the coordinates of the vector objects (Fig. 1, Fig. 4,), as well as the technical parameters of the material processing by this technology using this equipment. As an example, the parameters of a laser pulse installation are given.

Figure 00000012
Figure 00000012

Figure 00000013
Figure 00000013

При формировании нанобар-кода следует учитывать, что рекомендуемая последовательность действий следующая:When forming a nanobar code, it should be borne in mind that the recommended sequence of actions is as follows:

- Кодирование и перевод информации с бинарный вид;- Coding and translation of information from a binary form;

- Шифрование;- encryption;

- Архивирование;- Archiving;

- Добавление избыточной информации для восстановления утраченных данных;- Adding redundant information to restore lost data;

- Расположение на поле символики.- Location on the field of symbolism.

При изменении порядка следования функции, не гарантируется оптимальное соотношение между объемом закодированной (зашифрованной) информации и возможностью полного восстановления данных.When changing the order of the function, the optimal ratio between the amount of encoded (encrypted) information and the possibility of complete data recovery is not guaranteed.

Рекомендуется функцию восстановления информации выполнять последней, в любом другом случае корректное восстановление информации, в случае частичного искажения не гарантируется.It is recommended that the information recovery function be performed last, in any other case, correct information recovery, in case of partial distortion is not guaranteed.

Также, необходимо отметить, что формирование нанобар-кода с использованием предлагаемого способа предусматривает формирование нанобар-кода в «закрытом» и «открытом» виде. Формирование «закрытого» нанобар-кода имеет указанную выше последовательность действий. При формировании «открытого» нанобар-кода предпочтительный пункт «Шифрование» может быть исключен, и, таким образом, получен двухмерный машиносчитываемый код, использующийся в традиционных схемах логистики и идентификации, не предусматривающих специальную защиту информации.Also, it should be noted that the formation of a nanobar code using the proposed method provides for the formation of a nanobar code in a "closed" and "open" form. The formation of a “closed” nanobar code has the above sequence of actions. When generating an “open” nanobar code, the preferred “Encryption” item can be excluded, and thus a two-dimensional machine-readable code is obtained, which is used in traditional logistics and identification schemes that do not provide for special information protection.

Кроме того, следует учитывать ограничения на объем кодируемой и шифрованной информации, размещаемой в нанобар-коде, обуславливается это целесообразностью применения нанобар-кода, в том или ином случае. Таким образом, обеспечивается максимальная информативность предлагаемого нанобар-кода, а также возможность формировать «закрытые» или «открытые» локальные базы данных, связанные с объектом или изделием.In addition, one should take into account restrictions on the amount of encoded and encrypted information placed in the nanobar code, this is due to the advisability of using the nanobar code, in one case or another. Thus, the maximum information content of the proposed nanobar code is ensured, as well as the ability to create “closed” or “open” local databases associated with an object or product.

Рекомендуемый способ декодированияRecommended Decoding Method

Для декодирования визуализированного в виде изображения или нанесенного на какой либо материал, нанобар-кода, производится его считывание. При этом используется специализированная уникальная аппаратно-программная система считывания и распознавания, которая позволяет захватывать изображения в широком диапазоне (от 0,05 - до 100 мм) и преобразовать его в цифровой поток данных. Дальнейшее декодирование производится следующим образом.To decode a nanobar code visualized as an image or applied to any material, it is read. In this case, a specialized unique hardware-software system for reading and recognition is used, which allows you to capture images in a wide range (from 0.05 to 100 mm) and convert it into a digital data stream. Further decoding is performed as follows.

На фиг. 20 представлен процесс дешифровки блоков зашифрованных в режиме СВС. После, выполняется дешифрования на битовом и байтовом уровнях, в общем виде, процесс дешифрования можно представить тремя выражениями:In FIG. 20 shows the process of decrypting blocks encrypted in SHS mode. After, decryption is performed at the bit and byte levels, in general, the decryption process can be represented by three expressions:

Figure 00000014
Figure 00000014

где i - номера блоковwhere i are block numbers

Ci и Pi - блоки зашифрованного и открытого текстов соответственноC i and P i - blocks of encrypted and plaintext, respectively

Dk - функция зависящая от входного блока Ci D k - function dependent on the input block C i

Ek - функция блочного шифрованияE k - block encryption function

Ek-1 - обратная функция функции блочного шифрованияE k-1 is the inverse function of the block encryption function

К - потоковые ключиK - stream keys

Ki - потоковый i-тый ключK i - i-th stream key

Р - кодовые слова сообщенияP - message code words

(mod 256) - целочисленный остаток от деления на 256(mod 256) - integer remainder of division by 256

Структура передаваемых данныхThe structure of the transmitted data

Структура символа, включающая в себя поле с записью информации, включающее в себя область записи, которая состоит из блоков, отдельный блок содержит служебную информацию, 4 байта - длина кода (фиг. 21).The structure of the symbol, which includes a field with recording information, including the recording area, which consists of blocks, a separate block contains service information, 4 bytes - the length of the code (Fig. 21).

При использовании формата графического изображения передаются следующие данные:When using the graphic image format, the following data is transmitted:

- Cypher (1 байт) - тип шифрования (1 - без шифрования, 2 - шифрование);- Cypher (1 byte) - type of encryption (1 - without encryption, 2 - encryption);

- Extension (строка) - расширение исходного файла.- Extension (string) - extension of the source file.

При использовании формата управляющий файл передаются следующие данные:When using the control file format, the following data is transferred:

- Устройство (строка) (устройство для вывода нанобар-кода);- Device (string) (device for outputting a nanobar code);

- Материал (строка) (данные по материалу, на который наносится нанобар-код);- Material (string) (data on the material on which the nanobar code is applied);

- Cypher (1 байт) - тип шифрования (1 - без шифрования, 2 - шифрование AES);- Cypher (1 byte) - type of encryption (1 - without encryption, 2 - AES encryption);

- Extension (строка) - расширение исходного файла.- Extension (string) - extension of the source file.

Таким образом, предложенный способ позволяет формировать как закрытый, т.е. с закодированной и зашифрованной информацией, так и открытый, т.е. только с закодированной информацией нанобар-код.Thus, the proposed method allows to form as a closed, i.e. with encoded and encrypted information, and open, i.e. only with encoded information nanobar code.

Преимущества предлагаемого нанобар-кода:Advantages of the proposed nanobar code:

используется два уровня кодирования (до и после шифрования), а также уникальный способ расположения элементарных ячеек (расположения информационных блоков), позволяющий уплотнить информацию, по сравнению с известными кодами.uses two levels of encoding (before and after encryption), as well as a unique way of arranging unit cells (location of information blocks), which allows you to compress information in comparison with known codes.

При сравнении с QR-Code, при большом объеме кодируемой информации (в примере - максимальный размер QR-Code) для нанобар-кода в области полезной информации преимущество очевидно (см. табл. 7).When comparing with the QR-Code, with a large amount of encoded information (in the example, the maximum size of the QR-Code) for the nanobar code, the advantage in the field of useful information is obvious (see table 7).

Figure 00000015
Figure 00000015

Figure 00000016
Figure 00000016

QR-code (как и другие) имеет фиксированное положение вспомогательной информации, системная информация дублируется, а в случае утери обоих блоков служебной информации, декодировать код невозможно.The QR-code (like others) has a fixed position of auxiliary information, system information is duplicated, and in case of loss of both blocks of service information, it is impossible to decode the code.

В нанобар-коде служебная информация находится в каждом отдельном блоке, отдельных маркеров на них нет. При утере восстановительной информации в блоке, не происходит утраты всего сообщения, информация не восстанавливается только в этом блоке.In the nanobar code, service information is in each separate block; there are no separate markers on them. With the loss of recovery information in a block, the entire message does not lose, information is not restored only in this block.

Дополнительным преимуществом нанобар-кода является корреляция компактности кода с его емкостью. Т.е., чем больше информации содержит нанобар-код, тем более плотным (ультраплотным) становится. Кроме того, фиксированные размеры ориентирующих элементов при декодировании позволяют:An additional advantage of the nanobar code is the correlation of the compactness of the code with its capacity. That is, the more information the nanobar code contains, the more dense (ultradense) it becomes. In addition, the fixed dimensions of the orienting elements during decoding allow:

- точно определять позицию блока с полезной информацией;- accurately determine the position of the block with useful information;

- определять кратность строк и столбцов ячеек (модулей) для однозначного формирования массива данных.- determine the multiplicity of rows and columns of cells (modules) for the unique formation of the data array.

Таким образом, нанобар-код более устойчив к повреждениям областей служебной информации. Также необходимо отметить, что используемые алгоритмы восстановления информации, используемые при формировании нанобар-кода лучше, т.к. позволяют восстанавливать 40% утраченной информации, тогда как QR-Code и Data Matrix восстанавливают лишь 35%.Thus, the nanobar code is more resistant to damage to areas of service information. It should also be noted that the information recovery algorithms used in the formation of the nanobar code are better, because 40% of lost information can be restored, while QR-Code and Data Matrix recover only 35%.

Преимуществом предлагаемых способов является применение высокоуровневого кодирования данных, при котором информация, обработанная алгоритмами шифрования сжимается методом оптимальных кодов, при этом вероятности для каждого поступающего сообщения рассчитываются только для этого сообщения (т.е. существуют вероятности встречаемости букв русского алфавита, определенные на множестве текстов, но в выборке текстов, состоящей из одного текста, вероятности встречаемости букв могут отличаться от всей определенной вероятности на большей совокупности текста.).An advantage of the proposed methods is the use of high-level data encoding, in which information processed by encryption algorithms is compressed by the optimal code method, while the probabilities for each incoming message are calculated only for this message (i.e., there are probabilities of occurrence of letters of the Russian alphabet defined on many texts, but in a sample of texts consisting of one text, the probabilities of occurrence of letters may differ from all the certain probability by a larger number of payback text.).

Преимущество применения шифрования цифровой информации в предлагаемом способе: шифрование на первом этапе происходит на уровне байтов (символов), на втором этапе на уровне битов. Кроме того, второй этап шифрования основан на симметричном битовом алгоритме шифрования AES с изменениями дизайна шифра: между операциями ShiftRows и MixColumns происходит сдвиг блоков, с сохранением механизма формирования раундовых ключей и этапов перемешивания, что позволяет повысить криптостойкость способа.The advantage of using digital information encryption in the proposed method: encryption at the first stage occurs at the level of bytes (characters), at the second stage at the level of bits. In addition, the second stage of encryption is based on the AES symmetric bit encryption algorithm with cipher design changes: between the ShiftRows and MixColumns operations, blocks are shifted, while the mechanism for generating round keys and mixing stages is preserved, which allows to increase the cryptographic strength of the method.

Claims (36)

1. Способ кодирования цифровой информации в виде ультрасжатого кода - нанобар-кода, включающий прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодового преобразования и получение кодового сообщения на носителе информации в виде физического или электронного кода,1. A method of encoding digital information in the form of an ultra-compressed code — a nanobar code, including receiving information to be encoded, encoding information using a code conversion table, and receiving a code message on an information medium in the form of a physical or electronic code, отличающийся тем, что после кодирования информации осуществляют ее шифрование, сжатие и добавление избыточной информации для восстановления в случае ее утраты,characterized in that after encoding the information, it is encrypted, compressed and added redundant information to be restored in case of loss, - шифрование информации осуществляют с использованием криптографических алгоритмов в два этапа, на первом этапе шифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта информации, на втором этапе шифрование осуществляют на уровне битов на основе симметричного битового алгоритма шифрования AES,- information is encrypted using cryptographic algorithms in two stages, at the first stage, encryption is carried out at the byte level using a polyalphabetic byte cipher with a different shift value for each byte of information, at the second stage, encryption is performed at the bit level based on the AES symmetric encryption algorithm, - сжатие информации осуществляют на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывают только для этого блока и пересчитываются для каждого блока,- information compression is carried out on the basis of optimal code methods, and the probability of occurrence of code words for each block of encoded information is calculated only for this block and recounted for each block, - для получения кодового сообщения осуществляют формирование структуры закодированных данных в виде ультрасжатого нанобар-кода.- to obtain a code message, the structure of the encoded data is formed in the form of an ultra-compressed nanobar code. 2. Способ по п. 1, отличающий тем, что количество раундов перемешивания при шифровании на уровне байтов равняется 1, полученная последовательность зашифрованного сообщения переводится в 16-тиричную систему счисления и передается на этап второй битового шифрования.2. The method according to p. 1, characterized in that the number of mixing rounds during encryption at the byte level is 1, the received sequence of the encrypted message is translated into a hexadecimal number system and transmitted to the second bit encryption stage. 3. Способ по п. 2, отличающийся тем, что для первого этапа шифрования используется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII.3. The method according to claim 2, characterized in that for the first stage of encryption, a table of values of 256 by 256 characters or 256 tables of 256 positions is used, while the number of fields in the table corresponds to the number of fields in the ASCII encoding table. 4. Способ по п. 3, отличающийся тем, что на втором этапе шифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на n-е количество блоков объемом m символов в блоке и шифруется с алгоритмом, содержащим q раундов перемешивания.4. The method according to p. 3, characterized in that at the second stage of encryption (bit encryption) the number of mixing rounds is finite and equal to q, while the message P of length a of characters is divided into the nth number of blocks of volume m characters in the block and is encrypted with an algorithm containing q rounds of mixing. 5. Способ по п. 4, отличающийся тем, что при шифровании на битовом уровне на всех раундах шифрования осуществляют изменение дизайна шифра, а именно между операциями ShiftRows и MixColumns производят сдвиг блоков с сохранением механизма формирования раундовых ключей и этапов перемешивания.5. The method according to p. 4, characterized in that when encrypting at the bit level on all encryption rounds, the cipher design is changed, namely, between the ShiftRows and MixColumns operations, blocks are shifted while maintaining the mechanism for generating round keys and mixing steps. 6. Способ по п. 5, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержащего область фона, область ориентирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных являются контрастными по отношению к изображению области фона,6. The method according to p. 5, characterized in that the structure of the encoded data is formed in the form of a physical or electronic image of a two-dimensional code containing a background region, a region of orienting elements and a data region consisting of at least one data block, the image of the regions orientation elements and data areas are contrasting with the image of the background area, - область ориентирующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода,- the area of the orienting elements contains a reference square with a frame and an empty field, aligning rectangles and a border frame of the code, - область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга.- the data area containing the code message is superimposed on the area of the orienting elements so that the elements of the areas do not overlap each other. 7. Способ по п. 6, отличающийся тем, что внутри опорного квадрата может быть размещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону.7. The method according to p. 6, characterized in that any inscription and / or image can be placed inside the reference square, and the dimensions of the reference square, frame and empty field can be changed in different directions. 8. Способ по п. 7, отличающийся, тем что центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.8. The method according to p. 7, characterized in that the center of the reference square is located at the intersection of the axis of symmetry of the alignment rectangles. 9. Способ по п. 5, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения набора координат на координатной плоскости.9. The method according to p. 5, characterized in that they form the structure of the encoded data in the form of a physical or electronic image of a set of coordinates on the coordinate plane. 10. Способ кодирования цифровой информации в виде ультрасжатого кода нанобар-кода, включающий прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодового преобразования и получение кодового сообщения на носителе информации в виде физического или электронного кода,10. A method of encoding digital information in the form of an ultra-compressed code of a nanobar code, including receiving information to be encoded, encoding information using a code conversion table, and receiving a code message on an information medium in the form of a physical or electronic code, отличающийся тем, что после кодирования информации осуществляют ее сжатие и добавление избыточной информации для восстановления в случае ее утраты,characterized in that after encoding the information, it is compressed and redundant information is added for recovery in case of loss, - сжатие информации осуществляют на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывают только для этого блока и пересчитываются для каждого блока,- information compression is carried out on the basis of optimal code methods, and the probability of occurrence of code words for each block of encoded information is calculated only for this block and recounted for each block, - для получения кодового сообщения осуществляют формирование структуры закодированных данных в виде ультрасжатого нанобар-кода.- to obtain a code message, the structure of the encoded data is formed in the form of an ultra-compressed nanobar code. 11. Способ по п. 10, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержащего область фона, область ориентирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных являются контрастными по отношению к изображению области фона,11. The method according to p. 10, characterized in that the structure of the encoded data is formed in the form of a physical or electronic image of a two-dimensional code containing a background region, a region of orientation elements and a data region consisting of at least one data block, the image of the regions orientation elements and data areas are contrasting with the image of the background area, - область ориентирующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода,- the area of the orienting elements contains a reference square with a frame and an empty field, aligning rectangles and a border frame of the code, - область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга.- the data area containing the code message is superimposed on the area of the orienting elements so that the elements of the areas do not overlap each other. 12. Способ по п. 11, отличающийся тем, что внутри опорного квадрата может быть размещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону.12. The method according to p. 11, characterized in that any inscription and / or image can be placed inside the reference square, and the dimensions of the reference square, frame and empty field can be changed in different directions. 13. Способ по п. 12, отличающийся тем, что центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.13. The method according to p. 12, characterized in that the center of the reference square is located at the intersection of the symmetry axes of the alignment rectangles. 14. Способ по п. 10, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения набора координат на координатной плоскости.14. The method according to p. 10, characterized in that they form the structure of the encoded data in the form of a physical or electronic image of a set of coordinates on the coordinate plane. 15. Способ декодирования цифровой информации в виде ультрасжатого кода, включающий считывание закодированных данных с кода, выбор полезной информации, декомпрессию, дешифрование и декодирование этой информации с использованием таблицы кодового преобразования, отличающийся тем, что15. A method of decoding digital information in the form of an ultra-compressed code, including reading the encoded data from the code, selecting useful information, decompressing, decrypting and decoding this information using a code conversion table, characterized in that - дешифрование информации осуществляют с использованием обратной функции криптографического преобразования в два этапа, на первом этапе дешифрование осуществляют на уровне битов на основе симметричного битового алгоритма шифрования AES, на втором этапе дешифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта информации,- information is decrypted using the inverse cryptographic conversion function in two stages, at the first stage, decryption is carried out at the bit level based on the AES symmetric bit encryption algorithm, at the second stage, decryption is performed at the byte level using a polyalphabetic byte cipher with a different shift value for each byte information - декомпрессию информации осуществляют на основе методов оптимальных кодов на основе суммы полученных вероятностей на этапе компрессии с вычислением вероятностей исходных кодовых слов,- information decompression is carried out on the basis of optimal code methods based on the sum of the obtained probabilities at the stage of compression with the calculation of the probabilities of the source code words, - утраченную информацию восстанавливают с помощью алгоритмов восстановления информации на основе избыточной информации, записанной при формировании кода.- lost information is restored using information recovery algorithms based on redundant information recorded during code formation. 16. Способ по п. 15, отличающий тем, что количество раундов перемешивания при дешифровании на уровне байтов равняется 1, полученная последовательность зашифрованного сообщения переводится в 16-тиричную систему счисления и передается на этап второй битового дешифрования.16. The method according to p. 15, characterized in that the number of mixing rounds during decryption at the byte level is 1, the received sequence of the encrypted message is translated into a 16-digit number system and transmitted to the second bit decryption stage. 17. Способ по п. 16, отличающийся тем, что для второго этапа дешифрования используется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII.17. The method according to p. 16, characterized in that for the second stage of decryption, a table of values of 256 by 256 characters or 256 tables of 256 positions is used, while the number of fields in the table corresponds to the number of fields in the ASCII coding table. 18. Способ по п. 17, отличающийся тем, что на первом этапе дешифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на n-е количество блоков объемом m символов в блоке и дешифруется с алгоритмом, содержащим q раундов перемешивания.18. The method according to p. 17, characterized in that at the first stage of decryption (bit encryption) the number of mixing rounds is finite and equal to q, while the message P of length a of characters is divided into the nth number of blocks of volume m characters in the block and decrypted with an algorithm containing q rounds of mixing. 19. Способ по п. 18, отличающийся тем, что при дешифровании на всех раундах дешифрования на битовом уровне осуществляют изменение дизайна шифра, а именно между операциями ShiftRows и MixColumns производят сдвиг блоков с сохранением механизма формирования раундовых ключей и этапов перемешивания.19. The method according to p. 18, characterized in that when decrypting on all decryption rounds at the bit level, the cipher design is changed, namely, between the ShiftRows and MixColumns operations, the blocks are shifted while maintaining the mechanism for generating round keys and mixing steps. 20. Способ декодирования цифровой информации в виде ультрасжатого кода нанобар-кода, включающий считывание закодированных данных с кода, выбор полезной информации, декомпрессию и декодирование этой информации с использованием таблицы кодового преобразования, отличающийся тем, что20. A method of decoding digital information in the form of an ultra-compressed code of a nanobar code, including reading the encoded data from the code, selecting useful information, decompressing and decoding this information using a code conversion table, characterized in that - декомпрессию информации осуществляют на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока декодируемой информации рассчитывают только для этого блока,- decompression of information is carried out on the basis of optimal code methods, and the probability of occurrence of code words for each block of decoded information is calculated only for this block, - утраченную информацию восстанавливают с помощью алгоритмов восстановления информации на основе избыточной информации, записанной при формировании кода.- lost information is restored using information recovery algorithms based on redundant information recorded during code formation.
RU2016131164A 2013-12-27 2013-12-27 Method of digital information in the form of ultra-compressed nano bar code encoding and decoding (options) RU2656734C2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2013/001182 WO2015099568A1 (en) 2013-12-27 2013-12-27 Encoding and decoding digital information in the form of ultra-compressed nano-barcode

Publications (2)

Publication Number Publication Date
RU2016131164A RU2016131164A (en) 2018-02-01
RU2656734C2 true RU2656734C2 (en) 2018-06-06

Family

ID=53479293

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016131164A RU2656734C2 (en) 2013-12-27 2013-12-27 Method of digital information in the form of ultra-compressed nano bar code encoding and decoding (options)

Country Status (2)

Country Link
RU (1) RU2656734C2 (en)
WO (1) WO2015099568A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131965A1 (en) * 2020-12-15 2022-06-23 Общество с ограниченной ответственностью "Лазерный Центр" Method for encoding and decoding digital information in the form of a multidimensional nano-barcode
RU2777708C2 (en) * 2020-12-15 2022-08-08 Общество с ограниченной ответственностью "Лазерный Центр" Method for encoding digital information in form of multidimensional nanobar-code

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019182565A1 (en) * 2018-03-20 2019-09-26 Hewlett-Packard Development Company, L.P. Visually significant marking schemes
US11087643B2 (en) * 2018-11-21 2021-08-10 Honeywell International Inc. Smart seal assembly
CN112669396B (en) * 2020-12-18 2023-09-12 深圳智慧林网络科技有限公司 Lossless image compression method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224106A (en) * 1990-05-09 1993-06-29 Digital Equipment Corporation Multi-level error correction system
US20030128140A1 (en) * 2001-10-09 2003-07-10 Yuan Xie Code compression algorithms and architectures for embedded systems
RU2251734C2 (en) * 2000-05-09 2005-05-10 Колорзип Медиа, Инк. Machine-readable code, method and device for encoding and decoding
US20090220071A1 (en) * 2008-02-29 2009-09-03 Shay Gueron Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation
WO2013100794A1 (en) * 2011-12-29 2013-07-04 Pryakhin Evgeniy Ivanovich Hardware and software system for applying and reading information fields
WO2013162402A1 (en) * 2012-04-27 2013-10-31 Pryakhin Evgeniy Ivanovich Digital information protection method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224106A (en) * 1990-05-09 1993-06-29 Digital Equipment Corporation Multi-level error correction system
RU2251734C2 (en) * 2000-05-09 2005-05-10 Колорзип Медиа, Инк. Machine-readable code, method and device for encoding and decoding
US20030128140A1 (en) * 2001-10-09 2003-07-10 Yuan Xie Code compression algorithms and architectures for embedded systems
US20090220071A1 (en) * 2008-02-29 2009-09-03 Shay Gueron Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation
WO2013100794A1 (en) * 2011-12-29 2013-07-04 Pryakhin Evgeniy Ivanovich Hardware and software system for applying and reading information fields
WO2013162402A1 (en) * 2012-04-27 2013-10-31 Pryakhin Evgeniy Ivanovich Digital information protection method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131965A1 (en) * 2020-12-15 2022-06-23 Общество с ограниченной ответственностью "Лазерный Центр" Method for encoding and decoding digital information in the form of a multidimensional nano-barcode
RU2777708C2 (en) * 2020-12-15 2022-08-08 Общество с ограниченной ответственностью "Лазерный Центр" Method for encoding digital information in form of multidimensional nanobar-code

Also Published As

Publication number Publication date
WO2015099568A1 (en) 2015-07-02
RU2016131164A (en) 2018-02-01

Similar Documents

Publication Publication Date Title
US10755375B2 (en) Systems and methods for steganography based on text fonts
JP5731071B2 (en) Two-dimensional code authentication device, two-dimensional code generation device, two-dimensional code authentication method, and program
JP6600905B2 (en) Two-dimensional code, multi-valued two-dimensional code, and two-dimensional code generation method
RU2656734C2 (en) Method of digital information in the form of ultra-compressed nano bar code encoding and decoding (options)
Bui et al. Robust message hiding for QR code
CN105825257A (en) Information hiding and hidden information extraction method based on two-dimensional barcode and information hiding and hidden information extraction system thereof
US7611067B2 (en) Printed material with identification function, image generating apparatus, image processing apparatus, image generating method, image processing method, and program product therefor
CN109313713B (en) Two-dimensional code, and generation method, generation device, program, reading method, reading device, and management system for two-dimensional code
Liu et al. Rich QR codes with three-layer information using hamming code
CN104769881A (en) AES implementation with error correction
Dumas et al. Foundations of coding: compression, encryption, error correction
JP4756489B2 (en) Error correction coding apparatus, error correction coding method, and program
US20190238314A1 (en) Method and system for secure encryption
KR101584127B1 (en) System and method for deniable encryption
Chatterjee et al. Space effective and encrypted QR code with sender authorized security levels
JP2024505116A (en) Dot matrix code construction method, generation and reading method, terminal, and dot matrix code system
CN104573781A (en) Encoding and decoding method of two-dimensional code
CN105718978A (en) QR code generation method and apparatus, and decoding method and apparatus
CN108063742B (en) Sensitive information providing and tracking method and device
WO2022131965A1 (en) Method for encoding and decoding digital information in the form of a multidimensional nano-barcode
Tan et al. (2, 2) threshold robust visual secret sharing scheme for QR code based on pad codewords
Kumari et al. A novel image encryption scheme with Huffman encoding and steganography technique
Hole et al. Encryption and Decryption of Data Using QR Authentication System
Gupta et al. QR code: A safe and secure method of authenticating legal documents
WO2021095457A1 (en) Two-dimensional code generation method, two-dimensional code evaluation method, two-dimensional code system, two-dimensional code generation device, two-dimensional code evaluation device, and two-dimensional code