WO2015099568A1 - Кодирование и декодирование цифровой информации в виде ультрасжатого нанобар-кода - Google Patents

Кодирование и декодирование цифровой информации в виде ультрасжатого нанобар-кода Download PDF

Info

Publication number
WO2015099568A1
WO2015099568A1 PCT/RU2013/001182 RU2013001182W WO2015099568A1 WO 2015099568 A1 WO2015099568 A1 WO 2015099568A1 RU 2013001182 W RU2013001182 W RU 2013001182W WO 2015099568 A1 WO2015099568 A1 WO 2015099568A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
code
encryption
block
data
Prior art date
Application number
PCT/RU2013/001182
Other languages
English (en)
French (fr)
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 Евгений Иванович ПРЯХИН
Priority to RU2016131164A priority Critical patent/RU2656734C2/ru
Priority to PCT/RU2013/001182 priority patent/WO2015099568A1/ru
Publication of WO2015099568A1 publication Critical patent/WO2015099568A1/ru

Links

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

Definitions

  • the present invention relates to a method for converting (encoding), decoding and recording digital information for generating a matrix ultra-compressed two-dimensional code (nanobar code), as well as optically readable two-dimensional codes representing binary-encoded data located on a two-dimensional matrix and thus forming a template for posting information.
  • binary-coded data is divided into binary blocks with cryptographically transformed, packed with compression algorithms and supplemented with information recovery algorithms for lost data.
  • 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.
  • Patent RU X ° 2323474 (IPC G06K1 / 00, G09F3 / 00, published April 27, 2008) uses multiple covert application of unique numbers under erasable opaque layers; however, in addition to the unique number, it is necessary to enter sequential the number of the strip on which the mentioned number is applied. Entering a large number of numbers can be difficult for the user to verify the authenticity of the product.
  • 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.
  • 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, for example, 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.
  • an image input device for example, such as a photo and television camera
  • To capture the image area of a two-dimensional code areas of sharp change in brightness are used — finding 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, which is subject to further analysis and decoding.
  • 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 jVsH0212579 (IPC G06 1/12; G06K19 / 00; G06K19 / 06; G06 7/10; G06K7 / 14, published 1990-01-17), which is an analogue of the application of US patent No. 4939354, describes a matrix , consisting of dark (black) squares sequentially lined up and two dotted sides, consisting of alternately light (white) and dark squares. Symbolism is detected by distinguishing the line profile, and then determining the orientation of the matrix.
  • the disadvantage of the above-mentioned method is the following.
  • the matrix is not always constant in size, so an error can occur in detecting a cell when the cell position is predicted according to a given interval.
  • a security method is proposed based on the formation of a key, which is stored in the memory of an external device adapted for connection to a computer, decryption of 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 is generated using pseudo-random sequence signals and external random action signals, followed by an automatic check of the key for the absence of matches with keys stored in the memory of the external device.
  • the disadvantages of the known 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.
  • 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.
  • next value of the alphabet combination is recorded in the i-th line of the code table Tk.
  • 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 conversion parameter value; equal to the value of the combination of avita stored in row A (vj) of the code table Tk, the address of which is determined modulo the number N, the value of the encrypted combination Vj is read from the string of code table Tk with address A (vj), when decrypting the encrypted combination Vj with the value of the conversion parameter
  • 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.
  • 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.
  • the known method is based on the principle of forming a coding system from the set “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 “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.
  • the set of coding values is formed from the general and 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 (al, bl, .... zl) and containing m repetitions of characters (al, a2 ... am). There are a number of sets Ai equal to Q, assignment to message symbols (al, bl, .... zl) randomly encoding values from Ai together basics, where i belongs to the set (1 ... Q).
  • the correspondence of the code values to the symbols in the aggregates ( ⁇ 1 ... ⁇ ) occurs randomly.
  • the first character al 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 ( ⁇ 1 ... ⁇ ) is also random.
  • values are assigned to the remaining characters (bl, cl ... zl).
  • the same character al in different parts of the message can be assigned a value from the set A1 ⁇ times, the determination of the number ⁇ times of repetitions of the characters an occurs also randomly.
  • the known method offers a method for protecting information, a method for converting it during encoding and encryption, and also offers a certain graphic image of the generated nanobar code.
  • an image of a nanobar code does not allow standardizing its matrix and suggesting machine methods for reading and decoding it.
  • the prototype formation algorithm does not provide for the formation of redundant information that allows to restore the lost information.
  • patent RU J422251734 “Machine-readable code, method and device for encoding and decoding” is known (IPC G06K9 / 18, G06K7 / 10, G06K19 / 06, G06K1 / 12, published. 05/10/2005), which, in combination with its essential features is the closest to the present invention, and is taken as a vice versa.
  • the known invention relates to encoding data with presenting it as a code using a layout of cells with different colors, shapes or configurations.
  • the method includes the following steps: 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 objective of the invention is to develop a method of encoding and decoding digital information in as an ultra-compressed nanobar code, with the ability to encrypt information that is resistant to damage and has many options for implementation.
  • 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, and expanding the functionality.
  • 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 the information medium in the form of physical or
  • the electronic code according to the invention after encoding the information, encrypts it, compresses and adds redundant information to recover in case of loss.
  • 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 symmetric AES bit 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.
  • 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 transferred to the second bit encryption stage.
  • 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.
  • the number of mixing rounds is finite and equal to q, while the message P of length a of characters is divided into ⁇ -e number of blocks of m characters in the block and is encrypted with an algorithm containing q mixing rounds.
  • all rounds of encryption carry out a change in the design of the cipher, namely, between ShiftRows and MixColumns operations shift blocks, preserving the mechanism of forming round keys and mixing steps.
  • 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 of orientation elements and the data region being are contrasted with respect to the image of the background area.
  • the area of 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. Any inscription and / or image may be placed inside the reference square, and the dimensions of the reference square, frame and empty field may vary in different directions.
  • the center of the reference square is located at the intersection of the symmetry axes of the alignment rectangles.
  • the structure of the encoded data can be formed in the form of a physical or electronic image of a set of coordinates on the coordinate plane.
  • 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 that, after encoding the information, it is compressed and redundant information is added for recovery in the event of its loss.
  • 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 of orientation elements and the data region being are contrasted with respect to the image of the background area.
  • the area of orienting elements contains a supporting square with a frame and an empty field, aligning Rectangles and 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 may be placed inside the reference square, and the dimensions of the reference square, frame and empty field may vary in different directions.
  • the center of the reference square is located at the intersection of the symmetry axes of the alignment rectangles.
  • the structure of the encoded data can be formed in the form of a physical or electronic image of a set of coordinates on the coordinate plane.
  • 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, decrypting information carried out using the inverse cryptographic conversion function in two stages; at the first stage, decryption is performed at the bit level based on symmetric AES encryption algorithm. At the second stage, decryption is carried out at the byte level using a poly-alphanumeric byte cipher with a different shift value for each information byte. Information decompression is carried out on the basis of optimal code methods, on the basis of 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.
  • 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.
  • 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.
  • the number of mixing rounds is finite and equal to q, while the message P of length a of characters is split into ⁇ -e the number of blocks of volume m characters in the block and is decrypted with an algorithm containing q rounds mixing.
  • a 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, moreover, the probability of occurrence of code words for each block of decoded information is calculated only for this block. Recover lost information using information recovery algorithms based on redundant information recorded during code generation.
  • FIG. 2 which presents a preferred variant of the reference square with the inscription
  • FIG. 3 where an embodiment of a reference square without an inscription is presented
  • figure 4 which shows a General view of the alignment rectangle
  • a 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.
  • Fig.7 which shows the adjusted angle of rotation of the symbols, relative to the axes OX and OY;
  • FIG. 8 which presents the probabilities of occurrence of symbols of the Russian alphabet, excluding probabilities in a separate text
  • Fig. 9, which shows a diagram of a second encryption step, based on a symmetric cipher
  • Fig. 10 which shows a diagram of the change in the transmission of information between the ShiftRows and MixColumns encryption functions (changes in the cipher design compared to the similar symmetric AES cipher);
  • Fig which shows the calculated values of the generation of round keys from a common message key (from the first to fourth rounds and in the tenth round);
  • Fig which shows the mode of linking blocks in the SHS mode (Cipher Block Chaining - block coupling according to ciphertext).
  • Fig which shows the General structure of the block with data and RS-code for error recovery, where:
  • k the total length of the code word, which includes encoded data and parity symbols p.
  • the number of parity symbols is: n - k.
  • t is the maximum number of correctable errors
  • RS (p, k) is a certain kind of correction codes that operates with p-character blocks, k-characters of which represent useful data, and the rest are reserved for parity characters;
  • Fig which shows the dimensions of the nanobar code, depending on the number of characters (the number of characters from one to 2000);
  • Fig. 19 which shows a fragment of a nanobar code, in the form of coordinates of the centers of the modules
  • Fig.20 which shows the decryption mode SHS
  • FIG. 21 which shows the data structure of one message block.
  • Fig. 22 which shows a general view of a nanobar code with different sizes of orienting and code blocks.
  • Fig which shows a variant with the location of the origin in any area of the coordinate plane
  • Fig which shows a filled coordinate plane.
  • the symbol of the proposed 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.
  • the supporting square 4 (Fig. 1) is a field bounded by a frame 2 along the perimeter, at least two modules thick and an empty field 7, in which there may be an inscription.
  • the reference square 4 may contain an image representing a raster monochrome, polychromatic or grayscale graphic object, for example, a logo.
  • the resolution of such a graphic object corresponds to the resolution of the proposed symbolism, while the elementary module of the code 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 indicated graphic object does not affect the readability and decoding of the information 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 25x25 modules, and at least 10x10 modules without the inscription.
  • the central reference square can be represented as a square enclosed in a square frame, with the dividing white frame having 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:
  • the white field surrounding the central square - 8x8 modules the external dimensions of the black frame surrounding the central square and the empty field are 12x12 modules (with a frame thickness of two modules).
  • 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 symmetry axes of the symbol and do not move in the symbol field.
  • Alignment rectangles are intended for aligning 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 rectangle are 1x2 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 the alignment rectangles is Yx.
  • the alignment rectangles 5 are located on a white field located between the boundary of the symbol region and the data region.
  • the white field 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 horizontal rectangles along the horizontal axis can deviate from the central vertical line of symmetry and shift along the entire area of 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 can vary.
  • mapping of the nanobar code can be implemented as follows:
  • the standard are two-dimensional codes, for example, a QR code
  • control file that includes a data recording area and control algorithms for visualization (printer, laser, etc.) algorithms or commands;
  • the ASCII table of 256 characters is used to translate symbolic information into a decimal or hexadecimal number system for further processing by the encryption algorithm, where each character of the encoded message is associated with the position number of this symbol 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.
  • 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.
  • the probabilities must be recalculated for each messages. In general, the probability of occurrence of an element Si is equal to p (sj), the representation of this element will be equal to - log 2 p (Sj) bit.
  • H H
  • the source is in state k, which corresponds to a certain set of probabilities p k (Si) for all elements s ,.
  • the average code length can be calculated by the formula:
  • 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.
  • prefex codes are used.
  • the prefix code words 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.
  • 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.
  • the number of mixing rounds is set to 1.
  • the number of rounds of mixing is provided, with a finite number of rounds equal to q.
  • a message P of length a of characters is divided into ⁇ - e number of blocks, with a volume of m characters in a block, and is encrypted with an algorithm containing q rounds of mixing.
  • 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.
  • Ci s-Pi + Ki (mod 256), where:
  • the key stream does not depend on the characters of 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.
  • the full key stream is equal to the length of the message:
  • the second encryption stage is based on the AES symmetric 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 the mixing steps are 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 cryptographic strength without bias 2 "operations, with bias (2 P )! Operations.
  • the SubBytes operation is a tabular replacement of each byte of the data array, according to the following data. Those. the input values of the sequence are replaced with the corresponding table values. The values of the table are calculated on the basis of well-known polynomials giving an equiprobable distribution of characters after the operation (Table 4).
  • the ShiftRows operation rotates to the left all rows of the data array, with the exception of zero.
  • Multiplication is performed modulo x 4 + 1.
  • the number of rounds of the algorithm R depends on the size of the key, the dependence is presented in table. 5.
  • 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 open text.
  • the last round differs from the previous ones in that the MixColumns operation is not performed in it.
  • 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.
  • 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.
  • 4 * (R + 1) words are formed.
  • the message stream after the first stage of encryption enters the blocks together with the stream of keys (Fig. 11). On each round of encryption, the message is converted and takes the form shown in FIG. 12 and 13.
  • round keys are generated from a common stream key (Fig. 14).
  • Fig. 14 shows the calculated round keys for the message flow presented above.
  • 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 user - entering a code sequence of characters.
  • the length of the stream key is formed equal to the length of the original message.
  • CBC Cipher Block Chaining
  • Co PG, where i are the block numbers, IV is the initialization vector, C, and Pj are the blocks of encrypted and plaintext, respectively, and a is the block encryption function.
  • the number of clutch blocks is equal to the number of ciphertext blocks obtained after the encryption step.
  • Clear text passed through the XOR encryption block with the initialization vector at the output gives ciphertext, which is the input data for the next clutch block.
  • the initialization vector is indicated only for the first clutch block.
  • Source and Result 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.
  • c (x) data (x) * x (n-k) + b (x).
  • a polynomial of dimension 120 (for blocks of length 256), which allows recovering up to 120 errors in a block (Fig. 17).
  • 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 symbolic size is 14, the upper value depends on the amount of information encoded in the code.
  • FIG. 18 shows the sizes of the nanobar code, depending on the number of characters.
  • the nanobar code can be presented 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 processing the material with this technology, using this equipment. As an example, the parameters of a laser pulse installation are given.
  • a nanobar code using the proposed method involves the formation of a nanobar code in a “closed” and “open” form.
  • the formation of a “closed” nanobar code has the above sequence the viability of actions.
  • 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 protection of information.
  • nanobar code 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 the object or item.
  • Fig presents 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:
  • Ci Pi-Ki (mod 256)
  • 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).
  • 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.
  • a 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.
  • service information is in each individual block; there are no separate markers on them. With the loss of recovery information in the block, the entire message does not lose, information is not restored only in this block.
  • 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 (ultra dense) it becomes.
  • the fixed dimensions of the orienting elements during decoding allow:
  • 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 allow recovering 40% of the lost information, 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.).
  • encryption in the first stage occurs at the level of bytes (characters), in the second stage at the level of bits.
  • the second encryption stage is based on the AES symmetric bit encryption algorithm with cipher design changes: between the ShiftRows and MixColunms 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.

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

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

Description

КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ ЦИФРОВОЙ ИНФОРМАЦИИ
В ВИДЕ УЛЬТРАСЖАТОГО НАНОБАР-КОДА
Предлагаемое изобретение относится к способу преобразования (кодирования), де- кодирования и записи цифровой информации для формирования матричного ультрасжа- того двухмерного кода (нанобар-кода), а также к оптически считываемым двухмерным кодам, представляющим двоично-кодированные данные, размещенные на двухмерной матрице и формирующие, таким образом, шаблон для размещения информации. При этом двоично-кодированные данные разбиты на двоичные блоки с криптографически преобра- зованной, упакованной алгоритмами сжатия и дополненной алгоритмами восстановления утраченных данных информацией. Также, предлагаемое изобретение найдет применение в области защиты от подделки изделий массового производства, и, в частности, в области идентификации подлинности товаров в системе защиты от подделок.
Известны различные технические решения в рассматриваемой области.
Так, например, в патенте RU jV<>2321890 (МПК G06Q30/00, опублик. 10.04.2008) ис- пользуют открытый Ν-значный номер, что создает возможности легкого его копирования, а помимо информации о товаре, открытый Ν-значный номер несет в себе дополнительные коды информации (например, рекламные), что при проверке подлинности приведет к по- лучению проверяющим лишней информации, а хранение в базе данных дополнительной информации потребует дополнительных аппаратных средств.
В патенте RU Х°2323474 (МПК G06K1/00, G09F3/00, опублик. 27.04.2008) исполь- зуют многократное скрытое нанесение уникальных номеров под стираемыми непрозрач- ными слоями, однако, при проверке необходимо, помимо уникального номера вводить по- рядковый номер полоски, на которой нанесен упомянутый номер. Введение большого ко- личества цифр может быть затруднительно пользователю при проверке подлинности то- вара.
В патенте RU j\°2183349 (МПК G06K1/12, G06K9/00, опублик. 10.06.2002) исполь- зуют нанесение на стикер большого количества информации, зашифрованной различными способами. При проверке требуется специальная аппаратура, что затрудняет применение данной системы конечными пользователями.
Таким образом, наиболее функциональным является использование штрих-кодов, выполняющих защитную и идентифицирующую функции.
В патенте RU М_2349957 «Смешанный код, и способ и устройство для его генери- рования, и способ и устройство для его декодирования» (МПК G06K19/06, G09F3/02, опублик. 20.03.2009) код представлен физическим или электронным изображением. Рас- положение блоков информации в известном смешанном коде не является рациональным, с точки зрения восстановления информации или захвата изображения кода. При поврежде- нии этих областей невозможно ни сосканировать, ни декодировать код.
Еще один тип машиночитаемого кода, отвечающего уровню современных требова- ний, описан в патенте GB N°2383878 (МПК: B41F9/00; В41М1/10; В41МЗ/14; B42D15/00; B42D 15/10; В65В61/28; G07D7/12; G09F3/00; G09F3/03, опублик. 09.07.2003). Преимуще- ства такого типа кода среди других торговых машиночитаемых кодов заключаются в очень высокой степени заполнения всевозможными отдельными кодами, а также в спо- собности создавать индивидуальные коды. Недостатком указанного патента является от- сутствие уникального дизайна матричного кода (используются известные символики), а также, отсутствие защитных алгоритмов, предотвращающих несанкционированное деко- дирование информации, размещенной в данном машиночитаемом коде.
Известны патенты US JN°6279830 (МПК: G06K17/00; G06K19/00; G06K19/06; G06K7/00; G06K7/10, опублик. 28.08.2001) и US JN°5591956 (МПК: G06K17/00; G06K19/06; G06K7/10; G06K7/14, опублик. 07.01.1997) на различные двухмерные симво- лики. Основными особенностями данных матричных кодов является: достаточно высокая плотность информации, возможность кодирования текстовой, байтовой и цифровой ин- формации. Такие коды содержат блоки данных в виде матрицы чередующихся черных и белых квадратов, блок восстановления информации, блок уплотнения текстовой, байто- вой, цифровой информации. Недостатком известных патентов является, также, отсутствие защитных алгоритмов, предотвращающих несанкционированное декодирование инфор- мации, размещенной в данном машиночитаемом коде. Кроме того, для формирования блоков восстановления информации используются известные алгоритмы.
Общеизвестный способ считывания двухмерного кода включает в себя этапы при- нятия образа двухмерного кода с помощью устройства ввода изображения, например, та- ким как фото- и телекамера, а затем определения положения соответствующего двухмер- ного кода для считывания содержания кода. Для захвата области изображения двухмерно- го кода используются области резкого изменения яркости - нахождение таких областей можно организовать на основе анализа первой и второй производной изображения. Далее, производится фрагментация изображения и выделение отдельных ячеек кода, подлежаще- го дальнейшему анализу и декодированию.
Впоследствии, размер кодовой матрицы получается на основе двухмерного кода, таким образом, можно рассчитать координаты ячейки данных в кодовой матрице. Затем, выносится суждение о том, является ли каждая ячейка данных "0" или "1" (т.е. светлой или темной), при этом, производится преобразование каждой из данных ячеек в символь- ную информацию.
Например, в заявке JP jVsH0212579 (МПК G06 1/12; G06K19/00; G06K19/06; G06 7/10; G06K7/14, опублик. 1990-01-17), являющейся аналогом применения патента US Ν°4939354, описана матрица, состоящая из последовательно выстроенных темных (черных) квадратов и двух пунктирных сторон, состоящих из расположенных поочередно светлых (белых) и темных квадратов. Обнаружение символики осуществляется путем раз- личения профиля линий, а затем определения ориентации матрицы. Недостатком выше- упомянутого способа является следующее. Матрица не всегда постоянна в размере, таким образом, может произойти ошибка в обнаружении ячейки, когда положение ячейки про- гнозируется согласно заданному интервалу. Кроме того, существует возможность того, что именно по той же схеме, что и характеристика четырех периферийных сторон может произойти ошибка в считывании в области данных. Это потребует сложной обработки для операции считывания матрицы. Соответственно, для такой сложной операции чтения по- требуется значительно более длительное время, что затруднит автоматическое считывание и декодирование.
Таким образом, существующие способы формирования двухмерных символик лишь частично решают проблему однозначной идентификации и подтверждения подлин- ности изделия или объекта.
Для защиты информации могут использоваться известные методы защиты инфор- мации, основанные на использовании криптографических алгоритмов. Такие способы предусматривают преобразование информации с использованием криптографических функций и алгоритмов, но, в абсолютном большинстве не предоставляют вариант маши- ночитаемой двухмерной символики.
В заявке на изобретение RU J4&2001117145 (МПК G06F12/14, опублик. 10.06.2003) предложен способ защиты, основанный на формировании ключа, который хранят в памя- ти внешнего устройства, приспособленного для подсоединения к ЭВМ, дешифрировании информации с использованием ключа во внешнем устройстве, при этом, формирование ключа осуществляют непосредственно во внешнем устройстве, а шифрование информа- ции осуществляют с использованием ключа в этом же устройстве. Формирование ключа осуществляют с использованием сигналов псевдослучайной последовательности и сигна- лов внешнего случайного воздействия с последующей автоматической проверкой ключа на отсутствие совпадений с ключами, хранящимися в памяти внешнего устройства. Ключ хранят в памяти внешнего устройства, приспособленного для подсоединения к ЭВМ, де- шифрировании информации с использованием ключа во внешнем устройстве, отличаю- щийся тем, что формирование ключа при обмене информацией между абонентами осуще- ствляют во внешнем устройстве одного из абонентов, шифруют его системным ключом, предварительно записанным в память системного ключа всех устройств абонентов одной серии, и передают зашифрованный ключ другому абоненту, расшифровывают его у друго- го абонента, при этом шифрование информации осуществляют с использованием ключа во внешних устройствах каждого из абонентов.
К недостаткам известного способа можно отнести отсутствие возможности реали- зации способа в случае форс-мажорных обстоятельств, таких, как поломка оборудования у пользователя или выход из строя сегментов оборудования. Также в указанном способе ис- пользуется управляющая последовательность (ключ), которая или короче, или соответст- вует длине сообщения и отсутствует точная оценка для вероятности навязывания ложной информации, таким образом, повышается вероятность взлома или вычисление обходного пути для расшифровывания защищенной информации. Также, отсутствует вариант испол- нения в графической машиносчитываемой форме двухмерного кода.
В патенте RU J422254685 (МПК H04L9/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 при значении параметра преобразования ; равно значению комбинации ал авита, храня- щейся в строке A(vj) кодовой таблицы Тк, адрес которой определяют как по модулю числа N, считывают значение шифрованной комбинации Vj из строки кодовой таблицы Тк с адресом A(vj), при дешифровании зашифрованной комбинации Vj при значе- нии параметра преобразования | определяют значение комбинации, хранящейся в строке адрес A(uj) кодовой таблицы Тк, адрес которой определяют как
Figure imgf000007_0001
по модулю числа N, и считывают значение комбинации Uj из строки кодовой таблицы Тк с адресом А(и .
В известном способе не предусмотрена возможность реализации способа в случае форс-мажорных обстоятельств, таких как поломка оборудования у пользователя или вы- ход из строя сегментов оборудования. Кроме того, этот способ может предусматривать кодирование только на уровне байт, а также не предусматривает вариант исполнения в графической машиносчитываемой форме двухмерного кода.
Известна международная заявка WO2013162402 (МПК G06F21/60; Н03М7/00, опублик. 31.10.2013) «Способ защиты цифровой информации». В известном способе предлагается использовать криптографические алгоритмы для защиты информации при формировании информационного поля. Однако, известный метод кодирования защищен- ной информации не позволяет сформировать шаблон расположения преобразованной ин- формации на матричном поле и, соответственно, исключает возможность автоматизиро- ванного считывания и декодирования информации.
Известный способ основан на принципе формирования системы кодировок из на- бора «0» и «1 », при этом принято, что «1» обозначается факт наличия контрастной ячейки от фона, а «0» - отсутствия ячейки. Кодироваться может любая битовая информация с ис- пользованием латинских символов, цифр, знаков пунктуации, национальных шрифтов, символов псевдографики и т.п., представляя собой в общем виде массив символов. Любой символ из кодировочного массива может быть представлен в виде многоразрядной комби- нации «0» и «1». Например, можно использовать восьмиразрядную систему кодировки символов, т.е. это будет выглядеть так: 00000000, 00000001, 00000010 и т.д. Совокупность кодировочн х значений формируется из генеральной и частной совокупности значений, формирование в данной системе происходит с равновероятным выбором совокупностей без преобладания одной из них. Причем, формирование массивов происходит независимо друг от друга, а источником формирования генератора случайных чисел является крипто- графическая функция. Принцип действия защиты информации состоит в следующем. Су- ществует сообщение, состоящее из п символов (al, bl,....zl) и содержащее m повторений символов (al,a2...am). Существуют количество совокупностей Ai, равное Q, присвоения символам сообщения (al, bl,....zl), случайным образом кодирующих значений из Ai сово- купности, где i принадлежит множеству (1...Q). Установление соответствия кодовых зна- чений символам в совокупностях (Α1...ΑΪ) происходит случайным образом. Первому символу al случайным образом присваивается значение из совокупности Ai. Символу an присваивается значение из совокупности Ai-1, причем выбор совокупности из диапазона (Α1...ΑΪ) происходит также случайным образом. По аналогии, происходит присвоение значений остальным символам (bl, cl ...zl). В то же время, одному и тому же символу ал в разных частях сообщения может быть присвоено значение из совокупности А1 β раз, оп- ределение количества β раз повторений символов an происходит также случайным обра- зом.
Известный способ предлагает метод защиты информации, способ ее преобразова- ния при кодировании и шифровании, а также предлагает некоторое графическое изобра- жение сформированного нанобар-кода. Однако, такое изображение нанобар-кода не по- зволяет стандартизировать его матрицу и предложить машинные способы его считывания и декодирования. Кроме того, в алгоритме формирования прототипа не предусмотрено формирование избыточной информации, позволяющей восстанавливать утраченную ин- формацию.
Также, известен патент RU J422251734 «Машиночитаемый код, способ и устройство кодирования и декодирования» (МПК G06K9/18, G06K7/10, G06K19/06, G06K1/12, опуб- лик. 10.05.2005), который по совокупности своих существенных признаков является наи- более близким к предлагаемому изобретению, и принят за п р о т о т и п. Известное изо- бретение относится к кодированию данных с представлением их в виде кода с использо- ванием компоновки ячеек с различными цветами, формами или конфигурациями. Способ включает следующие действия: установку таблицы преобразования кода, установку тре- буемых данных, кодирование требуемых данных, установку области контроля четности и получение изображения в виде физического или электронного кода.
Основные достоинства предлагаемого изобретения, по сравнению с прототипом: корреляция компактности с емкостью; нанобар-код более устойчив к повреждениям ин- формации; возможность восстановления большего объема утраченной информации; воз- можность шифрования информации; много вариантов реализации.
Кроме того, имеется возможность восстановления данных, имеются опорные элементы в структуре кода для распознавания и выравнивания информации. Шифро- вание информации происходит с возможностью нанесения на любую поверхность.
Таким образом, основной целью предлагаемого изобретения является разработка способа кодирования и декодирования цифровой информации в виде ультрасжатого нанобар-кода, с возможностью шифрования информации, устойчивого к повреждениям и имеющего множество вариантов реализации.
Техническим результатом, достигаемым при использовании предлагаемых спосо- бов, является повышение надежности кодирования информации за счет введения опера- ции шифрования, возможности восстановления данных в случае их утери, а также расширение функциональных возможностей.
Достигается технический результат тем, что в способе кодирования цифровой ин- формации в виде ультрасжатого нанобар-кода, включающего прием подлежащей кодиро- ванию информации, кодирование информации с использованием таблицы кодового пре- образования и получение кодового сообщения на носителе информации в виде физическо- го или электронного кода, согласно изобретению, после кодирования информации осуще- ствляют ее шифрование, сжатие и добавление избыточной информации для восстановле- ния в случае ее утраты.
Шифрование информации осуществляют с использованием криптографических ал- горитмов в два этапа, на первом этапе шифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта ин- формации, на втором этапе шифрование осуществляют на уровне битов на основе сим- метричного битового алгоритма шифрования AES.
Сжатие информации осуществляют на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывают только для этого блока и пересчитывают для каждого блока, для получения кодового сообщения осуществляют формирование структуры закодированных данных.
Дополнительными отличиями предлагаемого способа является следующее. Коли- чество раундов перемешивания при шифровании на уровне байтов равняется 1, получен- ная последовательность зашифрованного сообщения переводится в 16-тиричную систему счисления и передается на этап второй битового шифрования. Для первого этапа шифро- вания используется таблица значений 256 на 256 символов или 256 таблиц по 256 пози- ций, при этом, количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII. На втором этапе шифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на η-e количество блоков объемом m символов в блоке и шифруется с алго- ритмом, содержащим q раундов перемешивания. При шифровании на битовом уровне на всех раундах шифрования осуществляют изменение дизайна шифра, а именно, между операциями ShiftRows и MixColumns производят сдвиг блоков, с сохранением механизма формирования раундовых ключей и этапов перемешивания.
При этом, формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержащего область фона, область ориен- тирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных яв- ляются контрастными по отношению к изображению области фона. Область ориенти- рующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода. Область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга. Внутри опорного квадрата может быть размещена любая над- пись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону. Центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.
Также структура закодированных данных может быть сформирована в виде физи- ческого или электронного изображения набора координат на координатной плоскости.
Во втором варианте реализации предлагаемого способа кодирования цифровой ин- формации в виде ультрасжатого кода - нанобар-кода, включающем прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодово- го преобразования и получение кодового сообщения на носителе информации в виде фи- зического или электронного кода, предлагается после кодирования информации осуще- ствлять ее сжатие и добавление избыточной информации для восстановления в случае ее утраты.
Сжатие информации предлагается осуществлять на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой инфор- мации рассчитывать только для этого блока и пересчитывать для каждого блока, для по- лучения кодового сообщения осуществлять формирование структуры закодированных данных.
При этом, формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержащего область фона, область ориен- тирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных яв- ляются контрастными по отношению к изображению области фона. Область ориенти- рующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода. Область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга. Внутри опорного квадрата может быть размещена любая над- пись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону. Центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.
Также структура закодированных данных может быть сформирована в виде физи- ческого или электронного изображения набора координат на координатной плоскости.
Технический результат достигается также тем, что в способе декодирования цифро- вой информации в виде ультрасжатого кода, включающем считывание закодированных данных с кода, выбор полезной информации, декомпрессию, дешифрование и декодиро- вание этой информации с использованием таблицы кодового преобразования, согласно изобретению, дешифрование информации осуществляют с использованием обратной функции криптографического преобразования в два этапа, на первом этапе дешифрова- ние осуществляют на уровне битов на основе симметричного битового алгоритма шифро- вания AES. На втором этапе дешифрование проводят на уровне байтов с помощью поли- алфавитного байтового шифра с различным значением сдвига для каждого байта инфор- мации. Декомпрессию информации осуществляют на основе методов оптимальных кодов, на основе суммы полученных вероятностей на этапе компрессии, с вычисление вероятно- стей исходных кодовых слов. Утраченную информацию восстанавливают с помощью ал- горитмов восстановления информации на основе избыточной информации, записанной при формировании кода.
Количество раундов перемешивания при дешифровании на уровне байтов равняется 1, полученная последовательность зашифрованного сообщения переводится в 16- тиричную систему счисления и передается на этап второй битового дешифрования.
Для дешифрования на уровне байтов используется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом, количество полей таблицы соответст- вует количеству полей кодировочной таблицы ASCII.
На первом этапе дешифрования (битовом шифровании) количество раундов пере- мешивания является конечным и равно q, при этом сообщение Р длиной а символов раз- бивается на η-e количество блоков объемом m символов в блоке и дешифруется с алго- ритмом, содержащим q раундов перемешивания.
При дешифровании на битовом уровне на всех раундах шифрования осуществляют изменения дизайна шифра, а именно, между операциями ShiftRows и MixColumns произ- водят сдвиг блоков, с сохранением механизма формирования раундовых ключей и этапов перемешивания.
Во втором варианте реализации способа декодирования цифровой информации в виде ультрасжатого кода, включающем считывание закодированных данных с кода, вы- бор полезной информации, декомпрессию и декодирование этой информации с использо- ванием таблицы кодового преобразования предлагается декомпрессию информации осу- ществлять на основе методов оптимальных кодов, причем вероятности встречаемости ко- довых слов для каждого блока декодируемой информации рассчитывать только для этого блока. Утраченную информацию восстанавливать с помощью алгоритмов восстановления информации на основе избыточной информации, записанной при формировании кода.
Сущность предлагаемого изобретения поясняется следующими фигурами:
фиг.1, на которой представлен общий вид нанобар-кода, где:
1 - указатель на количество ячеек и столбцов в символике,
2 - рамка опорного квадрата,
3 - поле кодовых слов,
4 - опорный квадрат,
5 - выравнивающие прямоугольники,
6 - рамка границы кода,
7 - пустое поле;
8 - фон;
фиг.2, где представлен предпочтительный вариант опорного квадрата с надписью; фиг.З, где представлен вариант опорного квадрата без надписи;
фиг.4, где представлен общий вид выравнивающего прямоугольника;
фиг.5, где представлен общий вид положения верхнего выравнивающего прямо- угольника между границей символики и полем информации;
фиг.6, где представлено изображение нанобар-кода, полученное с углом поворота, равным а. Причем, а - произвольный угол поворота изображения нанобар-кода относи- тельно осей координат ОХ и OY. Используется для корректировки кода относительно осей для корректного получения потока данных и дальнейшего декодирования.
фиг.7, где показан откорректированный угол поворота символики, относительно осей ОХ и OY;
фиг.8, где представлены вероятности встречаемости символов русского алфавита, без учета вероятностей в отдельном тексте; фиг.9, где представлена схема второго этапа шифрования, на основе симметрично- го шифра;
фиг.10, где представлена схема изменения передачи информации между функция- ми шифрования ShiftRows и MixColumns (изменения дизайна шифра, по сравнению с ана- логичным симметричным шифром AES);
фиг.11 , где представлен блок сообщения и блок ключа перед первым раундом вто- рого этапа шифрования;
фиг.12, где представлены рассчитанные значения шифруемого текста одного блока после различных раундовых операций раундов шифрования (со второго по шестой);
фиг.13, где представлены рассчитанные значения шифруемого текста одного блока после различных раундовых операций раундов шифрования (с шестого по десятый);
фиг.14, где представлены рассчитанные значения генерации раундовых ключей из общего ключа сообщения (с первого по четвертый раунды и на десятом раунде);
фиг.15, где показан режим связывания блоков в режиме СВС (Cipher Block Chaining - сцепление блоков по шифротексту).
фиг.16, где показана общая структура блока с данными и RS-кодом для восстанов- ления ошибок, где:
п - символы четности,
к - полная длина кодового слова, включающего в себя кодируемые данные и символы чет- ности п. Количество символов четности равно: п - к.
t - максимальное количество исправляемых ошибок,
2t - общее количество символов четности,
RS (п, к) - определенная разновидность корректирующих кодов, оперирующая с п- символьными блоками, k-символов из которых представляют полезные данные, а все ос- тальные отведены под символы четности;
фиг.17, где представлен полином размерностью 120 символов (для блоков длиной 256 байт).
фиг.18, где показаны размеры нанобар-кода, в зависимости от количества символов (количество символов от одного до 2000);
фиг.19, где представлен фрагмент нанобар-кода, в виде координат центров моду- лей;
фиг.20, где показано расшифрование в режиме СВС;
фиг.21, на которой представлена структура данных одного блока сообщения. фиг.22, где показан общий вид нанобар-кода с различными размерами ориенти- рующего и кодового блоков.
фиг.23, где показано расположение начала координат на координатной плоскости в ее центре;
фиг.24, где показан вариант с расположением начала координат в любой области координатной плоскости;
фиг.25, где представлена заполненная координатная плоскость.
Символ предлагаемого кода (нанобар-кода) располагается на фоне 8 (фиг. 1) и со- ставлен из графических элементов, представляющих собой единичный квадрат или эле- ментарный модуль кода. Причем размер элементарного модуля кода может быть размерно равен выбранному разрешению (dpi) формирования символики или пропорционален раз- решению символики.
На фиг.2 опорный квадрат 4 (фиг.1) представляет собой поле, ограниченное рамкой 2 по периметру, толщиной минимум в два модуля и пустое поле 7, в котором может нахо- диться надпись. Помимо надписи, опорный квадрат 4 может содержать изображение, представляющее собой растровый монохромный, полихромный или выполненный в гра- дациях серого графический объект, например, логотип. Разрешение такого графического объекта соответствует разрешению предлагаемой символики, при этом элементарный мо- дуль кода пропорционален одному пикселю графического объекта. Размеры объекта рас- считываются, исходя из минимального размера опорного квадрата 4 с надписью. Цветное графическое изображение может состоять из оттенков стандартной палитры, графическо- му объекту могут быть присвоены атрибуты. Указанный графический объект не влияет на считываемость и декодирование информации, находящейся в нанобар-коде, но несет, при этом, дополнительный экспертный признак подлинности как самой символики, так и объ- екта, на который она нанесена. Минимальный размер опорного квадрата 4, содержащего надпись по внешнему периметру равен 25x25 модулей, и не менее 10x10 модулей - без надписи.
Центральный опорный квадрат может быть представлен в виде квадрата, заклю- ченного в квадратную рамку, при этом разделительная белая рамка имеет толщину мини- мум четыре модуля (фиг.З). Размеры элементов опорного квадрата 4 могут принимать различные размеры. Ниже приведены минимальные размеры:
центрального квадрата - 2x2 модуля,
белого поля, окружающего центральный квадрат - 8x8 модулей, внешние размеры черной рамки, окружающей центральный квадрат и пустое поле - 12x12 модулей (при толщине рамки в два модуля).
Размеры центрального квадрата, рамки 2, пустого поля 7 могут изменяться в раз- личную сторону. Опорные квадраты располагаются на пересечении осей симметрии сим- волики и не перемещаются в поле символики.
Выравнивающие прямоугольники (фиг.4) предназначены для выравнивания кода при съемке относительно осей X и Y (фиг.6 и фиг.7). Размер прямоугольника равен моду- лю кода. Минимальные размеры прямоугольника 1x2 модуля. Размеры прямоугольника могут изменяться в зависимости от размеров кода и соотношения его элементов. Рекомен- дуемое соотношение сторон выравнивающих прямоугольников равняется Уг.
Выравнивающие прямоугольники 5 (фиг.1) располагаются на белом поле, располо- женном между границей области символики и области данных. Белое поле имеет мини- мальную ширину в три модуля. Ширина поля может меняться, в зависимости от размеров символики и отношений ее опорных элементов. Расположение выравнивающих горизон- тальных прямоугольников по горизонтальной оси может отклоняться от центральной вер- тикальной линии симметрии и смещаться по всей области пустого поля вдоль горизон- тальной плоскости перемещения. Минимальное количество выравнивающих прямоуголь- ников по каждой из сторон символики - 1. В зависимости от количества информации и размеров символики, количество выравнивающих прямоугольников может изменяться.
Отображение нанобар-кода может быть реализовано следующим образом:
визуализирован в виде изображения, составленного из светлых и темных ячеек (элементарных модулей), аналогом являются стандартные двухмерные коды, например, QR-код;
представлен в виде массива (потока) защищенных данных (аналогом является сис- тема защиты информации Крипто С);
визуализирован в виде координат центров элементарных модулей;
представлен в виде управляющего файла, включающего в себя область записи дан- ных и управляющие устройством для визуализации (принтер, лазерная установка и др.) алгоритмы или команды;
реализован в виде исполняемого компьютерного файла.
Пример реализации нанобар-кода в виде координат (фрагмент координатной плос- кости) представлен в таблице 1.
Таблица 1. x= 3,33 У= 3,27
x= 3,36 У= 3,27
x= 3,39 У= 3,27
x= 3,42 У= 3,27
x= 3,45 У= 3,27
x= 3,48 У= 3,27
x= 3,51 У= 3,27
x= 3,54 = 3,27
x= 3,57 У= 3,27
x= 3,60 У= 3,3
x= 3,70 У= 3,3
x= 3,71 У= 3,3
x= 3,76 У= 3,3
x= 3,80 y= 3,3
x= 3,84 = 3,3
x= 3,87 y= 3,3
x= 3,90 y= 3,3
x= 3,93 y= 3,3
Для кодирования символьной информации используется таблица ASCII 256 симво- лов - для перевода символьной информации в десятиричную, либо шестнадцатиричную систему счисления для дальнейшей обработки алгоритмом шифрования, где каждому символу кодируемого сообщения сопоставляется номер позиции данного символа в таб- лице ASCII. Используется первая половина таблицы ASCII международного формата с 0 по 127 символ. Вторая половина таблицы ASCII содержит кириллические символы и псевдографику места с 128-256.
После шифрования данные сжимаются алгоритмом, основанном на методе исполь- зования оптимальных кодов, с тем отличием, что вероятности для каждого поступающего сообщения рассчитываются только для этого сообщения. Т.е. существуют вероятности встречаемости букв русского алфавита, определенные на множестве текстов, но в выборке текстов состоящей из одного текста вероятности встречаемости букв могут отличаться от всей определенной вероятности на большей совокупности текста. Для наиболее опти- мального достижения компрессии вероятности необходимо пересчитывать для каждого сообщения. В общем виде, вероятность появления элемента Si равна p(sj), представление этого элемента будет равно— log2p(Sj) бит. Если при кодировании длина всех элементов будет приведена к log2p(sj) битам, то длина всей кодируемой последовательности будет минимальной для всех возможных методов кодирования. При этом, если распределение вероятностей всех элементов F = {p(si)} неизменно, и вероятности элементов взаимно не- зависимы, средняя длина кодов может быть рассчитана как: н
Значение Н является энтропией распределения вероятностей F, или энтропией ис- точника в заданный момент времени. Однако, вероятность появления элемента не может быть независимой, напротив, она находится в зависимости от различных факторов. В этом случае, для каждого нового кодируемого элемента Sj распределение вероятностей F при- мет некоторое значение Fk, то есть для каждого элемента F= Fk и Н= Н|<.
Иными словами, можно сказать, что источник находится в состоянии к, которому соответствует некий набор вероятностей pk(Si) для всех элементов s,. Учитывая это, сред- нюю длину кода можно рассчитать по формуле:
Н где Рк— вероятность нахождения источника в состоянии к.
На фиг.8 представлены вероятности встречаемости символов русского алфавита, без учета вероятностей в отдельном тексте.
Определение последовательности кодовых значений
Аналогичных образом, кодируются данные бинарного вида, с тем отличием, что для каждого сообщения строится таблица кодовых слов. Рассчитывается вероятность по- лученных кодовых слов в сообщении. Для получения однозначно декодируемых опти- мальных кодов используются префексные коды. По бинарному графу определяются пре- фексные кодовые слова, и сообщение перекодируется, для получения оптимальной длины кода. В таблице 2 представлена возможность кодирования слов А1-А4 с различной длиной последовательности бит.
Таблица 2.
Кодовое слово Представление в бинарном виде
А1 0
А2 1
Figure imgf000018_0001
Шифрование текстовой информации
Способ шифрования, используемый в нанобар-коде, представляет собой блочный симметричный алгоритм шифрования. Блок шифрования предусматривает шифрование на первом этапе на уровне байтов (символов), а на втором этапе - на уровне битов. На пер- вом этапе шифрования, на уровне байтов, предусмотрено количество раундов перемеши- вания, равное 1. На втором этапе шифрования, на уровне битов, предусмотрено количест- во раундов перемешивания, с конечным числом раундов, равное q. Сообщение Р длиной а символов разбивается на η-e количество блоков, объемом m символов в блоке, и шифрует- ся с алгоритмом, содержащим q раундов перемешивания. Для первого этапа шифрования на уровне байт используют таблицу значений 256*256 символов (256 таблиц по 256 пози- ций), при этом, количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII.
Используются формулы для кодирования символьного сообщения:
Ci s-Pi+Ki (mod 256), где:
Р = ΡιΡ2Ρ3 - кодовые слова сообщения
С = С)С2Сз - полученные значения сообщения
k = [(ki,k2), (к3,к4),... (kn,km)] - потоковые ключи
Поток ключей не зависит от символов исходного текста, он зависит только от по- зиции символа в исходном тексте. Другими словами, поток ключей может быть создан без знания сути исходного текста.
Для примера, закодируем исходный текст "Sheis listening ":
Выберем генератор потока ключей - ключевое слово "PASCAL".
Полный поток ключей равен длине сообщения:
(1 12, 97, 115, 99, 97, 108, 112, 97, 115, 99, 97, 108, 1 12, 97).
Поток значений зашифрованного сообщения:
(217, 201, 216, 204, 213, 216, 217, 213, 231, 200, 207, 213, 222, 200)
Поток в 16-тиричной системе счисления:
(С9, D8, СС, D5, D8, D9, С9, D5, Е7, С8, CF, D5, DE, С8)
Для удобства восприятия, сведем данные в таблицу 3.
Таблица 3. Исходный s h е i s 1 i s t е п i п g текст
Значения Р 115 104 101 105 115 108 105 115 1 16 101 ПО 105 ПО 103
Поток клю- 1 12 97 1 15 99 97 108 112 97 1 15 99 97 108 1 12 97 чей
Значения С 217 201 216 204 213 216 217 213 231 200 207 213 222 200
Hex С9 D8 СС D5 D8 D9 С9 D5 Е7 С8 CF D5 DE С8
Второй этап шифрования основан на симметричном битовом алгоритме шифрова- ния AES (фиг.9) с изменениями дизайна шифра: между операциями ShiftRows и MixColumns происходит сдвиг блоков, с сохранением механизма формирования раундо- вых ключей и этапов перемешивания (фиг.10). Сдвиг блоков между операциями ShiftRows и MixColumns позволяет повысить криптостойкость алгоритма. Оценка увеличения крип- тостойкости без смещения 2" операций, со смещением (2П)! операции.
Операция SubBytes представляет собой табличную замену каждого байта массива данных, согласно следующим данным. Т.е. входные значения последовательности заме- няются на соответствующие табличные значения. Значения таблицы рассчитаны на основе известных многочленов, дающих равновероятное распределение символов после операции (табл.4).
Таблица 4.
63* 7С 77 7В F2 6B 6F C5 30 01 67 2B FE D7 AB 76
СА 82 С9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 CO
В7 FD 93 26 36 3F F7 CC 34 A5 E5 Fl 71 D8 31 15
04 С7 23 СЗ 18 96 05 9A 07 12 80 E2 EB 27 B2 75
09 83 2С 1А IB 6E 5A AO 52 3B D6 B3 29 E3 2F 84
53 D1 00 ED 20 FC Bl 5B 6A CB BE 39 4A 4C 58 CF
D0 EF АА FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8
51 A3 40 8F 92 9D 38 F5 ВС B6 DA 21 10 FF F3 D2
CD ОС 13 ЕС 5F D7 44 17 C4 A7 7E 3D 64 5D 19 73
60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB
Е0 32 ЗА OA 49 06 24 5C C2 D3 AC 62 91 95 E4 79
Е7 С8 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08
ВА 78 25 2Е 1С A6 B4 C6 E8 DD 74 IF 4B BD 8B 8A 70 3E B5 66 48 03 F6 OE 61 35 57 B9 86 CI ID 9E
El F8 98 11 69 D9 8E 94 9B IE 87 E9 CE 55 28 DF
8C Al 89 0D BF E6 42 68 41 99 2D OF BO 54 BB 16
Операция ShiftRows выполняет циклический сдвиг влево всех строк массива дан- ных, за исключением нулевой. Сдвиг i-й строки массива (для 1 = 1, 2, 3) производится на i байт.
Операция MixColumns выполняет умножение каждого столбца массива данных, ко- торый рассматривается как полином в конечном поле GF(28) на фиксированный поли- ном а(х):а(х) = Зх3 + х2 + х + 2.
Умножение выполняется по модулю х4 + 1.
Операция AddRoundKey выполняет наложение на массив данных материала ключа, а именно, на i-й столбец массива данных (i = 0...3) побитовой логической операцией «ис- ключающее или» (XOR) накладывается определенное слово расширенного ключа W4r+j, где г - номер текущего раунда алгоритма, начиная с 1 (процедура расширения ключа бу- дет описана ниже).
Количество раундов алгоритма R зависит от размера ключа, зависимость представ- лена в табл. 5.
Таблица 5.
Figure imgf000020_0001
Перед первым раундом алгоритма выполняется предварительное наложение мате- риала ключа с помощью операции AddRoundKey, которая выполняет наложение на от- крытый текст первых четырех слов расширенного ключа W0... W3.
Последний раунд отличается от предьщущих тем, что в нем операция MixColumns не выполняется.
Количество возможных раундов шифрования размеров блоков и размеров ключа представлено в табл.6. Таблица 6.
Figure imgf000021_0001
Расширение ключа: алгоритм использует ключи шифрования трех фиксированных размеров: 128, 192, и 256 бит. Задача процедуры расширения ключа состоит в формирова- нии нужного количество слов расширенного ключа для их использования в операции AddRoundKey. Под «словом» здесь понимается 4-байтный фрагмент расширенного ключа, один из которых используется в первичном наложении материала ключа и по одному - в каждом раунде алгоритма. Таким образом, в процессе расширения ключа формируется 4*(R+1) слов. Расширение ключа выполняется в два этапа, на первом из которых произво- дится инициализация слов расширенного ключа (обозначаемых как Wj): первые Nk (Nk - размер исходного ключа шифрования К в словах, т.е. 4, 6 или 8) слов Wj (т.е. i = O...Nk-l) формируются их последовательным заполнением байтами ключа.
Для примера, зашифруем блок данных, размером 128, с использованием десяти ра- ундов шифрования и размером ключа 128 бит.
Сообщение: 32 88 31 еО 43 5а 31 37 f6 30 98 07 а8 8da2 34
Ключ сообщения: 2Ь 28 ab 09 7е ае f7 cf 15 d2 15 4f 16 аб 88 Зс
Поток сообщения после первого этапа шифрования поступает в блоки вместе с по- током ключей (фиг. 11). На каждом раунде шифрования сообщение преобразуется и при- нимает вид, представленный на фиг. 12 и 13.
В итоге, на выходе, последовательность зашифрованного сообщения выглядит как:
39 02 dc 19 25 dc 11 6а 84 09 85 0b Id fb 97 32
На каждом этапе шифрования из общего потокового ключа формируются раундо- вые ключи (фиг.14).
Пример формирования раундовых ключей.
На фиг.14 показаны рассчитанные раундовые ключи для потока сообщения, пред- ставленного выше. Здесь, как и в случае с этапом байтового шифрования, длина ключа равна длине сообщения. Общее количество раундов шифрования равно одиннадцати (включая первый этап). Ключ для байтового и битового блоков шифрования генерируется пользователем - вводом кодовой последовательности символов. При этом, длина потоко- вого ключа формируется равной длине исходного сообщения.
Для сцепления блоков друг с другом используется режим CBC(Cipher Block Chaining - сцепление блоков по шифротексту), представленный на фиг.15. Каждый блок открытого текста побитово складывается по модулю два с предыдущим результатом пгиф- рования.
В общем виде, шифрование может быть описано следующим образом:
Со = ГУ где i— номера блоков, IV— вектор инициализации, С, и Pj— блоки зашифрованного и открытого текстов соответственно, а — функция блочного шифрования.
Количество блоков сцепления равно количеству блоков шифротекста, полученного после этапа шифрования. Открытый текст, пропущенный через блок шифрования XOR-ся с вектором инициализации на выходе дают шифротекст, который является входными дан- ными для следующего блока сцепления. Вектор инициализации указан только для первого блока сцепления.
Процедура обнаружения и коррекции ошибок
Для обнаружения ошибок используется частный случай БХЧ-кодов (Коды Боуза— Чоудхури— Хоквингхема). В теории кодирования - это широкий класс циклических ко- дов, применяемых для защиты информации от ошибок), с уровнем восстановления оши- бок до 40% утраченной информации (фиг.16). Предпочтительный алгоритм формирования избыточной информации состоит из следующих шагов:
1) К исходному информационному слову D справа добавляется к нулей, получается слово длины n = m + г и полином Xr * D, где m - длина информационного слова;)
2) Полином Xr * D делится на порождающий полином G, и вычисляется остаток от деления R, такой что: Xr * D = G * Q + R, где Q - частное, которое отбрасывается.
3) Остаток R добавляется к информационному слову D, получается кодовое слово С, информационные биты которого хранятся отдельно от контрольных бит. Остаток, ко- торый получается в результате деления - корректирующий код.
4) Информационное слово + корректирующие коды можно записать так: Т = Хг * D + R = GQ. Стоит отметить, что все операции выполняются в конечных полях Галуа GF (2").
Кодируемые данные передаются через массив data[i], где i=0..(k-l), а сгенериро- ванные символы четности заносятся в массив b[0]..b[2*t-l]. Исходные и результирующие данные представлены в полиномиальной форме. Кодирование производится с использова- нием сдвигового feedback-регистра, заполненного соответствующими элементами масси- ва, с порожденным полиномом внутри.
с(х) = data(x)*x(n-k) + b(x).
Формула образующего полинома для генерации прямого и обратного GF (2П):
хл8 + хА4 + хл3 + хл2 + 1.
Полином размерностью 120 (для блоков длиной 256), позволяющий восстанавли- вать до 120 ошибок в блоке (фиг.17).
Размеры кода изменяются в зависимости от количества кодируемых данных. Ми- нимальный размер символики, при кодировании одного символа не изменяется в диапазо- не от 1 до 100 символов. Минимальное размер символики составляет 14, верхнее значе- ние зависит от количества информации, закодированной в коде.
Фиг. 18 показывает размеры нанобар-кода, в зависимости от количества символов.
Нанобар-код может быть представлен, как в графическом формате, в виде растро- вого или векторного изображения, так и виде управляющего файла. Управляющий файл содержит координаты расположения ячеек, относительно центра символики, и координа- ты векторных объектов (фиг.1 , фиг.4,), а также технические параметры обработки мате- риала данной технологией, с использованием данного оборудования. В качестве примера приведены параметры лазерной импульсной установки.
BOX -7.2600000000,7.1400000000
BOX -7.2300000000,7.1100000000
BOX -7.2000000000,7.0800000000
BOX -7.1700000000,7.0500000000
BOX -7.1400000000,7.0200000000
BOX -7.1100000000,6.9900000000
BOX -7.0800000000,6.9600000000
BOX -7.0500000000,6.9300000000
BOX -7.0200000000,6.9000000000
BOX -6.9900000000,6.8700000000
vpa -3.3300000000,3.2700000000
laseron
delay 100
laseroff
vpr 0.0300000000,0 laseron
delay 100
laseroff
vpr 0.0300000000,0
laseron
delay 100
laseroff
vpr 0.0300000000,0
laseron
delay 100
laseroff
vpr 0.0300000000,0
laseron
delay 100
laseroff
vpr 0.0300000000,0
При формировании нанобар-кода следует учитывать, что рекомендуемая последо- вательность действий следующая:
• Кодирование и перевод информации с бинарный вид;
• Шифрование;
• Архивирование;
• Добавление избыточной информации для восстановления утраченных дан- ных;
• Расположение на поле символики.
При изменении порядка следования функции, не гарантируется оптимальное соот- ношение между объемом закодированной (зашифрованной) информации и возможностью полного восстановления данных.
Рекомендуется функцию восстановления информации выполнять последней, в лю- бом другом случае корректное восстановление информации, в случае частичного искаже- ния не гарантируется.
Также, необходимо отметить, что формирование нанобар-кода с использованием предлагаемого способа предусматривает формирование нанобар-кода в «закрытом» и «от- крытом» виде. Формирование «закрытого» нанобар-кода имеет указанную выше последо- вательность действий. При формировании «открытого» нанобар-кода предпочтительный пункт «Шифрование» может быть исключен, и, таким образом, получен двухмерный ма- шиносчитываемый код, использующийся в традиционных схемах логистики и идентифи- кации, не предусматривающих специальную защиту информации.
Кроме того, следует учитывать ограничения на объем кодируемой и шифрованной информации, размещаемой в нанобар-коде, обуславливается это целесообразностью при- менения нанобар-кода, в том или ином случае. Таким образом, обеспечивается макси- мальная информативность предлагаемого нанобар-кода, а также возможность формиро- вать «закрытые» или «открытые» локальные базы данных, связанные с объектом или из- делием.
Рекомендуемый способ декодирования
На фиг.20 представлен процесс дешифровки блоков зашифрованных в режиме СВС. После, выполняется дешифрования на битовом и байтовом уровнях, в общем виде, процесс дешифрования можно представить тремя выражениями:
Figure imgf000025_0001
2 Е^(ЕК(М)) = М
, Ci=Pi-Ki (mod 256)
где i— номера блоков
и Pi— блоки зашифрованного и открытого текстов соответственно
Dk - функция зависящая от входного блока Q
Ек— функция блочного шифрования
Ек"1 - обратная функция функции блочного шифрования
К - потоковые ключи
Kj - потоковый i-тый ключ
Р - кодовые слова сообщения
(mod 256) - целочисленный остаток от деления на 256
Структура передаваемых данных
Структура символа, включающая в себя поле с записью информации, включающее в себя область записи, которая состоит из блоков, отдельный блок содержит служебную информацию, 4 байта - длина кода (фиг.21).
При использовании формата графического изображения передаются следующие данные:
- Cypher (1 байт) - тип шифрования (1 - без шифрования, 2 - шифрование); - Extension (строка) - расширение исходного файла.
При использовании формата управляющий файл передаются следующие данные:
- Устройство (строка) (устройство для вывода нанобар-кода);
- Материал (строка) (данные по материалу, на который наносится нанобар-код);
- Cypher (1 байт) - тип шифрования (1 - без шифрования, 2 - шифрование AES);
- Extension (строка) - расширение исходного файла.
Таким образом, предложенный способ позволяет формировать как закрытый, т.е. с закодированной и зашифрованной информацией, так и открытый, т.е. только с закодиро- ванной информацией нанобар-код.
Преимущества предлагаемого нанобар-кода:
используется два уровня кодирования (до и после шифрования), а также уникаль- ный способ расположения элементарных ячеек (расположения информационных блоков), позволяющий уплотнить информацию, по сравнению с известными кодами.
При сравнении с QR-Code, при большом объеме кодируемой информации (в при- мере - максимальный размер QR-Code) для нанобар-кода в области полезной информации преимущество очевидно (см. табл.7).
Таблица 7.
Figure imgf000026_0001
QR-code (как и другие) имеет фиксированное положение вспомогательной инфор- мации, системная информация дублируется, а в случае утери обоих блоков служебной информации, декодировать код невозможно. В нанобар-коде служебная информация находится в каждом отдельном блоке, от- дельных маркеров на них нет. При утере восстановительной информации в блоке, не про- исходит утраты всего сообщения, информация не восстанавливается только в этом блоке.
Дополнительным преимуществом нанобар-кода является корреляция компактности кода с его емкостью. Т.е., чем больше информации содержит нанобар-код, тем более плот- ным (ультраплотным) становится. Кроме того, фиксированные размеры ориентирующих элементов при декодировании позволяют:
- точно определять позицию блока с полезной информацией;
- определять кратность строк и столбцов ячеек (модулей) для однозначного форми- рования массива данных.
Таким образом, нанобар-код более устойчив к повреждениям областей служебной информации. Также необходимо отметить, что используемые алгоритмы восстановления информации, используемые при формировании нанобар-кода лучше, т.к. позволяют вос- станавливать 40% утраченной информации, тогда как QR-Code и Data Matrix восстанавли- вают лишь 35%.
Преимуществом предлагаемых способов является применение высокоуровневого кодирования данных, при котором информация, обработанная алгоритмами шифрования сжимается методом оптимальных кодов, при этом вероятности для каждого поступающего сообщения рассчитываются только для этого сообщения (т.е. существуют вероятности встречаемости букв русского алфавита, определенные на множестве текстов, но в выборке текстов, состоящей из одного текста, вероятности встречаемости букв могут отличаться от всей определенной вероятности на большей совокупности текста.).
Преимущество применения шифрования текстовой информации в предлагаемом способе: шифрование на первом этапе происходит на уровне байтов (символов), на втором этапе на уровне битов. Кроме того, второй этап шифрования основан на симметричном битовом алгоритме шифрования AES с изменениями дизайна шифра: между операциями ShiftRows и MixColunms происходит сдвиг блоков, с сохранением механизма формирова- ния раундовых ключей и этапов перемешивания, что позволяет повысить криптостойкость способа.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ кодирования цифровой информации в виде ультрасжатого кода - нанобар*кода, включающий прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодового преобразования и получение кодового сообщения на носителе информации в виде физического или электронного кода,
отличающийся тем, что после кодирования информации осуществляют ее шифро- вание, сжатие и добавление избыточной информации для восстановления в случае ее ут- раты,
- шифрование информации осуществляют с использованием криптографических алго- ритмов в два этапа, на первом этапе шифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта ин- формации, на втором этапе шифрование осуществляют на уровне битов на основе сим- метричного битового алгоритма шифрования AES,
- сжатие информации осуществляют на основе методов оптимальных кодов, причем ве- роятности встречаемости кодовых слов для каждого блока кодируемой информации рас- считывают только для этого блока и пересчитываются для каждого блока,
- для получения кодового сообщения осуществляют формирование структуры закодиро- ванных данных.
2. Способ по п.1, отличающий тем, что, количество раундов перемешивания при шифровании на уровне байтов равняется I, полученная последовательность зашифрован- ного сообщения переводится в 16-тиричную систему счисления и передается на этап вто- рой битового шифрования.
3. Способ по п.2, отличающийся тем, что для первого этапа шифрования использу- ется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом, ко= личество полей таблицы соответствует количеству полей кодировочной таблицы ASCII.
4. Способ по п.З, отличающийся тем, что на втором этапе шифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на η-e количество блоков объемом m символов в блоке и шифруется с алгоритмом, содержащим q раундов перемешивания.
5. Способ по п.4, отличающийся тем, что при шифровании на битовом уровне на всех раундах шифрования осуществляют изменение дизайна шифра, а именно, между операциями ShiftRows и MixColumns производят сдвиг блоков, с сохранением механизма формирования раундовых ключей и этапов перемешивания.
6. Способ по п.5, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержа- щего область фона, область ориентирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных являются контрастными по отношению к изображению об- ласти фона,
- область ориентирующих элементов содержит опорный квадрат с рамкой и пустым по- лем, выравнивающие прямоугольники и рамку границы кода,
- область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга.
7. Способ по п.6, отличающийся тем, что внутри опорного квадрата может быть раз- мещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону.
8. Способ по п.7, отличающийся, тем что центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.
9. Способ по п.5, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения набора координат на коорди- натной плоскости.
10. Способ кодирования цифровой информации в виде ультрасжатого кода - нанобар- кода, включающий прием подлежащей кодированию информации, кодирование инфор- мации с использованием таблицы кодового преобразования и получение кодового сооб- щения на носителе информации в виде физического или электронного кода,
отличающийся тем, что после кодирования информации осуществляют ее сжатие и добавление избыточной информации для восстановления в случае ее утраты,
- сжатие информации осуществляют на основе методов оптимальных кодов, причем ве- роятности встречаемости кодовых слов для каждого блока кодируемой информации рас- считывают только для этого блока и пересчитываются для каждого блока,
- для получения кодового сообщения осуществляют формирование структуры закодиро- ванных данных в виде ультрасжатого нанобар - кода.
11. Способ по п.10, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения двухмерного кода, содержа- щего область фона, область ориентирующих элементов и область данных, состоящую, по меньшей мере, из одного блока данных, причем изображение областей ориентирующих элементов и области данных являются контрастными по отношению к изображению об- ласти фона,
- область ориентирующих элементов содержит опорный квадрат с рамкой и пустым по- лем, выравнивающие прямоугольники и рамку границы кода,
- область данных, содержащая кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга.
12. Способ по п.11, отличающийся тем, что внутри опорного квадрата может быть размещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону.
13. Способ по п.12, отличающийся, тем что центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников.
14. Способ по п.10, отличающийся тем, что формируют структуру закодированных данных в виде физического или электронного изображения набора координат на коорди- натной плоскости.
15. Способ декодирования цифровой информации в виде ультрасжатого кода, включаю- щий считывание закодированных данных с кода, выбор полезной информации, деком- прессия, дешифрование и декодирование этой информации с использованием таблицы ко- дового преобразования, отличающийся тем,
дешифрование информации осуществляют с использованием обратной функции крип- тографического преобразования в два этапа, на первом этапе дешифрование осуществля- ют на уровне битов на основе симметричного битового алгоритма шифрования AES, на втором этапе дешифрование проводят на уровне байтов с помощью полиалфавитного бай- тового шифра с различным значением сдвига для каждого байта информации,
- декомпрессию информации осуществляют на основе методов оптимальных кодов, на основе суммы полученных вероятностей на этапе компрессии, с вычисление вероятностей исходных кодовых слов,
- утраченную информацию восстанавливают с помощью алгоритмов восстановления ин- формации на основе избыточной информации, записанной при формировании кода.
16. Способ по п.15, отличающий тем, что, количество раундов перемешивания при дешифровании на уровне байтов равняется 1, полученная последовательность зашифро- ванного сообщения переводится в 16-тиричную систему счисления и передается на этап второй битового дешифрования.
17. Способ по п.16, отличающийся тем, что для второго этапа дешифрования ис- пользуется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом, количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII.
18. Способ поп.Потличающийся тем, что на первом этапе дешифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на η-e количество блоков объемом m символов в блоке и дешифруется с алгоритмом, содержащим q раундов перемешивания.
19. Способ по п.18, отличающийся тем, что при дешифровании на всех раундах де- шифрования на битовом уровне осуществляют изменение дизайна шифра, а именно, ме- жду операциями ShiftRows и MixColumns производят сдвиг блоков, с сохранением меха- низма формирования раундовых ключей и этапов перемешивания.
20. Способ декодирования цифровой информации в виде ультрасжатого кода нанобар- кода, включающий считывание закодированных данных с кода, выбор полезной информа- ции, декомпрессия и декодирование этой информации с использованием таблицы кодово- го преобразования, отличающийся тем,
- декомпрессию информации осуществляют на основе методов оптимальных кодов, при- чем вероятности встречаемости кодовых слов для каждого блока декодируемой информа- ции рассчитывают только для этого блока,
- утраченную информацию восстанавливают с помощью алгоритмов восстановления ин- формации на основе избыточной информации, записанной при формировании кода.
PCT/RU2013/001182 2013-12-27 2013-12-27 Кодирование и декодирование цифровой информации в виде ультрасжатого нанобар-кода WO2015099568A1 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2016131164A RU2656734C2 (ru) 2013-12-27 2013-12-27 Способ кодирования и декодирования цифровой информации в виде ультрасжатого нанобар-кода (варианты)
PCT/RU2013/001182 WO2015099568A1 (ru) 2013-12-27 2013-12-27 Кодирование и декодирование цифровой информации в виде ультрасжатого нанобар-кода

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2013/001182 WO2015099568A1 (ru) 2013-12-27 2013-12-27 Кодирование и декодирование цифровой информации в виде ультрасжатого нанобар-кода

Publications (1)

Publication Number Publication Date
WO2015099568A1 true WO2015099568A1 (ru) 2015-07-02

Family

ID=53479293

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2013/001182 WO2015099568A1 (ru) 2013-12-27 2013-12-27 Кодирование и декодирование цифровой информации в виде ультрасжатого нанобар-кода

Country Status (2)

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

Cited By (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
WO2020106953A1 (en) * 2018-11-21 2020-05-28 Honeywell International Inc. Smart seal assembly
CN112669396A (zh) * 2020-12-18 2021-04-16 深圳智慧林网络科技有限公司 图像无损压缩方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131965A1 (ru) * 2020-12-15 2022-06-23 Общество с ограниченной ответственностью "Лазерный Центр" Способ кодирования и декодирования цифровой информации в виде многомерного нанобар-кода

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 (ru) * 2000-05-09 2005-05-10 Колорзип Медиа, Инк. Машиночитаемый код, способ и устройство кодирования и декодирования
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 (ru) * 2011-12-29 2013-07-04 Pryakhin Evgeniy Ivanovich Аппаратно-программный комплекс для нанесения и считывания информационных полей
WO2013162402A1 (ru) * 2012-04-27 2013-10-31 Pryakhin Evgeniy Ivanovich Способ защиты цифровой информации

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 (ru) * 2000-05-09 2005-05-10 Колорзип Медиа, Инк. Машиночитаемый код, способ и устройство кодирования и декодирования
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 (ru) * 2011-12-29 2013-07-04 Pryakhin Evgeniy Ivanovich Аппаратно-программный комплекс для нанесения и считывания информационных полей
WO2013162402A1 (ru) * 2012-04-27 2013-10-31 Pryakhin Evgeniy Ivanovich Способ защиты цифровой информации

Cited By (6)

* 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
WO2020106953A1 (en) * 2018-11-21 2020-05-28 Honeywell International Inc. Smart seal assembly
CN113039335A (zh) * 2018-11-21 2021-06-25 霍尼韦尔国际公司 智能密封组件
RU2769866C1 (ru) * 2018-11-21 2022-04-07 Ханивелл Интернэшнл Инк. Интеллектуальный пломбирующий узел
CN112669396A (zh) * 2020-12-18 2021-04-16 深圳智慧林网络科技有限公司 图像无损压缩方法和装置
CN112669396B (zh) * 2020-12-18 2023-09-12 深圳智慧林网络科技有限公司 图像无损压缩方法和装置

Also Published As

Publication number Publication date
RU2656734C2 (ru) 2018-06-06
RU2016131164A (ru) 2018-02-01

Similar Documents

Publication Publication Date Title
JP6600905B2 (ja) 二次元コード、多値化二次元コード及び二次元コードの生成方法
Bui et al. Robust message hiding for QR code
CN102982499A (zh) 基于多分数阶混沌系统的彩色图像加密和解密方法
US20120121083A1 (en) Encryption apparatus and method
CN105099712A (zh) 一种基于双码验证的数据加密方法
US20070189518A1 (en) 3-D quaternion quantum fractal encryption
CN104993923A (zh) 一种信息隐藏与加密技术相结合的雷达数据保护方法
WO2015099568A1 (ru) Кодирование и декодирование цифровой информации в виде ультрасжатого нанобар-кода
CN102970530A (zh) 基于压缩编码的gif图像加密方法
Liu et al. Rich QR codes with three-layer information using hamming code
CN104769881A (zh) 具有错误校正的aes实现方式
Gabidulin Attacks and counter-attacks on the GPT public key cryptosystem
Goel et al. A way to secure a QR code: SQR
Gabidulin et al. On improving security of GPT cryptosystems
US11277259B2 (en) Multi-layer encryption employing Kaprekar routine and letter-proximity-based cryptograms
Wan et al. Visual secret sharing scheme with (k, n) threshold based on QR codes
Salehi et al. Visual multi secret sharing by cylindrical random grid
Overbeck Extending Gibson’s attacks on the GPT cryptosystem
Chatterjee et al. Space effective and encrypted QR code with sender authorized security levels
CN104573781A (zh) 一种二维码编码及解码方法
CN105718978A (zh) Qr码的生成方法、装置及解码方法、装置
KR20150010571A (ko) 거부적 암호화 시스템 및 방법
Yu et al. A Novel Three‐Layer QR Code Based on Secret Sharing Scheme and Liner Code
Chen et al. Efficient matrix embedding based on random linear codes
Zhan Anti-fake technology of commodity by using QR code

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13900283

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2016131164

Country of ref document: RU

Kind code of ref document: A

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 04/11/2016)

122 Ep: pct application non-entry in european phase

Ref document number: 13900283

Country of ref document: EP

Kind code of ref document: A1