Method and system for generating an image and use thereof to encode and encrypt information
Patent Information
- Application Number
- EP2023882062
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-10-27
- Filing Date
- 2023-10-20
- Publication Date
- 2025-09-03
AI Technical Summary
Existing cryptography systems face limitations in generating encrypted images that are both visually identifiable and secure, with issues related to key symmetry, complexity gradation, security resilience, hash indexing reversibility, permutation library heterogeneity, numerical precision, and memory management, leading to vulnerabilities in encryption protocols.
A method and system using single-cell topological stencils generated with Jordan polygons, Space Filling Curves, and closed Hamiltonian paths to create encrypted images, incorporating dynamic color tables and metapixels for secure and authentic visual identification and authentication, employing a hybrid encryption protocol with multiple precision integers and configurable encryption processes.
The system provides robust visual identification and authentication while enhancing encryption security through complex, dynamically configurable encryption processes, improving resilience against attacks and optimizing memory management, ensuring secure and efficient image encryption.
Smart Images

Figure 1.1
Abstract
Description
[0001] METHOD AND SYSTEM FOR GENERATING AN IMAGE AND ITS USE FOR ENCODING AND ENCRYPTING INFORMATION PRIORITY The patent application claims priority created by the filing of the patent application entitled "METHOD AND SYSTEM FOR GENERATING AN IMAGE AND ITS USE FOR ENCRYPTING INFORMATION" filed on October 27, 2022 in Canada and bearing number 3,180,047. TECHNOLOGICAL FIELD The present invention relates to the field of cryptography. More specifically, this patent application relates to a method and a system for generating an image and its use for encoding and encrypting information. PRIOR ART Examples of graphic alphabets that allow generating images are disclosed in references Ref. [26, 49, 88] as well as in reference Ref.
[0077] . Examples of geometric partitioning of an array are disclosed in Ref. [8, 73]. Examples of colorizing a region by diffusion filling are disclosedin references Ref. [11, 72]. Examples of colorization of a region by filling by topological method are disclosed in reference Ref.
[0017] . First examples of graphic identifiers historically made by seals are disclosed in reference Ref.
[0027] . First examples of graphic identifiers made by coats of arms are disclosed in references Ref. [1, 69,90]. First examples of graphic identifiers made by stamps are disclosed in references Ref. [44, 51, 66, 71]. First examples of graphic identifiers of the Gengi symbol type are found in references Ref. [3, 38]. An example of a traditional graphic identifier transposed into the digital world is disclosed in reference Ref.
[0022] . An introduction to QRcode type graphic identifiers is described in reference Ref.
[0047] . An introduction to barcode type graphic identifiers is disclosed in references Ref.[46, 68]. Examples of introductory texts on SFC are disclosed in Ref. [16, 19, 24, 32]. Historical texts presenting SFC are disclosed in Ref. [5, 6, 7, 10]. Examples of the use of SFC in cryptography are disclosed in Ref. [28, 55, 65]. Texts presenting the generalization of Cantorian-type SFC are disclosed in Ref. [35, 59]. Texts presenting Gray curves and metacurves (GMCs) are disclosed in Ref. [78, 87, 81, 82, 85, 86, 79, 80, 83, 84]. Examples that help to differentiate between randomness and chaos are disclosed in Ref. [15, 64, 70]. The concept of Kolgomorov complexity is presented in Ref.
[0021] . The concept of attractor in chaos theory is presented in Ref. [14, 34]. The principle of the One Time Pad (OTP) cryptographic system and image generationrandom is presented in references Ref. [23, 76]. An example of a chaotic cryptographic system is presented in reference Ref.
[0062] . Examples of mathematical formalization of patterns are disclosed in references Ref. [4, 20, 40]. The theory of Truchet tilings is disclosed in reference Ref. [2]. The scrambling principle in cryptography is disclosed in reference Ref.
[0056] . Examples of the use of SFCs in image encryption are disclosed in the following references Ref. [36, 41]. Examples of chaotic processes in image cryptography are disclosed in references Ref. [29, 37, 57, 58, 60, 67, 72, 74]. A use of Hilbert curves for text encryption is disclosed in reference Ref.
[0050] . The principle of self-avoiding walk (SAW) is presented and popularized in reference to illustrate the transformation of a SAW into a Jordan polygon. It will be appreciated that the prior artsuffers from many limitations. Indeed, the problem of generating an encrypted image used in an encryption system characterized by a symmetric and hybrid protocol for the encryption keys which are also the encrypted procedures for generating the encrypted image is twofold. Indeed, if the image is purely random (One Time Pad) then the image is mathematically inviolable but visual identification and digital authentication are impossible without a heavy secure library allowing the images to be compared. If the image is pseudo-random then decryption can be carried out with loss, authentication of the image by comparison becoming impossible. Another limitation of the prior art is the gradation of complexity. In fact, the problem linked to the complexity of the images produced is linked to the very nature of the images which can be the result either of an organized order or of a structured complexity,either pseudo-random disorder or random disorder. Another limitation of the prior art is the security of the encryption protocol. The security issue of the encryption protocol comes down to obtaining encrypted images that can be identified visually or by software or hardware. Resilience to attacks is complicated by the level of visual information that is provided directly by the image and can facilitate attack avenues. On the other hand, strict compliance with the Kerckhoffs principle "the adversary knows the system" gives this adversary information to break the encryptions immediately and possibly the system in the future, which is a problem. Another limitation of the prior art concerns the fact that hash-type indexing is generally non-reversible with possibilities of collisions. On the other hand, the hash functions are listed and known to the attackers. The problem in choosing thegood indexing CODEC is first linked to the choice of new mathematical bijective coupling functions whose construction process is known only to the person generating the encrypted image (anonymous function). The problem is also linked, if necessary, to the choice of coupling functions whose decoding, due to its complexity, is dissuasive. These latter functions can be composed with the previous ones. Another limitation of the prior art concerns the use of permutation libraries. In fact, the problem of using permutation libraries is that of the heterogeneity of the functions whose calculation performances are very unequal but also of the vulnerability of these functions to attacks. The best known libraries are the "Chaotic Map" function libraries and the bijective image generation function libraries. Another limitation of the prior art concerns numerical precision. In fact, the problem ofnumerical precision is essentially due to the use of floating point numbers in calculations which prevent precise tests in topological tests in the coding phases and cause losses of precision in the decoding functions with the loss of the ability to authenticate due to the numerical non-bijectivity of the functions. Another limitation of the prior art concerns memory management. The person skilled in the field will appreciate that the problem of memory management can be due to the memory size of imported so-called static images such as photos or QR codes, to the size of produced so-called dynamic images such as color tables and finally to the size of Jordan polygons due to the number of vertices of the polygon. Another limitation of the prior art is the programming of the hardware. In fact the problem of programming the hardware comes from the different parallelism paradigms encountered: parallelism ofdata for pixel colorization and task parallelism for colorization of topological regions. There is therefore a need for at least one method and system that overcomes at least one limitation present in the prior art. SUMMARY According to one aspect of the technology, there is provided a visual identification and authentication system producing an encrypted image or a video stream of encrypted images. According to one aspect of the technology, there is provided a computer-implemented method for encoding information using a single-cell topological stencil, the method comprising obtaining information to be encoded; generating a partition in a square, the partition being generated using at least one of a Jordan polygon generator, a Space Filling Curves (SFC) generator, and a closed Hamiltonian path generator; converting the generated partition into a series of triplets representing the partition, wherein each triplet isdefined by a point and its two neighbors; determining a density associated with each point of the square using the series of triplets; colorizing each point of the square using at least the associated density to generate the single-cell topological stencil; and providing the single-cell topological stencil; characterized in that the information to be encoded is used in at least one of generating the partition in a square, determining the density associated with each point of the square, and colorizing each point of the square. According to one or more embodiments, the colorization of each point of the square comprises associating a given color with each determined density. According to one or more embodiments, the colorization of each point of the square comprises, for a given point, associating a given color table with each density, and selecting a color from the given color table using a position of the given point in the square. According to one or moreembodiments, the method further comprises obtaining a coding SFC or MCG traversing the square, and reordering each point of the single-cell topological stencil using the coding SFC or MCG to provide a scrambled single-cell topological stencil, the reordering modifying the coordinates of each point of the single-cell topological stencil such that for each given point having initial given corresponding coordinates in a given scan, new coordinates are assigned to that point, these new coordinates corresponding to an identical index in the coding SFC or MCG as an index in the given scan; characterized in that the information to be encoded is used in at least one of generating the partition in the square, determining the density associated with each point of the square, colorizing each point of the square, and obtaining the coding SFC or MCG. According to one aspect of the technology,a computer-implemented method is described for encoding information using a tiling generated in a square, the method comprising obtaining information to be encoded; generating an SFC in a square; generating a tiling in the square using the generated SFC; the tiling being generated by replacing each elementary portion of the SFC with a corresponding tiling; and providing an indication of the generated tiling and the method is characterized in that the information to be encoded is used when generating the SFC. According to one or more embodiments, the SFC is defined by 8 elementary portions in "S" and in which the corresponding tiling corresponds to a given tiling identical and fixed for each of the 8 elementary portions. According to one or more embodiments, the method further comprises obtaining an ASCII string to be encoded, converting the ASCII string into a sequence of corresponding codes in a given numerical base filling a square table, generating an SFCusing a given Gray SFC direction curve in which each point of the Gray SFC direction curve is replaced by a pattern corresponding to a given code of the code sequence. According to one aspect of the technology, there is provided a computer-implemented method for encoding information using an image, 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; entangling the first image with the second image to provide an entangled image, the entangled 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 that of a corresponding pixel in one of the first image and the second image, a peripheral portion surrounding the central portion, the peripheral portiondevice comprising a plurality of pixels each having an associated value equal to that of the pixel corresponding to the other of the first image and the second image; and providing the entangled image, characterized in that the first image is selected from a group of images comprising at least: a single-cell topological stencil generated using the method described above. According to one or more embodiments, the group of images further comprises a tiling generated using the method described above. According to one or more embodiments, the group of images further comprises a given image. According to one or more embodiments, the group of images further comprises a QR code. According to one or more embodiments, the group of images further comprises at least one static color table and one dynamic color table. According to one or more embodiments, the dynamic color table is generated according to a method comprising: generating a two-dimensional SFCtraversing the square; and using a hash function to dynamically associate colors of an RGB cube of colors with each pixel of the square, wherein the association is controlled by the hash function using at least one parameter and the generated SFC. In one or more embodiments, the entanglement scheme is selected from a group comprising four typographic modes. In one or more embodiments, the method further comprises obtaining a coding SFC or MCG traversing the entangled image, and reordering each point of the entangled image using the coding SFC or MCG to provide a scrambled single-cell topological stencil, the reordering modifying the coordinates of each point of the entangled image such that for each given point having initial given corresponding coordinates in a given scan, new coordinates are assigned to that point, these new coordinates corresponding to aidentical index in the SFC or in the coding MCG as an index in the given scan; the reordering to provide a scrambled entangled image. In one or more embodiments, the method described above is used to encrypt information. In one or more embodiments, a single-cell topological stencil generated using the method mentioned above is described. In one or more embodiments, an image generated using the method mentioned above is described. In one or more embodiments, use of the aforementioned image to identify or authenticate an item is described. In one or more embodiments, the item is an object. In one or more embodiments, a computer-implemented method for performing identification or authentication using a dynamic color table in a square is described, the method comprising: generating a two-dimensional SFCtraversing a square comprising a plurality of pixels; using a hash function for dynamically associating colors from an RGB color cube with each pixel of the square, wherein the association is controlled by the hash function by means of at least one parameter and the generated SFC; and providing the generated color table, the generated color table allowing identification or authentication to be performed. According to one or more embodiments, the method mentioned above further comprises modifying the value of each pixel of the generated color table. BRIEF DESCRIPTION OF THE FIGURES One or more embodiments of the invention and its advantages will appear in more detail in the context of the description which follows with examples given for information purposes with reference to the appended figures. Figure 1 illustrates an example of a level 7 MCG; Figure 2 illustrates a reordering by rotor MCG; Figure 3 illustrates thetaxonomy of Gray curves; Figure 4 illustrates the taxonomy of Jordan polygons; Figure 5 illustrates self-avoiding paths; Figure 6 illustrates the ghost points of a U-shaped metacurve; Figure 7 illustrates the ghost points of a W-shaped metacurve; Figure 8 illustrates an example of an encrypted table tabCODE(7,[1234,12345]); Figure 9 illustrates an example of a kinetic and chaotic effect; Figure 10 illustrates an example of a kinetic and visual interference table; Figure 11 illustrates examples of dynamic tables; Figure 12 illustrates colorimetric fingerprints in mode 2; Figure 13 illustrates colorimetric fingerprints in mode 1; Figure 14 illustrates the colorization of densities; Figure 15 illustrates the colorization of the letters A and B with 2 and 3 connected components; Figure 16 illustrates the coloring of the word AB with 5 connected components; Figure 17 illustrates the principle of metapixel; Figure 18 illustrates the typographic modes associated with ametapixel; Figure 19 illustrates the 0 and 1 control modes of metapixels; Figure 20 illustrates the entanglement of an encrypted dynamic table and a photo image; Figure 21 illustrates the entanglement of a dynamic table and a static image (photo); Figure 22 illustrates the entanglement of a dynamic table and a static QR-code; Figure 23 illustrates the scrambling of the resulting images of Figures 20 and 22; Figure 24 illustrates a Majus effect from a dynamic table; Figure 25 illustrates the association between encryption keys and topological regions; Figure 26 illustrates a multiple Jordan topological partitioning; Figure 27 illustrates encrypted dynamic tables in kinetic and chaotic mode; Figure 28 illustrates a density table associated with a topological stencil; Figure 29 illustrates a general association of dynamic tables; Figure 30 illustrates examples of hash table initialization of dynamic tables; Figure 31illustrates a Majus effect by entanglement of a digital photo and a dynamic table; Figure 32 illustrates a Majus effect with a precalculated dynamic table; Figure 33 illustrates the construction of a multicellular tiling; Figure 34 illustrates the 8 Peano-Truchet patterns; Figure 35 illustrates the generation of a regular Peano-Truchet tiling without symmetries; Figure 36 illustrates the generation of a regular Peano-Truchet tiling; Figure 37 illustrates the octal representation of a metacurve DC2(i,2,[6,2],
[0011] ) described in reference Ref.
[0086] ; Figure 38 illustrates the octal representation of a SW spiral; Figure 39 illustrates the measurements and proportions of the target; Figure 40 illustrates the calibration of the octal target; Figure 41 illustrates a geometric and alphanumeric octal; Figure 42 illustrates the encoding of an octal text on a spiral SFC; Figure 43 illustrates the insertion of a binary message by entanglement; Figure 44 illustrates the encryptionChimera type quaternary; Figure 45 illustrates the octal cipher with SFC text director DC0uM; Figure 46 illustrates a PPM color ordering; Figure 47 illustrates a method for encoding information using a single-cell topological stencil according to one embodiment; Figure 48 illustrates a method for encoding information using an image according to one embodiment; Figure 49 illustrates a method for encoding information using a tiling; Figure 50 illustrates a topological partitioning generator of the plane (SLstencylSYS1); Figure 51 illustrates a dynamic color table generator (SLstencylSYS2); Figure 52 illustrates a geometric tiling generator (SLstencylSYS3); Figure 53 illustrates a color palette generator (SLstencylSYS4); Figure 54 illustrates a matching system between topological indicators and colors (SLstencylSYS5); Figure 55 illustrates a typographic configurator based onmetapixels (SLstencylSYS6); Figure 56 illustrates a generator of binary tables from text (SLstencylSYS7); Figure 57 illustrates the code of the function tabDC; Figure 58 illustrates the code of the function tabCD; Figure 59 illustrates the code of the function polJORD; Figure 60 illustrates the code of the function indDC; Figure 61 illustrates the code of the function indJFR; Figure 62a illustrates the code of the function indSOM; Figure 62b illustrates the comments of the code of the function indSOM; Figure 63a illustrates the code of the function cctQUA; Figure 63b illustrates the comments of the code of the function cctQUA; Figure 64a illustrates the code of the function ptsQUA; Figure 64b illustrates the comments of the code of the function ptsQUA; Figure 65a illustrates the code of the function indJFRQ2; Figure 65b illustrates the code comments for the indJFRQ2 function; Figure 66a illustrates the code for the tabCODE function; Figure 66b illustrates the code comments for thetabCODE function; Figure 67a shows the code for the tabDC3 function; Figure 67b shows the comments for the tabDC3 function code; Figure 68a shows the code for the indRGBv function; Figure 68b shows the comments for the indRGBv function code; Figure 69a shows the code for the tabPIX function; Figure 69b shows the comments for the tabPIX function code; Figure 70a shows the code for the lstabDYN function; Figure 70b shows the comments for the lstabDYN function code; Figure 71a shows the code for the tabDYN function; Figure 71b shows the comments for the tabDYN function code; Figure 72a shows the code for the rgbCODE function; Figure 72b shows the comments for the rgbCODE function code; Figure 73a shows the code for the codeRGB function; Figure 73b illustrates the code comments for the codeRGB function; Figure 74a illustrates the code for the colMIRE function; Figure 74b illustrates the code comments for thecolMIRE function code; Figure 75a shows the lsv2v3DEN function code; Figure 75b shows the lsv2v3DEN function code comments; Figure 76a shows the modPPM function code; Figure 76b shows the modPPM function code comments; Figure 77a shows the TAB2dpi function code; Figure 77b shows the TAB2dpi function code comments; Figure 78a shows the CAS2dpi function code; Figure 78b shows the CAS2dpi function code comments; Figure 79a shows the intMPIX function code; Figure 79b shows the intMPIX function code comments; Figure 80 shows the SCRIPT003 function code; Figure 81 shows the SCRIPT004 function code; Figure 82 illustrates the code for function SCRIPT007; Figure 83 illustrates the code for function SCRIPT008; Figure 84a illustrates the code for function celUNI; Figure 84b illustrates the code comments for thecelUNI function; Figure 85 illustrates the code of the SCRIPTaab function; Figure 86a illustrates the code of the casTPZ function; Figure 86b illustrates the comments of the casTPZ function code; Figure 87a illustrates the code of the rapPTS function; Figure 87b illustrates the comments of the rapPTS function code; Figure 88a illustrates the code of the ptsBS8 function; Figure 88b illustrates the comments of the ptsBS8 function code; Figure 89a illustrates the code of the ptsBS4 function; Figure 89b illustrates the comments of the ptsBS4 function code; Figure 90a illustrates the code of the mireOCT function; Figure 90b illustrates the comments of the mireOCT function code; Figure 91a illustrates the code of the motMIRE function; Figure 91b illustrates the comments of the motMIRE function code; Figure 92a illustrates the code for the tabMIRE10 function; Figure 92b illustrates the comments for the code for the tabMIRE10 function; Figure 93a illustrates the code for thefunction tabMIRE12; Figure 93b shows the code comments for the tabMIRE12 function; Figure 94a shows the code for the texOCT function; Figure 94b shows the code comments for the texOCT function; Figure 95a shows the code for the sfcBS84 function; Figure 95b shows the code comments for the sfcBS84 function; Figure 96a shows the code for the posTAB function; Figure 96b shows the code comments for the posTAB function; Figure 97 shows the code for the SCRIPT99j function; Figure 98 shows the code for the CD0uwLIG function; Figure 99 shows the code for the DC0uwLIG function; Figure 100a shows the code for the TABg2lis function; Figure 100b shows the code comments for the TABg2lis function; Figure 101 illustrates the code for the TABg2ppm function; Figure 102a illustrates the code for the perRGB function; Figure 102b illustrates the comments for the perRGB function code; Figure 103a illustrates the code for the functionrgbTRNG; and Figure 103b illustrates the code comments for the rgbTRNG function. DETAILED DESCRIPTION It will be appreciated by the person skilled in the art that one or more embodiments of the method and system described have numerous advantages. In particular, one of the advantages of one or more embodiments of the method and system described is that they present a system for generating images, in particular from new families of plane-filling curves called rotor Gray metacurves (GRM). It will be appreciated that these configurable curves have combinatorial generation formulas that will be able to form the basis of the image encryption keys in one or more embodiments. It will be appreciated that successive steps using the properties of these curves make it possible to deconstruct the geometric ordering and break the colorimetric consistency of the source images. In fact, a system is described in particularvisual cryptography based on topological stencils. It will be appreciated that stencils are particular digital images which allow in particular to encode and communicate in an encrypted and secure manner different types of graphic, visual or textual information. A stencil generation system is described which is based on topological partitions of the plane made from Jordan polygons. The use of new families of curves filling in the plane called Gray metacurves allows both to create encryption keys encoding the partition of the plane and behaving as topological attractors at the origin of the encryption of color tables and alphanumeric tables. General presentation of the system Topological stencil and cryptography The digital topological stencil system (DTS) is a synthetic image generation system but whose synthesis process is hidden and encrypted. It will also beappreciated that an STD image can also be provided in encrypted form. In the latter case, no particularly visual information is transmitted. The properties of STDs are disclosed below from a cryptographic perspective. An STD is an image that is wholly or partly procedural, the result of a new method for encrypting high-complexity images that lies between the generation of purely random images and the generation of chaotic or pseudo-random images. STDs are a new family of two-dimensional graphic identifiers and authenticators integrating various forms of colorized images. An STD is essentially made up of a solid geometric area that creates a partition of the plane then made up of a boundary and hollowed-out parts. Once defined, this topological partition will be colorized. STDs can be considered as digital stamps or seals whose graphic design is carried out procedurally by formulassecret and encrypted. If barcodes, and their subfamilies such as QR codes and datamatrixes with the exception of 2D-docs, are essentially used as identifiers, STDs include the processes of identification and authentication in the same system. Unlike barcode families which are based on a graphic representation of encrypted text, STDs are encrypted colorized images which include textual representations and which can be mixed by a so-called entanglement system. It will be appreciated that this entanglement system receives any bitmap images and in particular of the following types: (a) either STD type images, generated and encrypted procedurally, (b) or procedural images generated by various systems based on fractals, circular cellular automata or other chaotic or purely random systems. (c) or procedural images coming from the various generations of datamatrix QR codesor others. (d) either procedural computer-generated images. (e) or non-procedural images such as encrypted or unencrypted photographs. It will be appreciated that the STD encryption processes are based on mathematical and algorithmic foundations that are built around the theory of Space Filling Curves (SFC). This approach allows a list of integers, the coordinates in n-dimensions, to be associated by coding to a single integer which, when decoded, will restore this list. It will therefore be appreciated that this system is therefore a universal coding-decoding system for alphanumeric information after its conversion into integers. This system also allows space to be indexed and ordered. This last property allows, in particular, two-dimensional images to be scramble by permutation. These SFCs and their generalizations, known as Gray metacurves, allow for the unification of integrated topology, color, and text encryptions.in STDs. Encryption Process In the STD system, several encryption processes are coupled and nested to complicate and render any attempt to break the encryption obsolete. These processes, which are dynamically configurable, also have three levels of encryption. The finest level is that of the parameters of the encryption functions themselves. The second level is that of the encryption of the type of SFC or MCG functions used. The third level is the encryption of the functional encryption network, that is to say the encrypted description of the nesting and coupling of the different encryption processes. This description takes the form at the software level of encryption scripts or the description of finite automata for the creation of specialized hardware systems. The functional diagrams of the processes are illustrated by the following figures and listed below. A topological partitioning generator of theplan is illustrated in Figure 50. A dynamic color table generator is illustrated in Figure 51. A color palette generator is illustrated in Figure 53. A geometric tiling generator is illustrated in Figure 52. A matching system between topological indicators and colors is illustrated in Figure 54. A typographic configurator based on metapixels is illustrated in Figure 55. A generator of binary tables from text is illustrated in Figure 56. Encryption protocols It will be appreciated by the person skilled in the field that the three levels of encryption described above are associated with three levels of cryptographic signatures which are the encryption keys. The encryption protocol therefore aims to transmit all the procedural instructions and associated parameters allowing the regeneration of the STDs. On the other hand, the encryption protocol involves the encrypted communication of integers with precisionmultiple (Bignum), this representation being obtained thanks to the coding and decoding functions of multi-dimensional SFC or MCG transforming lists of integers into a single integer and vice versa. Typically, integers representing encryption keys can therefore be combinatorially assembled into a new integer which will constitute the definitive encryption key. This key or its hash will be communicated symmetrically or asymmetrically depending on the deployment context of the protocol: ability by the receiver of the encrypted message to regenerate the encrypted STD image or to regenerate the hash of the STD image. Security of the encryption system It will be appreciated by the person skilled in the field that the security of one or more implementations of the system is of the hybrid type with a first assembly of different encryption processes. This approach is substantially equivalent to the different security components allowingto prevent the counterfeiting of banknotes. However, in the case of STDs the number of components is configurable which leads to a certain amount of obscurity cryptography and a punctual abandonment of the Kerckhoffs principle. Regarding the analysis of STD images, the diffusion and confusion properties are mainly dependent on the complexity of the functional encryption network and the complexity of the Gray metacurves used to define the topology of the stencils or their scrambling. In the same way that the classic NPCR (Number of Pixels Change Rate) or UACI (Unified Average Changing Intensity) analysis does not apply to certain images of a chaotic nature, the use of these indicators must be re-evaluated in the case of STDs. Algorithmic principles It will be appreciated that the principle developed to generate encrypted visual identifiers called topological stencils consists of creating a topological and colorimetric structuring of the planedefined in a purely algorithmic and combinatorial manner. The encryption will therefore be graphic and visual in nature but will have the capacity to integrate encrypted textual elements. The parameters of the algorithms will also be used as the first level of encryption keys. From a cryptographic point of view, these parameters feed compositions of bijective mathematical functions which form a second level of encryption keys. These mathematical functions find their origin in a renewed theory of multidimensional filling curves. Understanding the constitutive principles of topological stencils involves the notion of Jordan polygon. Jordan polygons are discrete polygonal structures having the properties of Jordan curves which are simple closed plane curves constituting continuous loops without self-intersection. Principle of topological stencil It will be appreciated by the person skilled in the field that theprinciple developed to generate graphic identifiers, called topological stencils, is to create a topological and colorimetric structuring of the plane defined in a purely algorithmic and combinatorial manner. The encryption is therefore graphic and visual in nature but has the capacity to integrate encrypted textual elements as described below. The parameters of the algorithms will also be used as the first level of encryption keys. From a cryptographic point of view, these parameters feed compositions of bijective mathematical functions which form a second level of encryption keys. The mathematical functions find their origin in the theory of multidimensional filling curves (SFC). The presentation texts of the generalization of Cantorian-type SFCs are described in particular in the following references Ref. [35, 59]. The presentation texts of Gray curves and metacurves are described in the referencesfollowing Ref. [78, 79, 80, 81, 82, 83, 84, 85, 86, 87]. It will be appreciated by the person skilled in the art that the color tables are indexed sequences of RGB codes without prior ordering of the plane. Consequently, knowledge of the RGB codes of the table does not give any explicit indication of the position of the colors in the plane and their association with pairs of coordinates. It will be appreciated by the person skilled in the art that the dynamic color tables are color tables that can be calculated on the fly while the static color tables are precalculated and predetermined tables or images. SFC combinatorial encryption In one or more embodiments, the disclosed system differs from the prior art in particular by a systematic use of particular families of SFCs and their bijective coupling functions as explained below. It will be appreciated by the person skilled in the art that the SFCs arecombinatorial tools that naturally allow the ordering of n-dimensional spaces and the permutation of points by substituting SFC orderings with other orderings. One of the reasons why classical SFCs, such as Hilbert curves, appear relatively rarely in image encryption systems is the fact that the number of known SFCs is limited and that, in general, the associated coding and decoding algorithms, due to their simplicity, present little resistance to attacks. MCG signature and encryption key It will be appreciated by the person skilled in the field that the signature of a MCG is therefore a sequence of nested lists that specify the parameters of the Gray metacurves assembled to obtain a final metacurve. Figure 1 illustrates an example of a level 7 composite metacurve, in this case a chain consisting of 12 tiles of different sizes occupied by metacurvesheterogeneous and hybrid different U- and W-shaped, called class U and W. The two points in bold represent the input and output of the Hamiltonian path constituted by the composite metacurve. These chains make it possible to encode and decode adaptive Hamiltonian paths on orthonormal grids. In the general case, the signature of a seventh-level composite metacurve is as follows (Eq. 1): The principal metacurve connects a set of α+1 secondary metacurves of different levels nv ≤ 6. Each metacurve of index α is contained in a square of dimension a α and coordinate center [x α , y α ]. The cs parameter i specifies the cases of symmetries associated with the square of index i. The signature of each metacurve of the set is of the form lsDC α 0..6 . A scale factor sc αis associated with each metacurve allowing the resulting Hamiltonian path to be indexed on grids of different norms. The syntax of the signatures of secondary metacurves takes the form of lists of parameter lists. The syntax of a second-level metacurve (Eq. 2) is formulated as follows: Second-level chainings allow the definition of heterogeneous metacurves formed from first-level metacurves that can be transformed by central symmetry. Symmetry control is possible for all rotor curves regardless of their order in the Diophantine signature of the metacurve. It will be appreciated by those skilled in the field that reorderings between metacurves of any level do not present any problems, since MCG basis changes apply in the same way as for level-0 SFC curves. Figure 2 illustrates an example of reordering of the Vermeer table ,the girl with a pearl earring in linear SFC basis by an inverse meander rotor MCG of level 1. SFC and surface MCG libraries It will be appreciated by the person skilled in the field that the generation of encryption keys by composition of bijective coding-decoding functions and where appropriate the reordering of images can be achieved using purely algorithmic composite and heterogeneous MCGs continuously traversing square Euclidean grids or discontinuously traversing rectangular Euclidean grids. The SFC and MCG coupling functions associated with combinatorial algorithms based on bijective coding and decoding functions of an integer index into a pair of two-dimensional Euclidean coordinates are grouped in specialized libraries and called by means of hash tables pointing to the functions. A taxonomy of Gray and non-Gray curves is illustrated in Figure 3.These latter non-Gray functions are useful in encrypting sequences of integers into a single integer in any dimensions. It will be appreciated by the person skilled in the field that such sequences can be found in the creation and indexing of color tables. Hash tables of SFC or MCG It is possible to establish from all or a subset of these functions hash tables of encoding and decoding functions. Knowledge of the tables and the functions contained is necessary to decode the cryptographic signatures of topological stencils. The functions t abDC in Figure 57 and t abCD in Figure 58 illustrate for the purpose of examples the call by case of 5 elementary SFC coupling functions. The SFCs are known by their indices in the tables. In the case of tables including MCG curves the signature of each MCG can be transmitted in a form given by the formula Eq. 1.Method for generating a single-cell topological stencil Figure 47 illustrates a method for encoding information using a single-cell topological stencil according to one or more embodiments. It will be further appreciated that the single-cell topological stencil is square in shape in one or more embodiments. More generally, it will be appreciated that the single-cell topological stencil is a particular type of image. It will also be appreciated by the person skilled in the art that the single-cell topological stencil consists of a surface containing a plurality of graphical elements. In one or more embodiments, the graphical element is a pixel or point. It will be further appreciated that the single-cell topological stencil is generated using a method implemented by a processing device, also called a computer. In fact, it will be appreciated by the person skilled in the art that the processing device can be of various natures.In particular, the processing device may be selected from a group including desktop computers, servers, smartphones, tablet computers, etc. According to step 80 of Figure 47, information to be encoded is obtained. It will be appreciated by the person skilled in the art that the information may be of various nature and may be used for various purposes. For example, the information to be encoded may be used to identify or authenticate an element. In one or more embodiments, the element is an object. In addition, it will also be appreciated by the person skilled in the art that the information to be encoded may be obtained in various ways. According to one or more other embodiments, the information to be encoded is obtained from the processing device, for example, from its memory.According to one or more other embodiments, the information to be encoded is received from another processing device via, for example, a data network. The person skilled in the art will appreciate that the data network can be of various types. 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. The person skilled in the art will appreciate that the information to be encoded can be obtained in various alternative ways. According to step 100 of Figure 47, a partition is generated in a square. It will be appreciated by the person skilled in the art that the partition is generated using at least one of a Jordan polygon generator, an SFC generator, and a closed Hamiltonian path generator.It will be appreciated by the person skilled in the field that Jordan polygons are discrete polygonal structures having the properties of Jordan curves which are simple closed plane curves constituting continuous loops without self-intersection. Topological partition system: General principles It will be appreciated by the person skilled in the field that the theory of Arithmetic of Forms allows, thanks to a mechanism of arithmetic of the topology, to generate partitions of the plane with regions generated and separated by Jordan polygons. These regions are associated with integers called densities calculated in a combinatorial manner. The partitioning process makes it possible to generate the geometry of the partitioning and on the other hand to allow the coloring of the topological regions generated by the partitioning.It will be further appreciated that the colorization by filling of SFC curves is therefore approached from the perspective of filling discretized Jordan curves or polygons, the edges, interior and exterior regions being provided with a thickness. Jordan polygons It will be appreciated that besides the native Jordan polygons, Gray SFCs, GCMs as well as some Hamiltonian or self-avoiding paths and circuits can be transformed into Jordan polygons by performing the closure of the paths in question. A taxonomy of Jordan polygons is illustrated in Figure 4. Figure 5 illustrates the closure process for an S-shaped SFC (SFC entry and exit points diagonally opposite), a U-shaped SFC (SFC entry and exit points opposite on one side), and a self-avoiding path. The pol JORD function in Figure 59 performs the closure of SFC or MCG of class W or U. The function expects the flag as input. <uw>of the SFC class, <ls>the list of SFC contact details and its resolution. The function returns the list <jord>of the coordinates of the formed Jordan polygon. Arithmetic of Shapes Unlike diffusion filling algorithms that apply to connected regions of pixels, the described algorithmic principle relies on topological knowledge of the SFC curve separating the plane into three regions: interior, edge and exterior. To do this, the addition of two ghost points to the metacurve allows the curve to be closed and topologically transformed into a Jordan curve. After a magnification of the metacurve by a minimum factor of 2, which allows a width of one pixel for the edge, as well as for the interior and exterior regions, a theorem allowing the calculation of the Poincaré index of a point with respect to a Jordan curve is applied. In this case, a theorem from the theory of Arithmetic of Shapes is applied which calculates the density ψ of a point with respect to a polygon with maximum quadratic representation.This representation amounts to considering the positional balance of a point with respect to each vertex of the polygon associated with a degenerate conic in two straight lines passing through the edges relating to this vertex. It will be appreciated that one of the interests of the theorem used is its applicability to degenerate polygons or to polygons presenting sequences of collinear vertices, a configuration found permanently with polygonal SFCs. According to step 102 of Figure 47, the generated partition is converted into a series of triplets representing the partition. It will be appreciated that each triplet is defined by a point and its two neighbors. Density theorem The formula Eq.3 takes into account the counting of points belonging to the edges of a convex conic. <bx>, of a concave conic <bv>, outside a convex conic <ex>and inside a concave conic <iv>. In the case of a polygon topologically equivalent to a simple Jordan curve, we have a value = 2 and depending on the membership of the point in the different regions delimited by the polygon we have the following values case by case (Eq.4) The indDC function in Figure 60 generates the set of densities of the points contained in a given rectangular window with respect to a given polygon. The function receives as input the two end points of the diagonal specifying the rectangle, i.e. the bottom left origin point <v2o>and the top right end point <v2e>as well as the list <ls>points of the polygon. It returns a list of two lists. The first contains the coordinate pairs of points of different densities and the second the numbers of points of different densities. The indJFR function in Figure 61 calculates the density of a point with respect to a polygon. The function receives as input the coordinate pair <v2>of a point and the list of vertices <ls>of a polygon. It returns the density <ind>of the point relative to the polygon. The indSOM function of Figure 62a commented on in Figure 62b performs the calculation of the 4 density cases<bx, bv, ex, iv> for a given vertex. The function receives as input the pair of coordinates <v2>of a point and the list of the 3 points associated with a given vertex. It returns the list of density indicators for the vertex in question. Figures 6 and 7 illustrate the coloring of two Gray curves by calculating the densities. Figure 6 illustrates the coloring of a U-shaped curve with its ghost points represented and Figure 7 the coloring of a W-shaped curve with its ghost points represented. Quadratic representation The theorem on the density of a point with respect to a Jordan polygon is based on a combinatorial arithmetic balance operating vertex after vertex. The vertices described by a sequence of three consecutive points represent conics degenerated into two concurrent lines.Practically a Jordan polygon is described for questions of algorithmic parallelization of combinatorial calculations as the sequence of its vertices and the decomposition into degenerate conics is done in a modular way as the ordered list of vertices is read. The abandonment of the sequential representation in quadratic representation, that is to say of a representation in series of triplets of consecutive vertices, more expensive in terms of space allows to carry out the calculations in a parallel way on lists of quadratic vertices without prior ordering but especially to carry out topological fusions of as many polygons wanted in the same list of triplets of vertices. In this case, the permutation of the triplets: their disordering does not influence the arithmetic balance of the point compared to the series of merged polygons. Balance of the densities and orientation of the polygons. The cctQUA function of Figure 63a commented on in Figure 63b receives a list of polygons, i.e. the list <lsls>of list of vertices and <vn>the list of indicators taken between the values {0,1} of orientation of the polygons. The function returns the merged list of all triplets of all polygons. The decomposition into triplets is carried out by taking into account the direction of orientation of the polygons in the plane. A symbolic example is given by the sequence Eq.5 (xA is the symbol of point A, xB of point B etc …) The ptsQUA function of Figure 64a commented on in Figure 64b transforms a sequence of consecutive vertices of a polygon into a list of triplets of points, each triplet consisting of a vertex and its two successors. The function receives the list of consecutive vertices <ptsqua>and returns the list consisting of triplets of points. The following example Eq.6 shows the procedure for separating a list of 5 consecutive vertices. According to step 104 of Figure 47, a density associated with each point of the square is determined using the series of triplets. It will be appreciated that the determined density is used to determine the color associated with each point of the square. The function indJFRQ2 of Figure 65a commented on in Figure 65b adapts the calculation of the densities to a quadratic representation of the vertices of the polygons. It expects <v2>the coordinates of the point whose density is sought and the list <lsq>of the quadratic vertices of the polygons. It returns the density of the desired point. The density expression in Eq. 3 is multiplied by 2 to eliminate the use of rational numbers. According to step 106 of Figure 47, each point of the square is colored using at least the associated density to generate the single-cell topological stencil. It will be appreciated by the person skilled in the art that the coloring can be carried out in several embodiments. In one or more embodiments, the step of coloring each point of the square comprises associating a given color with each density. In one or more embodiments, the step of coloring each point of the square comprises, for a given point, associating a given color table with each density and selecting a color from the given color table using a position of the given point in the square.Color Encryption System It will be appreciated by the person skilled in the art that the encrypted communication of colorimetric information is a constant problem in the context of digitized images. In particular, it is necessary to distinguish between the case of non-procedural images, for example photographs, and procedural images that can be regenerated from a restricted set of parameters, for example certain fractal images or the dynamic color tables presented in this section. The types of colorimetric information can be classified as follows: 1. colorized point lists formed from the coordinates of the points without explicit ordering in the plane and the associated RGB codes. 2. lists of RGB codes without the coordinates of the points, their ordering in the plane being specified by an associated SFC type. 3.the lists of parameters for procedurally regenerating the list of colored points. 4. the lists of parameters for procedurally regenerating a palette or sequence of colors. The fundamental operations relating to these types of information are as follows: 1. data compression, 2. data encryption, 3. algorithmic regeneration of the data. Algorithmic color tables It will be appreciated that in one or more implementations the predefined color tables are encrypted from multidimensional SFC curves accessible in the specialized libraries already described. The example of the use of a multidimensional lace indexing algorithm of type DC0uwL (see reference Ref.
[0086] ) illustrates this approach. The idea is to replace a generation of random color tables by the generation of dynamically encrypted color tables.SFC curves act as combinatorial attractors in the same way as some differential equations for strange attractors in chaos theory. The tabCODE function in Figure 66a, commented on in Figure 66b, receives as input.< / lsq> < / ptsqua> < / vn> < / lsls> < / ind> < / ls> < / ls> < / iv> < / ex> < / bv> < / bx> < / jord> resolution of the encrypted color table and <v2>a rational number less than or equal to one in the form [numerator, denominator]. The function returns a list of<a+1> RGB codes. Figure 8, given as an example, illustrates the generation of a seven-entry color table. Using any rational number, for example [1234, 12345], produces a color table that approximates a quasi-random color table. The large integer code for a color table <n>predetermined RGB colors is simply as follows (Eq.7). SFC Indexing of RGB Cubes 3-dimensional SFCs that allow the bijective indexing of different coordinate triplets by coupling provide a means of indexing RGB codes. SFC curves are also used to generate images in which each pixel has a different RGB code. From a number of equivalent principles, it is possible to produce algorithmically generated color tables on the fly. However, these tables will exhibit a non-chaotic (monotonic) progressive variation character between adjacent RGB codes. In order to introduce a certain level of chaos into the color tables, an SFC-based algorithm that generates an RGB code associated with a given index is described.Unlike conventional approaches, the algorithm uses a table of three-dimensional SFCs that allows dynamically changing the SFC indexing base and also introduces a parameter to control the chaotic distribution of colors. The function tabDC3 in Figure 67a commented on in Figure 67b corresponds to the calling code of a table of three-dimensional SFCs that return a triplet of coordinates as a function of a given index. This table, limited for the purposes of example, can be enriched by any new SFC in 3D such as variants of Hilbert curves or other Gray SFCs. The function receives as input the type . <cas>of SFC, l'index <ind>of the point on the curve, i.e. the RGB index and< / ind> < / cas> < / n> the resolution of the curve. The function returns <v3>, the triplet corresponding to the RGB code sought. Finally, the ordering of the color tables can be modified by changing the SFC reading base in two dimensions of the color table and the RGB codes can be modified by specifying the RGB code permutation indicator which allows to choose among the 6 combinations RGB, RBG, GBR, GRB, BRG, BGR. SFC attractors: chaos and kinetic effects The algorithms developed combine the Cartesian position of the points of a directing SFC and RGB codes which are calculated by correspondence of RGB codes belonging to RGB cubes in the plane of the SFC. The correspondence parameters from three-dimensional space to two-dimensional space allow to modify the color palette dynamically. These modifications create kinetic visual interference effects or chaotic color distribution effects. The directing SFCs play the role of real attractors.Figure 9 presents an example of kinetic effects resulting from the variation of a pair of coefficients allowing the generation of tables with a spiral-type directing SFC. These kinetic effects make it possible to define color tables visually close to the directrix (on the left of the figure) or with visual interference effects (on the right of the figure). Furthermore, the different combinations between the types of directing SFC curves and the type of SFC indexing chosen for the RGB cube also make it possible to switch from a kinetic visual mode to a chaotic visual mode. Figure 10 presents an example of a kinetic effect on the left of the image (DC0uM-type SFC) transformed into a chaotic effect by simple substitution of the chosen RGB cube model. The principle of mapping the space of an RGB cube to a color palette in the plane provided with an SFC directrix can be formulated in a series of algorithmic variants.These algorithmic variants can be interchanged by means of hash tables. The principles of coloring two-dimensional palettes are presented from the following algorithmic variant. The indRGBv function of Figure 68a commented on in Figure 68b generates an RGB code from a given index, a chosen SFC type and a number which allows the color table to be modified chaotically. The function receives . <ind> , the index in question,< / ind> the resolution of the color table by square convention, <cas>which specifies the type of 3D SFC performing the bijective indexing and <v2>the kinetic couple, that is to say the couple of positive real numbers less than or equal to one which controls the chaotic character of the table. The function returns the triplet <v3>corresponding to the calculated RGB code. The tabPIX function of Figure 69a commented on in Figure 69b receives as input <ind> the index of the coloring point, the resolution< / ind> < / cas> from the table, the couple <v2>of kinetic values from the table, <per>the color permutation code between 0 and 5, <rgb>the type of RGB code indexing cube, <sfc>the type of SFC curve, <v3t>the translation vector of the RGB codes and <v3n>the color complementarity vector (negative). The function returns the pair representing the colorized pair formed by its coordinates and its color code Dynamic tables It will be appreciated that dynamic tables are intended to replace tables with random or quasi-random generation. They allow the color of a point to be calculated on the fly without precalculation or prior storage of the table and they are generated procedurally by a set of parameters forming the signature of the table (Eq.8). This signature will be used as a cryptographic key. Cryptographic signature Examples Figure 11 illustrates the visual result of four color tables defined by the formulations Eq.9 and Eq.10. The two-dimensional directing SFC of the two upper tables is of spiral type DC0uS and the 3D indexing SFCs are respectively of type 0 and 1, the permutation indicators of the RGB codes respectively 5 and 0. The choice of the pair of kinetic factors makes it possible to generate a table with a kinetic effect and then a table with a chaotic effect. The following function call sequences illustrate the injection of the generating parameters of the terminal RGB codes The two-dimensional directing SFC of the two lower tables is of the DC0uM meander type and the 3D indexing SFCs are respectively of type 0 and 1. The choice of the pair of kinetic factors also makes it possible to generate a kinetic effect table and then a chaotic effect table. As previously, the sequences of calls to the following functions make it possible to illustrate the injection of the generating parameters of the terminal RGB codes. The lstabDYN function of Figure 70a commented on in Figure 70b receives as input the resolution < / sfc> < / rgb> < / per> from the table and the list <lsdyn>parameters constituting its cryptographic signature. The function returns a list of colored points, i.e. a list of pairs formed by a pair of coordinates and an RGB code. Visual complexity of dynamic tables The pair of coefficients that controls the chaotic or kinetic aspect of dynamic color tables applies in the previous examples to all the pixels in the generated tables. The possibility of modifying this pair according to the position of the pixel in the plane is introduced. This position is dependent on the SFC direction curve of the table. The general principle is therefore as follows: 1. In mode 0, the calculation of the color is dependent on certain parameters including the point index and the pair of kinetic coefficients. This pair has constant values for any pixel in the plane traversed by the SFC direction. The continuous variations of these values allow interactive and real-time dynamic variations of the color palette. 2.In mode 1 and mode 2, the pair of kinetic coefficients is calculated for each point of the plane and the directrix curve. To do this, the pair of the two coefficients is recalculated according to the coordinates of each point. The pair of coefficients given as a parameter of the algorithm is interpreted as a pair of weighting coefficients applied to each coordinate of the point after successive point transformations. 3. The principle can be extended to any point transformation allowing the calculation of the kinetic coefficients from point transformations of the coordinates. Two examples of modification of the kinetic coefficients by successive point transformations are formulated by the equations Eq.11 and Eq.12.
[0002] The tabDYN function of Figure 71a commented on in Figure 71b receives as input <ind> the index of the coloring point, the resolution< / ind> < / lsdyn> of the generated table and the list <lsdyn>parameters of its cryptographic signature. The function returns the pair <v2v3>representing the colorized point, consisting of its coordinates and its color code. The function operates according to three modes described previously. According to one aspect of the invention, there is therefore disclosed a computer-implemented method for performing identification or authentication using a dynamic color table in a square, the method comprising generating a two-dimensional SFC traversing a square comprising a plurality of pixels; using a hash function for dynamically associating colors of an 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 and providing the generated color table, the generated color table allowing identification or authentication to be performed. According to one or more embodiments, the method further comprises modifying the value of each pixel of the generated color table.Examples The increase in visual complexity of dynamic color tables is illustrated by Figures 12 and 13. The formation of fingerprint-like color tables visually combines with geometric moiré effects. Figure 12 illustrates the result of the calculations made from Eq. 11 while Figure 13 illustrates the result of the calculations made from Eq. 12. Encoding a color palette It will be appreciated that the encoding of a color palette, i.e. a sequential list of RGB codes without ordering, aims to communicate this list securely and confidentially. The developed encryption principle amounts to operating in a space of dimension <3n> where . <n>is the number of colors in the list. The list of RGB codes given as triplets is simply transformed into a concatenated list of <3n> integer values. The new list formed is then considered as the list of coordinates of a point belonging to a multidimensional SFC of a predetermined type. This type is chosen from the list of available multidimensional SFCs. The encryption code of the initial list of RGB codes will therefore be the index of the point belonging to the chosen SFC, whose list of coordinates is known. The encryption key of the list will therefore consist of the code itself in a big integer format (Bignum) of the dimension of the encryption space and the encryption key of the multidimensional SFC. The rgbCODE function in Figure 72a commented on in Figure 72b encodes a list of RGB codes into a positive multiple-precision integer (Bignum). The function receives as input the list of RGB codes <lsrgb>. It returns the calculated code. The codeRGB function in Figure 73a commented on in Figure 73b calculates the RGB code of a list of RGB codes encoded from a multidimensional SFC. The function receives as input the code <code>, <nbr>the number of RGB codes in the list, and <ind>the index of the RGB code in the list. The function returns <v3>the desired RGB code. Colorization of topological regions It will be appreciated that the colorization of topological regions is carried out in one or more realizations by colorization rules associated with densities. The colorization process is therefore associated with the topological partitioning carried out from Jordan polygons in one or more realizations. Densities are algorithmically calculated arithmetic indicators that characterize the combinatorial regions resulting from the partitioning. For each region, the density varies according to the orientation in the plane of each Jordan polygon constituting the partitioning set. The values of the densities obtained fluctuate according to the number of constituent elementary Jordan polygons and modifications of the orientations of these polygons lead to obtaining negative densities.It will be appreciated that the colorization of densities therefore amounts to either associating an RGB code with each density resulting from the partitioning or associating an RGB code with a set of densities grouped for topological, logical or other reasons. Grouping densities whose halves are odd is, for example, a strategy that makes it possible to dissociate the color of the edges of Jordan polygons from the colors of the interior and exterior regions. To do this, apart from the method of creating a density-color correspondence table, a method for dynamically creating a color palette determined by a limited number of parameters and which automatically adapts to the density ranges encountered is disclosed. Density ranges It will be appreciated by the person skilled in the field that the density ranges are the set of different densities obtained during topological partitioning.These ranges are known a posteriori by sorting the final list of densities obtained and by keeping a single element among the repeated elements. The eight ranges of the sequence Eq. 13 come from the partitioning of Figure 14 with successive modifications of the orientations of the constituent Jordan polygons. In this case the partitioning is carried out from three elementary constituent Jordan polygons: two squares and a rectangle. There are therefore 2. 3 different combinations of orientations of the three polygons which allow to obtain 8 different colored occurrences of the same partitioning. These combinations are noted by a n-tuple of binary values representing the orientations of the Jordan polygons. In the case of Figure 14 top left, the colorizations correspond to the successive combinations [0,0,0], [0,0,1], … ,[1,1,1].
[0003] Density-color post-correspondence Post-correspondence between densities and colors is performed when the range of densities is known in advance either by a discrete preprocessing carried out by previously calculating all the densities relating to a topological partitioning in a given display window, or by a method allowing this range to be known in advance by combinatorial deduction. In this case the origin of the range of densities can be brought back to zero by a known translation of all the densities. The colMIRE function in Figure 74a commented on in Figure 75b calculates a list of colorized points in a window of known dimensions and for a given topological partitioning. The function receives as input the diagonal points of the scanning window, <v2o>the low point on the left, <v2e>the top right point, <q>the list of quadratic vertices forming the partitioning, the translation value allowing in particular to bring back the range of densities to a zero origin and a set of positive values, <nbrdens>the number of beach densities and <code>the integer encoding the list of RGB codes. Density-color pre-matching It will be appreciated that the pre-matching between densities and colors is done on the fly without prior knowledge of the density range. The properties of the tabCODE function already presented (Figure 66a, Figure 66b) are used. The principle is to generate a color table whose number of entries will be at least twice the absolute value of the maximum density. The color associated with the provided density will then simply be the color of the table with an index equal to half the number of colors added to the value of the density. This approach avoids hashing techniques for sequences of integers with negative values. The lsv2v3DENS function of Figure 75a commented on in Figure 75b calculates the list of colorized points associated with a set of Jordan polygons represented quadratically. The function receives as input, <q>the list of triplets of points representing the set, <v2o>the lower left corner of the scan rectangle, <v2e>the upper right corner of the scan rectangle, <v2c>the linear combination parameters of the tabCODE function (Figure 66a, Figure 66a), <plg>the number of colors in the defined palette, <per>the RGB code swap indicator, <v3t>, the translation vector of the calculated RGB code and <v3n>, the vector of color complementarity indicators (negative). The function returns the list of colored points in the scanning window. Examples The previous coloring principles are illustrated in Figures 15 and 16. The objective is to obtain a homogeneous coloring of the topological partitioning producing the vector lettering AB. The letter A has two connected components with an orientation code of type [{0,1}, {0,1}] and the letter B three components with an orientation code of type [{0,1}, {0,1}, {0,1}]. To obtain a homogeneous coloring, we will have to identify a good combination associating the two codes. In the case of Figure 16, a good coloring will be carried out from the general code [1,1], [1,0,0] or complementary code [0,0], [0,1,1]. The code
[0001] , [1,0,1] will be associated with the non-homogeneous coloring of this same figure. According to step 108 of Figure 47, the single-cell topological stencil is provided.It will be appreciated by the person skilled in the art that the generated single-cell topological stencil may be provided in several embodiments. In particular, it will be appreciated by the person skilled in the art that the embodiment may depend on the application. In one or more embodiments, the generated single-cell topological stencil is stored in a memory unit of the processing device. In one or more other embodiments, the generated single-cell topological stencil is transmitted to another processing device that is operatively connected to the processing device used to implement the method by means of at least one data network. The person skilled in the art will appreciate that the data network may be of various types. For example, and in one or more embodiments, the data network may be a local area network (LAN). In one or more other embodiments, the data network is the Internet.It will be appreciated by the person skilled in the art that the step of providing the single-cell topological stencil further comprises in one or more embodiments obtaining a coding SFC or MCG traversing the square and reordering each point of the single-cell topological stencil using the coding SFC or MCG to provide a scrambled single-cell topological stencil, the reordering modifying the coordinates of each point of the single-cell topological stencil such that for each given point having initial given corresponding coordinates in a given scan, new coordinates are assigned to that point, these new coordinates corresponding to an identical index in the SFC or in the coding MCG as an index in the given scan.It will be appreciated that in the method disclosed in Figure 47, the information to be encoded is used in at least one of generating the partition in a square, determining the density associated with each point of the square, and coloring each point of the square. The person skilled in the art will appreciate that this use can be done in various ways because many parameters are available for each of the steps mentioned above. Scrambling of stencils In fact, it will be appreciated by the person skilled in the art that the optional scrambling of the topological stencils increases the robustness of the encryption against subsequent attacks. In particular, it allows the visual coherence of the colorized point lists to be deconstructed at the spatial level of the coordinates as well as at the colorimetric level of the RGB codes. This scrambling uses an approach of reordering the plane by SFCs or MCGs.Unlike conventional methods where reorderings are performed from a limited number of known SFCs, the transcoding of integers is performed from MCGs of the same resolution belonging to any families. The signatures of the MCGs will provide the encryption keys. The following functional diagram (Eq. 14) is then obtained:. It will be appreciated by the person versed in the field that the functions <f>And <g>decoding and encoding of equation 3 can be chosen manually or automatically. To choose them automatically it is possible to represent the <n 2> combinations of transcoding functions made from coding and decoding tables <n>elements by index in a resolution SFC<n−1> of the point having as coordinate pair the index of the decoding function in its table and the index of the encoding function in its table. This index can be used to make a choice by modular hashing. Figure 48 illustrates a computer-implemented method for encoding information using an image comprising metapixels. In fact, it will be appreciated that universal graphic identifiers must be able to be visualized on different physical media and by various digital display techniques. The person skilled in the field knows that there are two main methods of two-dimensional display which are the vector method and the bitmap method. The vector method is oriented towards the colorization of predetermined graphic or geometric primitives: squares, triangles, circles ...of parameterized size while the bitmap method is oriented towards the colorization of elementary points called pixels. Unlike the more flexible vector method, the bitmap method has perfect display precision. It will be appreciated that in what follows both approaches will be used but an overlay is added to the conventional bitmap method by introducing a method developed around the concept of metapixel. It will be appreciated by the person versed in the field that this approach allows better control of physical printing units of the dpi (dots per inch) type but above all to enrich the limited visual encryption possibilities of the pixel. Metapixels allow in particular to carry out visual entanglements of conventional bitmaps of the photographic image and QR code type. According to step 200 of Figure 48, a first image having a given number of pixels is obtained.It will be appreciated by the person skilled in the art that the first image can be obtained in several embodiments. In one or more embodiments, the first image is obtained from the memory of the processing device. In one or more other embodiments, the first image is generated by the processing device. In one or more other embodiments, the first image is received from another processing device via, for example, a data network. The person skilled in the art will appreciate that the data network can be of various types. 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. It will be appreciated that the first image is selected from a group of images comprising at least one single-cell topological stencil generated using the method described above.It will be appreciated that in one or more embodiments, the group of images further comprises a tiling generated using a method described in the patent application. It will be appreciated that in one or more embodiments, the group of images further comprises at least one of a static color table and a dynamic color table. It will be appreciated that in one or more embodiments, the group of images further comprises a QR code. It will be appreciated that in one or more embodiments, the group of images further comprises a given image, for example, any imported image (for example, a photograph).It will be appreciated that in one or more embodiments the dynamic color table is generated according to a method comprising generating a two-dimensional SFC traversing the square and using a hash function for dynamically associating colors of an RGB cube of colors with each pixel of the square, wherein the association is controlled by the hash function using at least one parameter and the generated SFC. According to step 202 of Figure 48, a second image having a given number of pixels identical to the given number of pixels of the first image is obtained. It will be appreciated by the person skilled in the art that the second image can be obtained according to several embodiments. In one or more embodiments, the second image is obtained from the memory of the processing device. According to one or more other embodiments, the second image is generated by the processing device.In one or more other embodiments, the second image is received from another processing device via, for example, a data network. The person skilled in the art will appreciate that the data network can be of various types. For example, and in 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. It will be appreciated by the person skilled in the art that the second image can be of various types. In fact, the second image could be one of the images mentioned above (e.g., a static color table, a dynamic color table, a given image, a QR code, a generated tiling, a single-cell topological stencil, etc.). In accordance with step 204 of Figure 48, the first image is entangled with the second image to provide an entangled image.It will be appreciated that the entangled image comprises a given number of metapixels identical to the given number of pixels of the first image. Each metapixel comprises a central portion and a peripheral portion. The central portion comprises at least one pixel having an associated value equal to that of a corresponding pixel in one of the first image and the second image. The peripheral portion surrounds the central portion and comprises a plurality of pixels each having an associated value equal to that of the pixel corresponding to the other of the first image and the second image. Typographic system and metapixels It will be appreciated that the lists of colorized points make it possible to associate in the Cartesian plane a pair of coordinates and its associated color. This representation makes it possible to describe a bitmap file without prior ordering of the pixels.To enable the size of pixels to be magnified, the notion of metapixel is introduced, which allows a unit pixel to be transformed into a square of n. 2 pixels, this square being itself decomposed into an inner square and an outer square. The metapixel principle is essential to change the physical printing definition expressed in pixels per centimeter but also to allow the creation of an additional area for coding colorimetric information. Figure 17 illustrates the transition from a pixel representation to a metapixel representation for a simple S-shaped Peano curve. The colors from the list of colorized points will be used to colorize either the inner square or the edges of the square according to a previously chosen mode. Figure 18 illustrates four available typographic modes associated with metapixels. The first mode applies to borderless metapixels. The main square is colorized from a dynamic color table. The next mode (fd=0) allows the assignment of a thickness to the edge and a certain color that will be constant.In this case the inner square is colorized with the dynamic color table. The next 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 for the inner square and the color of the dynamic table for the rest of the metapixel. The typographic process The algorithms presented aim to produce bitmap images at a certain resolution expressed for example in pixels per centimeter or in dots per inch (DPI) The first algorithmic phase consists of transforming the list of colorized points into a list of RGB color codes ordered in a typewriter-type reading order from top to bottom and from left to right. This type of reading is found in many bitmap formats, in particular the Ascii PPM format. The SFC algorithm used to order the list of colorized points into the ordered color list is the coding function CD0uwLIG.The second algorithmic phase consists of transforming the list of pixel colors into a list of metapixel colors. The modPPM function of Figure 76a commented on in Figure 76b receives as input . <nom>the name of the bitmap file to generate, <nbrx>the number of pixels on the side of the print square, <lsv2v3>, the list of colored points is the pairs each consisting of the Cartesian coordinates of the point and the triplet representing its RGB code, <dpi>the scale factor of a metapixel, <bd>, the width of the edge of a metapixel, <v3b>, the RGB color of the edge, <v3t>, the translation vector of the colors R, G, B, <v3n>the vector indicating the calculation of the negative image for the three color channels, <fd>, how to use edges and inner squares for metapixels and finally <postab> the color table intended to colorize the inner squares of the metapixels. The function returns the generated file in PPM format thanks to the call of the TABg2ppm function (Figure 101). The TABg2lis function of Figure 100a commented on in Figure 100b provides a list of colors ordered according to a top-bottom and left-right reading. It is the DC0uwLIG function of Figure 99 SFC decoding function which performs such an ordering. The function receives as input< / postab> < / fd> < / bd> < / dpi> < / nbrx> < / nom> < / n> < / g> < / f> < / per> < / plg> < / q> < / code> < / nbrdens> < / q> < / ind> < / nbr> < / code> < / lsrgb> < / n> < / lsdyn> <code> <code> the resolution of the colorized point table and <ls>the list of colorized points. The function returns the ordered list of RGB color codes. This ordering is similar to that of Ascii PPM files. The TAB2dpi function in Figure 77a commented on in Figure 77b calculates the color of a colorized metapixel. The function expects as input <d>the size of the metapixel, <lsrgb>the color table, <sca>the metapixel scaling factor, <bd>the thickness of the edge, <v3b>, the edge color code, <fd>the metapixel colorization mode and <tabmap>the static color table intended to fill the inner squares of the metapixels. The function returns the list of metapixel colors. The CAS2dpi function in Figure 78a commented on in Figure 78b calculates the RGB color code associated with a given point. The function expects as input the indices And <j>of the point in the Cartesian plane: its coordinates, the list of colors <lsrgb>, a list of parameters <ls>and a list of color codes <tabmap>intended to fill the inner squares of the metapixels. The function returns the determined RGB color code. The function flowchart follows the processing of typographic modes in Figure 18. The coordinates of the point to be colored are given as input. If the edge of the metapixel is zero, then the color of the point is taken from the color table provided as an argument. If the edge is different from zero, the status of the point, i.e. its position relative to the inner square of the metapixel, is then tested. From this branch, the tests are conditioned on the modes fd = {0, 1, 2}. In mode 2, the color assigned to the point according to its position is either the color determined in the main color table (dynamic table), or the color determined in the image provided as an argument (static table). The intMPIX function in Figure 79a, commented on in Figure 79b, calculates the position of a point relative to the inner square of a metapixel.The function expects input. , <sc> , <lign> , <bd>And <sca>. The function returns the value 0 or 1 depending on the position of the point in the square. Entanglement of dynamic and static color tables It will be appreciated by the person skilled in the field that the entanglement of dynamic tables is valid for the four typographic modes presented above. The SCRIPT003 function in Figure 80 presents the first three typographic modes applied to a dynamic table illustrated in Figure 19 on the left. In this case, the metapixel has no edge, then a 2-pixel-thick edge for an inner square of 20 pixels for the top right figure (fd=0) and finally a 5-pixel edge for an inner square of 14 pixels for the bottom right figure (fd=1). It will be appreciated by the person skilled in the field that the entangled static tables are pre-computed bitmap images of any origin but of equivalent resolution to the dynamic color table.They can be entangled encrypted (scrambled) or not, by means of elementary or composite SFCs coming from the function tables (the libraries). In the case of photographs, the ratio of proportions between the edge of the metapixel and the inner square conditions the visual reading of the entangled bitmap image. Figure 20 corresponds to the result of the script function SCRIPT004 of Figure 81. The final image on the right of the figure entangles the dynamic color table at the top left and a very low resolution photo image at the bottom left. Figure 21 illustrates a second example of entanglement of a dynamic table and a photographic image. The function SCRIPT007 of Figure 82 is the production script. The alterations of the initial colors of the image of the bust of Nefertiti are encrypted with the other parameters in the encryption keys of the resulting bitmap image.It will be appreciated by the person skilled in the field that conventional QR codes can also be entangled in topological stencils thanks to metapixels using the fd = 2 mode. The SCRIPT008 function in Figure 83 illustrates an operation of this nature. The text associated with the QR code is in this example "Masahiro Hara, inventor of the QR code". In absolute terms, the dynamic color table could also be replaced by a second QR code so as to nest two different codes. Figure 22 presents the graphical result of the entanglement of a dynamic table in the top left and the QR code in question in the bottom left. The result of the entanglement is illustrated by the image on the right. SFC scrambling encryption It will be appreciated that the combined use of static and dynamic color tables can be intended in particular for identification and authentication.Scrambling the static tables allows adding the visual encryption component to the generated bitmaps. Figure 23 illustrates the scrambling of the photographic and QR code static tables of two of the previous examples. The simultaneous combination of photographic images and QR code images, whether scrambled or not, is addressed in the context of multicellular topological stencils. MAJUS effect The use of the two square areas defined by the metapixels allows using a set of metapixels to encode two types of colorized information on the same region of the plane. The colorization consistency between the inner and outer regions of the metapixels is advantageously perceptible by the human vision system, which is capable of discriminating between two entangled images. According to step 206 of Figure 48, the entangled image is provided. It will be appreciated by the person skilled in the art that the generated entangled image can be provided in several embodiments.In particular, it will be appreciated by the person skilled in the art that the implementation may depend on the application. According to one or more embodiments, the generated entangled image is stored in a memory unit of the processing device. According to one or more other embodiments, the entangled image is transmitted to another processing device which is operatively connected to the processing device used to implement the method by means of at least one data network. The person skilled in the art will appreciate that the data network may be of various types. For example, and in one or more embodiments, the data network may be a local area network (LAN). In one or more other embodiments, the data network is the Internet. In one or more embodiments, not illustrated in Figure 48, the method further comprises a step of obtaining a coding SFC or MCG traversing the entangled image.The method further comprises reordering each point of the entangled image using the SFC or the coding MCG to provide a scrambled single-cell topological stencil, the reordering modifying the coordinates of each point of the entangled image such that for each given point having initial given corresponding coordinates in a given scan, new coordinates are assigned to that point, these new coordinates corresponding to an identical index in the SFC or in the coding MCG as an index in the given scan; the reordering making it possible to provide a scrambled entangled image. The person skilled in the art will appreciate that providing a scrambled entangled image can be of great interest for certain applications related to encryption.Encryption of single-cell topological stencils As mentioned above, single-cell topological stencils are graphical identifiers constructed from SFCs that partition squares in the plane and dynamic color tables that allow the regions partitioned by the SFCs to be colored. The partitioning is carried out from one or more SFCs combined topologically. It will be appreciated by the person skilled in the field that SFCs can also be used to encrypt color tables. A single-cell topological stencil is therefore described from a series of parameters providing its cryptographic signature. This is composed in particular of the encryption keys of each SFC involved in the topological partitioning and the encryption keys associated with the color tables in one or more realizations.Cryptographic signature In such implementations, the cryptographic signature of a single-cell topological stencil (Eq.15) is therefore the set of cryptographic signatures of the partitioning SFCs and those associated with the color tables. Figure 25 illustrates a topological stencil made from a single SFC: a Hilbert curve, two dynamic color tables for the inside and outside of the curve, and a color table for the edges, initialized in this case to produce a constant black color. Multiple Jordan Partitioning The quadratic representation of Jordan polygons allows merging simple polygons into multiply connected polygons and then these with other polygons of any connectivity. This property allows combinatorial partitionings that increase in complexity with each addition of new polygons. The number of different density values also increases, and therefore associating a color table by density value can be done by defining a table by value or by using hash tables. Figure 26 illustrates a multiple topological partitioning with three Jordan curves.Algorithmic construction steps It will be appreciated by the person skilled in the field that to build the stencil, it is necessary to start with a step of determining the color tables, that is to say their respective directing SFC and the choice of the colorization parameters forming the cryptographic signature of each table. In the example of Figure 27, there are two color tables that are generated corresponding to the colorization of two different topological regions induced by two different SFCs. Given the choice of the encryption parameters, the SFC of the figure on the left is discernible unlike the directing SFC of the figure on the right. The correspondence between the colorized points of the tables and the points positioned relative to the partitioning SFC is carried out by means of the densities calculated for all the points of the square containing the SFC.In the example of Figure 28, the density table on the left of the figure shows points with density values of 0, 1, 2, 3, 4. The edge densities, i.e., points located on the convex and concave sides and vertices, have values of 2, 1, 3 respectively, and the densities with values of 0 and 4 are associated with the points in the interior and exterior regions of the closed Hilbert curve in Jordan polygon. The correspondence between densities and colors is carried out via hash tables with a variable number of entries. The celUNI function in Figure 84a, commented on in Figure 84b, calculates a list of colorized points in a given square. The function expects the quadratic representation as input. <q>of the set of vertices of all the SFCs used for the partition of the square, the lower left point of the square called sweep <v2o>and the top right point <v2e>. The function returns the list colorized points. Hashing dynamic tables Dynamic color tables are grouped into hash tables. The mapping between a density is done modularly in the celUNI function (Figure 84a, Figure 84b) based on the number of entries in the hash table and the density values. The SCRIPTaab script function in Figure 85 produces the right-hand image in Figure 28. The initialization of three hash tables is illustrated in Figure 30. Two examples of five-entry tables and one example of a thirteen-entry table are shown. It will be appreciated by the person skilled in the art that different hash tables can ultimately be associated with different density regions or grouped together based on particular density values. Figure 29 illustrates an association of different density values with different dynamic tables.In this case, the edges are more difficult to discriminate by the eye than when a dynamic table is used to generate a constant color such as black. Single-cell topological stencil with Majus effect It will be appreciated by those skilled in the field that the Majus effect associated with the colorization of the inner squares of the metapixels and presented below can be used with any static or dynamic color table. One of the advantages of this operation is to be able to separate the visual identification and authentication processes. As in the previous examples, all the tables used can be blurred with substitutions of the leading SFCs leading to permutations of the colored points. Figure 31 illustrates a Majus effect produced from a digital photo. The visual readability of the photo depends on the proportions between the edges of the metapixels and the inner squares.Figure 32 illustrates a Majus effect produced from a pre-calculated or public dynamic table. The addition of graphic symbols or shapes (circle, triangle, polygon) can make it possible to produce an alphabet of graphic codes associated with a given numerical base and in this case to encode text from the definition of a leading SFC. However, if the vector display from the usual graphic languages adapts automatically to the available pixel resolution: the pixels fill the vector areas, the equivalent bitmap display: the pixels form the colorized areas, is complex to implement and must go through the principle of graphic target defined below. Octal multi-cell partitioning It will be appreciated that a computer-implemented method is described for encoding information by means of a tiling generated in a square in Figure 49. According to step 280 of Figure 49, information to be encoded is obtained.It will be appreciated by the person skilled in the art that the nature of the information to be encoded may be diverse. In addition, it will also be appreciated by the person skilled in the art that the information to be encoded may be obtained in a variety of ways. In one or more embodiments, the information is obtained from the computer performing the processing. In one or more other embodiments, the information is obtained via another computer operatively connected with the computer performing the processing. The person skilled in the art will appreciate that there are many alternative ways to obtain the information. According to step 300 of the method for generating a tiling illustrated in Figure 49, an SFC is generated in a square. It will be appreciated that the SFC may be generated in several embodiments. According to step 302 of the method for generating a tiling illustrated in Figure 49, a tiling is generated.The tiling is generated by replacing each elementary portion of the SFC with a corresponding tiling. According to step 304 of the method for generating a tiling illustrated in Figure 49, an indication of the generated tiling is provided. It will be appreciated that the method is characterized in that the information to be encoded is used when generating the SFC in step 300. In fact, the information can be used to generate parameters for generating the SFC. The person skilled in the art will appreciate that said information to be encoded can be used in various ways. In fact, it will be appreciated that in one or more embodiments the SFC is defined by 8 elementary portions in "S". In this or these embodiments, the corresponding tiling corresponds to a given tiling that is identical and fixed for each of the 8 elementary portions.In one or more embodiments of the method for generating a tiling 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 sequence of corresponding codes in a given numerical base filling a square array and generating an SFC using a given Gray SFC direction curve in which each point of the Gray SFC direction curve is replaced by a pattern corresponding to a given code of the sequence of codes. It will be appreciated by the person skilled in the art that multi-cell partitioning aims to increase the complexity of visual encryption of topological stencils by partitioning each cell of the plane. It will be appreciated that a cell is a square subdivision of the plane, forming with other identical cells a perfect square. In this case, the ordering of the cells follows a predetermined SFC direction curve.The possibility of generally associating a topological partitioning per cell of the plane requires multiplying the encryption keys: in set per cell, a relatively heavy process to set up. The solution described consists of setting up an automatic multicellular partitioning depending on the vertices of the directing SFC of the cells. General principles As mentioned above, the principle of topological stencil passes, in one or more realizations, by a partitioning of the plane by Jordan polygons including as a special case SFCs after their topological closure. The topological stencils presented previously are of a unicellular nature, that is to say that a single square of the plane is colored from parameters (the cryptographic signature) which are associated with it.In the following, the notion of multicellular partitioning that allows to perform an encryption from a set of squares called cells filling a principal square of the plane is described. This set of cells is determined by a directing SFC determined from the available elementary or composite MCG SFC libraries. An example of topological partitioning based on a set of two trapezoids and a square per cell in octal base and two triangles in quaternary base (Truchet tiling) is then disclosed. This set of polygons is centered on each vertex of the directing SFC which is in this case a composite SFC or MCG curve based on elementary Peano curves. The set of polygons is oriented according to the orientation of the elementary curves associated with the cells. Figure 33 illustrates the iterative construction of a spiral SFC controlling for each of its vertices a cell composed of two trapezoids and a square (base 8).The orientation of the polygons is dependent on the elementary S-shaped Peano curve filling the cell (Figure left). The existing geometric relationships between the polygons and the cell curves form the basis of a new system of tiling and topological partitioning of the plane detailed below. Peano-Truchet Tilings It will be appreciated that the Truchet tiling is a tiling of the plane made from a set of elementary squares cut into two triangles of different colors. There are therefore four possible combinations of colored squares which constitutes a quaternary coding of the plane. A hybrid algorithmic coding system based on the MCG extension of the Peano coupling functions and the Truchet tiling theory is described. The principle is to associate eight elementary graphic matrices with the eight configurations of the elementary S-shaped and oriented Peano curve.This approach amounts to defining a new type of tiling in the plane which will be called Peano-Truchet tiling. The eight graphic matrices are therefore called Peano-Truchet patterns and are illustrated in Figure 34. As mentioned above, it will be appreciated that in one or more realizations the SFC is defined by 8 elementary portions in "S". In this or these realizations, the corresponding tiling corresponds to a given tiling identical and fixed for each of the 8 elementary portions. The casTPZ function of Figure 86a commented on in Figure 86b aims to classify the eight possible typical Peano-Truchet patterns. The function expects as input . <v2a> , <v2b> , <v2c>the three reference points of each elementary Peano curve. The function returns the number of the associated case among the eight presented in Figure 34, the cases being respectively 0,2,4,6 for the configurations of the first line and 1,3,5,7 for the second line. Algorithmic construction of the tiling The algorithmic generation of the Gray metacurve formed from elementary pieces of S-curves is carried out from the level 2 Gray metacurves which introduce the symmetry for all the rotors. Regular or remarkable tilings can be generated by activating the symmetries or not. Figure 35 illustrates the direct generation of a regular octal tiling from a generating Gray metacurve of type wS. (W-class spiral).It will be appreciated by the person skilled in the field that other types of regular or remarkable tilings can be generated by activating this time the symmetries either on the even rotors or on the odd rotors in sequence or in isolation. Figure 36 illustrates the generation of a regular tiling after algorithmic modification of the symmetries of each S curve. Calling the function DC2(i,2,[6,2],
[0011] ,[[],[seq(2*i,i=1..24)]]) thus makes it possible to change the symmetry of the even rotors of order 1 of the Gray metacurve illustrated on the left of Figure 36. The resulting metacurve after the application of the symmetries is illustrated in the middle of Figure 36 and makes it possible to generate the regular octal Peano-Truchet tiling illustrated on the right of the Figure. Figure 37 is obtained from a DC2(i,2,[6,2],
[0011] ) type MCG.Figure 38 illustrates the choice of symmetries of the elementary S-curves of the spiral MCG on the left of the Figure so as to obtain the octal combinatorial structure in the form of a spiral on the right of the Figure. Vector and bitmap typographies It will be appreciated that the previous illustrations are produced from vector graphics packages using graphic primitives of the colorized polygon type. This approach must be supplemented by a bitmap approach requiring precise calculations without approximations at the pixel level. Bitmap outputs are particularly necessary for typographic editions on physical media. Furthermore, the physical decoding by image analysis of multicellular topological stencils requires reference points in the stencil which will be associated with a polygonal target.The proportions and measurements of this type of target are illustrated in Figure 39 and therefore meet the dual requirement of pixel precision for editing stencils and for recognizing polygonal patterns per cell. This target is calculated from a parameterized canvas of control points that allow the generation of the base 8 target formed by two trapezoids and a square and the base 4 target formed by two triangles. This target principle can be extended to encode in a discrete polygonal manner the symbols and graphic shapes of Figure 32 or any other graphic pattern based on control points. The mireOCT function of Figure 90a commented on in Figure 90b calculates all the coordinates of the polygonal target in a square cell. Control parameters allow the modification of the proportions in base 8 of the three polygons concerned: the two trapezoids and the square and in base 4 of the two triangles. The function expects the list as input. <lsp>coordinates of the control points of each S-curve, <sca>a global scaling parameter of the main SFC direction curve, <ep>, the thickness in pixels between polygons, <sc>the local scaling of polygons in the cell and <base> the base for generating the target. The function returns the lists <tpz0> , <tpz1>And <cr>of coordinates of the points of the two trapezoids and the square or the lists <tr0> , <tr1>of coordinates of the points of the two triangles. This function uses a first auxiliary function rapPTS of Figure 87a commented on in Figure 87b which provides the coordinates of a point linearly dependent on two given points. The set of linear dependencies of the target is calculated in this way from two control parameters. The function receives as input the parameters <sca>And <ep>previously defined in the mireOCT function (Figure 90a, Figure 90b) and returns as output a list containing the point having the coordinate pair <v2>and the parameters for calculating linear dependencies <lam> , <mu>And <den>. This function uses two other auxiliary functions ptsBS8 of Figure 88a commented on in Figure 88b and ptsBS4 of Figure 89a commented on in Figure 89b which calculate the points of the respective polygons of the target in base 8 or base 4 from the control points. These functions in turn call on two additional auxiliary functions (named trLS and scLS) which respectively carry out translations and changes of scale on the pairs of coordinate lists. The function ptsBS8 (Figure 88a, Figure 88b) positions the trapezoids and the square in the coordinate system of the processing cell. The function expects as input the list of lists of the coordinates of the three polygons <v3v4>, the scale factor <sc>, the central point of the Peano curve <p4>and the point having the coordinate pair <v2>. The ptsBS4 function (Figure 89a, Figure 89b) positions the two triangles in the coordinate system of the processing cell. The function expects as input the list of lists of the coordinates of the two polygons <v3v3>, the scale factor <sc>, the central point of the Peano curve <p4>and the point having as a pair of coordinates <v2>. The mireOCT function (Figure 90a, Figure 90b) uses a final auxiliary function (named ptINT) which calculates the intersection point of two lines each defined by two points. Octal multi-cell encryption It will be appreciated that the integration of text into visual identifiers such as barcodes, QR codes or data matrixes gives results that can be read by hardware or software decoders. It will be appreciated that the problem of combining a triple response to the problem, both technological and visual: identification, authentication, encryption, is not resolved in this case. Since the eye is not able to discriminate and interpret visual information, the graphic coding of barcode technologies is only useful to allow rapid visual localization of the code in question for subsequent adequate hardware decoding. Octal multi-cell encryption aims to combine patterns, motifs and visual signatures with text encoding.While text decoding is still entrusted to hardware or software decoders, the identification and authentication part is partly a matter of human vision. General principles It will be appreciated that octal multi-cell encryption aims to transform geometric octal tilings into colorized visual identifiers. Two approaches are disclosed. A first, fully graphical approach playing on color entanglements applied to all octal cells, and a second, alphanumeric approach using octal cells to encode text. Octal encryption allows quaternary multi-cell encryption to be achieved from a few algorithmic modifications. Cryptographic signature The cryptographic signature of a topological stencil with octal or quaternary multi-cell encryption consists of a set of integer numerical parameters, a list of quadratic vertices, and color table encryption keys.It takes the following form:.
[0004] Entanglement of color tables The test pattern in Figure 39 has 3 connected components in base 8 and 2 connected components in base 4, allowing different combinations of orientations in the plane of the polygons that constitute it and consequently the generation of different density ranges. In the following, filters on the densities obtained after topological partitioning are used. These filters amount to grouping certain densities from arithmetic predicates ≤ in order to establish a coloring strategy for the regions delimited by the test pattern. The motMIRE function (Figure 91a, Figure 91b) that follows uses three different filter functions associated with the value of certain guiding parameters of the test pattern. These functions are successively the colMIRE function (Figure 74a, Figure 74b), the tabMIRE10 function (Figure 92a, Figure 92b), and the tabMIRE12 function (Figure 93a, Figure 93b).The motMIRE function in Figure 91a commented on in Figure 91b calculates the list of colored points for a given SFC curve based on elementary S-shaped Peano curves. The function expects as input . <base> , the generation base of the target of value 8 or 4, <ls> the list of SFC points in multiples of 9,< / ls> < / sc> < / sc> < / den> < / mu> < / lam> < / ep> < / sca> < / tr0> < / cr> < / tpz0> < / sc> < / ep> < / sca> < / lsp> < / v2b> < / v2a> < / q> < / sca> < / bd> < / lign> < / sc> < / tabmap> < / ls> < / lsrgb> < / j> < / tabmap> < / fd> < / bd> < / sca> < / lsrgb> < / d> < / ls> the number of elementary curves minus one of the S curves in width or height of the square, the color tables <tab0> , <tab1>, And <dyn0>, typographic parameters <sca> , <epsi> , <sc>and the optional code <code>encoding the colors. The function returns the list of calculated colorized points. Peano-Truchet tilings are natively two-colored but depending on the characteristics of the generating metacurves they can be generated with more colors. A four-color example can be easily achieved by using the parity properties of the S curves of the metacurve to colorize the tiling with 4 colors. Generally speaking, by associating a dynamic color table with the tiling, it is therefore possible to colorize the tiling with as many different colors as the number of cells in the tiling and by adding, for example, another color for the trapezoids. The creation of a tiling with a chaotic color table will then involve the calculation of a kinetic color table which will be associated with the directing metacurve of the tiling.The tabMIRE10 function in Figure 92a commented in Figure 92b filters the densities with respect to density 8 and partitions the plane into two topological regions. Each of the regions is associated with a predetermined color table. The function expects as input . <atab>the resolution of the square representing a cell, <tab0>And <tab1>two color tables associated respectively with the two regions, <sca>, the scale factor of the test pattern which controls the resolution of the pattern in pixels, <v2o>And <v2e>, the diagonal corners of the coloring window and <q>the set of quadratic vertices of the partitioning. The function returns the list of colored points belonging to the coloring window. The tabMIRE12 function in Figure 93a commented in Figure 93b filters the densities with respect to three density ranges and partitions the plane into three topological regions. The function expects as input <atab>the resolution of the square representing a cell, <tab0>And <tab1>two color tables associated respectively with two regions, <dyn0>the parameters of a dynamic table associated with the third region, <sca>, the scale factor of the test pattern which controls the resolution of the pattern in pixels, <v2o>And <v2e>, the diagonal corners of the coloring window and <q>the set of quadratic vertices of the partitioning. The function returns the list of colored points belonging to the coloring window. Calibration of the octal target It will be appreciated by the person skilled in the field that the calibration of the octal target aims to adjust the parameters of the target to the desired final image. These parameters condition the visual reading of the final topological stencil as well as its reading by an optical decoding device (hardware and software). Figure 40 illustrates the generation of a topological stencil for several image resolutions used as color tables. Alphanumeric octal encryption It will be appreciated by the person skilled in the field that alphanumeric octal encryption is a variant of geometric octal encryption intended to control geometric tiling by text.Figure 41 illustrates the difference, using the same color tables, between a geometric tiling and its associated Gray SFC and an alphanumeric tiling and its associated non-Gray SFC. In the latter case, the orientations of the polygons of the targets automatically adapt to a text encoding carried out in base 8 or 4 from a directive SFC. The alphanumeric octal cipher therefore transforms a text into a sequence of octal-type patterns encoding the text along a predetermined SFC. This operation by which the patterns will no longer be oriented by the elementary S-shaped curves of their cell but by the octal encoding of the text will generally destroy the Gray structure of the curve. This loss of Gray encoding is illustrated by Figure 42, which shows the encoding of the Leonardo da Vinci message into a list of ASCII characters (A), then into an array of octal characters (O. α ) ordered as conventional text from top to bottom and then into an array of octal characters (O α ) ordered according to a spiral SFC. The textOCT function in Figure 94a commented on in Figure 94b transforms an initial text into a sequence of codes in a given digital base filling a square table. The algorithm encodes the text and adds, if necessary, a series of characters to fill all the boxes of the square table. The function expects as input the text to be encoded <texte>and the encoding base <base> . The function returns as output the sequence of codes whose number of elements is a perfect square. SFC director for text The sfcBS84 function in Figure 95a commented on in Figure 95b generates the non-Gray SFC resulting from the encoding of the text. This SFC, composed of elements of Peano S-curves, itself has a Gray SFC director curve. This curve is part of the encryption key of the octal or quaternary text. The function receives as input the type <type> of the SFC director, the resolution< / type> < / texte> < / q> < / sca> < / atab> < / q> < / sca> < / atab> < / code> < / sc> < / epsi> < / sca> < / tab0> <code> of the SFC, <lsoct>the list of octal or quaternary characters, as appropriate, associated with each point of the SFC. The function returns the list of points of the generated non-Gray SFC. Chimera Cipher System The cipher system called Chimera and disclosed below combines an octal or quaternary alphanumeric cipher with a 2 cipher n -ary using the inner squares of the metapixels to encode a message. The message will therefore be encoded in the form of sequences of n pixels with for example n = 1 for a binary message. Figure 43 illustrates a graphic identifier encoded with a chimera protocol, using two photographic images as color tables and a binary bitmap matrix as a third color table. The posTAB function of Figure 96a commented on in Figure 96b receives as input <d>the number of pixels on the side of the square containing the message, <lspos>, the list of sequential positions of the lit bits, <type>the type of SFC ordering of the bits in the plane, <v3rgb0>And <v3rgb1>, the RGB color codes of the binary points. The function returns as output the list of colored points. Adaptation to quaternary encryption It will be appreciated by the person versed in the field that it is possible to substitute a quaternary encryption for octal encryption. The principle is to specialize the octal target to operate in quaternary mode. The functions for calculating the two triangles of the target have been described at the level of the ptsBS4 function (Figure 89a, Figure 89b). The rest of the process of a quaternary topological stencil is otherwise completely similar to that of the process concerning the octal stencil. Figure 44 illustrates the generation of a quaternary stencil 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 bottom left image gives a visual result that can be adjusted according to the parameters associated with the metapixels.The readability of the three photographic components can thus be modulated. The bottom right image allows us to visualize a magnification of the metapixels on a portion of the bottom left image. Summary example A summary example of the chimera encryption system is presented. The example of the entanglement of the images in Figure 44 to switch to an octal encryption mode is repeated. The following text "https / / www.cote-basque.com / NFT / Images / Chimere" is encoded. All the parameters and the sequence of operations to generate the final topological stencil are described in the SCRIPT199j function in Figure 97. The visual result is illustrated in Figure 45. The image on the left represents the octal characters of the text positioned on their directing SFC while the image on the right illustrates the final result of the stencil.In-plane orderings The use of lists of colored points, specifying the position of each point by its Cartesian coordinates and its RGB code, allows any digital image to be communicated explicitly. With this approach, the relative ordering of the points to each other does not need to be specified. The downside of this approach is the prohibitive memory size of the image to be communicated. For this reason, implicit communication approaches are favored. In this case, a predetermined ordering of the colored points is applied both to the storage of the list of colors and reapplied when using the colors, for example, their display. The algorithmic ordering process frequently chosen for digital graphics standards uses typewriter-style reading, from top to bottom and from left to right.This process is equivalent to the implicit choice, for the reading of data and their restitution, of a directing SFC of the scheduling. The problem encountered therefore comes back and this in all the works presented, to specify and communicate explicitly through the encryption keys the SFCs used in the scheduling of the plan. General principles It will be appreciated that the principle of scheduling of the plan is that of the systematic use of the SFCs provided in the tables and libraries of coupling and transmitted in the encryption keys. In this case the encryption key of the SFC itself will be the parameters allowing to generate it and therefore to encode it, decode it. This approach will have another advantage because any substitution of a storage SFC by a reading SFC which will be different from it will amount to scrambling the image.This strategy will be used to complicate cryptographic attacks on the communicated images or to allow their reading by specific rights holders. Figure 46 illustrates the storage and reading convention of a color image in ASCII format of the PPM type. The ordering of the plane is then OXY− instead of the classic OXY ordering. The color tables for coloring the letter B having been generated from any directing SFCs different from the directing SFC of the PPM format, it is necessary to convert between the SFCs any pair of coordinates in its ordering space into the Cartesian discrete ordering space. Ordering of the OXY− plane Printing the colorized pixels and metapixels in an OXY− plane is often necessary to comply in particular with certain graphic standards.This is the case of the PPM format which is defined by an ordering of colors from an origin located at the top left, with an inverted Y axis. The principle is therefore to reorder a list of colors associated with pairs of coordinates in a classic OXY plane into a list of colors displayable in the OXY− plane. The CD0uwLIG and DC0uwLIG functions of Figures 98 and 99 are basic SFCs belonging to the specialized coupling tables and libraries which ensure in particular the conversion between the colorized points positioned in the plane and the ordering of the RGB codes of these points for their display or printing in an OXY− plane. The decoding function DC0uwLIG (Figure 99) expects as input, the index . <ind>from a given point, <lg>And <ht>the widths and heights of the index rectangle. The function returns the coordinate pair of the given index point. The associated coding function CD0uwLIG (Figure 98) expects as input the positive or zero coordinates of a point in the OXY plane for the rectangle of widths and heights <lg>And <ht>and returns the index of the point in question in the OXY− plane. The TABg2lis function of Figure 100a commented on in Figure 100b performs a reordering of a list of colors displayable in an OXY plane to allow its display in an OXY− plane. The function expects as input< / ht> < / lg> < / ht> < / lg> < / ind> < / type> < / lspos> < / d> < / lsoct> And the display rectangle resolutions and <ls>the list consisting of a sequence of pairs, each pair being formed by a pair of coordinates and the associated color. The TABg2ppm function in Figure 101 writes a bitmap file in ASCII PPM format. The function expects as input the number of pixels in width and height <nbrpixl>And <nbrpixh>du rectangle bitmap, <ls>the list of RGB color triplets, the directory <path>output file location and name <nf>. The function returns the file<nf.ppm> generated. Basic colorimetric operations Since the generation of palettes or color tables results in lists of distinct RGB codes without repetitions, the choice of colors is therefore carried out automatically without any relationship between the colors and their possible symbolism. This approach does not specifically address potential problems of lack of contrast between adjacent colors or the use of reserved color codes to allow rapid visual identification. For example, the colors red and white allow the graphic identifier to be associated with Switzerland. Simple color post-processing allows, for example, this colorization to be changed by translating the RGB codes and inverting or complementing the color codes by channels (negative).It is therefore useful to add these color manipulation parameters to the encryption keys and thus be able to modify the RGB codes on the fly. The operation of translating RGB codes can also be used to break the uniqueness of the RGB codes by the effect of overwriting the codes due to exceeding the memory encoding limits of the codes which, once the translation is carried out, will be brought back to a range between 0 and 255. General principles We reduce the classic operations of post-processing of RGB color codes to operations carried out on the fly, the parameters of the operations being integrated into the encryption keys. Only the translation operators, complementarity of RGB codes and permutation of their channels have been integrated for practical purposes. It is also possible to extend the RGB coding to any other standardized coding of color.In this case, higher-dimensional SFCs will be substituted for the three-dimensional SFCs associated with the RGB cubes by replacing them with SFCs associated with hypercubes containing the hypercodes of the chosen color model. Operations on RGB codes Two types of classic operations on colors can be used to complicate the structure of the histograms. The perRGB function in Figure 102a commented on in Figure 102b receives a code as input. <rgb>And <comb>the indicator concerning one of the six permutations chosen from the three colors. The function returns the RGB code after permutation of its channels. The rgbTRNG function of Figure 103a commented on in Figure 103b performs the translation and complementarity operations on the RGB codes. The function expects the RGB code as input <v3>, the translation vector <v3t>and the vector of complementarity <v3n>of the RGB color code. The function returns the transformed RGB color code. Extension of color models The proposed encryption system can be easily extended to RGBA encoding or other color models. In this case, four-dimensional SFCs from coupling tables and libraries can be used. Generally, with regard to color models using floating-point numbers, a first transformation of these numbers into rational numbers (affine space) will be used, then we will move into a projective space in order to fall back on an encoding in integers. By this method, any floating-point number can be represented by a pair of integers. It will be appreciated that according to one or more implementations, one of the methods described above can be used to encode and encrypt information. In the context of encryption, the signatures are not initially communicated.It will further be appreciated by the person skilled in the art that one of the methods described above can be used to identify or authenticate an element. The person skilled in the art will appreciate that the element can be of various natures. According to one or more embodiments, the element is an object. It will be appreciated that at least one or more embodiments of the methods described solve one or more problems and therefore present numerous advantages. Regarding the problem of generating an encrypted image, it will be appreciated that a system of pseudo-random functions is disclosed for generating images that are statistically indistinguishable from pure random images. This allows the iterative and adaptive generation of pseudo-random images with random statistical behavior.Also described in one or more embodiments is a system of pseudo-random functions with permutations based on Gray metacurves which allows the lossless generation of images in a time close to real time. Regarding the problem of complexity, it will be appreciated that an adaptive solution between organized order and pseudo-random disorder is disclosed in one or more embodiments. The problem is also solved in one or more embodiments by optimizing the Kolgomorov complexity of a file which is the length of the shortest computer program capable of reproducing the image file. The advantage is that the computer program for generating the image is the encryption key of the image. Regarding the problem of the indexing CODEC, it should be noted that the latter is solved in one or more embodiments by means of indexing from 2D, 3D, nD Gray metacurves.This advantageously allows coding and decoding by anonymous function with polynomial complexity. The problem is also solved in one or more implementations by using indexing from extended 2D, 3D, nD Cantor curves. This advantageously allows coding with simple polynomial complexity and decoding with factorial complexity. Regarding the problem of using permutation libraries, the latter is solved in one or more implementations by using a library of Gray curves and metacurves which advantageously allows no recourse to the generation of purely random numbers and the possibility of 2D (pixels), 3D (voxels) and nD (hypervoxels) permutations. Regarding the problem of numerical precision mentioned above, the latter is solved in one or more implementations by using multi-precision integers.This advantageously allows for unconditional geometric and topological programming (no if, nor special cases). This problem is also solved in one or more implementations by using a set of reduced operators: +, -, *, irem, iquo, isqrt, ˆ, mod 2 (parity test). This advantageously allows for lossless bijective coding and decoding functions. This problem is also solved in one or more implementations by avoiding the use of trigonometric functions, which advantageously allows the use of rational mathematical expressions of the circle. Concerning the problem of memory management, the latter is solved in one or more implementations by using dynamic color tables generated on the fly. This advantageously allows sequential or parallel processing of lists of colorized pixels.This problem is also solved in one or more implementations by using procedural Jordan polygons, which advantageously allows sequential or parallel processing (GPU pipeline) of the vertices of the polygons. This problem is also solved in one or more implementations by processing static images by blocks, which advantageously allows distributed processing of the blocks by appropriate SFC scheduling. Concerning the problem of hardware programming, the latter is solved in one or more implementations by using a hybrid parallel architecture with specialized processors (GPU, MPPA, FPGA), which advantageously allows the optimization of real-time oriented calculation times.This problem is also solved in one or more implementations by using parallel languages dedicated to processors, which advantageously allows the optimization of the granularity of parallelism. This problem is also solved in one or more implementations by using algorithmic programming languages with a parallel ecosystem of the JULIA type, which advantageously allows the ease of extensions of the parallel programming libraries of the new Gray metacurve functions.
[0005] REFERENCES [1] Francisco Gualpuyohualcal. Codex Mendoza. https: / / codicemendoza.inah.gob.mx / index.php?lang=english , 1541. [2] Jean Truchet and Sebastien Truchet. Method for making an infinity of different designs, with half-parted squares of two colors by a diagonal line: or observations of Father Dominique Douat... on a memoir inserted in the history of the Royal Academy of Sciences of Paris in the year 1704 presented by... Sebastien Truchet... At Florentin de Laulne, 1722. [3] Kikuo Tanaka. Irohabiki moncho. 1881. [4] Édouard Lucas. Récréations mathématiques. Gauthier-Villars et fils, 1883. [5] G. Peano. Sur une courbe, qui remplit toute une aire plane. Mathematical Annals, 36:157–160, 1890. [6] David Hilbert. About the continuous mapping of a line onto a piece of surface. Mathematical Annals, 38:459–460, 1891. [7] G. Peano. Mathematical form. https: / / books.google.ca / books?id=mcW1MgEACAAJ , 1908. [8] De Stijl. De stijl nl 1921. https: / / magazines.iaddb.org / issue / DS / 1921-09- 01 / edition / 4-9 / page / 3?query= , 1921. [9] Claude E Shannon. A mathematical theory of cryptography. Mathematical Theory of Cryptography, 1945.
[0010] W Wunderlich. Über Peano-kurven. Elemente der Mathematik, 28 :1–10, 1973.
[0011] Mark Levoy. Area flooding algorithms. Two-Dimensional Computer Animation, Course Notes 9 for SIGGRAPH, 82, 1981.
[0012] Vinzenz Brinkmann. The painted inscriptions on the north and east friezes of the Siphnian Treasury. Bulletin de correspondance hellénique, 109(1):77–130, 1985.
[0013] Robert Fisch, Janko Gravner, and David Griffeath. Cyclic cellular automata in two dimensions. In Spatial stochastic processes, pages 171–185. Springer, 1991.
[0014] Heinz-Otto Peitgen, Hartmut Jürgens, Dietmar Saupe, and Mitchell J Feigenbaum. Chaos and fractals : new frontiers of science. Springer, 1992.
[0015] Donald Eastlake, Steve Crocker, and Jeff Schiller. Randomness recommendations for security. Technical report, RFc 1750, December, 1994.
[0016] Hans Sagan. Space-filling curves. Springer-Verlag, 1994.
[0017] Jean-François Rotgé. L’arithmétique des Formes : une introduction à la logique de l’espace. PhD thesis, Université de Montréal, 1997.
[0018] Jim Reeds. John dee and the magic tables in the book of soyga. https: / / archive.org / details / jimreedssoyga , 1998.
[0019] 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.
[0020] Anne-Marie Décaillot.Geometry of fabrics. Mosaics, Chessboards. Curious and useful mathematics. Journal of the history of mathematics, 8(2):145–206, 2002.
[0021] Jean-Paul Delahaye. Measured complexity. For science, 314:34–8, 2003.
[0022] 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 (ACSC2004), pages 287–294. Australian Computer Society, 2004.
[0023] Nithin Nagaraj, Vivek Vaidya, and Prabhakar G Vaidya. Re-visiting the one-time pad. arXiv preprint cs / 0508079, 2005.
[0024] Levi Valgaerts. Space-filling curves an introduction. Technical University Munich, 2005.
[0025] Aldo Cortesi. Generating color maps with space-filling curves. 2010.
[0026] 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.
[0027] 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.
[0028] S. Kamata. A common key encryption algorithm using n-dimensional hilbert curves. In 20117th International Conference on Information Assurance and Security (IAS), pages 275–279, Dec.2011.
[0029] 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, 012011.
[0030] Yue Wu, Joseph P Noonan, Sos Agaian, et al. Npcr and uaci randomness tests for image encryption.Cyber journals: multidisciplinary journals in science and technology, Journal of Selected Areas in Telecommunications (JSAT), 1(2) :31–38, 2011.
[0031] 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.
[0032] Michael Bader. Space-filling curves : an introduction with applications in scientific computing. Springer Science & Business Media, 2012.
[0033] Peter Grassberger. Randomness, information, and complexity. arXiv preprint arXiv :1208.3459, 2012.
[0034] Hüseyin Koçak. 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.
[0035] Jean-François Rotgé.From indexing pyramid hyperlattices to combinatorial coding of lists of integers. hal preprint 00717421, 2012.
[0036] V Suresh and CE Veni Madhavan. Image encryption with space-filling curves. Defense Science Journal, 62(1):46, 2012.
[0037] 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.
[0038] Toufik Mansour. Combinatorics of set partitions. CRC Press Boca Raton, 2013
[0039] 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.
[0040] Anne-Marie Décaillot. The Mathematical Recreations of Édouard Lucas: Some Insights. Historia Mathematica, 41(4):506–517, 2014.
[0041] YuanYuan Sun, Lina Chen, Rudan Xu, and Ruiqing Kong. An image encryption algorithm utilizing julia sets and hilbert curves. PloS one, 9 :e84655, 012014.
[0042] Possibly Wrong. allrgb : Hilbert curves and random spanning trees. https: / / possiblywrong.wordpress.com / 2014 / 04 / 18 / allrgb-hilbert-curves-and-random- spanning-trees / , 2014.
[0043] David Griffeath. The cyclic cellular automaton. 2015.
[0044] Sohn JiAe. A glimpse at joseon royal seals. , 2015.
[0045] KS Kavya and Mrs Prabavathi. Image encryption using hilbert space filling curve and henon map. Int. J. Innov. Res. Comput. Sci. Technol., 3(3) :56–60, 2015.
[0046] Jay Eastman. Brief history of barcode scanning. OSA Century of Optics, page 128, 2016.
[0047] Li Li, Jinxia Qiu, Jianfeng Lu, and Chin-Chen Chang. An aesthetic qr code solution based on error correction mechanism. Journal of Systems and Software, 116 :85–94, 2016.
[0048] 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.
[0049] Gary Santoro. Victor vasarely’s alphabet plastique. 2016.
[0050] Pauvithraa K.T. Siva Kumar T, Gayathri S. Text message encryption method using hilbert curve based permutation and circular shift operation. IJATES (ISSN : 2348- 7550), 04(10) :394–401, 2016.
[0051] Michael Buchanan. U.S. returns lost treasures of Korea. https: / / share.america.gov / u-s-returns-lost-royal-treasures-of-korea / , 062017.
[0052] Ji Woo Lee, Hyung Gil Hong, Ki Wan Kim, and Kang Ryoung Park. A survey on banknote recognition methods by various sensors. Sensors, 17(2) :313, 2017.
[0053] Omar Farook Mohammad, Mohd Shafry Mohd Rahim, Subhi Rafeeq Mohammed Zeebaree, and FY Ahmed. A survey and analysis of the image encryption methods. International Journal of Applied Engineering Research, 12(23) :13265–13280, 2017.
[0054] Fatih Özkaynak. 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.
[0055] Nazim Uddin Sheikh, Tapan Kumar Hazra, Hasina Rahman, Kanyasree Mustafi, and Ajoy Kumar Chakraborty. Multi-variable bijective mapping for secure encryption and decryption. In 20178th Annual Industrial Automation and Electromechanical Engineering Conference (IEMECON), pages 338–345. IEEE, 2017.
[0056] Bhaskar Mondal. Cryptographic image scrambling techniques, 2018.
[0057] 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, 082018.
[0058] 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.
[0059] Jean-François Rotgé. Method and system for coding information, February 2018. 9900024-14357468-USPTO.
[0060] Gayathri Vijayaraghavan. A survey on security and efficiency issues in chaotic image encryption.042018.
[0061] Vishal Devireddy.All RGB. , 2019.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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 / , 052020.
[0070] 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.
[0071] Sohn JiAe.Historical seals from Joseon Dynasty returned to Korea. 2020.
[0072] 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.
[0073] Willy Scheibel, Matthias Trapp, Daniel Limberger, and Jürgen Döllner. A taxonomy of treemap visualization techniques.022020.
[0074] Jai Ganesh Sekar and C Arun. Comparative performance analysis of chaos based image encryption techniques. Journal of critical reviews, 7(9) :1138–1143, 2020.
[0075] 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.
[0076] Dirk Rijmenants. Cipher machines and cryptology one-time pad. 2021.
[0077] Françoise Bahoken. Le charme d’Herbin. 2022.
[0078] Jean-François Rotgé. Coupling functions and chaining of surface Gray curves with center. @August 2022.
[0079] Jean-François Rotgé. Coupling functions and chaining of surface Gray curves with kernels. August 2022. working paper or preprint.
[0080] Jean-François Rotgé. Coupling functions and chaining of surface Gray curves with reflections. , August 2022. working paper or preprint.
[0081] Jean-François Rotgé. Coupling functions and chaining of surface Gray curves in the form of laces. https: / / hal.archives-ouvertes.fr / hal- , July 2022. working paper or preprint.
[0082] Jean-François Rotgé. Coupling functions and chaining of surface Gray curves in the form of meanders. https: / / hal.archives- 03737998 / file / Article11.pdf , July 2022. working paper or preprint.
[0083] Jean-François Rotgé. Coupling functions and chaining of spiral-shaped surface Gray curves. https: / / hal.archives-ouvertes.fr / hal- , July 2022. working paper or preprint.
[0084] Jean-François Rotgé. Coupling functions and chaining of surface Gray curves in the form of stairs. https: / / hal.archives-ouvertes.fr / hal- 03745141 / file / Article16.pdf , August 2022. working paper or preprint.
[0085] Jean-François Rotgé. Coupling functions and chaining of Gray curves and metacurves generalizing Hilbert curves. https: / / hal.archives- , September 2022. working paper or preprint.
[0086] Jean-François Rotgé. Coupling functions and chaining of surface Gray metacurves with rotors. https: / / hal.archives-ouvertes.fr / hal- , September 2022. working paper or preprint.
[0087] Jean-François Rotgé. Principles of chaining Gray curves. August 2022. working paper or preprint. Vasarely Foundation. Alvéole 5. https: / / www.fondationvasarely.org / alveole-5 / , 2022.
[0089] Wikipedia. Self-avoiding walk. , 2022.
[0090] Württemberg State Museum. Feather shield: Meander and sun. https: / / www.leo-bw.de / detail / - r+und+Sun%22+Aztec+around+1520 , 2022.
[0091] Bhaskar Mondal. Cryptographic Image Scrambling Techniques, pages 37–65. December 2018. < / comb> < / rgb> < / nf> < / path> < / ls> < / nbrpixh> < / nbrpixl> < / ls> < / code> < / code> < / code> < / ls> < / uw>
Claims
CLAIMS:
1. A computer-implemented method for encoding information using a single-cell topological stencil, the method comprising: obtaining information to be encoded; generating a partition in a square, the partition being generated using at least a Jordan polygon generator, an 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 of the square using the series of triplets; coloring each point of the square using at least the associated density to generate the single-cell topological stencil; and providing the single-cell topological stencil;characterized in that the information to be encoded is used in at least one of generating the partition in a square, determining the density associated with each point of the square and coloring each point of the square.
2. The method claimed in claim 1, wherein coloring each point of the square comprises associating with each determined density a given color.
3. The method claimed in claim 1, wherein coloring each point of the square comprises for a given point: associating with each density a given color table, and selecting a color from the given color table using a position of the given point in the square.; 4. The method claimed in one of claims 1 to 3, further comprising: obtaining a coding SFC or MCG traversing the square, and reordering each point of the single-cell topological stencil using the coding SFC or MCG to provide a scrambled single-cell topological stencil, the reordering modifying the coordinates of each point of the single-cell topological stencil such that for each given point having initial given corresponding coordinates in a given scan, new coordinates are assigned to that point, these new coordinates corresponding to an identical index in the coding SFC or MCG as an index in the given scan; characterized in that the information to be encoded is used in at least one of generating the partition in the square, determining the density associated with each point of the square, colorizing each point of the square, and obtaining the coding SFC or MCG.
5. A computer-implemented method for encoding information using a tiling generated in a square, the method comprising: obtaining information to be encoded; generating an SFC in a square; generating a tiling in the square using the generated SFC; the tiling being generated by replacing each elementary portion of the SFC with a corresponding tiling; and providing an indication of the generated tiling; characterized in that the information to be encoded is used when generating the SFC.
6. The method claimed in claim 5, wherein the SFC is defined by 8 elementary "S" portions and wherein the corresponding tiling corresponds to a given tiling that is identical and fixed for each of the 8 elementary portions.
7. The method claimed in claim 5, further comprising: obtaining an ASCII string to be encoded, converting the ASCII string into a sequence of corresponding codes in a given numerical base filling a square table, generating an SFC using a given Gray SFC direction curve in which each point of the Gray SFC direction curve is replaced by a pattern corresponding to a given code of the sequence of codes.
8. A computer-implemented method for encoding information using an image, 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;intertwining the first image with the second image to provide an entangled image, the entangled 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 that 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 that of the pixel corresponding to the other of the first image and the second image; and providing the entangled image, characterized in that the first image is selected from a group of images comprising at least: a single-cell topological stencil generated by means of the method claimed in one of claims 1 to 4.; 9. The method claimed in claim 8, wherein the group of images further comprises a tiling generated by means of one of claims 5 to 7.
10. The method claimed in one of claims 8 to 9, wherein the group of images further comprises a given image.
11. The method claimed in one of claims 8 to 9, wherein the group of images further comprises a QR code.
12. The method claimed in one of claims 8 to 11, wherein the group of images further comprises at least one of a static color table and a dynamic color table. 13.The method claimed in claim 12, wherein the dynamic color table is generated by a method comprising: generating a two-dimensional SFC traversing the square; and using a hash function to dynamically associate colors of an RGB cube of colors with each pixel of the square, wherein the association is controlled by the hash function using at least one parameter and the generated SFC.
14. The method claimed in claim 8 wherein the entanglement scheme is selected from a group comprising four typographic modes. 15.The method claimed in one of claims 8 to 14, further comprising obtaining a coding SFC or MCG scanning the entangled image, and reordering each point of the entangled image using the coding SFC or MCG to provide a scrambled single-cell topological stencil, the reordering modifying the coordinates of each point of the entangled image such that for each given point having initial given corresponding coordinates in a given scan, new coordinates are assigned to that point, these new coordinates corresponding to an identical index in the coding SFC or MCG as an index in the given scan; the reordering providing a scrambled entangled image.
16. The use of the method claimed in one of claims 1 to 15 for encrypting information.
17. A single-cell topological stencil generated by means of the method claimed in one of claims 1 to 4.
18. An image generated by means of the method claimed in one of claims 8 to 15.
19. Use of the image claimed in claim 18 for identifying or authenticating an element.
20. The use of the image claimed in 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: generating a two-dimensional SFC traversing a square comprising a plurality of pixels; using a hash function for dynamically associating colors of an RGB cube of colors with each pixel of the square, 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 for performing identification or authentication 22. The method claimed in claim 21, further comprising modifying the value of each pixel of the generated color table.