Method and system for generating an image and use of an image for encoding and encrypting information

By generating encrypted images using unit cell topology templates and space-filling curves, the problem of visual recognition and authentication of encrypted images in existing technologies is solved, the complexity and security of image encryption are improved, storage management and programming parallelism are optimized, and efficient information encoding and encryption are achieved.

CN120917475APending Publication Date: 2025-11-07SGDL INNOVATION SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380075666.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-10-27
Filing Date
2023-10-20
Publication Date
2025-11-07

AI Technical Summary

Technical Problem

Visual recognition and authentication of encrypted images in existing encryption systems are difficult to achieve, and there are problems such as insufficient complexity, inadequate security, hash index collisions, storage management difficulties, and programming parallelism issues, resulting in poor image encryption effects.

Method used

Encrypted images are generated using unit cell topology templates and space-fill curves (SFC). By generating partitions, determining density, coloring, and interleaving images, Gray SFC guideline curves and hash functions are used for encoding, generating scrambled unit cell topology templates and tiles, and combining them with a dynamic color table for information encoding and encryption.

Benefits of technology

It achieves highly complex encrypted image generation, improves the security of visual recognition and authentication, reduces hash index collisions, optimizes storage management, and improves programming parallelism, thereby enhancing the security and reliability of image encryption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120917475A_ABST
    Figure CN120917475A_ABST
Patent Text Reader

Abstract

Methods and systems for encoding and encrypting information are described. The method includes obtaining information to be encoded, generating a partition, the partition being generated using at least one of a Royle polygon generator, an SFC generator, and a closed Hamiltonian path generator; converting the generated partition into a series of triads representing the partition, where each triad is defined by a point and two neighbors thereof; determining a density associated with each point using a series of triples; each point is colored using at least the associated density to generate a unit cell topology template. The method is characterized in that the information to be encoded is used in at least one of the generation of partitions, the determination of the density associated with each point, and the shading of each point.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] priority

[0002] This patent application claims priority to patent application No. 3,180,047, filed in Canada on October 27, 2022, entitled “METHOD AND SYSTEM FOR GENERATING AN IMAGE AND ITS USE FOR ENCODING AND ENCRYPTING INFORMATION”. Technical Field

[0003] This invention relates to the field of cryptography. More specifically, this patent application relates to methods and systems for generating images, and the use of images for encoding and encrypting information. Background Technology

[0004] Examples of graphical alphabets that allow the generation of images are disclosed in references [26, 49, 88] and in reference

[77] .

[0005] Examples of geometric partitioning in drawing are disclosed in references [8, 73].

[0006] Examples of coloring regions by diffusion fill are disclosed in references [11, 72].

[0007] An example of region coloring using the topology fill method is disclosed in reference

[17] .

[0008] Early examples of graphic identifiers created by stamps in history are disclosed in reference

[27] .

[0009] Early examples of graphic identifiers created using shield-shaped coats of arms are disclosed in references [1, 69, 90].

[0010] Early examples of graphic identifiers created by seals are disclosed in references [44, 51, 66, 71].

[0011] The earliest examples of geni symbol type graphic identifiers can be found in references [3, 38].

[0012] Examples of traditional graphic identifiers being transferred to the digital world are disclosed in reference

[22] .

[0013] The QR code type graphic identifier is described in reference

[47] .

[0014] An introduction to bar code type graphical identifiers is disclosed in references [46, 68].

[0015] Examples of introductory texts on SFCs are disclosed in references [16, 19, 24, 32].

[0016] Historical texts proposing SFCs are disclosed in references [5, 6, 7, 10].

[0017] Examples of using SFCs in cryptography are disclosed in references [28, 55, 65].

[0018] Texts proposing generalizations of Cantor type SFCs are disclosed in references [35, 59].

[0019] Texts proposing Gray curves and meta-curve (MCG) are disclosed in references [78, 87, 81, 82, 85, 86, 79, 80, 83, 84].

[0020] Examples that help to distinguish between principles of randomness and principles of chaos are disclosed in references [15, 64, 70].

[0021] The concept of Kolmogorov complexity is presented in reference

[21] .

[0022] The idea of attractors in chaos theory is presented in references [14, 34].

[0023] The principles of one-time pad (OTP) cryptosystems and random image generation are presented in references [23, 76].

[0024] Examples of chaotic cryptosystems are presented in reference

[62] .

[0025] Examples of mathematical formalization of patterns are disclosed in references [4, 20, 40].

[0026] The theory of Truchet tiling is disclosed in reference [2].

[0027] The principle of shuffling in cryptography is disclosed in reference

[56] .

[0028] Examples of using SFCs in image encryption are disclosed in references [36, 41].

[0029] Examples of chaotic processes in image cryptography are disclosed in references [29, 37, 57, 58, 60, 67, 72, 74].

[0030] The use of the Hilbert curve for text encryption is disclosed in reference

[50] .

[0031] The principle of self-avoiding walk (SAW) is proposed and popularized in references to illustrate the transformation of SAW into a Jordan polygon.

[0032] It will be appreciated that the prior art suffers from numerous limitations.

[0033] Indeed, the problem of generating an encryption image used in an encryption system characterized by a symmetric and hybrid protocol for encryption keys is twofold, the encryption key is also the encryption program used to generate the encryption image. If the image is purely random (one-time pad), the image is mathematically unbreakable, while visual recognition and digital authentication become impossible in the absence of a huge security bank to compare images. If the image is pseudo-random, decryption can occur with loss, making image authentication by comparison impossible.

[0034] Another limitation of the prior art is the level of complexity. Indeed, the problem related to the complexity of the image produced is closely related to the true nature of the image, which can be the result of an organized order, a structured complexity, a pseudo-random disorder or a random disorder.

[0035] Another limitation of the prior art is the security of the encryption protocol. The problem of the security of the encryption protocol lies in obtaining an encryption image that can be visually recognized or recognized by a software or hardware process. The level of visual information directly provided by the image, which can facilitate the attack vector, complicates the resistance to attacks. In addition, the strict respect of the Kerckhoffs principle "the adversary knows the system" provides the adversary with information that makes it possible to immediately break the encryption and possibly the system in the future, which is a problem.

[0036] Another limitation of the prior art relates to the fact that the index of the hash type is generally non-reversible, with the possibility of collisions. In addition, the hash function is cataloged and known to the attacker. The challenge in choosing the right index CODEC is first coupled with the choice of a new bijective mathematical function whose construction process is known only to the person generating the encryption image (anonymous function). This challenge is also related to the choice of a coupling function if necessary, the decoding of which is discouraging due to its complexity. These latter functions can be combined with the former.

[0037] Another limitation of the prior art relates to the use of substitution libraries. Indeed, the challenge of using substitution libraries lies in the heterogeneity of the functions (the computational performance of these functions is very uneven) and the vulnerability of these functions to attacks. The most well-known libraries are the "chaotic map" function library and the bijective image generation function library.

[0038] Another limitation of the prior art relates to numerical precision. Indeed, the problem of numerical precision is essentially due to the use of floating-point numbers in the calculations, which hinders precise testing during the topological test during the encoding phase and causes a loss of precision of the decoding function, resulting in a loss of authentication capabilities due to the non-bijective nature of the numerical function.

[0039] Another limitation of the prior art relates to memory management. The person skilled in the art will understand that the problem of memory management can be due to the memory size of imported static images (such as photos or QR codes), the size of dynamically generated images (such as color tables), and finally the size of the polygons due to the number of vertices in the Jolting polygon.

[0040] Another limitation of the prior art lies in the programming itself. Indeed, the problem of programming is caused by the different parallelism paradigms encountered: data parallelism for pixel shading and task parallelism for topological region shading.

[0041] There is therefore a need for at least one method and system that can solve at least one of the limitations present in the prior art. SUMMARY

[0042] According to one aspect of the present technology, a visual identification and authentication system is disclosed, which produces an encrypted image or a video stream of encrypted images.

[0043] According to one aspect of the present technology, a computer-implemented method for encoding information using a unit cell topological template is disclosed, the method comprising: obtaining information to be encoded; generating a partition in a square, the partition being generated using at least one of a Jolting polygon generator, a "space-filling curve" (SFC) generator and a closed Hamiltonian path generator; converting the generated partition into a series of triplets representing the partition, wherein each triplet is defined by a point and its two neighbors; determining a density associated with each point in the square using the series of triplets; coloring each point in the square using at least the associated density to generate a unit cell topological template; and providing the unit cell topological template; characterized in that the information to be encoded is used in at least one of the generation of the partition in the square, the determination of the density associated with each point in the square, and the coloring of each point in the square.

[0044] According to one or more embodiments, coloring each point in the square comprises associating a given color with each determined density.

[0045] According to one or more embodiments, coloring each point in the square comprises, for a given point, associating a given color table with each density, and using the position of the given point in the square to select a color from the given color table.

[0046] According to one or more embodiments, the method further comprises obtaining a SFC or an encoding MCG that traverses the square, and using the SFC or the encoding MCG to reorder each point of the unit cell topological template to provide a scrambled unit cell topological template, the reordering modifying the coordinates of each point of the unit cell topological template such that, for each given point in the given scan having an initial corresponding coordinate, new coordinates are assigned to that point, the new coordinates corresponding to the same index in the SFC or in the encoding MCG as the index in the given scan; characterized in that the information to be encoded is used in at least one of the following: the generation of the partitions in the square, the determination of the density associated with each point in the square, the coloring of each point in the square, and the obtaining of the SFC or the encoding MCG.

[0047] According to one aspect of the present technology, a computer-implemented method for encoding information using tiles generated in a square is disclosed, the method comprising: obtaining information to be encoded; generating a SFC in the square; generating tiles in the square using the generated SFC; the tiles being generated by replacing each elementary portion of the SFC with a corresponding tile; and providing an indication of the generated tiles, the method being characterized in that the information to be encoded is used during the generation of the SFC.

[0048] According to one or more embodiments, the SFC is defined by 8 elementary portions having an "S" shape, and the corresponding tiles correspond to a given same and fixed tile for each of the 8 elementary portions.

[0049] According to one or more embodiments, the method further comprises: obtaining an ASCII string to be encoded, converting the ASCII string to a corresponding sequence of codes that fills a square table in a given number base, generating the SFC using a given Gray SFC guideline curve, wherein each point of the Gray SFC guideline curve is replaced with a pattern corresponding to a given code in the corresponding sequence of codes.

[0050] According to one aspect of the present technology, a computer-implemented method for encoding information using images is disclosed, comprising: obtaining a first image having a given number of pixels; obtaining a second image having a given number of pixels identical to the given number of pixels of the first image; interleaving the first image with the second image to provide an interleaved image, the interleaved image comprising a given number of metapixels identical to the given number of pixels of the first image, each metapixel comprising: a central portion comprising at least one pixel having an associated value equal to a value of a corresponding pixel in one of the first image and the second image; a peripheral portion surrounding the central portion, the peripheral portion comprising a plurality of pixels each having an associated value equal to a value of a corresponding pixel in the other of the first image and the second image; and providing the interleaved image, characterized in that the first image is selected from a set of images comprising at least: a unit cell topological template generated using the method described above.

[0051] According to one or more embodiments, the set of images further comprises a tile generated using the method described above.

[0052] According to one or more embodiments, the set of images further comprises a given image.

[0053] According to one or more embodiments, the set of images further comprises a QR code.

[0054] According to one or more embodiments, the set of images further comprises at least one of a static color table and a dynamic color table.

[0055] According to one or more embodiments, the dynamic color table is generated using a method comprising: generating a two-dimensional SFC that traverses a square; and dynamically associating colors from an RGB color cube to each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC.

[0056] According to one or more embodiments, the interleaving scheme is selected from a group comprising four types of layout modes.

[0057] According to one or more embodiments, the method further comprises: obtaining a SFC or an encoding MCG that traverses the interleaved image, and using the SFC or the encoding MCG to reorder each point of the interleaved image to provide a scrambled unit cell topological template, the reordering modifying coordinates of each point of the interleaved image such that, for each given point having an initial corresponding coordinate in a given scan, a new coordinate is assigned to that point, the new coordinate corresponding to an index in the SFC or in the encoding MCG that is identical to the index in the given scan; the reordering allowing to provide a scrambled interleaved image.

[0058] According to one or more embodiments, the information is encrypted using the method described above.

[0059] According to one or more embodiments, a cell topological template generated using the method mentioned above is disclosed.

[0060] According to one or more embodiments, an image generated using the method mentioned above is disclosed.

[0061] According to one or more embodiments, a use of the image mentioned above for identifying or authenticating an element is disclosed.

[0062] According to one or more embodiments, the element is an object.

[0063] According to one or more embodiments, a computer-implemented method for performing identification or authentication in a square using a dynamic color table is disclosed, the method comprising: generating a two-dimensional SFC that traverses a square comprising a plurality of pixels; dynamically associating a color from an RGB color cube to each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC; and providing the generated color table, the generated color table allowing identification or authentication.

[0064] According to one or more embodiments, the method further comprises modifying the value of each pixel in the generated color table. BRIEF DESCRIPTION OF DRAWINGS

[0065] One or more embodiments of the invention and their advantages will appear more clearly from the following description, provided by way of example, and in connection with the appended drawings.

[0066] Figure 1 An example of a level 7 MCG is shown;

[0067] Figure 2 Reordering by a rotor-based MCG is shown;

[0068] Figure 3 Classification of a Gray curve is shown;

[0069] Figure 4 Classification of a Jorrand polygon is shown;

[0070] Figure 5 Self-avoiding path is shown;

[0071] Figure 6 Ghost point of a U-shaped meta-curve is shown;

[0072] Figure 7 Ghost point of a W-shaped meta-curve is shown;

[0073] Figure 8 An example of an encrypted table tabCODE(7, [1234, 12345]) is shown;

[0074] Figure 9 An example of dynamics and chaotic effects is shown;

[0075] Figure 10 An example of a dynamic table and visual interference is shown;

[0076] Figure 11 An example of a dynamic table is shown;

[0077] Figure 12 An example of a colorimetric fingerprint in mode 2 is shown;

[0078] Figure 13 An example of a colorimetric fingerprint in mode 1 is shown;

[0079] Figure 14 An example of coloring of density is shown;

[0080] Figure 15 An example of coloring of the letters A and B with 2 connected components and 3 connected components is shown;

[0081] Figure 16 An example of coloring of the word AB with 5 connected components is shown;

[0082] Figure 17 An example of the principle of a meta-pixel is shown;

[0083] Figure 18 An example of a layout mode associated with a meta-pixel is shown;

[0084] Figure 19 An example of control modes 0 and 1 of a meta-pixel is shown;

[0085] Figure 20 An example of interleaving of an encrypted dynamic table with a photo image is shown;

[0086] Figure 21 An example of interleaving of a dynamic table with a static image (photo) is shown;

[0087] Figure 22 An example of interleaving of a dynamic table with a static QR code is shown;

[0088] Figure 23 An example of the scrambling of the image resulting from Figure 20 and Figure 22 is shown;

[0089] Figure 24 An example of the Majus effect of a dynamic table is shown;

[0090] Figure 25 An association between encryption keys and topological regions is shown;

[0091] Figure 26 Multiple Jorand topological partitions are shown;

[0092] Figure 27 Dynamic encryption tables in kinetic and chaotic modes are shown;

[0093] Figure 28 Density tables associated with topological templates are shown;

[0094] Figure 29 General associations of dynamic tables are shown;

[0095] Figure 30 Examples of hash tables that initialize dynamic tables are shown;

[0096] Figure 31 Moiré effects by interleaving digital photographs and dynamic tables are shown;

[0097] Figure 32 Moiré effects with pre-computed dynamic tables are shown;

[0098] Figure 33 Construction of a polytope tile is shown;

[0099] Figure 34 Eight Peano-Truchet patterns are shown;

[0100] Figure 35 Generation of regular Peano-Truchet tiles without symmetry is shown;

[0101] Figure 36 Generation of regular Peano-Truchet tiles is shown;

[0102] Figure 37 Octal representation of the DC2(i,2,[6,2],

[11] ) meta-curve described in reference

[86] is shown;

[0103] Figure 38 Octal representation of the SW spiral is shown;

[0104] Figure 39 Measurement and scaling of a calibration target is shown;

[0105] Figure 40 Calibration of an octal calibration target is shown;

[0106] Figure 41 Geometric and alphanumeric octal is shown;

[0107] Figure 42Encoding of text in octal on a spiral SFC is shown;

[0108] Figure 43 Insertion of binary messages by interleaving is shown;

[0109] Figure 44 Chimera type of quaternary encryption is shown;

[0110] Figure 45 Octal encryption of text with SFC quasi-curve DCoUM is shown;

[0111] Figure 46 Ordering of PPM colors is shown;

[0112] Figure 47 Method for encoding information using a cell topological template according to an embodiment is shown;

[0113] Figure 48 Method for encoding information using an image according to an embodiment is shown;

[0114] Figure 49 Method for encoding information using a tile is shown;

[0115] Figure 50 Topological plane partition generator (SLstencyl SYS1) is shown;

[0116] Figure 51 Dynamic color table generator (SLstencyl SYS2) is shown;

[0117] Figure 52 Geometric tile generator (SLstencyl SYS3) is shown;

[0118] Figure 53 Palette generator (SLstencyl SYS4) is shown;

[0119] Figure 54 Matching system between topological indices and colors (SLstencyl SYS5) is shown;

[0120] Figure 55 Meta-pixel based typography configurator (SLstencyl SYS6) is shown;

[0121] Figure 56 Binary table generator from text (SLstencyl SYS7) is shown;

[0122] Figure 57 Code of the function tabDC is shown;

[0123] Figure 58 Code for function tabCD is shown;

[0124] Figure 59 Code for function polJORD is shown;

[0125] Figure 60 Code for function indDC is shown;

[0126] Figure 61 Code for function indJFR is shown;

[0127] Figure 62a Code for function indSOM is shown;

[0128] Figure 62b Code comments for function indSOM are shown;

[0129] Figure 63a Code for function cctQUA is shown;

[0130] Figure 63b Code comments for function cctQUA are shown;

[0131] Figure 64a Code for function ptsQUA is shown;

[0132] Figure 64b Code comments for function ptsQUA are shown;

[0133] Figure 65a Code for function indJFRQ2 is shown;

[0134] Figure 65b Code comments for function indJFRQ2 are shown;

[0135] Figure 66a Code for function tabCODE is shown;

[0136] Figure 66b Code comments for function tabCODE are shown;

[0137] Figure 67a Code for function tabDC3 is shown;

[0138] Figure 67b Code comments for function tabDC3 are shown;

[0139] Figure 68a Code for function indRGBv is shown;

[0140] Figure 68b Code comments for function indRGBv are shown;

[0141] Figure 69a Code for function tabPIX is shown;

[0142] Figure 69b Code comments for function tabPIX are shown;

[0143] Figure 70a Code for function lstabDYN is shown;

[0144] Figure 70b Code comments for function lstabDYN are shown;

[0145] Figure 71a Code for function tabDYN is shown;

[0146] Figure 71b Code comments for function tabDYN are shown;

[0147] Figure 72a Code for function rgbCODE is shown;

[0148] Figure 72b Code comments for function rgbCODE are shown;

[0149] Figure 73a Code for function codeRGB is shown;

[0150] Figure 73b Code comments for function codeRGB are shown;

[0151] Figure 74a Code for function colMIRE is shown;

[0152] Figure 74b Code comments for function colMIRE are shown;

[0153] Figure 75a Code for function lsv2v3DENS is shown;

[0154] Figure 75b Code comments for function lsv2v3DENS are shown;

[0155] Figure 76a Code for function modPPM is shown;

[0156] Figure 76b Code comments for function modPPM are shown;

[0157] Figure 77a Code for function TAB2dpi is shown;

[0158] Figure 77b Code comments for function TAB2dpi are shown;

[0159] Figure 78a Code for function CAS2dpi is shown;

[0160] Figure 78b Code comments for function CAS2dpi are shown;

[0161] Figure 79a Code for function intMPIX is shown;

[0162] Figure 79b Code comments for function intMPIX are shown;

[0163] Figure 80 Code for function SCRIPT003 is shown;

[0164] Figure 81 Code for function SCRIPT004 is shown;

[0165] Figure 82 Code for function SCRIPT007 is shown;

[0166] Figure 83 Code for function SCRIPT008 is shown;

[0167] Figure 84a Code for function celUNI is shown;

[0168] Figure 84b Code comments for function celUNI are shown;

[0169] Figure 85 Code for function SCRIPTaab is shown;

[0170] Figure 86a Code for function casTPZ is shown;

[0171] Figure 86b Code comments for function casTPZ are shown;

[0172] Figure 87a Code for function rapPTS is shown;

[0173] Figure 87b Code comments for function rapPTS are shown;

[0174] Figure 88a Code for function ptsBS8 is shown;

[0175] Figure 88b Code comments for function ptsBS8 are shown;

[0176] Figure 89a Code for function ptsBS4 is shown;

[0177] Figure 89b Code comments for function ptsBS4 are shown;

[0178] Figure 90a Code for function mireOCT is shown;

[0179] Figure 90b Code comments for function mireOCT are shown;

[0180] Figure 91a Code for function motMIRE is shown;

[0181] Figure 91b Code comments for function motMIRE are shown;

[0182] Figure 92a Code for function tabMIRE10 is shown;

[0183] Figure 92b Code comments for function tabMIRE10 are shown;

[0184] Figure 93a Code for function tabMIRE12 is shown;

[0185] Figure 93b Code comments for function tabMIRE12 are shown;

[0186] Figure 94a Code for function texOCT is shown;

[0187] Figure 94b Code comments for function texOCT are shown;

[0188] Figure 95a Code for function sfcBS84 is shown;

[0189] Figure 95b Code comments for function sfcBS84 are shown;

[0190] Figure 96a Code for function posTAB is shown;

[0191] Figure 96b Code comments for function posTAB are shown;

[0192] Figure 97 Code for function SCRIPT99j is shown;

[0193] Figure 98 Code for function CD0uwLIG is shown;

[0194] Figure 99Code of the function DC0uwLIG is shown;

[0195] Figure 100a Code of the function TABg2lis is shown;

[0196] Figure 100b Code comments of the function TABg2lis are shown;

[0197] Figure 101 Code of the function TABg2ppm is shown;

[0198] Figure 102a Code of the function perRGB is shown;

[0199] Figure 102b Code comments of the function perRGB are shown;

[0200] Figure 103a Code of the function rgbTRNG is shown; and

[0201] Figure 103b Code comments of the function rgbTRNG are shown. DETAILED DESCRIPTION

[0202] Those skilled in the art will appreciate that one or more embodiments of the described methods and systems provide numerous advantages.

[0203] In particular, one advantage of one or more embodiments of the described methods and systems is that they provide a system for generating images, especially from a new family of space-filling curves in a plane, called the rotor-based Gray cell curve (MGR). It will be appreciated that in one or more embodiments, these configurable curves have a combined generation formula that can be used as a basis for an encryption key for an image. It will be appreciated that the successive steps of using the properties of these curves allow for the destruction of the geometric ordering of the source image as well as breaking the colorimetric coherence of the source image.

[0204] In fact, a visual cryptography system based on topological templates is disclosed. It will be appreciated that a template is a specific digital image that allows the encrypted and secure transmission of various types of graphic, visual or textual information. A system for generating templates is disclosed that relies on the topological partitioning of a plane created from a Jurgens polygon. The use of a new family of space-filling curves in a plane, called the Gray cell curve, enables the creation of an encryption key that encodes the partitioning of the plane and acts as a topological attractor responsible for the encryption of the color table and the alphanumeric table.

[0205] General presentation of the system

[0206] Topological templates and cryptography

[0207] The Digital Topological Template (DTS) system is a synthetic image generation system, the synthetic process of which is hidden and encrypted. It will also be appreciated that the DTS image can also be provided in encrypted form. In this case, no specific visual information is sent. The properties of the DTS from a cryptographic point of view are disclosed below.

[0208] The DTS is a partially or fully procedural image, which is derived from a new method of image encryption with high complexity, which is between pure random image generation and chaotic or pseudo-random image generation.

[0209] The DTS is a new series of two-dimensional graphical identifiers and authenticators that integrate various forms of color images. The DTS essentially consists of a solid geometric area that creates a partition of the plane that includes a border and a hollow section. Once defined, the topological partition will be colored.

[0210] The DTS can be seen as a digital seal or stamp, the graphical design of which is generated procedurally using secret and encrypted formulas.

[0211] While barcodes and its sub-series, such as QR codes and Data Matrix (in addition to 2D documents), are mainly used as identifiers, the DTS integrates the identification and authentication process into a single system.

[0212] Unlike the barcodes series, which are based on graphical representations of encrypted texts, the DTS is an encrypted color image that includes a textual representation and can be mixed using a so-called interlacing system.

[0213] It will be appreciated that this interlacing system accepts arbitrary bitmap images, in particular of the following types:

[0214] (a) procedurally generated and encrypted images of the DTS type;

[0215] (b) or procedurally generated images based on fractal, ring cellular automata or other chaotic or pure random systems;

[0216] (c) or procedurally generated images derived from generations of QR codes, Data Matrix codes or other codes;

[0217] (d) or synthetic images generated procedurally;

[0218] (e) or non-procedural images, such as encrypted photographs or non-encrypted photographs.

[0219] It will be appreciated that the encryption process of the DTS relies on a mathematical and algorithmic basis built around the theory of Space-Filling Curves (SFC). This approach allows to associate, through an encoding, a list of integers (n-dimensional coordinates) to a unique integer that will be recovered through a decoding. Thus, it will be appreciated that the system is a general encoding-decoding system for alphanumeric information (after its conversion into integers). The system also allows to index and order the space. In particular, this latter property enables to scramble a two-dimensional image through a permutation.

[0220] These SFCs and their generalization, called Metaball Curves, make it possible to unify the encryption of topology, color and text integrated into the DTS.

[0221] Encryption process

[0222] In the DTS system, several encryption processes are coupled and interleaved to make any attempt to break the encryption complex and ineffective. These processes, which can be dynamically configured, have three levels of encryption. The finest level is the encryption of the parameters of the encryption function itself. The second level is the encryption of the type of SFC or MCG function used. The third level is the encryption of the function encryption network, i.e. the encryption description of the interleaving and coupling of the different encryption processes. This description takes the form of an encryption script at the software level, or the form of a description of a finite automaton for implementations on dedicated hardware systems.

[0223] The functional diagram of these processes is illustrated by the following figures and listed below.

[0224] The planar topology partition generator is illustrated in Figure 50

[0225] The dynamic color table generator is illustrated in Figure 51 The palette generator is illustrated in

[0226] Figure 53 The geometric tile generator is illustrated in

[0227] The matching system between topology indices and colors is illustrated in Figure 52 The metaball-based typography configurator is illustrated in

[0228] Figure 54 The binary table generator from text is illustrated in

[0229] The encryption protocol is illustrated in Figure 55 The encryption protocol is illustrated in

[0230] Figure 56 The binary table generator from text is illustrated in

[0231] Encryption protocol

[0232] ​​​​The skilled person will understand that the three levels of encryption described previously are associated with three levels of cryptographic signatures (cryptographic signatures are encryption keys). Thus, the encryption protocol aims to send all the procedural instructions and associated parameters that allow the DTS to be regenerated. On the other hand, the encryption protocol involves the encrypted transmission of a Bignum, this representation being obtained by encoding functions and decoding functions of a multidimensional SFC or MCG that transform a list of integers into a single integer (and vice versa). Typically, the integers representing the encryption keys can thus be assembled in combination into a new integer that will constitute the final encryption key. This key or its hash will be transmitted symmetrically or asymmetrically, depending on the deployment context of the protocol: the ability of the recipient of the encrypted message to regenerate the encrypted DTS image or to regenerate the hash of the DTS image.

[0233] Encryption system security

[0234] The skilled person will understand that the security of one or more system embodiments is of a hybrid type in the case of the initial assembly of different encryption processes. This approach is somewhat equivalent to the various security components used to prevent the counterfeiting of banknotes. However, in the case of the DTS, the number of components is configurable, which introduces a certain degree of security by obscurity and a fortuitous deviation from the Kerckhoffs principle. With regard to the analysis of the DTS image, the diffusion and confusion properties mainly depend on the complexity of the function encryption network and on the complexity of the topological or its scrambled Gray meta-curve used to define the template. Similarly, as classic NPCR (number of pixels change rate) or UACI (unified average change intensity) analyses are not applicable to certain chaotic images, the use of these indicators must be re-evaluated in the case of the DTS.

[0235] Algorithmic principles

[0236] It will be understood that the principles of the algorithm developed to generate an encrypted visual identifier, called a topological template, consist of creating a topological and colorimetric structure defined in a purely algorithmic and combinatorial manner. Thus, the encryption will be graphic and visual in nature, but will have the ability to integrate encrypted textual elements. The parameters of the algorithm will also be used as first-level encryption keys. From a cryptographic point of view, these parameters feed a complex of bijective mathematical functions that form the second level of encryption keys. These mathematical functions are derived from the theory of multidimensional space-filling curves that is experiencing a resurgence. Understanding the constitutive principles of the topological template involves the concept of a Jordan polygon. A Jordan polygon is a discrete polygonal structure with the properties of a Jordan curve, which is a simple closed planar curve that forms a continuous loop without self-intersection.

[0237] Topological template principles

[0238] Those skilled in the art will appreciate that the principle developed to generate the graphical identifiers, called topological templates, is to create a topological and chromatic structure of a plane defined in a purely algorithmic and combinatorial way. The encryption is therefore essentially graphical and visual, but with the ability to integrate encrypted textual elements, as described below. The parameters of the algorithm will also be used as first-level encryption keys. From a cryptographic point of view, these parameters feed a complex of bijective mathematical functions that form the second level of encryption keys.

[0239] These mathematical functions are derived from the theory of multi-dimensional space-filling curves (SFCs).

[0240] Generalized presentations on SFCs of Cantor type are described in the following references [35, 59]. Presentations on Gray curves and meta-curves are described in the following references [78, 79, 80, 81, 82, 83, 84, 85, 86, 87].

[0241] Those skilled in the art will appreciate that a color table is a sequence of RGB codes with indices without prior ordering of the plane. Knowing the RGB codes of the table therefore does not give an explicit indication of the position of the colors in the plane or their association with the coordinate pairs.

[0242] Those skilled in the art will appreciate that a dynamic color table is a color table that can be computed on the fly, while a static color table is a table or image that is pre-computed and pre-determined.

[0243] SFC combinatorial encryption

[0244] In one or more embodiments, the disclosed system is superior to the prior art, notably by the systematic use of a specific series of SFCs and their bijective coupling functions, as explained below. Those skilled in the art will appreciate that SFCs are combinatorial tools that naturally enable the ordering of n-dimensional spaces and the execution of point permutations by replacing one SFC ordering with another. One reason why classical SFCs, such as the Hilbert curve, are relatively rare occurrences in image encryption systems is that the number of known SFCs is limited, and generally, the associated encoding and decoding algorithms offer weak resistance to attacks due to their simplicity.

[0245] MCG signature and encryption keys

[0246] Those skilled in the art will appreciate that the signature of the MCG is therefore a sequence of nested lists that specify the parameters of the Gray meta-curves that are assembled to obtain the final meta-curve. Figure 1An example of a level 7 composite meta-curve is shown, which is specifically a chain composed of 12 tiles of different sizes, occupied by various heterogeneous and mixed U- and W-shaped meta-curves, referred to as classes U and W. Two thick dots represent the entrance and exit of the Hamiltonian path formed by the composite meta-curve. These chains allow encoding and decoding of adaptive Hamiltonian paths on orthogonal grids. In general, the signature of a level 7 composite meta-curve is as follows (Equation 1):

[0247]

[0248] The primary meta-curve connects a set of a+1 secondary meta-curves with level nv≤ 6. Each meta-curve with index a is contained within a square of size a α and centered at coordinates [x α , y α ]. The parameter cs i specifies the symmetry case associated with the square of index i. The signature of each meta-curve in the set has the form lsDC α 0..6 . A scaling factor sc α is associated with each meta-curve, allowing the resulting Hamiltonian path to be indexed on grids of different norms. The syntax of the secondary meta-curve signature takes the form of a list with a list of parameters. The syntax of a meta-curve of the second level (Equation 2) is expressed in formula as follows:

[0249] lsDC2 = {m, lsRS, lsTP, lsSY}

[0250] where lsRS = {r0,..., r m-1}

[0251] and lsTP = {t0, [a0, b0],..., t m-1 , [a m-1 , b m-1 ]}

[0252] and

[0253] The chains of the second level allow the definition of heterogeneous meta-curves formed from the meta-curves of the first level, which can be transformed by central symmetries. For all rotor curves, symmetry control is possible regardless of their order in the Diophantine signature of the meta-curve.

[0254] The skilled person will appreciate that reordering between meta-curves of any level does not pose a problem, as the MCG base change is applied in the same way as for level 0 SFC curves. Figure 2An example of reordering Vermeer's painting "Girl with a Pearl Earring" using a level 1 rotor MCG of the reverse zigzag type on a linear SFC base is shown.

[0255] Surface-based SFC and MCG libraries

[0256] It will be apparent to those skilled in the art that the generation of encryption keys by the composition of bijective encoding-decoding functions and, where applicable, reordering of images can be implemented using purely algorithmic composite and heterogeneous MCGs that traverse a square Euclidean grid continuously or a rectangular Euclidean grid discontinuously. The SFC and MCG coupling functions associated with the composite algorithm based on bijective functions for encoding and decoding integer indices into two-dimensional Euclidean coordinate pairs are grouped into dedicated libraries and invoked via hash tables pointing to these functions. In Figure 3 A taxonomy of Gray curves and non-Gray curves is shown in Table 1. These non-Gray functions are useful in encrypting integer sequences into single integers of any dimension. It will be apparent to those skilled in the art that such sequences can be found in the creation and indexing of color tables.

[0257] Hash tables of SFCs or MCGs

[0258] It is possible to build hash tables of encoding and decoding functions from the set or a subset of these functions. Knowledge of these tables and the functions they contain is necessary to decode the cryptographic signature of a topological template. For example purposes, Figure 57 The tabDC function in Table 2 and Figure 58 The tabCD function in Table 3 shows the case-by-case invocation of 5 basic SFC coupling functions. SFCs are identified by their index in the table. In the case where the table includes MCG curves, the signature of each MCG can be sent in the form given by equation (1).

[0259] Method for generating a unit cell topological template

[0260] Figure 47 A method for encoding information using a unit cell topological template is shown in accordance with one or more embodiments.

[0261] It will also be apparent that in one or more embodiments the unit cell topological template is square. More generally, it will be apparent that the unit cell topological template is a particular type of image.

[0262] It will also be apparent to those skilled in the art that the unit cell topological template is composed of a surface containing a plurality of graphical elements. In one or more embodiments, the graphical elements are pixels or dots.

[0263] It will also be appreciated that the unicellular topological template is generated using a method implemented by a processing device, also referred to as a computer. Indeed, the person skilled in the art will appreciate that the processing device can be of various types. In particular, the processing device can be chosen from the group consisting of a desktop computer, a server, a smartphone, a tablet computer, etc.

[0264] According to a step 80 of the method, Figure 47 The information to be encoded is obtained. The person skilled in the art will appreciate that the information can be of various types and can serve various purposes. For example, the information to be encoded can serve to identify or authenticate an element. In one or more embodiments, the element is an object.

[0265] Furthermore, the person skilled in the art will also appreciate that the information to be encoded can be obtained in various ways.

[0266] According to one or more other embodiments, the information to be encoded is obtained from a processing device, for example from its memory.

[0267] According to one or more other embodiments, the information to be encoded is received from another processing device, for example via a data network. The person skilled in the art will appreciate that the data network can be of various types.

[0268] For example, and in one or more embodiments, the data network is a local area network (LAN). In one or more other embodiments, the data network is the Internet.

[0269] The person skilled in the art will appreciate that the information to be encoded can be obtained in various alternative ways.

[0270] According to a step 100 of the method, Figure 47 The partition is generated in the square. The person skilled in the art will appreciate that the partition is generated using at least one Joule polygon generator, SFC generator and closed Hamiltonian path generator.

[0271] The person skilled in the art will appreciate that a Joule polygon is a discrete polygonal structure with the property of a Joule curve, a simple closed planar curve that forms a continuous loop without self-intersection.

[0272] Topological partitioning system: general principles

[0273] The person skilled in the art will appreciate that formal arithmetic theory allows the generation of planar partitions by the arithmetization mechanism of topology, where regions are created and separated by Joule polygons. These regions are associated with integers called densities, which are calculated combinatorially. The partitioning process enables the generation of the partition geometry and, on the other hand, allows the coloring of the topological regions generated by the partitioning.

[0274] It will also be appreciated that coloring by filling the SFC curve is thus treated from the perspective of filling a discretized curve or a Joumard polygon, where edges, interior regions and exterior regions are assigned thicknesses.

[0275] Joumard polygon

[0276] It will be appreciated that in addition to the native Joumard polygon, Gray SFCs, MCGs, and certain Hamiltonian or self-avoiding paths and circuits can also be transformed into Joumard polygons by closing the corresponding path. In Figure 4 A taxonomy of Joumard polygons is shown in Figure 5 The closing process for S-shaped SFCs (entry and exit points of the SFC diagonally opposite), U-shaped SFCs (entry and exit points of the SFC opposite on one side), and self-avoiding paths is shown.

[0277] Figure 59 The polJORD function in performs the closing of W or U category SFCs or MCGs. The function takes as input: <uw>(SFC category indicator), <ls>(SFC coordinate list), and (resolution). This function returns the list of coordinates of the resulting Joule polygon <jord>.

[0278] Formal arithmetic

[0279] Unlike the diffusion-based filling algorithm applied to connected pixel regions, the described algorithm principle relies on topological knowledge of the SFC curve, which divides the plane into three regions: the interior, the border and the exterior. To achieve this, two virtual points are added to the meta-curve, which makes the curve closed and topologically transforms it into a Jordan curve. After scaling up the meta-curve by a factor of at least 2 (which ensures a one-pixel width for the border as well as for the interior and exterior regions), a theorem for computing the Poincaré index of a point with respect to a Jordan curve is applied. In this case, a theorem derived from the theory of formal arithmetic is applied, which computes the density ψ of a point with respect to a polygon with maximal quadratic representation. This representation involves balancing the position of a point with respect to each vertex of a polygon associated with a degenerate conic curve as two lines crossing the edges associated with this vertex. It will be appreciated that one of the advantages of the theorem used is its applicability to degenerate polygons or polygons with collinear sequences of vertices, a configuration that is consistently found in the case of polygonal SFCs.

[0280] According to< / jord> Figure 47 In step 102 in the method 100, the generated partition is converted into a series of triples representing the partition. It will be appreciated that each triple is defined by a point and its two neighbors.

[0281] Density theorem

[0282] The formula (Equation 3) takes into account the counting of points belonging to the edges of the convex conic curve <bx>, the count of points belonging to the edge of a concave conic curve <bv>, count of points belonging to the edge outside the convex conic curve <ex>, and the count of points belonging to the edge inside the concave conic curve <iv>.

[0283]

[0284] In the case of a polygon topologically equivalent to a simple jorunal curve, we have the value Ψ = 2, and depending on the point belonging to different regions delimited by the polygon, we have the following values (equation 4) according to the case.

[0285]

[0286] Figure 60 The indDC function in the density of points contained within a given rectangular window with respect to a given polygon. The function takes as input the two endpoints of the diagonal of the specified rectangle (i.e., the lower left origin point <v2o>and the upper right end point <v2e>) and a list of points of a polygon <ls>As input. It returns a list with two lists. The first list contains coordinate pairs of points with different densities, and the second list contains the number of points with different densities.

[0287] Figure 61 The indJFR function in calculates the density of a point with respect to a polygon. This function takes the coordinate pair of the point <v2>and a list of vertices of the polygon <ls>As input. It returns the density of points relative to the polygon <ind>.

[0288] Figure 62a The indSOM function in the indSOM function (explained in Figure 62b ) performs the calculation for the 4 density cases <bx, bv, ex, iv> for a given vertex. This function takes the coordinates of the point <v2>and a list of 3 points associated with a given vertex as input. It returns a list of density indicators for the vertices involved.

[0289] Figure 6 and Figure 7 shows the coloring of two Greiner curves by computing the density. Figure 6 shows the coloring of a U-shaped curve (where its ghost point is represented), and Figure 7 shows the coloring of a W-shaped curve (where its ghost point is represented).

[0290] Quadratic representation

[0291] The theorem about the density of a point with respect to a Jouanolge polygon is based on a combinatorial analysis of the operations vertex by vertex. A vertex described by a sequence of three consecutive points represents a conic degenerated to two concurrent lines. In fact, for the purpose of algorithm parallelization of combinatorial computations, a Jouanolge polygon is described as a sequence of its vertices and the decomposition into degenerated conics is modularly done as the ordered list of vertices is read. Abandoning the sequential representation for a quadratic one (that is, represented with a series of triplets of consecutive vertices, which is more costly in terms of space), allows to perform the computations on the list of quadratic vertices in parallel without prior ordering, but most importantly, enables to merge as many polygon topologies as desired into the same list of vertex triplets. In this case, the permutation of triplets (their disordering) does not affect the combinatorial analysis of the points with respect to the series of merged polygons.

[0292] Density and polygon orientation analysis

[0293]

[0294] Figure 63a The cctQUA function in Figure 63b is explained in <lsls>and a list of indicators <vn>The value {0,1} represents the orientation of the polygon. This function returns a combined list of all triples for all polygons. The decomposition into triples is performed while taking into account the orientation of the polygons in the plane. The sequence (Equation 5) provides a symbolic example (xA represents point A, xB represents point B, and so on).

[0295] Figure 64a The function ptsQUA(in Figure 64b (The explanation below) transforms a sequence of consecutive vertices of a polygon into a list of triplets of points, where each triplet consists of a vertex and its two successor vertices. The function takes a list of consecutive vertices. <ptsqua>and returns a list of triples of points that make up the polygon The following example (Equation 6) demonstrates the procedure for splitting a list of 5 consecutive vertices.

[0296]

[0297] According to Figure 47 step 104, a series of triplets is used to determine a density associated with each point of the square. It will be appreciated that the determined density is used to determine a color associated with each point of the square.

[0298] Figure 65a The function indJFRQ2 in Figure 65b is annotated in <v2>(coordinates of the point whose density is being sought) and a list of the quadratic vertices of the polygon <lsq>It returns the density of the point being solved. The expression for density in equation (3) is multiplied by 2 to eliminate the use of rational numbers.

[0299] According to Figure 47 Step 106, using at least the associated density, each point of the square is colored to generate a cell topology template. The person skilled in the art will understand that the coloring can be performed according to various embodiments.

[0300] In one or more embodiments, the step of coloring each point of the square comprises associating a given color with each density.

[0301] In one or more embodiments, the step of coloring each point of the square comprises, for a given point, associating each density with a given color table and using the position of the given point in the square to select a color from the given color table.

[0302] Color encryption system

[0303] The person skilled in the art will understand that the encryption of the colorimetric information is a problem that has always existed in the context of digitized images. It is particularly necessary to distinguish between the case of non-programmed images, such as photographs, and the case of programmed images, which can be regenerated from a limited set of parameters, such as certain fractal images or dynamic color tables presented in this chapter. The types of colorimetric information can be classified as follows:

[0304] 1. List of color points formed by the coordinates of the points (without explicit ordering in the plane) and the associated RGB code.

[0305] 2. List of RGB codes without coordinates of the points, the ordering in the plane being specified by an SFC of associated type.

[0306] 3. List of parameters allowing the programmed regeneration of a list of color points.

[0307] 4. List of parameters allowing the programmed regeneration of a palette or a sequence of colors.

[0308] The basic operations on this type of information are as follows:

[0309] 1. Data compression,

[0310] 2. Data encryption,

[0311] 3. Algorithmic regeneration of the data.

[0312] Algorithmic color table

[0313] It will be appreciated that in one or more embodiments, the predefined color table is encrypted using a multi-dimensional SFC curve available in the specialized library already described. An example of the use of a multi-dimensional index algorithm in a sawtooth pattern of the DC0uwL type (see reference

[86] ) illustrates this approach. The idea is to replace the generation of a random color table with the generation of a dynamically encrypted color table. The SFC curve acts as a combined attractor in the same way that certain differential equations in chaos theory are used as strange attractors.

[0314] Figure 66a The tabCODE function in the Figure 66b is explained) takes as input: resolution of the color table), and <v2>(a rational number less than or equal to one, of the form [numerator, denominator]). This function returns a list of <a+1> RGB codes.

[0315] In Figure 8 The example given in the <n>The following is a simple (eq. 7).

[0316] CD0uL([α0,..., α n-1 ], 255, n) (7)

[0317] SFC indexing of the RGB cube

[0318] The 3D SFC that enables a bijective indexing of different coordinate triplets by coupling provides a means to index the RGB codes. The SFC curve is also used to generate images where each pixel has a different RGB code. Based on the principle of equipollence, it is possible to algorithmically produce on-the-fly generated color tables. However, these tables will exhibit a gradual non-chaotic (monotonic) variation between adjacent RGB codes.

[0319] To introduce a level of chaos in the color tables, an SFC-based algorithm is disclosed that generates an RGB code associated with a given index. Unlike traditional methods, this algorithm uses a 3D SFC table that allows for a dynamic change of the SFC indexing base and, on the other hand, introduces a control parameter for the chaotic distribution of colors.

[0320] Figure 67a The tabDC3 function in Figure 67b is annotated in <cas>(SFC type), <ind>(the index of the point on the curve (i.e., the RGB index)), and (resolution of the curve). This function returns <v3>(triplet corresponding to the desired RGB code).

[0321] Finally, the ordering of the color table can be modified by changing the SFC reading base in the two dimensions of the color table and the RGB code can be changed by specifying an RGB code permutation indicator which allows to select among 6 combinations: RGB, RBG, GBR, GRB, BRG, BGR.

[0322] SFC attractor: chaotic and dynamic effects

[0323] The developed algorithm combines the Cartesian position of the points of the SFC attractor curve with the RGB code calculated by matching in the SFC plane the RGB code belonging to the RGB cube. The matching parameters from three-dimensional space to two-dimensional space allow dynamic modification of the palette. These modifications cause dynamic visual interference effects or chaotic color distribution effects. The SFC attractor curve acts as a real attractor. Figure 9 An example of a kinetic effect is shown, derived from a variation of the coefficient pairs of a table used to generate SFC guideline curves of a spiral type. These kinetic effects allow for the definition of color tables that visually approximate the guideline (on the left side of the figure) or have a visual interference effect (on the right side of the figure).

[0324] Furthermore, different combinations between the type of SFC guideline curve and the selected SFC index type of the RGB cube also allow for a transition from dynamic vision mode to chaotic vision mode. Figure 10 An example is shown where the dynamic effects on the left side of an image (SFC of type DC0uM) are transformed into chaotic effects by simply replacing the chosen RGB cube model.

[0325] The principle of mapping the space of an RGB cube to a palette in a plane equipped with SFC guideline curves can be expressed by formulas using a series of algorithmic variations. These algorithmic variations can be interchanged using hash tables. The principle of coloring a two-dimensional palette is proposed based on the following algorithmic variations.

[0326] From Figure 68a The indRGBv function (in Figure 68b (with comments) Generates RGB codes from the following: given index, selected SFC type, and the number of chaotic modifications allowed to the color table. The function receives... <ind>(Indices involved), (color table resolution in accordance with square convention), <cas> ( <cas>a type of 3-dimensional SFC designated to perform bijective indexing), and <v2>(dynamical pair, i.e. a pair of positive real numbers less than or equal to one, which controls the chaotic nature of the table). This function returns a triplet corresponding to the computed RGB code <v3> 。

[0327] < / v3> < / cas> < / cas> Figure 69a The tabPIX function (explained in Figure 69b takes as input: <ind>(Index of the point to be colored), (resolution of the table), <v2>(kinetic values of the table pair), <per>(color displacement code ranging from 0 to 5), <rgb>(RGB code index cube type), <sfc>(SFC curve type), <v3t>(RGB code translation vector), and <v3n>(color complementarity vector (negative value)). This function returns the pair representing the colored pair (formed by its coordinates and its color code).

[0328] Dynamic table

[0329] It will be understood that dynamic tables aim to replace randomly or pseudo-randomly generated tables. They allow the color of a point to be computed on the fly without prior pre-computing or storing of the table and they are generated programmatically from a set of parameters forming the signature of the table (equation 8). This signature will be used as a cryptographic key.

[0330] Cryptographic signature

[0331] K a = {M, V, P, R, S, T, N}

[0332] with M = {0, 1, 2}

[0333] and V = [a, b]

[0334] and P = {0,..., 5}

[0335] and R = {0, 1, 2,...}

[0336] and S = {0, 1, 2,...}

[0337] and T = [t0, t1, t2] rgb

[0338] and N = { {0, 1}, {0, 1}, {0, 1}} rgb (8)

[0339] Example

[0340] < / sfc> < / rgb> < / per> Figure 11 The visual results of the four color tables defined by the formulas (Equation 9 and Equation 10) are shown. The two-dimensional steering SFC of the upper color tables is of the DC0uS spiral type and the three-dimensional indexing SFC is of type 0 and type 1 respectively, with the RGB code permutation indicator being 5 and 0 respectively. The selection dynamics factor pair allows to generate tables with dynamics effects and then tables with chaotic effects. The sequence of calls to the following functions illustrates the injection of the generator parameters of the terminal RGB code.

[0341]

[0342] The two-dimensional SFC of the two lower tables is of the DC0uM meander type while the three-dimensional indexing SFC is of type 0 and type 1 respectively. The selection dynamics factor pair also allows to generate tables with dynamics effects and then tables with chaotic effects. As before, the sequence of calls to the following functions illustrates the injection of the generator parameters of the terminal RGB code.

[0343]

[0344] The lstabDYN function (explained in Figure 70a ) from the tabDYN function (explained in Figure 70b ) takes as input the resolution and a list of parameters forming a cryptographic signature thereof <lsdyn>As input. This function returns the list of colored points, which is a list of pairs composed of a coordinate pair and an RGB code.

[0345] Visual complexity of dynamic tables

[0346] In the previous example, the pair of coefficients that controls the chaotic or dynamic appearance of the dynamic color table is applied to all the pixels of the generated table. The possibility of modifying this pair based on the position of the pixel in the plane is introduced. This position depends on the SFC guide curve of the table. The general principle is as follows:

[0347] 1. In mode 0, the color computation depends on certain parameters, including the point index and the pair of dynamic coefficients. For each pixel in the plane that traverses the SFC guide curve, this pair has constant values. The successive variations of these values allow the interactive and real-time dynamic variation of the palette.

[0348] 2. In mode 1 and mode 2, the pair of dynamic coefficients is computed for each point of the plane and of the guide curve. To do this, the pair of coefficients is recomputed based on the coordinates of each point. The pair of coefficients provided as parameters of the algorithm is interpreted as a pair of weighting coefficients that is applied to each coordinate of the point after the successive point transformations.

[0349] 3. This principle can be extended to any point transformation that allows the computation of the pair of dynamic coefficients from the point transformation of the coordinates.

[0350] Two examples of modification of the pair of dynamic coefficients by successive point transformations are expressed by formulae (eq. 11 and eq. 12).

[0351]

[0352] < / lsdyn> Figure 71a The tabDYN function (explained in Figure 71b ) takes as input: <ind>(index of the point to be colored), (resolution of the generated table), and <lsdyn>(whose parameter list is cryptographically signed). This function returns a pair representing the colored point being shaded <v2v3>consisting of its coordinates and its color code. This function operates in the three modes described previously.

[0353] According to an aspect of the application, a computer-implemented method for performing identification or authentication using a dynamic color table within a square is disclosed, the method comprising: generating a two-dimensional SFC that traverses a square containing a plurality of pixels; dynamically associating colors from an RGB color cube to each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC; and providing the generated color table, the generated color table enabling identification or authentication.

[0354] According to one or more embodiments, the method further comprises modifying the value of each pixel in the generated color table.

[0355] Example

[0356] By < / lsdyn> Figure 12 and Figure 13 The increase in visual complexity of the dynamic color table is illustrated. The formation of the fingerprint-shaped color table is visually combined with the geometric Moire effect. Figure 12 The results of the calculations performed using equation (equation 11) are illustrated, while Figure 13 The results of the calculations performed using equation (equation 12) are illustrated.

[0357] Encoding the palette

[0358] It will be understood that encoding the palette, that is, the ordered list of RGB codes, aims at securely and confidentially transmitting the list. The encryption principle developed involves operating in a space of dimension <3n>, where <n>is the number of colors in the list. The list of RGB codes given as triples will be simply transformed into a concatenated list of <3n> integer values. The newly formed list is then considered as a list of coordinates of points belonging to a predetermined type of multidimensional SFC. This type is chosen from the list of available multidimensional SFCs. The encryption of the initial list of RGB codes will thus be the index of the point belonging to the chosen SFC whose list of coordinates is known. The encryption key of the list will thus be composed of the code itself in the Bignum format with the dimensions of the encryption space and the encryption key of the multidimensional SFC.

[0359] Figure 72a The rgbCODE function (explained in Figure 72b ) in the list encodes the list of RGB codes into a multi-precision positive integer (Bignum). This function takes the list of RGB codes <lsrgb>As input. It returns the computed code.

[0360] Figure 73a The codeRGB function (explained in Figure 73b The codeRGB function (explained in <code>、 <nbr>(number of RGB codes in the list), and <ind>(index of the RGB code in the list). The function returns <v3>(desired RGB code).

[0361] Coloring of the topological zones

[0362] It will be understood that, in one or more embodiments, the coloring of the topological zones is performed using a coloring rule associated with the density. Thus, in one or more embodiments, the coloring process is associated with the topological segmentation performed from the Jouanolou polygon. The density is an algorithmically computed arithmetic indicator that characterizes the combined zones resulting from the segmentation. For each zone, the density varies according to the orientation in the plane of each Jouanolou polygon constituting the segmentation set. Depending on the number of elementary Jouanolou polygons constituting the set, the obtained density values fluctuate, and the variation of the orientation of these polygons leads to the appearance of negative densities.

[0363] It will be understood that the coloring of the density involves associating an RGB code with each density resulting from the segmentation, or associating an RGB code with a grouped set of densities for topological, logical or other reasons. For example, grouping the densities for which half is odd is a strategy that allows the colors of the edges of the Jouanolou polygon to be distinguished from the colors of the internal and external zones.

[0364] To achieve this, in addition to the method of creating a density-color correspondence table, a method is disclosed for dynamically creating a palette determined by a limited number of parameters and automatically adapted to the range of densities encountered.

[0365] Density ranges

[0366] The person skilled in the art will understand that the density ranges are sets of different densities obtained during the topological segmentation. These ranges are a posteriori known by sorting the final list of densities obtained and retaining only one element among the repeated densities. The eight ranges of the sequence (eq. 13) result from the segmentation of the figure Figure 14 from the segmentation of the figure 3 in the case where the segmentation is performed using three elementary constituent Jouanolou polygons: two squares and one rectangle. Thus, there are 2 Figure 14 different combinations of the orientations of these three polygons, which give rise to 8 different coloring events of the same segmentation. These combinations are indicated by n-tuples of binary values, the binary values representing the orientation of the Jouanolou polygon. In the case where, on the top left, the coloring corresponds to the successive combinations [0, 0, 0], [0, 0, 1],..., [1, 1, 1].

[0367]

[0368] Posterior correspondence of density-color

[0369] When the density range is known in advance, a post-correspondence between density and color occurs either through discrete preprocessing (which is performed by previously calculating all densities associated with the topological segmentation within the determined display window) or through a method that allows the range to be known in advance through combinatorial deduction. In this case, the origin of the density range can be shifted to zero by a known translation of all densities.

[0370] Figure 74a The colMIRE function (in) Figure 75b (with annotations) The function computes a list of colored points within a window of known dimensions and for a given topological partition. The function takes the following as input: the diagonal points of the scan window, <v2o>(lower left point), <v2e>(top right point), <q>(formation of a split list of secondary vertexes), (translation values for specifically translating the density range to zero origin and positive value set), <nbrdens>(number of densities in the range), and <code>(integer encoding the list of RGB codes).

[0371] pre-matched density-color

[0372] It will be appreciated that the pre-mapping between density and color is performed on the fly without a priori knowledge of the density range. The property of the tabCODE function already introduced ( Figure 66a , Figure 66b ) is used. The principle is to generate a table of colors where the number of entries will be at least twice the absolute value of the maximum density. Then the color associated with a given density will simply be the color from the table at an index equal to half the number of colors plus the density value. This approach avoids the technique used to hash a sequence of integers with negative values.

[0373] Figure 75a The function lsv2v3DENS (annotated in Figure 75b ) computes the list of colored points associated with the set of Jordan polygons of a quadratic representation. This function takes as input: <q>(list of point triplets representing a set); <v2o>(bottom left corner of the scan rectangle); <v2e>(top right corner of the scan rectangle); <v2c>(tabCODE function Figure 66a , Figure 66a ) of the linear combination parameters); <plg>(number of colors in the defined palette); <per>(RGB code replacement indicator); <v3t>(shift vector of the calculated RGB code); and <v3n>(vector of color complementarity indicators (negative values)). This function returns the list of colored points in the scan window.

[0374] Examples

[0375] In Figure 15 and Figure 16 the coloring principle mentioned above is illustrated. The goal is to achieve a uniform coloring of the topological partition of the vectorial alphabet writing AB. The letter A has two connected components (an orientation code of type [{0, 1}, {0, 1}]); and the letter B has three components (an orientation code of type [{0, 1}, {0, 1}, {0, 1}]). To achieve a uniform coloring, one has to identify a good combination that links the two codes. In Figure 16 the case, the use of the general codes [1, 1] and [1, 0, 0] or the complementary codes [0, 0] and [0, 1, 1] will achieve a good coloring. The codes [0, 1] and [1, 0, 1] will lead to a non-uniform coloring of the same figure.

[0376] According to Figure 47 step 108, a unit cell topological template is provided.

[0377] The skilled person will appreciate that the generated unit cell topological template can be provided according to various embodiments. In particular, the skilled person will appreciate that the embodiments can depend on the application.

[0378] According to one or more embodiments, the generated unit cell topological template is stored in a memory unit of the processing device.

[0379] According to one or more other embodiments, the generated unit cell topological template is transmitted to another processing device, which is operatively connected to the processing device for implementing the method via at least one data network. The skilled person will appreciate that the data network can be of various types.

[0380] For example, and according to one or more embodiments, the data network can be a local area network (LAN). In one or more other embodiments, the data network is the Internet.

[0381] The skilled person will appreciate that, in one or more other embodiments, the step of providing a unit cell topological template further comprises obtaining an SFC or an encoded MCG that traverses the square and using the SFC or the encoded MCG to reorder each point of the unit cell topological template to provide a scrambled unit cell topological template, the reordering modifying the coordinates of each point of the unit cell topological template such that, for each given point in the given scan having corresponding initial coordinates, new coordinates are assigned to the point, the new coordinates corresponding to the same index in the SFC or in the encoded MCG as the index in the given scan.

[0382] It will be appreciated that in the method disclosed in Figure 47 the information to encode is used in at least one of the following: the generation of the partitions in the square, the determination of the density associated with each point of the square, and the coloring of each point of the square.

[0383] The skilled person will appreciate that this use can be done in various ways, as numerous parameters can be used for each of the steps mentioned above.

[0384] Template scrambling

[0385] Indeed, the skilled person will appreciate that the optional scrambling of the topological template increases the robustness of the encryption against subsequent attacks. In particular, it allows to disrupt the visual coherence of the list of colored points both at the spatial level of the coordinates and at the colorimetric level of the RGB code. This scrambling uses a planar reordering method via SFC or MCG. Unlike the traditional method which performs the reordering using a limited number of known SFC, the transcoding of integers is performed using MCGs of the same resolution belonging to an arbitrary series. The signature of the MCG will provide the encryption key. The following function scheme (Equation 14) is then obtained:

[0386]

[0387] The skilled person will appreciate that the decoding function and the encoding function of Equation 3 can be chosen manually or automatically <f>and <g>. To select them automatically, it is possible to pass in the resolution <n-1>index in the SFC to represent from having <n>Transcoding functions derived from the encoding and decoding tables of each element. <n 2> A combination of coordinates is used, where the point has the index of the decoding function in its table and the index of the encoding function in its table as a coordinate pair. This index can be used for selection via modular hashing.

[0388] Figure 48 A computer-implemented method for encoding information using an image that includes metapixels is shown.

[0389] In fact, it will become clear that a universal graphic identifier should be able to be displayed on different physical media and through various digital display technologies. Those skilled in the art will know that there are two main methods of two-dimensional display: vector methods and bitmap methods. Vector methods are geared towards coloring pre-defined graphic or geometric primitives: squares, triangles, circles, etc., with parameterized sizes; while bitmap methods are geared towards coloring basic points called pixels. Unlike the more flexible vector methods, bitmap methods offer perfect display precision. Those skilled in the art will understand that both methods will be used in the following content, but by introducing a method developed around the idea of ​​metapixels, an overlay will be added to the traditional bitmap method. Those skilled in the art will understand that this method allows for better control over physical printing units (such as dpi (dots per inch)), but more importantly, it enriches the limited visual encryption possibilities of pixels. Specifically, metapixels allow for the visual interweaving of traditional bitmaps (such as photographic images and QR codes).

[0390] according to Figure 48 Step 200: Obtain a first image with a given number of pixels.

[0391] Those skilled in the art will understand that the first image can be obtained according to various embodiments. In one or more embodiments, the first image is obtained from the memory of the processing device.

[0392] In one or more other embodiments, the first image is generated by a processing device.

[0393] According to one or more other embodiments, the first image is received from another processing device via, for example, a data network. Those skilled in the art will understand that data networks can be of various types.

[0394] For example, and in one or more implementations, the data network is a local area network (LAN). In one or more other implementations, the data network is the Internet.

[0395] It will be understood that the first image is selected from a set of images, which includes at least one unit cell topology template generated using the method described above.

[0396] It will be understood that, in one or more implementations, the set of images also includes tiles generated using the methods described herein.

[0397] It will be understood that, in one or more embodiments, the set of images also includes at least one of a static color table and a dynamic color table.

[0398] It will be understood that, in one or more implementations, the set of images also includes a QR code.

[0399] It will be understood that, in one or more implementations, the set of images also includes a given image, such as any imported image (e.g., a photograph).

[0400] It will be understood that, according to one or more implementations, the dynamic color table is generated using a method comprising: generating a two-dimensional SFC that traverses a square, and dynamically associating colors from the RGB color cube to each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC. Figure 48 In step 202, a second image with a given number of pixels is obtained, which is the same as the given number of pixels in the first image.

[0401] Those skilled in the art will understand that the second image can be obtained according to various embodiments. In one or more embodiments, the second image is obtained from the memory of the processing device.

[0402] According to one or more other embodiments, the second image is generated by a processing device. According to one or more other embodiments, the second image is received from another processing device via, for example, a data network. Those skilled in the art will understand that data networks can be of various types.

[0403] For example, and according to one or more implementations, the data network may be a local area network (LAN). In one or more other implementations, the data network is the Internet.

[0404] Those skilled in the art will understand that the second image can be of various types. In fact, the second image can be one of the images mentioned above (e.g., static color tables, dynamic color tables, given images, QR codes, generated tiles, unit cell topological templates, etc.).

[0405] according to Figure 48 Step 204 involves interleaving the first image with the second image to provide an interleaved image. It will be understood that the interleaved image comprises a given number of meta-pixels, the same number as the given number of pixels in the first image.

[0406] Each meta-pixel comprises a central part and a peripheral part.

[0407] The central part comprises at least one pixel having an associated value equal to the value of a corresponding pixel in one of the first and second images.

[0408] The peripheral part surrounds the central part and comprises a plurality of pixels each having an associated value equal to the value of a corresponding pixel in the other of the first and second images.

[0409] Typography system and meta-pixel

[0410] It will be understood that the list of colored points allows associating a pair of coordinates with its corresponding color in the Cartesian plane. This representation makes it possible to describe a bitmap file without prior ordering of the pixels. To enlarge the size of the pixels, the idea of a meta-pixel is introduced, which transforms a single pixel into a square of n 2 pixels, which is itself divided into an internal square and an external square. The meta-pixel principle is not only essential for changing the physical printing resolution expressed in number of pixels per centimeter, but also for creating additional areas for encoding contrast color information. Figure 17 The transition from a pixel representation to a meta-pixel representation is shown for a simple S-shaped Peano curve. The colors from the list of colored points will be used to color the internal square or the edges of the square, depending on the previously chosen mode.

[0411] Figure 18 The four available typography modes associated with a meta-pixel are shown. The first mode applies to a meta-pixel without a border. The main square is colored using a dynamic color table. The next mode (fd=0) allows assigning a border thickness and a constant color. In this case, the internal square is colored with a dynamic color table. The following mode (fd=1) reverses the color assignment compared to the previous mode. Finally, the last mode (fd=2) assigns the color of a static color table to the internal square and the color of a dynamic color table to the rest of the meta-pixel.

[0412] Typography process

[0413] The disclosed algorithm aims to produce a bitmap image at a certain resolution, for example expressed in number of pixels per centimeter or dots per inch (DPI).

[0414] The first algorithmic phase involves transforming the list of colored points into an ordered list of RGB color codes in a reading order similar to that of a typewriter (from top to bottom and from left to right). This type of reading is found in many bitmap formats, notably the ASCII PPM format. The SFC algorithm for ordering the list of colored points into an ordered list of colors is the CD0uwLIG encoding function. The second algorithmic phase involves transforming the list of pixel colors into a list of meta-pixel colors.

[0415] Figure 76a The modPPM function in Figure 76b takes as input: <name>(name of the bitmap file to be generated); <nbrx>(number of pixels on one side of the printed square); <lsv2v3>(colored point list, the colored point list consists of pairs of Cartesian coordinates of points and triplets representing the RGB code thereof); <dpi>(scale factor of a sub-pixel); <bd>(width of a frame of a sub-pixel); <v3b>(RGB color of the frame); <v3t>(shift vector for R color, shift vector for G color, shift vector for B color); <v3n>(vector indicating negative image computation for three color channels); <fd>(Using a pattern of borders and internal squares of sub-pixels); finally and <postab>(A color table designed to color the inner square of a meta-pixel). This function uses the TABg2ppm function ( Figure 101 The call returns the generated file in PPM format.

[0416] Figure 100a The TABg2lis function (in) Figure 100b (The text then provides an explanation of the color list, which is not directly related to the preceding sentence and can be omitted.) Figure 99 The DC0uwLIG function (SFC decoding function) performs this sorting. This function takes the following as input: (resolution of the table of points to be colored) and <ls>(coloring point list). This function returns an ordered list of RGB color codes. The ordering is similar to that of an ASCII PPM file.

[0417] < / ls> Figure 77a The TAB2dpi function in (in Figure 77b (Interpretation within the function) calculates the color of the shaded pixel. The function takes the following as input: <d>(size of a sub-pixel), <lsrgb>(color table), <sca>(scale factor of a sub-pixel), <bd>(border thickness), <v3b>(border color code), <fd>(1) sub-pixel rendering mode), and <tabmap>(static color table for filling the inner square of a meta-pixel). This function returns the list of meta-pixel colors.

[0418] Figure 78a The CAS2dpi function (explained in Figure 78b ) in calculates the RGB color code associated with a given point. This function takes as input: the index of the point in the cartesian plane and <j>(coordinates thereof), color list <lsrgb>, parameter list <ls>, and a list of color codes intended to fill the inner square of the meta-pixel <tabmap>The function returns the determined RGB color code. The flowchart of the function follows the typography mode processing of Figure 18 The coordinates of the point to be colored are provided as input. If the meta-pixel border is zero, the color of the point is extracted from the color table provided as argument. If the border is non-zero, the status of the point is tested, i.e. its position relative to the internal square of the meta-pixel. From this branch, the test is conditioned on the mode fd = {0, 1, 2}. In mode 2, the color assigned to the point based on its position is the color determined in the main color table (dynamic table) or in the image provided as argument (static table).

[0419] Figure 79a The intMPIX function (commented in Figure 79b ) calculates the position of the point relative to the internal square of the meta-pixel. The function takes as input: 、 <sc> 、 <lign> 、 <bd>and <sca>The function returns 0 or 1, depending on the point's position within the square.

[0420] The interweaving of dynamic and static color tables

[0421] Those skilled in the art will understand that the interweaving of dynamic color tables is effective for the four typography modes described above. Figure 80 The SCRIPT003 function in the document is proposed to be applied in Figure 19 The first three layout modes of the dynamic table are shown on the left. In this case, the metapixel has no border, then for the inner square of 20 pixels (in the upper right of the image (fd=0)), the metapixel has a border of 2 pixels thick, and finally, for the inner square of 14 pixels (in the lower right of the image (fd=1)), the metapixel has a border of 5 pixels.

[0422] Those skilled in the art will understand that nested static tables are pre-computed bitmap images from the same source, but with a resolution equivalent to dynamic color tables. They can be nested with encryption (scrambling) or not with encryption, either using basic or composite SFCs from function tables (libraries). In the case of photographs, the ratio between the edge of a meta-pixel and the inner square determines the visual readability of the nested bitmap image. Figure 20 Corresponding to from Figure 81 The result of the SCRIPT004 script function. The final image on the right side of the figure will be nested between the dynamic color table in the upper left and the extremely low-resolution photographic image in the lower left.

[0423] Figure 21 A second example of interweaving dynamic color tables and photographic images is shown. Figure 82 The SCRIPT007 function in the file generates the script. The initial color changes to the image of Nefertiti's bust are encrypted along with other parameters in the encryption key of the resulting bitmap image.

[0424] Those skilled in the art will understand that traditional QR codes can also be embedded into the topological template using metapixels when the pattern fd=2. Figure 83 The SCRIPT008 function in the example demonstrates this property. In this example, the text associated with the QR code is "Masahiro Hara, inventor of the QR code." In principle, the dynamic color table can also be replaced by a second QR code to nest two different codes. Figure 22 The image shows the graphical result of nesting the dynamic table in the upper left with the involved QR code in the lower left. The nesting result is shown in the image on the right.

[0425] Encryption by SFC scrambling

[0426] It will be appreciated that the combined use of static color tables and dynamic color tables can be aimed in particular at identification and authentication. The scrambling of the static tables allows the addition of a visual encryption component to the generated bitmap. Figure 23 The scrambling of the photographic static tables and QR codes is illustrated from two examples in the previous examples. Within the framework of the polytope topology template, the simultaneous combination of a photographic image with a scrambled or non-scrambled QR code image is addressed.

[0427] Mayer effect

[0428] The use of two square regions defined by a meta-pixel allows the use of a set of meta-pixels to encode two types of colored information on the same area of the plane. The coloring consistency between the inner region and the outer region of the meta-pixel advantageously enables the human visual system to perceive two interlaced images.

[0429] According to Figure 48 a step 206 of providing an interlaced image.

[0430] The skilled person will appreciate that the generated interlaced image can be provided according to various embodiments. In particular, the skilled person will appreciate that the embodiments can depend on the application.

[0431] According to one or more embodiments, the generated interlaced image is stored in a memory unit of the processing device.

[0432] According to one or more other embodiments, the interlaced image is transmitted to another processing device, which is operatively connected to the processing device for implementing the method via at least one data network. The skilled person will appreciate that the data network can be of various types.

[0433] For example, and as part of one or more embodiments, the data network can be a local area network (LAN). In one or more other embodiments, the data network is the Internet.

[0434] In one or more embodiments (not illustrated in Figure 48 the method further comprises a step of obtaining an SFC or an encoded MCG that traverses the interlaced image.

[0435] The method also comprises reordering each point of the interleaved image using the SFC or the encoded MCG to provide a scrambled cell topology template, the reordering modifying the coordinates of each point of the interleaved image so that for each given point in the given scan having initial corresponding coordinates, new coordinates are assigned to this point, these new coordinates corresponding to the same index in the SFC or in the encoded MCG as the index in the given scan. The reordering makes it possible to provide a scrambled interleaved image.

[0436] The skilled person will understand that providing a scrambled interleaved image can have a major interest for certain encryption-related applications.

[0437] Encryption of the cell topology template

[0438] As mentioned above, the cell topology template is a graphical identifier constructed from an SFC that partitions a square in a plane and a dynamic color table that allows coloring the regions partitioned by the SFC. The partitioning is achieved using one or more SFCs that are topologically combined. The skilled person will understand that the SFC can also be used to encrypt the color table. Thus, the cell topology template is described by providing a series of parameters of its cryptographic signature. In one or more implementations, this consists in particular of an encryption key for each SFC involved in the topological partitioning, and an encryption key associated with the color table.

[0439] Cryptographic signature

[0440] In such an implementation, the cryptographic signature of the cell topology template (equation 15) is thus the set of the partitioning SFCs and of the cryptographic signature associated with the color table.

[0441] K cel = {K Sfc , K Tab}

[0442] where K Sfc = {K sfc0 , K sfc1 ,...}

[0443] and K Tab = {K α , K β ,...} (15)

[0444] Figure 25 A topology template constructed from a single SFC is shown: a Hilbert curve, two dynamic color tables for the interior and the exterior of the curve, and a color table for the edges (initialized in this case to produce a constant black color).

[0445] Multiple jordan partitions

[0446] The biquadratic representation of the Jordan polygon allows to merge simple polygons into multiply connected polygons and then to merge these polygons with other polygons having arbitrary connectivity. This property supports the composition of the partition, which increases in complexity with each addition of a new polygon. The number of different density values also increases and therefore the association of a color table to each density value can be done either by defining a table for each value or by using a hash table. Figure 26 A multiple topological partition with three Jordan curves is shown.

[0447] Algorithm construction steps

[0448] The skilled person will understand that in order to construct a template, one must start with the determination of the color tables, i.e. their corresponding SFC guideline curves, and the selection of the shading parameters forming the cryptographic signature of each table. In the example of Figure 27 , there are two color tables generated, two color tables corresponding to the shading of two different topological regions caused by two different SFCs. Unlike the SFC guideline curve on the right side of the figure, the SFC on the left side of the figure is discriminable given the selection of the encryption parameters.

[0449] The correspondence between the shaded points in the table and the points located with respect to the partition SFCs is established by the density computed for all the points of the square containing the SFC. In the example of Figure 28 , the density representation on the left side of the figure shows the density points with values 0, 1, 2, 3, 4. The densities of the edges, i.e. the points located at the edges and at the convex and concave vertices, have the corresponding values 2, 1, 3, while the densities with values 0 and 4 are associated with the points of the interior and exterior regions of the closed Hilbert curve in the Jordan polygon. The correspondence between the densities and the colors is achieved by a hash table with a variable number of entries.

[0450] Figure 84a The celUNI function in the Figure 84b , explained in the <q>• the lower left point of the so-called scan square <v2o>, and the upper right point <v2e>The function returns the list of points that are colored .

[0451] Dynamic table hash processing

[0452] The dynamic color table is grouped into hash tables. The mapping between densities is based on the number of entries and density values ​​in the hash tables, as defined by the celUNI function. Figure 84a , Figure 84b It was completed in a modular fashion. Figure 85 The SCRIPTaab script function in the middle is generated in Figure 28 The image on the right. Figure 30 The initialization of three hash tables is shown. Two examples of a table with five entries and one example of a table with thirteen entries are shown.

[0453] Those skilled in the art will understand that different hash tables can ultimately be associated with different density regions or grouped based on specific density values. Figure 29 The diagram illustrates the correlation between different density values ​​and different dynamic tables. In this case, edges are more difficult for the human eye to distinguish compared to when a dynamic table is used to generate constant colors (such as black).

[0454] Unit cell topological template with Mauss effect

[0455] Those skilled in the art will understand that the shading associated with the inner square of the metapixel and the Mauss effect described below can be used with any static or dynamic color table. One of the benefits of this operation is the ability to separate the processes of visual recognition and authentication. As in the previous examples, all the tables used can be scrambled using the substitution of the SFC guideline curve, resulting in the replacement of the shading points.

[0456] Figure 31 The Mayus effect created from a digital photograph is shown. The visual readability of the photograph depends on the ratio between the edge of the metapixel and the inner square.

[0457] Figure 32 The Maus effect created from a pre-computed dynamic table or a common dynamic table is illustrated. Adding symbols or graphic shapes (circles, triangles, polygons) makes it possible to create a graphic code alphabet associated with a given number base, and in this case, text is encoded based on the definition of the SFC guideline curve. However, while vector displays from standard graphics languages ​​automatically adapt to the available pixel resolution (pixels fill vector areas), equivalent bitmap displays (where pixels form shaded areas) are complex to implement and must rely on the principles of the graphic mesh defined below.

[0458] Octal multicell partitioning

[0459] It will become clear that a method for use has been disclosed. Figure 49 a computer-implemented method of encoding information in a square by generating a tile in the square.

[0460] According to Figure 49 In step 280, information to be encoded is obtained. The nature of the information to be encoded can vary, as will be apparent to those skilled in the art.

[0461] Furthermore, it will be apparent to those skilled in the art that the information to be encoded can be obtained according to various embodiments. In one or more embodiments, the information is obtained from a computer performing the process. In one or more other embodiments, the information is obtained via another computer operatively connected to the computer performing the process. It will be apparent to those skilled in the art that there are many alternative ways of obtaining the information.

[0462] According to step 300 of the method for generating a tile illustrated in Figure 49 In step 300, an SFC is generated within a square. The SFC is generated by replacing each elementary portion of the SFC with a corresponding tile.

[0463] It will be apparent that the SFC can be generated according to various embodiments.

[0464] According to step 302 of the method for generating a tile illustrated in Figure 49 In step 302, a tile is generated. The tile is generated by replacing each elementary portion of the SFC with a corresponding tile.

[0465] According to step 304 of the method for generating a tile illustrated in Figure 49 In step 304, an indication of the generated tile is provided.

[0466] It will be apparent that the method is characterized by the use of the information to be encoded during the generation of the SFC in step 300. Indeed, this information can be used to generate parameters for generating the SFC. It will be apparent to those skilled in the art that said information to be encoded can be used in various ways.

[0467] Indeed, it will be apparent that, in one or more embodiments, the SFC is defined by 8 elementary portions in the shape of "S". In this or these embodiments, the corresponding tile corresponds to a given same and fixed tile for each of the 8 elementary portions.

[0468] In one or more embodiments of the method for generating a tile in a square, the method further comprises obtaining an ASCII string to be encoded. The method further comprises converting the obtained ASCII string into a corresponding sequence of codes filling an array of squares in a given number base, and generating an SFC using a given Gray SFC guide curve, wherein each point of the Gray SFC guide curve is replaced with a pattern corresponding to a given code from the sequence of codes.

[0469] The skilled person will appreciate that the multi-cell partitioning aims at increasing the complexity of the visual encryption of the topological template by partitioning each cell of the plane. It will be appreciated that a cell is a square subdivision of the plane, forming a perfect square together with other identical cells. In this case, the ordering of the cells follows a predetermined SFC guideline curve. The possibility of associating a topological partitioning per cell of the plane typically requires a multiplication of the secret key: one set per cell, which is a relatively heavy process to implement. The disclosed solution involves setting an automatic multi-cell partitioning according to the vertices of the guiding SFC of the cell.

[0470] General principle

[0471] As mentioned above, in one or more embodiments, the principle of the topological template involves partitioning the plane by a Jouanolou polygon (including, as a particular case, the SFC after its topological closure). The previously proposed topological template is essentially mono-cellular, which means that a single square of the plane is colored based on the parameter (cryptographic signature) associated therewith. In the following, the concept of multi-cell partitioning is disclosed, which enables encryption using a set of squares (called "cells”) filling the main square of the plane. This set of cells is determined by the SFC guideline curve, which is derived from the available library of elementary or composite MCG SFCs. Then, an example of topological partitioning based on a set of two trapezoids and a square per cell in octal base and two triangles (Trompowski squares) in quaternary base is disclosed. This set of polygons is centered on each vertex of the SFC guideline curve, which in this case is a composite SFC or MCG curve based on the elementary Peano curve. The set of polygons is oriented according to the orientation of the elementary curve associated with the cell. Figure 33 An iterative construction of a spiral SFC is shown, which controls a cell composed of two trapezoids and a square (base 8) for each of its vertices. The orientation of the polygons depends on the elementary Peano curve with S-shape filling the cell (left figure).

[0472] The existing geometric relationship between the polygons and the curve of the cell forms the basis of the new system of tiles and topological partitioning of the plane detailed below.

[0473] Peano-Trompowski tiles

[0474] It will become clear that Truchet tiles are planar tiles composed of a set of basic squares, each square being divided into two triangles of different colors. Therefore, there are four possible combinations of colored squares, which constitute a quaternary code for the plane. A hybrid algorithm encoding system based on the Peano coupling function and Truchet tile theory is described. The principle is to associate eight basic graphic matrices with eight configurations of basic sigmoid and oriented Peano curves. This method is equivalent to defining a new type of tile in the plane, which will be named a Peano-Trouche tile. Therefore, these eight graphic matrices are called Peano-Trouche patterns and... Figure 34 As shown in the image.

[0475] As mentioned above, it will be understood that in one or more implementations, the SFC is defined by eight basic "S" parts. In this or these implementations, the corresponding piece corresponds to a given, identical, and fixed piece for each of the eight basic parts.

[0476] Figure 86a The casTPZ function in (in Figure 86b (with annotations) This function aims to classify eight possible Piano-Trouche pattern types. The function expects the following as input: <v2a> 、 <v2b> 、 <v2c>(three reference points of each elementary Piaget curve). This function returns the associated case number among the eight presented in Figure 34 The cases are respectively 0, 2, 4, 6 for the configuration of the first row and respectively 1, 3, 5, 7 for the second row.

[0477] Algorithmic construction of the tiles

[0478] The algorithmic generation of the Gray cell curves constituting the elementary S-curve segments is based on the level 2 Gray cell curves for which symmetry is introduced for all the rotors. Regular or conspicuous tiles can be generated by activating or deactivating the symmetries. Figure 35 The direct generation of regular octal tiles from the generating Gray cell curves of type wS (spiral of class W) is shown.

[0479] The skilled person will understand that other types of regular or conspicuous tiles can be generated by activating or deactivating the symmetries on even or odd rotors sequentially or independently. Figure 36 The generation of regular tiles after algorithmic modification of the symmetries on each S-curve is shown.

[0480] Thus, the call to the function DC2(i, 2, [6, 2],

[11] , [[], [seq(2*i, i=1..24)]]) allows to change the symmetry of the even order 1 rotor of the Gray cell curve shown on the left of Figure 36 The resulting cell curve after application of the symmetries is shown in the middle of Figure 36 and this cell curve enables the generation of the regular Piaget-Truchet octal tiles shown on the right of this figure. Figure 37 is obtained from the MCG of type DC2(i, 2, [6, 2],

[11] ). Figure 38 The selection of the symmetries of the elementary S-curve of the spiral MCG on the left of this figure is shown to obtain the octal combined spiral structure on the right of this figure.

[0481] Vector and bitmap typography

[0482] It will be understood that the previous figures are created using a vector graphics software package which employs graphical primitives such as colored polygons. This approach must be complemented by a bitmap approach which requires exact calculations without pixel level approximation. Bitmap output is particularly necessary for the typographic version on a physical medium. Moreover, physical decoding by image analysis of the polytope topology template requires reference points in the template which will be associated with the polygonal targets. The scale and the measurement of this type of calibration target are in Figure 39 and thus satisfies the dual requirements of pixel precision for template editing and polygon pattern recognition per cell. This calibration target is computed from a parametric canvas of control points that allow to generate a base 8 calibration target composed of two trapezoids and a square and a base 4 calibration target composed of two triangles. This calibration target principle can be extended to discretely encode any other graphical pattern based on control points and polygonal symbols and graphical shapes from Figure 32

[0483] Figure 90a The mireOCT function (explained in Figure 90b ) in the mireOCT function (explained in <lsp> 、 <sca>(global scaling parameter for main SFC baseline curve), <ep>(pixel thickness between polygons), <sc>(local scaling of polygons within a cell), and <base> (base for generating calibration target). This function returns a list of point coordinates for two trapezoids and a square <tr0> 、 <tr1>and <cr>, or a list of point coordinates for two triangles <tr0> 、 <tr1>.

[0484] This function uses from Figure 87a The initial auxiliary function rapPTS (in Figure 87b (Note the annotations below). The initial auxiliary function rapPTS provides the coordinates of points linearly related to two given points. In this way, the set of linear dependencies of the calibration target is calculated based on two control parameters. This function adopts the approach previously used in the mireOCT function (…). Figure 90a , Figure 90b Parameters defined in ) <sca>and <ep>As input, and output list, which contains pairs of coordinates <v2>points and calculation parameters of linear dependence <lam> 、 <mu>and <den>.

[0485] This function uses two other auxiliary functions: from Figure 88a ptsBS8 (in Figure 88b (with annotations) and from Figure 89a ptsBS4 (in Figure 89b (See the comments below). These two additional helper functions calculate the points of the corresponding polygons of the calibration target in radix 8 or radix 4 from the control points. These functions then call two additional helper functions (named trLS and scLS), which perform translation and scaling on the coordinate pairs of the list, respectively.

[0486] ptsBS8 function ( Figure 88a , Figure 88b Position the trapezoid and square within the reference frame of the cell being processed. This function expects the following as input: a list of coordinates for the three polygons. <v3v4>, scaling factor <sc>center point of a piane curve <p4>, and points having coordinate pairs <v2>.

[0487] The function ptsBS4( Figure 89a , Figure 89b ) positions two triangles in the reference frame of the processing unit cell. This function takes as input: a list of lists of coordinates of the two polygons <v3v3>, scaling factor <sc>center point of a piane curve <p4>, and points having coordinate pairs <v2>.

[0488] The function mireOCT( Figure 90a , Figure 90b ) uses a final helper function (named ptINT) that computes the intersection of two lines, each defined by two points.

[0489] Octal polytope encryption

[0490] It will be understood that the integration of text into a visual identifier such as a barcode, QR code or Data Matrix produces a result that can be read by a hardware or software decoder. It will be understood that in this case the issue of combining the triple response (technical and visual) to the problems of identification, authentication and encryption is not addressed. Since the human eye cannot distinguish and interpret the visual information, the graphic coding of the barcode technology is only used to enable a quick visual positioning of the code involved for subsequent correct hardware decoding. The octal polytope encryption aims to combine the pattern, motif and visual signature with the text coding. While the text decoding is always entrusted to a hardware or software decoder, the identification and authentication part is partially dependent on the human visual part.

[0491] General principle

[0492] It will be understood that the octal polytope encryption aims to transform the geometric octal tiles into a visual identifier that is colored. Two methods are disclosed. The first purely graphic method uses a color interlacing applied to all the octal cells, while the second alphanumeric method uses the octal cells to encode the text. The octal encryption makes it possible to create a quaternary polytope encryption by some algorithmic modifications.

[0493] Cryptographic signature

[0494] The cryptographic signature of a topological template using octal or quaternary polytope encryption consists of a set of integer numerical parameters, a list of quadratic vertices and an encryption key for the mapping of the color table. It takes the following form:

[0495] K o = {B, L, A, K α , K β , K γ , Sca, Ep, Sc, Code}

[0496] with B∷= 4 | 8

[0497] and A∷= <integer>

[0498] and Sca := Sca + 1 <integer>

[0499] and Ep := Ep + 1 <integer>

[0500] and Sc := Sc + 1 <integer>

[0501] and Code := Code + 1 <integer>(16)

[0502] Color table nesting

[0503] Figure 39 The calibration target in has 3 connected components under base 8 and 2 connected components under base 4, allowing different combinations of orientations in the polygonal plane that constitutes it and thus generating areas with different densities. Subsequently, filters on the densities obtained after the topological segmentation are used. These filters group certain densities based on the arithmetic predicate < to establish a strategy for coloring the areas defined by the calibration target. The next motMIRE function ( Figure 91a 、 Figure 91b ) uses three different filter functions associated with the values of certain main parameters of the calibration target. These functions are in turn the colMIRE function ( Figure 74a 、 Figure 74b ), the tabMIRE10 function ( Figure 92a 、 Figure 92b ) and the tabMIRE12 function ( Figure 93a 、 Figure 93b ).

[0504] The motMIRE function (annotated in Figure 91b ) from Figure 91a calculates the list of colored points of a given SFC curve based on a basic Peano curve with S-shape. This function takes as input: <base> (the generating base of the grid with value 8 or 4), <ls>(SFC points list that is a multiple of 9), (number of base curves minus one S-curve in the width or height of the square), color table <tab0> 、 <tab1>and <dyn0>, layout parameters <sca> 、 <epsi> 、 <sc>, and optionally encoding the color <code>The function returns the computed list of colored points.

[0505] Peano-Trouche tiles are essentially bi-chromatic, but depending on the properties of the generating meta-curve, they can be generated with more colors. A four-color example can be easily achieved by using the parity property of the S-curve of the meta-curve to color the tiles with 4 colors.

[0506] In general, by associating a dynamic color table with a tile, it is thus possible to color the tile with as many different colors as there are patches in the tile, and to color the tile with, for example, another color by adding another color to the trapezoid. Then, creating a tile with chaotic color table would involve computing a dynamic color table that would be associated with the ruling meta-curve of the tile.

[0507] from< / code> < / sc> < / epsi> < / sca> < / tab0> <code> Figure 92a The function tabMIRE10 (annotated in Figure 92b ) filters the density with respect to the density 8 and splits the plane into two topological regions. Each region is associated with a predetermined color table. This function takes as input: <atab>(resolution of the square representing a cell), <tab0>and <tab1>(two color tables associated with two regions, respectively), <sca>(scale factor of the calibration target, which controls the resolution of the calibration target in pixels), <v2o>and <v2e>(diagonal of the colored window), and <q>(split secondary vertex set). This function returns the list of colored points belonging to the colored window.

[0508] Figure 93a The function tabMIRE12 (explained in Figure 93b ) filters the density based on three density ranges and splits the plane into three topological regions. This function takes as input: <atab>(resolution of the square representing a cell), <tab0>and <tab1>(two color tables associated with two regions, respectively), <dyn0>(Parameters of the dynamic table associated with the third region), <sca>(scale factor of the calibration target, which controls the resolution of the calibration target in pixels), <v2o>and <v2e>(diagonal of the colored window), and <q>(splitting the set of secondary vertices). This function returns the list of colored points belonging to the colored window.

[0509] Octal calibration target

[0510] The skilled person will understand that the calibration of the octal calibration target aims at adjusting the calibration target parameters to the desired final image. These parameters determine the visual reading of the final topological template and its reading by the optical decoding means (hardware and software). Figure 40 It is shown the generation of topological templates for multiple image resolutions to be used as color tables.

[0511] Octal alphanumeric encryption

[0512] The skilled person will understand that the alphanumeric octal encryption is a variant of the geometric octal encryption, which is designed to control geometric tiles by text. Figure 41 It is shown the difference between the use of the same color table between geometric tiles and their associated Gray SFCs and alphanumeric tiles and their associated non-Gray SFCs. In the latter case, the orientation of the polygons in the pattern is automatically adapted to the text encoding performed from the SFC ruler curves in base 8 or 4.

[0513] Therefore, the alphanumeric octal encryption transforms the text into a sequence of octal type patterns that encode the text along a predetermined SFC. This operation (by which the pattern is no longer oriented by the base S curve of its cells, but by the octal encoding of the text) will usually destroy the Gray structure of the curves. In Figure 42 This loss of Gray encoding is shown in the figure that illustrates the encoding of the message "Leonardo da Vinci” into a list of ASCII characters (A), then into an octal character table (O α ) ordered from top to bottom as a conventional text, and finally into an octal character table (O α ) ordered according to a spiral SFC.

[0514] Figure 94a The textOCT function (explained in Figure 94b ) in the figure transforms an initial text into a sequence of codes that fill an array of squares, in a given number base. This algorithm encodes the text and, if necessary, adds a series of characters to fill all the cells of the array of squares. The function takes as input the text to be encoded <text>and encoding base <base> as input. This function outputs the sequence of codes, where the number of elements is a perfect square.

[0515] SFC baseline curve for text

[0516] Figure 95a sfcBS84 function (in Figure 95b explained) generates a non-gray SFC from the encoded text. This SFC, composed of elements of a sigmoidal Peano curve, has itself a gray SFC baseline curve. This curve is part of the encryption key for octal or quaternary text. The function takes as input the <type>the resolution of the SFC , and a list of octal or quaternary characters associated with each point of the SFC (as appropriate) <lsoct>The function returns the list of points of the generated non-Grey SFC.

[0517] Chimera encryption system

[0518] The encryption system disclosed below, named Chimera, combines octal or quaternary alphanumeric encryption with 2 n ary encryption, the 2 n ary encryption uses the inner square of the meta-pixel to encode the message. Thus, the message will be encoded in the form of a sequence of n pixels, for example, n = 1 for a binary message.< / lsoct> Figure 43 A graphical identifier encoded with the Chimaera protocol is shown (using two photographic images as color tables and a binary bitmap matrix as a third color table).

[0519] Figure 96a The posTAB function in the Figure 96b is annotated in the <d>(number of pixels of one side of the square containing the message), <lspos>(light-on bit order position list), <type>(type of SFC bit ordering in plane), <v3rgb0>and <v3rgb1>RGB color code in binary point). The function outputs (colored points list).

[0520] Adaptation to quaternary encryption

[0521] The skilled person will understand that it is possible to replace the octal encryption by a quaternary encryption. The principle is to specially set the octal grid to operate in quaternary mode. The calculation function for two triangles of the grid has already been described in the ptsBS4 function ( Figure 89a , Figure 89b ). Otherwise, the rest of the process for the quaternary topology template is completely similar to the rest of the process involving the octal template. Figure 44 A quaternary template is shown to be generated, the quaternary template being composed of three color tables corresponding to the three images at the top of the figure. The images have a resolution of 199x199. The quaternary message "https / / www.cote-basque.com" is ordered by the same spiral SFC as in Figure 42 The lower left image provides the visual result that can be adjusted on the basis of the parameters associated with the meta-pixels. Thus, the readability of the three photographic components can be adjusted. The lower right image allows the visualization of the magnification of the meta-pixels on a portion of the lower left image.

[0522] Summarizing example

[0523] A summarizing example of the Chimera encryption system is presented. The example of image interleaving from Figure 44 to switch to the octal encryption mode is revisited. The following text "https / / www.cote-basque.com / NFT / Images / Chimere" is encoded. All the parameters and sequences of operations for generating the final topology template are described in the SCRIPT199j function from Figure 97

[0524] The visual result is shown in Figure 45 . The left image represents the octal characters of the text positioned on their SFC parabola curves, while the right image shows the final template result.

[0525] Ordering in the plane

[0526] ​The use of a list of colored points (the position of each point being specified by its Cartesian coordinates and its RGB code) allows to explicitly transmit any digital image. With this method, there is no need to specify the relative ordering of the points with respect to each other. The drawback of this method is the unmanageable memory size of the image to be transmitted. For this reason, the implicit transmission method is preferred. In this case, a predetermined ordering of the colored points is applied both to the storage of the color list and re-applied during the use of the colors (for example, their display). The algorithmic ordering process often chosen for digital graphics standards uses a typewriter-like reading (from top to bottom and from left to right). This process is equivalent to implicitly choosing the SFC for ordering for the reading and rendering of the data. The issue encountered throughout all the proposed work is therefore to specify and explicitly transmit the SFC used in the ordering of the plane by means of an encryption key.

[0527] General principle

[0528] It will be understood that the principle of the ordering of the plane is to systematically use the SFC provided in the coupling table and library and sent in the encryption key. In this case, the encryption key of the SFC itself will be the parameter that will allow to generate it and therefore to encode and decode it. This method will bring another advantage, because any alternative to store the SFC with a different reading SFC will result in a scrambled image. This strategy will serve to complicate the cryptographic attacks on the transmitted image or to allow the reading of it by a specific right holder.

[0529] Figure 46 The convention for storing and reading a color image in ASCII PPM format is shown. The ordering of the plane is OXY-, instead of the classic OXY ordering. The color table used to color the letter B (the color table has been generated from an arbitrary SFC curve different from the SFC curve of the PPM format) must be converted between SFCs to make each pair of coordinates enter its ordering space in the Cartesian discrete ordering space.

[0530] Ordering of the plane OXY-

[0531] It is often necessary to print the pixels and the colored meta-pixels in the OXY- plane to comply with certain graphics standards. This is the case for the PPM format which is defined by the ordering of the colors starting from the origin located in the top left (with the Y axis reversed). The principle is therefore to reorder the list of colors associated with the pairs of coordinates in the classic OXY plane into a list of colors that can be displayed in the OXY- plane.

[0532] Figure 98 and 99 The CD0uwLIG and DC0uwLIG functions in the above are basic SFCs belonging to the dedicated coupling table and library, which specifically ensure the conversion between the points to be colored located in the plane and the ordering of the RGB codes of these points for their display or printing in the OXY-plane. The decoding function DC0uwLIG( Figure 99 ) takes as input the index of the given point <ind> 、 <lg>and <ht>(width and height of the index rectangle). This function returns the coordinate pair of the point with the given index. The associated encoding function CD0uwLIG Figure 98 ) takes the width and height of the index rectangle as input arguments <lg>and <ht>the positive or zero coordinates of the points in the rectangular OXY plane as input and returns the index of the point involved in the OXY-plane.

[0533] Figure 100a the TABg2lis function (commented in Figure 100b ) performs a reordering of the list of colors displayable in the OXY plane to allow their display in the OXY-plane. This function takes as input: and (resolution of the display rectangle), and <ls>(a list consisting of pairs, each pair being formed of a pair of coordinates and an associated color).

[0534] < / ls> Figure 101 The TABg2ppm function in writes a bitmap file in ASCII PPM format. The function takes as input: a bitmap rectangle with width and height <nbrpixl>and <nbrpixh>the number of pixels of the image, <ls>(RGB color triplet list), a directory for output file location <path>, and the name thereof <nf>This function returns the generated...<nf.ppm> document.

[0535] Basic colorimetric operations

[0536] Generating a color palette or color table results in a list of distinct RGB codes without repetition. This means that color selection is automatic and unrelated to the possible symbolic meaning of the color. This approach does not specifically address potential issues such as a lack of contrast between adjacent colors or the use of reserved color codes to allow for rapid visual recognition. For example, the colors (red and white) are used to associate a graphic identifier with Switzerland. Simple post-processing of colors can alter this hue, for example, by shifting the RGB codes and inverting or supplementing the color codes by channel (negative values). Therefore, it is useful to add these color manipulation parameters to the encryption key and thus enable on-the-fly modification of the RGB codes. The operation of shifting RGB codes can also be used to break the uniqueness of RGB codes due to the code overwriting effect caused by exceeding the memory encoding limits of the codes; once the shift is performed, the codes will be restored to the range between 0 and 255.

[0537] General principles

[0538] Classic post-processing operations for RGB color codes are transformed into on-the-fly operations, where operation parameters are integrated into the encryption key. For practical purposes, only the translation operator, RGB code complementarity, and channel permutation have been integrated. It is also possible to extend RGB encoding to any other standardized color encoding. In this case, a higher-dimensional SFC will replace the three-dimensional SFC associated with the RGB cube (by utilizing the SFC associated with a hypercube containing the supercode of the selected color model).

[0539] Operations on RGB codes

[0540] Two types of classic color operations allow for increased complexity in histogram structures.

[0541] Figure 102a The perRGB function in (in Figure 102b (Explanation in Chinese) <rgb>Code and <comb>(An indicator for selecting one of six permutations from three colors) is taken as input. The function returns the RGB code after permuting the channels of the RGB code.

[0542] Figure 103a The rgbTRNG function in (in Figure 103b (Interpreted within) Performs shift and complement operations on the RGB code. This function expects RGB code... <v3>translation vector of the RGB color code <v3t>and the complement vector <v3n>As input. This function returns the transformed RGB color code.

[0543] Extension of the color model

[0544] The proposed encryption system can be easily extended to RGBA encoding or other color models. In this case, four-dimensional SFCs from the coupling table and library can be used. In general, for color models using floating point numbers, an initial transformation of these numbers to rational numbers (affine space) will be applied, followed by a transition to the projection space to achieve integer-based encoding. By this method, any floating point number can be represented by an integer pair.

[0545] It will be appreciated that, in accordance with one or more embodiments, one of the methods described above can be used to encode and encrypt information. In the context of encryption, the signature is not initially transmitted.

[0546] It will also be appreciated by those skilled in the art that one of the methods described above can be used to identify or authenticate an element.

[0547] It will be appreciated by those skilled in the art that an element can have various properties. In accordance with one or more embodiments, an element is an object.

[0548] It will be appreciated that at least one or more embodiments of the described methods address one or more issues and thus provide numerous advantages.

[0549] With respect to the issue of generating encrypted images, it will be appreciated that a pseudo-random function system is disclosed that allows for the generation of images that are statistically indistinguishable from purely random images. This enables the iterative and adaptive generation of pseudo-random images with random statistical behavior. In one or more implementations, a Gray meta-curve based pseudo-random function system is also described that enables near real-time lossless image generation.

[0550] With respect to the issue of complexity, it will be appreciated that in one or more embodiments, an adaptive solution between organized order and pseudo-random disorder is disclosed. In one or more embodiments, this issue is also addressed by optimizing the Kolmogorov complexity of a file, which is the length of the shortest computer program that can reproduce an image file. The advantage is that the computer program that generates an image acts as an encryption key for that image.

[0551] Regarding the issue of indexing CODEC, it should be noted that, in one or more implementations, this is solved using an index based on 2D, 3D, nD Gray curve. This advantageously allows encoding and decoding by an anonymous function with a polynomial complexity. In one or more implementations, this issue is also solved using an index based on an extended 2D, 3D, nD, Von Neumann curve. This advantageously allows simple polynomial complexity encoding and factorial complexity decoding.

[0552] Regarding the issue of using a permutation library, in one or more implementations, this is solved by using a library of Gray curves and meta-curves that advantageously eliminates the need to generate pure random numbers and enables 2D (pixels), 3D (voxels) and nD (hyper-voxels) permutations.

[0553] Regarding the issue of numerical precision mentioned above, in one or more implementations, this is solved by using multi-precision integers. This advantageously allows unconditional geometric and topological programming (without if statements or special cases). In one or more implementations, this issue is also solved by using a reduced set of operators: +, -, *, irem, iquo, isqrt, ^, mod2 (parity test). This advantageously enables bijective encoding and decoding functions without loss. In one or more implementations, this issue is also solved by avoiding the use of trigonometric functions, which advantageously allows the use of rational mathematical expressions of a circle.

[0554] Regarding the issue of memory management, in one or more implementations, this is solved by using an on-the-fly generated dynamic color table. This advantageously allows sequential or parallel processing of the list of pixels to be colored. In one or more implementations, this issue is also solved by using procedural Zolotarev polygons, which advantageously allow sequential or parallel processing of polygon vertices (GPU pipeline). In one or more implementations, this issue is also solved by processing static images by blocks, which advantageously allows distributed processing of blocks using appropriate SFC scheduling.

[0555] Regarding the issue of hardware programming, in one or more implementations, this issue is solved by a hybrid parallel architecture with dedicated processors (GPU, MPPA, FPGA), which advantageously allows optimizing the computation time for real-time. In one or more implementations, this issue is also solved by using a parallel language specific to the processor, which advantageously allows optimizing the parallelism granularity. In one or more implementations, this issue is also solved by using an algorithmic programming language with a parallel ecosystem, such as JULIA, which advantageously facilitates the extension of the parallel programming library for new Gray meta-curve functions.

[0556] References

[0557] [1] Francisco Gualpuyohualcal. Codex Mendoza. https: / / codicemendoza.inah.gob.mx / index.php?lang=english, 1541.

[0558] [2] Jean Truchet and Sebastien Truchet. Methode pour faire une infinité de desseins differens, avec des carreaux mi-partis de deux couleurs par une ligne diagonale: ou observations du pere dominique douat... sur un memoire inseré dans l’histoire de l’academie royale des sciences de paris l’année 1704 presente par... sebastien truchet... Chez Florentin de Laulne, 1722.

[0559] [3] Kikuo Tanaka. Irohabiki moncho. https: / / archive.org / details / irohabikimoncho00tana / mode / 2up, 1881.

[0560] [4] Lucas. Récréations mathématiques. Gauthier-Villars et fils, 1883.

[0561] [5] G. Peano. Sur une courbe, qui remplit toute une aire plane.

[0562] Mathematische Annalen, 36:157-160, 1890.

[0563] [6] David Hilbert. Ueber die stetige abbildung einer linie auf ein Mathematische Annalen, 38:459-460, 1891.

[0564] [7] G. Peano. Formulario mathematico. https: / / books.google.ca / books?id=mcW1MgEACAAJ, 1908.

[0565] [8] De Stijl. De stijl nl 1921. https: / / en.wikiquote.org / wiki / De_Stijl, 1921.

[0566] [9] Claude E Shannon. A mathematical theory of cryptography. Mathematical Theory of Cryptography, 1945.

[0567]

[10] W Wunderlich. peano-kurven. Elemente der Mathematik, 28:1-10, 1973.

[0568]

[11] Mark Levoy. Area flooding algorithms. Two-Dimensional Computer Animation, Course Notes 9 for SIGGRAPH, 82, 1981.

[0569]

[12] Vinzenz Brinkmann. Die aufgemalten namensbeischriften an nord-und ostfries des siphnierschatzhauses. Bulletin de correspondance hellénique, 109(1):77-130, 1985.

[0570]

[13] Robert Fisch, Janko Gravner, and David Griffeath. Cyclic cellular automata in two dimensions. In Spatial stochastic processes, pages 171-185. Springer, 1991.

[0571]

[14] Heinz-Otto Peitgen, Hartmut Jürgens, Dietmar Saupe, and Mitchell J Feigenbaum. Chaos and fractals: new frontiers of science. Springer, 1992.

[0572]

[15] Donald Eastlake, Steve Crocker, and Jeff Schiller. Randomness recommendations for security. Technical report, RFC 1750, December 1994.

[0573]

[16] Hans Sagan. Space-filling curves. Springer-Verlag, 1994.

[0574]

[17] Jean- Rotgé. L’arithmétique des Formes: une introduction à l’arithmétique de l’espace. PhD thesis, Université de Montréal, 1997.

[0575]

[18] Jim Reeds. John dee and the magic tables in the book of soyga. https: / / archive.org / details / jimreedssoyga, 1998.

[0576]

[19] Revital Dafner, Daniel Cohen-Or, and Yossi Matias. Context-based space filling curves. In Computer Graphics Forum, volume 19, pages 209-218. Wiley Online Library, 2000.

[0577]

[20] Anne-Marie Décaillot. Géométrie des tissus. Echiquiers. Mathématiques curieuses et utiles. Revue d’histoire des mathématiques, 8(2): 145-206, 2002.

[0578]

[21] Jean-Paul Delahaye. La complexité mesurée. Pour la science, 314:34-8, 2003.

[0579]

[22] Vicky Liu, William Caelli, Ernest Foo, and Selwyn Russell. Visually sealed and digitally signed documents. In Computer Science 2004. Proceedings of the Twenty-Seventh Australasian Computer Science Conference (ACSC 2004), pages 287-294. Australian Computer Society, 2004.

[0580]

[23] Nithin Nagaraj, Vivek Vaidya, and Prabhakar G Vaidya. Re-visiting the one-time pad. arXiv preprint cs / 0508079, 2005.

[0581]

[24] Levi Valgaerts. Space-filling curves an introduction. Technical University Munich, 2005.

[0582]

[25] Aldo Cortesi. Generating colour maps with space-filling curves. https: / / corte.si / posts / code / hilbert / swatches, 2010.

[0583]

[26] Ljiljana Radovic and Slavik Jablan. Vasarely's work—invitation to mathematical and combinatorial visual games. In Proceedings of Bridges 2010: Mathematics, Music, Art, Architecture, Culture, pages 127-134, 2010.

[0584]

[27] MN Vahia and Nisha Yadav. Harappan geometry and symmetry: A study of geometrical patterns on indus objects. Indian Journal of History of Science, 45(3):343-368, 2010.

[0585]

[28] S. Kamata. A common key encryption algorithm using n-dimensional hilbert curves. In 2011 7th International Conference on Information Assurance and Security (IAS), pages 275-279, Dec. 2011.

[0586]

[29] Hamed Sheidaeian, Mohammad Reza Abbasifard, and Behrouz Zolfaghari. Visual Cryptography and Image Steganography Using Space Filling Hilbert Curves. In International Conference on Advanced Computer Theory and Engineering, 4th (ICACTE 2011). ASME Press, 01 2011.

[0587]

[30] Yue Wu, Joseph P Noonan, Sos Agaian, et al. Npcr and uacirandomness tests for image encryption. Cyber journals: multidisciplinary journals in science and technology, Journal of Selected Areas in Telecommunications (JSAT), 1(2): 31-38, 2011.

[0588]

[31] Ebrahim Zarei Zefreh, Sara Rajaee, and Meysam Farivary. Image security system using recursive cellular automata substitution and its parallelization. In 2011 CSI International Symposium on Computer Science and Software Engineering (CSSE), pages 77-86. IEEE, 2011.

[0589]

[32] Michael Bader. Space-filling curves: an introduction with applications in scientific computing. Springer Science & Business Media, 2012.

[0590]

[33] Peter Grassberger. Randomness, information, and complexity. arXiv preprint arXiv:1208.3459, 2012.

[0591]

[34] Hüseyin Differential and difference equations through computer experiments: with diskettes containing phaser: an animator / simulator for dynamical systems for ibm personal computers. Springer Science & Business Media, 2012.

[0592]

[35] Jean- Rotgé. De l’indexation des hypertreillis pyramidaux au codage combinatoire des listes de nombres entiers. hal preprint 00717421, 2012.

[0593]

[36] V Suresh and CE Veni Madhavan. Image encryption with space-filling curves. Defence Science Journal, 62(1):46, 2012.

[0594]

[37] M Ephin, Judy Ann Joy, and NA Vasanthi. Survey of chaos based image encryption and decryption techniques. In Amrita International Conference of Women in Computing (AICWIC’13) Proceedings published by International Journal of Computer Applications (IJCA), 2013.

[0595]

[38] Toufik Mansour. Combinatorics of set partitions. CRC Press Boca Raton, 2013

[0596]

[39] Musheer Ahmad, Hamed D Alsharari, and Munazza Nizam. Security improvement of an image encryption based on mpixel-chaotic-shuffle and pixel-chaotic-diffusion. arXiv preprint arXiv: 1403.6626, 2014.

[0597]

[40] Anne-Marie Decaillot. Les Recreations Mathematiques d Lucas: quelques eclairages. Historia Mathematica, 41(4):506-517, 2014.

[0598]

[41] Yuan Yuan Sun, Lina Chen, Rudan Xu, and Ruiqing Kong. An image encryption algorithm utilizing julia sets and hilbert curves. PloS one, 9:e84655, 01 2014.

[0599]

[42] Possibly Wrong. allrgb: Hilbert curves and random spanning trees. https: / / possiblywrong.wordpress.com / 2014 / 04 / 18 / allrgb-hilbert-curves-and-random-spanning-trees / , 2014.

[0600]

[43] David Griffeath. The cyclic cellular automaton. https: / / github.com / cormas / Griffeath-model, 2015.

[0601]

[44] Sohn JiAe. A glimpse at joseon royal seals. https: / / www.korea.net / NewsFocus / Culture / view?articleId=124596, 2015.

[0602]

[45] KS Kavya and Mrs Prabavathi. Image encryption using hilbert spacefilling curve and henon map. Int. J. Innov. Res. Comput. Sci. Technol., 3(3):56-60, 2015.

[0603]

[46] Jay Eastman. Brief history of barcode scanning. OSA Century of Optics, page 128, 2016.

[0604]

[47] Li Li, Jinxia Qiu, Jianfeng Lu, and Chin-Chen Chang. An aesthetic qrcode solution based on error correction mechanism. Journal of Systems and Software, 116:85-94, 2016.

[0605]

[48] Assa Naveh and Eran Tromer. Photoproof: Cryptographic image authentication for any set of permissible transformations. In 2016 IEEE Symposium on Security and Privacy (SP), pages 255-271. IEEE, 2016.

[0606]

[49] Gary Santoro. Victor vasarely’s alphabet plastique. https: / / vertufineart.com / victor-vasarelys-alphabet-plastique / , 2016.

[0607]

[50] Pauvithraa K.T.Siva Kumar T,Gayathri S.Text message encryptionmethod using hilbert curve based permutation and circular shiftoperation.IJATES(ISSN:2348-7550),04(10):394-401,2016.

[0608]

[51] Michael Buchanan.U.S.returns lost treasures of Korea.https: / / eca.state.gov / ivlp / highlight / us-returns-lost-treasures-korea / article-photo-gallery,06 2017.

[0609]

[52] Ji Woo Lee,Hyung Gil Hong,Ki Wan Kim,and Kang Ryoung Park.Asurveyon banknote recognition methods by various sensors.Sensors,17(2):313,2017.

[0610]

[53] Omar Farook Mohammad,Mohd Shafry Mohd Rahim,Subhi Rafeeq MohammedZeebaree,and FY Ahmed.Asurvey and analysis of the image encryptionmethods.International Journal of Applied Engineering Research,12(23):13265-13280,2017.

[0611]

[54] Fatih Role of npcr and uaci tests in security problems of chaos based image encryption algorithms and possible solution proposals. In 2017 International conference on computer science and engineering (UBMK), pages 621-624. IEEE, 2017.

[0612]

[55] Nazim Uddin Sheikh, Tapan Kumar Hazra, Hasina Rahman, Kanyasree Mustafi, and Ajoy Kumar Chakraborty. Multi-variable bijective mapping for secure encryption and decryption. In 2017 8th Annual Industrial Automation and Electromechanical Engineering Conference (IEMECON), pages 338-345. IEEE, 2017.

[0613]

[56] Bhaskar Mondal. Cryptographic image scrambling techniques, 2018.

[0614]

[57] Jdd Nkapkop, Yves Effa, and Laurent Bitjoka. Design et implémentation d'un crypto-système d'images basésur le chaos: Chiffrement d'images par chaos et applications, 08 2018.

[0615]

[58] Mohit Jain Puneet Kaushik. Study and analysis of image encryption algorithm based on arnold transformation. International Journal of Computer Engineering Technology (IJCET), 9(5):59-63, 2018.

[0616]

[59] Jean- Rotgé. Method and system for coding information, February 2018. 9900024-14357468-USPTO.

[0617]

[60] Gayathri Vijayaraghavan. A survey on security and efficiency issues in chaotic image encryption. 04 2018.

[0618]

[61] Vishal Devireddy. Allrgb. https: / / vishald.com / blog / allrgb / , 2019.

[0619]

[62] A. Flores-Vergara, E. E. García-Guerrero, E. Inzunza-González, O. López-Bonilla, E. Rodríguez-Orozco, J. R. Cárdenas-Valdez, and E. Tlelo-Cuautle. Implementing a chaotic cryptosystem in a 64-bit embedded system by using multiple-precision arithmetic. Nonlinear Dynamics, 96:497-516, 2019.

[0620]

[63] Rongjun Ge, Guanyu Yang, Jiasong Wu, Yang Chen, Gouenou Coatrieux, and Limin Luo. A novel chaos-based symmetric image encryption using bit-pair level process. IEEE Access, 7:99470-99480, 2019.

[0621]

[64] Xingbin Liu, Di Xiao, Wei Huang, and Cong Liu. Quantum block image encryption based on arnold transform and sine chaotification model. IEEE Access, 7:57188-57199, 2019.

[0622]

[65] Manal A. Mizher, Riza Sulaiman, Ayman M. Abdalla, and Manar A. Mizher. An improved simple flexible cryptosystem for 3d objects with texture maps and 2d images. Journal of Information Security and Applications, 47:390-409, 2019.

[0623]

[66] Yoon-Sung Park and Ji-Su Kim. A study on the typeface of font, the shape royal seal of the ex-emperor sugang in the joseon dynasty. Journal of Digital Convergence, 17(11):493-499, 2019.

[0624]

[67] Zhenjun Tang, Ye Yang, Shijie Xu, Chunqiang Yu, and Xianquan Zhang. Image encryption with double spiral scans and chaotic maps. Security and Communication Networks, 2019, 2019.

[0625]

[68] Waldemar Berchtold, Huajian Liu, Martin Steinebach, Dominik Klein, Tobias Senger, and Nicolas Thenee. Jab code-a versatile polychrome 2d barcode. Electronic Imaging, 2020(3):207-1, 2020.

[0626]

[69] Kathryn Devereaux. Twisted gourd (xicalcoliuhqui): The symbolic language of the pre-columbian rainmakers, a cosmovision of divine rule of a triadic universe. https: / / thetinkuy.wordpress.com / , 05 2020.

[0627]

[70] Wen-Wen Hu, Ri-Gui Zhou, Jia Luo, She-Xiang Jiang, and Gao-Feng Luo. Quantum image encryption algorithm based on arnold scrambling and wavelet transforms. Quantum Information Processing, 19(3):1-29, 2020.

[0628]

[71] Sohn JiAe. Historical seals from Joseon Dynasty returned to Korea. https: / / www.korea.net / NewsFocus / Culture / view?articleId=182538, 02 2020.

[0629]

[72] Bhawnesh Kumar, Umesh Kumar Tiwari, Santosh Kumar, Vikas Tomer, and Jasmeet Kalra. Comparison and performance evaluation of boundary fill and flood fill algorithm. Int. J. Innov. Technol. Explor. Eng, 8:9-13, 2020.

[0630]

[73] Willy Scheibel, Matthias Trapp, Daniel Limberger, and Jürgen A taxonomy of treemap visualization techniques. 02 2020.

[0631]

[74] Jai Ganesh Sekar and C Arun. Comparative performance analysis of chaos based image encryption techniques. Journal of critical reviews, 7(9):1138-1143, 2020.

[0632]

[75] Zen Juen Lau, Tam Pham, SH Annabel, and Dominique Makowski. Brain entropy, fractal dimensions and predictability: A review of complexity measures for eeg in healthy and neuropsychiatric populations. 2021.

[0633]

[76] Dirk Rijmenants. Cipher machines and cryptology one-time pad. https: / / www.ciphermachinesandcryptology.com / en / onetimepad.htm, 2021.

[0634]

[77] Bahoken. The charm of Herbin. https: / / neocarto.hypotheses.org / 14254,2022.

[0635]

[78] Jean- Rotgé. Coupling functions and Surface Gray curves with center. https: / / hal.archives-ouvertes.fr / hal-03745896 / file / Article13.pdf, @August 2022. Working paper or preprint.

[0636]

[79] Jean- Rotgé. Coupling functions and Surface Gray curves with kernels. https: / / hal.archives-ouvertes.fr / hal-03745216 / file / Article14.pdf, August 2022. Working paper or preprint.

[0637]

[80] Jean- Rotgé. Coupling functions and Surface Gray curves with reflections. https: / / hal.archives-ouvertes.fr / hal-03744206 / file / Article15.pdf, August 2022. Working paper or preprint.

[0638]

[81] Jean- Rotgé. Coupling functions and Surface Gray curves in the shape of loops. https: / / hal.archives-ouvertes.fr / hal-03737365 / file / Article10.pdf, July 2022. Working paper or preprint.

[0639]

[82] Jean- Rotgé. Coupling functions and meander-shaped surface Gray curves. https: / / hal.archives-ouvertes.fr / hal-03737998 / file / Article11.pdf, July 2022. Working paper or preprint.

[0640]

[83] Jean- Rotgé. Coupling functions and Surface Gray curves in the shape of spirals. https: / / hal.archives-ouvertes.fr / hal-03738025 / file / Article12.pdf, July 2022. Working paper or preprint.

[0641]

[84] Jean- Rotgé. Coupling functions and Surface Gray curves in the shape of steps. https: / / hal.archives-ouvertes.fr / hal-03745141 / file / Article16.pdf, August 2022. Working paper or preprint.

[0642]

[85] Jean- Rotgé. Coupling functions and des courbes de Gray. https: / / hal. archives-ouvertes.fr / hal-03759184 / file / Article5.pdf, August 2022. working paper or preprint.

[0643]

[86] Jean-Philippe Rotgé. Fonctions de couplage et des métacourbes de Gray surfaciques à rotors. https: / / hal. archives-ouvertes.fr / hal-03768804 / file / Article2.pdf, September 2022. working paper or preprint.

[0644]

[87] Jean-Philippe Rotgé. Principes de des courbes de Gray. https: / / hal. archives-ouvertes.fr / hal-03759184 / file / Article5.pdf, August 2022. working paper or preprint.

[0645]

[88] Fondation Vasarely. Alvéole 5. https: / / www.fondationvasarely.org / alveole-5 / , 2022.

[0646]

[89] Wikipedia. Self-avoiding walk. https: / / en.wikipedia.org / wiki / Self-avoiding_walk, 2022.

[0647]

[90] Landesmuseum Wurttemberg. Federschild: Meander und sonne. https: / / www.leo-bw.de / detail / - / Detail / details / DOKUMENT / lmw_museumsobjekte / 62 / Federschild+%22M%C3%A4ander+und+Sonne%22+aztekisch+um+1520, 2022.

[0648]

[91] Bhaskar Mondal. Cryptographic Image Scrambling Techniques, pages 37-65. 12 2018. < / comb> < / rgb> < / nf> < / path> < / ls> < / nbrpixh> < / nbrpixl> < / ht> < / lg> < / ht> < / lg> < / ind> < / type> < / lspos> < / d> < / type> < / text> < / q> < / sca> < / atab> < / q> < / sca> < / atab> < / code> < / ls> < / integer> < / integer> < / integer> < / integer> < / integer> < / sc> < / sc> < / den> < / mu> < / lam> < / ep> < / sca> < / tr0> < / cr> < / tr0> < / sc> < / ep> < / sca> < / lsp> ​ < / v2b> < / v2a> < / q> < / sca> < / bd> < / lign> < / sc> < / tabmap> < / ls> < / lsrgb> < / j> < / tabmap> < / fd> < / bd> < / sca> < / lsrgb> < / d> < / postab> < / fd> < / bd> < / dpi> < / nbrx> < / name> < / n> < / g> < / f> < / per> < / plg> < / q> < / code> < / nbrdens> < / q> < / ind> < / nbr> < / code> < / lsrgb> < / n> < / ind> < / ind> < / ind> < / ind> < / cas> < / n> < / lsq> < / ptsqua> < / vn> < / lsls> < / ind> < / ls> < / ls> < / iv> < / ex> < / bv> < / bx> < / ls> < / uw>

Claims

1. A computer-implemented method for encoding information using a unit cell topological template, the method comprising: Obtain the information to be encoded; Create partitions within a square, wherein the partitions are generated using at least one of the Jordan polygon generator, the SFC generator, and the closed Hamiltonian path generator; The generated partitions are converted into a series of triples representing the partitions, where each triple is defined by a point and two of the point's neighbors; The density associated with each point of the square is determined using the set of triples; At least the associated density is used to color each point of the square to generate the unit cell topological template; and Provide the unit cell topology template; The information to be encoded is characterized in that it is used in at least one of the following: the generation of the partition in the square, the determination of the density associated with each point of the square, and the coloring of each point of the square.

2. The method according to claim 1, wherein, Coloring each point of the square involves associating a given color with each defined density.

3. The method according to claim 1, wherein, Coloring each point of the square includes, for a given point: associating a given color table with each density, and using the position of the given point in the square to select a color from the given color table.

4. The method according to any one of claims 1 to 3, further comprising: Obtaining an SFC or coded MCG that traverses the square, and using the SFC or the coded MCG to reorder each point of the unit cell topology template to provide a scrambled unit cell topology template, the reordering modifying the coordinates of each point of the unit cell topology template such that for each given point in a given scan with initial corresponding coordinates, new coordinates are assigned to that point, these new coordinates corresponding to the same index in the SFC or the coded MCG as the index in the given scan; characterized in that the information to be encoded is used in at least one of the following: generation of the partitions in the square, determination of the density associated with each point of the square, coloring of each point of the square, and obtaining the SFC or the coded MCG.

5. A computer-implemented method for encoding information using tiles generated in a square, the method comprising: Obtain the information to be encoded; Generate an SFC within a square; Use the generated SFC to generate tiles within the square; The tiles are generated by replacing each basic part of the SFC with corresponding tiles; as well as Provides instructions for the generated puzzle pieces; The characteristic feature is that the information to be encoded is used during the generation of the SFC.

6. The method according to claim 5, wherein, The SFC is defined by eight basic "S" shaped parts, wherein the corresponding piece corresponds to a given identical and fixed piece for each of the eight basic parts.

7. The method according to claim 5, further comprising: Obtain the ASCII string to be encoded; The ASCII string is converted into a corresponding code sequence that fills a square array using a given base number. An SFC is generated using a given Gray SFC guideline curve, wherein each point of the Gray SFC guideline curve is replaced with a pattern corresponding to a given code from the corresponding code sequence.

8. A computer-implemented method for encoding information using images, comprising: Obtain a first image with a given number of pixels; Obtain a second image having the same given number of pixels as the first image; The first image and the second image are interleaved to provide an interleaved image, the interleaved image comprising the same given number of meta-pixels as the given number of pixels in the first image, each meta-pixel comprising: The central portion includes at least one pixel, the at least one pixel having an associated value equal to the value of a corresponding pixel in one of the first and second images. A peripheral portion surrounding the central portion, the peripheral portion comprising a plurality of pixels, each of the plurality of pixels having a value associated with a pixel corresponding to the value of another pixel in the first image and the second image; and Provide the interlaced image, The characteristic is that the first image is selected from a set of images, the set of images including at least: The unit cell topology template generated using the method according to any one of claims 1 to 4.

9. The method according to claim 8, wherein, The set of images also includes mosaics generated using any one of claims 5 to 7.

10. The method according to any one of claims 8 to 9, wherein, The set of images also includes a given image.

11. The method according to any one of claims 8 to 9, wherein, The set of images also includes QR codes.

12. The method according to any one of claims 8 to 11, wherein, The set of images also includes at least one of a static color table and a dynamic color table.

13. The method according to claim 12, wherein, The dynamic color table is generated according to a method comprising: generating a two-dimensional SFC that traverses the square; and dynamically associating colors from the RGB color cube to each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC.

14. The method according to claim 8, wherein, The interlacing scheme is selected from a group that includes four typography modes.

15. The method according to any one of claims 8 to 14, further comprising: Obtain an SFC or coded MCG that traverses the interleaved image, and use the SFC or the coded MCG to reorder each point of the interleaved image to provide a scrambled unit cell topology template. The reordering modifies the coordinates of each point of the interleaved image such that for each given point in a given scan with corresponding initial coordinates, new coordinates are assigned to that point, and these new coordinates correspond to the same indices in the SFC or the coded MCG as the indices in the given scan. The reordering allows for a scrambled interleaved image.

16. The method according to any one of claims 1 to 15 is used for encrypting information.

17. A unit cell topology template generated using the method according to any one of claims 1 to 4.

18. An image generated using the method according to any one of claims 8 to 15.

19. An application of an image according to claim 18 for identifying or authenticating elements.

20. The use of the image according to claim 19, wherein, The element is an object.

21. A computer-implemented method for performing identification or authentication using a dynamic color table in a square, the method comprising: Generate a 2D SFC that traverses a square containing multiple pixels; A hash function is used to dynamically associate colors from the RGB color cube with each pixel of the square, wherein the association is controlled by the hash function using at least one parameter and the generated SFC; as well as The generated color table is provided, which enables identification or authentication.

22. The method of claim 21, further comprising: Modify the value of each pixel in the generated color table.