Methods and systems for generating images, and their use for encoding and encrypting information.
The method generates visually secure and authenticatable encrypted images using single-cell topological stencils and dynamic color tables, addressing encryption challenges with robustness and efficiency, enhancing security and computational performance.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-20
- Publication Date
- 2026-04-07
AI Technical Summary
Existing encryption technologies face challenges in generating encrypted images that are mathematically undecipherable yet visually identifiable, suffer from irreversible decryption, have insecure encryption protocols, are prone to collisions, exhibit uneven computational performance, and struggle with memory management and programming complexities, particularly in the context of symmetric hybrid protocols and space-filling curve applications.
A method and system for generating encrypted images using single-cell topological stencils, involving space-filling curves and Gray meta curves, which incorporate dynamic color tables and interleaving techniques to create visually secure and authenticatable images, employing a hybrid encryption protocol with configurable complexity and ambiguity to resist attacks.
The system provides visually secure and authenticatable encrypted images with robust encryption, resistant to attacks, ensuring precise authentication and efficient computational performance, while maintaining confidentiality and flexibility in encryption parameters.
Smart Images

Figure 2026510485000001_ABST
Abstract
Description
Technical Field
[0001] This application claims priority to Patent Application No. 3,180,047, titled "METHOD AND SYSTEM FOR GENERATING AN IMAGE AND ITS USE FOR ENCODING AND ENCRYPTING INFORMATION", filed in Canada on October 27, 2022.
[0002] The present invention relates to the field of cryptography. More specifically, this patent application relates to a method and system for generating an image, and its use for encoding and encrypting information.
Background Art
[0003] Examples of graphical alphabets that enable the generation of images are disclosed in References 26, 49, 88, and Reference 77.
[0004] Examples of the geometric division of paintings are disclosed in References 8, 73.
[0005] Examples of coloring regions by diffusion filling are disclosed in References 11, 72.
[0006] Examples of coloring regions by terrain filling are disclosed in Reference 17.
[0007] Examples of the initial graphical identifiers by historical seals are disclosed in Reference 27.
[0008] Examples of the initial graphical identifiers by coats of arms are disclosed in References 1, 60, 90.
[0009] Examples of the initial graphical identifiers by seals are disclosed in References 44, 51, 66, 71.
[0010] The first example of a graphical identifier of the Genji-ko diagram type can be found in references 3 and 38.
[0011] An example of converting traditional graphical identifiers to the digital world is disclosed in reference 22.
[0012] An overview of QR code-type graphical identifiers is provided in reference 47.
[0013] An overview of barcode-type graphical identifiers is provided in references 46 and 48.
[0014] Examples of introductory textbooks for SFC are disclosed in references 16, 19, 24, and 32.
[0015] Historical documents concerning SFC are disclosed in references 5, 6, 7, and 10.
[0016] Examples of the use of SFC in cryptographic techniques are disclosed in references 28, 55, and 65.
[0017] References 35 and 59 disclose the generalization of the Cantor-type SFC.
[0018] References concerning Gray curves and metacurves (MCGs) are disclosed in references 78, 87, 81, 82, 85, 86, 79, 80, 83, and 84.
[0019] Examples that help distinguish between the principles of randomness and chaos are disclosed in references 15, 64, and 70.
[0020] The concept of Kolmogorov complexity is presented in reference 21.
[0021] The concept of attractors in chaos theory is presented in references 14 and 34.
[0022] The principles of one-time pad (OTP) cryptographic systems and random image generation are presented in References 23 and 76.
[0023] An example of a chaos cryptographic system is presented in Reference 62.
[0024] Examples of the mathematical formulation of patterns are disclosed in References 4, 20, and 40.
[0025] The theory of toroidal tiling is disclosed in Reference 2.
[0026] The principle of scrambling in cryptographic techniques is disclosed in Reference 56.
[0027] Examples of the use of SFC in image encryption are disclosed in References 36 and 41.
[0028] Examples of chaos processes in image encryption techniques are disclosed in References 29, 37, 57, 58, 60, 67, 72, and 74.
[0029] The use of Hilbert curves for text encryption is disclosed in Reference 50.
[0030] The principle of self-avoiding walk (SAW) is presented as a reference for explaining the conversion of SAW to Jordan polygons and is widespread.
[0031] It will be understood that there are many limitations in the prior art.
[0032] In practice, the problem of generating encrypted images used in encryption schemes featuring symmetric hybrid protocols for cryptographic keys—which are themselves encrypted procedures for generating encrypted images—is a dual problem. If the images are purely random (one-time pads), the images are mathematically undecipherable, but visual identification and digital authentication become impossible without a large secure library for comparing the images. If the images are pseudo-random, irreversible decryption occurs, making image authentication by comparison impossible.
[0033] Another limitation of conventional techniques is that complexity changes in stages. In practice, the complexity of the generated image is tied to the nature of the image itself and can be the result of orderly order, structured complexity, pseudo-random irregularity, or random irregularity.
[0034] Another limitation of conventional technologies is the security of encryption protocols. The security problem of encryption protocols lies in obtaining encrypted images that can be identified visually or by software or hardware processes. Resilience to attacks is complicated by the level of visual information directly provided by the images, which can strengthen the attack vector. Furthermore, strictly adhering to Kerkhoffs' principle that "the enemy knows the system" provides adversaries with information to immediately break the encryption, and potentially break the system in the future, which is problematic.
[0035] Another limitation of conventional techniques concerns that hash-type indices are generally irreversible and prone to collisions. Furthermore, hash functions are categorized and known to attackers. The challenge in selecting a suitable indexing CODEC concerns, firstly, the selection of a novel bijective combined mathematical function (anonymous function) whose construction process is known only to the person generating the encrypted image. This challenge also relates to the selection of a combined function that, if necessary, is difficult to decrypt due to its complexity. These latter functions can be combined with the aforementioned function.
[0036] Another limitation of conventional techniques concerns the use of permutation libraries. In practice, the challenges of using permutation libraries lie in the heterogeneity of the functions, which results in highly uneven computational performance, and the vulnerability of these functions to attacks. Most known libraries are "chaos mapping" function libraries and bijective image generation function libraries.
[0037] Another limitation of conventional techniques concerns numerical precision. In practice, the numerical precision problem inherently stems from the use of floating-point numbers in calculations, which prevents precise testing in topology testing during the encoding phase, leading to a decrease in the precision of the decoding function and ultimately resulting in a lack of authentication capability due to the non-injectivity of the numerical function.
[0038] Another limitation of the prior art concerns memory management. As those skilled in the art will understand, memory management problems can arise from the memory size of imported still images such as photographs or QR codes, the size of dynamically generated images such as color tables, and finally, the size of a Jordan polygon based on the number of vertices of its sides.
[0039] Another limitation of conventional techniques lies in the programming itself. In practice, programming problems arise from the various parallelism paradigms encountered: data parallelism in pixel coloring and task parallelism in topological region coloring. [Overview of the Initiative] [Problems that the invention aims to solve]
[0040] Therefore, at least one method and system is needed that can address at least one limitation present in the prior art. [Means for solving the problem]
[0041] According to one aspect of this technology, a visual identification and authentication system is disclosed that generates encrypted images or video streams of encrypted images.
[0042] According to one aspect of the present technology, a computer implementation method for encoding information using a single-cell topological stencil is disclosed, comprising the steps of: acquiring information to be encoded; generating a partitioned region within a square using at least one of a Jordan polygon generator, a space-filling curve (SFC) generator, and a Hamiltonian cycle generator; converting the generated partitioned region into a series of triplets representing the partitioned region, each triplet being defined by one point and two adjacent points; determining the density associated with each point of the square using the series of triplets; generating a single-cell topological stencil by coloring each point of the square using at least the associated densities; and providing the single-cell topological stencil, wherein the information to be encoded is used in at least one of the steps of generating a partitioned region within a square, determining the density associated with each point of the square, and coloring each point of the square.
[0043] According to one or more embodiments, the step of coloring each point of a square includes the step of associating a given color with each density to be determined.
[0044] According to one or more embodiments, the step of coloring each point of a square includes, for a given point, associating a given color table with each density, and selecting a color from the given color table using the position of a given point in the square.
[0045] According to one or more embodiments, the method comprises the steps of: obtaining an SFC or encoded MCG that scans a square; and providing a scrambled single-cell topological stencil by rearranging the points of a single-cell topological stencil using the SFC or encoded MCG, thereby changing the coordinates of the points of the single-cell topological stencil by rearranging so that for each given point having the first corresponding coordinate in a given scan, a new coordinate corresponding to the same index as the index in the given scan is assigned in the SFC or encoded MCG, wherein the information to be encoded is used in at least one of the steps of: generating a divided region within the square; determining the density associated with each point of the square; coloring each point of the square; and obtaining an SFC or encoded MCG.
[0046] According to one aspect of this technology, a computer implementation method for encoding information using tiling generated within a square is disclosed, comprising the steps of: acquiring information to be encoded; generating an SFC within a square; generating tiling within a square by replacing each basic part of the SFC with a corresponding tiling using the generated SFC; and providing instructions for the generated tiling, wherein the information to be encoded is used in the step of generating the SFC.
[0047] According to one or more embodiments, the SFC is defined by eight "S" shaped base parts, and the corresponding tilings correspond to a given identical and fixed tiling in each of the eight base parts.
[0048] According to one or more embodiments, the method further includes the steps of: obtaining an ASCII string to be encoded; converting the ASCII string into a corresponding code sequence in a given numeric radix that fills a square array; and generating an SFC using a given Gray SFC declination curve, wherein each point of the Gray SFC declination curve is replaced with a pattern corresponding to a given code in the corresponding code sequence.
[0049] According to one aspect of the present technology, a computer implementation method for encoding information using an image is disclosed, comprising the steps of: acquiring a first image having a given number of pixels; acquiring a second image having the same given number of pixels as the first image; interleaving the first image with the second image to provide an interleaved image, wherein the interleaved image includes a given number of metapixels, the same as the given number of pixels of the first image, and each metapixel includes a central portion containing at least one pixel having a related value equal to the value of a corresponding pixel in one of the first and second images, and a peripheral portion surrounding the central portion, each containing a plurality of pixels having a related value equal to the value of a corresponding pixel in the other of the first and second images; and providing an interleaved image, wherein the first image is selected from a group of images including at least a single-cell topological stencil generated using the method described above.
[0050] According to one or more embodiments, the image set further includes tiling generated using the method described above.
[0051] According to one or more embodiments, the image group further includes a given image.
[0052] According to one or more embodiments, the image group further includes a QR code.
[0053] According to one or more embodiments, the image set further includes at least one of a static color table and a dynamic color table.
[0054] According to one or more embodiments, the dynamic color table is generated using a method that includes the steps of: generating a two-dimensional SFC that scans a square; and dynamically associating a color from an RGB color cube with each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC.
[0055] According to one or more embodiments, the interleaving method is selected from a group including four typographic modes.
[0056] According to one or more embodiments, the method further includes the steps of: acquiring an SFC or encoded MCG that scans an interleaved image; and using the SFC or encoded MCG to rearrange the points of the interleaved image to provide a scrambled single-cell topological stencil, wherein the rearrangement changes the coordinates of the points of the interleaved image so that for each given point having the first corresponding coordinates in a given scan, a new coordinate is assigned in the SFC or encoded MCG that corresponds to the same index as the index in a given scan, thereby enabling the provision of a scrambled interleaved image by rearrangement.
[0057] According to one or more embodiments, information is encrypted using the method disclosed above.
[0058] According to one or more embodiments, a single-cell topological stencil generated using the method described above is disclosed.
[0059] According to one or more embodiments, an image generated using the method described above is disclosed.
[0060] According to one or more embodiments, the use of the aforementioned images for identifying or authenticating elements is disclosed.
[0061] According to one or more embodiments, the element is an object.
[0062] One or more embodiments disclose a computer implementation method for performing identification or authentication using a dynamic color table in a square, comprising the steps of: generating a two-dimensional SFC that scans a square containing a plurality of pixels; dynamically associating a color from an RGB color cube with each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC; and providing a generated color table that enables identification or authentication.
[0063] According to one or more embodiments, the method further includes the step of changing the value of each pixel in the generated color table.
[0064] One or more embodiments of the present invention and their advantages are described in more detail below by reference to the accompanying drawings. [Brief explanation of the drawing]
[0065] [Figure 1] An example of Level 7 MCG is shown. [Figure 2] This shows the sorting by the rotor-based MCG. [Figure 3] The taxonomy of Gray curves is shown. [Figure 4] This shows the taxonomy of Jordan polygons. [Figure 5] It indicates an alternative route. [Figure 6] This shows the ghost points of the U-shaped metacurve. [Figure 7] This shows the ghost points of the W-shaped metacurve. [Figure 8] An example of the encrypted table tabCODE(7,[1234,12345]) is shown. [Figure 9] An example of a dynamic chaos effect is shown. [Figure 10] An example of dynamic tables and visual interference is shown. [Figure 11]An example of a dynamic table is shown. [Figure 12] This shows a colorimetric fingerprint in Mode 2. [Figure 13] This shows a colorimetric fingerprint in Mode 1. [Figure 14] The density is shown in the colored areas. [Figure 15] The coloring of letters A and B in two and three linked components is shown. [Figure 16] This shows the coloring of the letters A and B using five connected components. [Figure 17] This illustrates the principle of metapixels. [Figure 18] This shows the typographic modes associated with metapixels. [Figure 19] This shows the control modes 0 and 1 for metapixels. [Figure 20] This demonstrates the interleaving of encrypted dynamic tables and photographic images. [Figure 21] This demonstrates interleaving between dynamic tables and still images (photographs). [Figure 22] This demonstrates interleaving between dynamic tables and static QR codes. [Figure 23] The scrambling of the images obtained from Figures 20 and 22 is shown. [Figure 24] This demonstrates the Majus effect on dynamic tables. [Figure 25] This demonstrates the relationship between cryptographic keys and topological domains. [Figure 26] This shows multiple Jordan topological partitions. [Figure 27] This shows the dynamic encryption table in dynamic chaos mode. [Figure 28] This shows the density table associated with the topological stencil. [Figure 29] This shows a common association between dynamic tables. [Figure 30] This shows an example of initializing a hash table for a dynamic table. [Figure 31] This demonstrates the Majus effect achieved by interleaving digital photographs and dynamic tables. [Figure 32]This demonstrates the Majus effect on pre-calculated dynamic tables. [Figure 33] The configuration of multi-cell tiling is shown. [Figure 34] This shows eight pairs of notrechet tilings. [Figure 35] This demonstrates the generation of asymmetrical, regular Peano-Torche tilings. [Figure 36] This demonstrates the generation of regular Peano-Troussé tiling. [Figure 37] The octal representation of DC2(i,2,[6,2],
[11] ) described in reference 86 is shown below. [Figure 38] This shows the octal representation of the SW spiral. [Figure 39] The measured values and percentages of the calibration target are shown. [Figure 40] This shows the calibration of the octal calibration target. [Figure 41] This shows a geometric and alphanumeric representation in octal. [Figure 42] This shows the encoding of octal text in a spiral-shaped SFC. [Figure 43] This demonstrates the insertion of binary messages through interleaving. [Figure 44] This demonstrates a chimera-type quaternary encryption. [Figure 45] This demonstrates octal encryption of text using the SFC directrix curve DC0uM. [Figure 46] This shows the sorting of PPM colors. [Figure 47] This document describes a method for encoding information using a single-cell topological stencil according to one embodiment. [Figure 48] This document describes a method for encoding information using an image according to one embodiment. [Figure 49] This demonstrates a method for encoding information using tiling. [Figure 50] This shows the topological plane partitioning generation unit (SLstencylSYS1). [Figure 51]This shows the dynamic color table generation unit (SLstencylSYS2). [Figure 52] This shows the geometric tiling generation unit (SLstencylSYS3). [Figure 53] This shows the color palette generation unit (SLstencylSYS4). [Figure 54] This shows a topological indicator and color matching system (SLstencylSYS5). [Figure 55] This shows the typographic settings section (SLstencylSYS6) based on metapixels. [Figure 56] This shows the binary table generation unit (SLstencylSYS7) from text. [Figure 57] The code for the function tabDC is shown below. [Figure 58] The code for the function tabCD is shown below. [Figure 59] The code for the function polJORED is shown below. [Figure 60] The code for the function indDC is shown below. [Figure 61] The code for the function indJFR is shown below. [Figure 62a] The code for the function indSOM is shown below. [Figure 62b] The code comments for the function indSOM are shown below. [Figure 63a] The code for the function cctQUA is shown below. [Figure 63b] The code comments for the function cctQUA are shown below. [Figure 64a] The code for the function ptsQUA is shown below. [Figure 64b] The code comments for the function ptsQUA are shown below. [Figure 65a] The code for the function indJFRQ2 is shown below. [Figure 65b] The code comments for the function indJFRQ2 are shown below. [Figure 66a] The code for the function tabCODE is shown below. [Figure 66b] The code comments for the function tabCODE are shown below. [Figure 67a] The code for the function tabDC3 is shown below. [Figure 67b] The code comments for the function tabDC3 are shown below. [Figure 68a] The code for the function indRGBv is shown below. [Figure 68b] The code comments for the function indRGBv are shown below. [Figure 69a] The code for the function tabPIX is shown below. [Figure 69b] The code comments for the function tabPIX are shown below. [Figure 70a] The code for the function lstabDYN is shown below. [Figure 70b] The code comments for the function lstabDYN are shown below. [Figure 71a] The code for the function tabDYN is shown below. [Figure 71b] The code comments for the function tabDYN are shown below. [Figure 72a] The code for the rgbCODE function is shown below. [Figure 72b] The code comments for the rgbCODE function are shown below. [Figure 73a] The code for the function codeRGB is shown. [Figure 73b] The code comments for the function codeRGB are shown below. [Figure 74a] The code for the function colMIRE is shown below. [Figure 74b] The code comments for the function colMIRE are shown below. [Figure 75a] The code for the function lsv2v3DENS is shown below. [Figure 75b] The code comments for the function lsv2v3DENS are shown below. [Figure 76a] The code for the function modPPM is shown below. [Figure 76b] The code comments for the function modPPM are shown below. [Figure 77a] The code for the TAB2dpi function is shown below. [Figure 77b] The code comments for the function TAB2dpi are shown below. [Figure 78a] The code for the function CAS2dpi is shown below. [Figure 78b] The code comments for the function CAS2dpi are shown below. [Figure 79a] The code for the function intMPIX is shown below. [Figure 79b] The code comments for the function intMPIX are shown below. [Figure 80] The code for function SCRIPT003 is shown below. [Figure 81] The code for function SCRIPT004 is shown below. [Figure 82] The code for function SCRIPT007 is shown below. [Figure 83] The code for function SCRIPT008 is shown below. [Figure 84a] The code for the function celUNI is shown below. [Figure 84b] The code comments for the function celUNI are shown below. [Figure 85] The code for the function SCRIPTaab is shown below. [Figure 86a] The code for the function casTPZ is shown below. [Figure 86b] The code comments for the function casTPZ are shown below. [Figure 87a] The code for the rapPTS function is shown below. [Figure 87b] The code comments for the rapPTS function are shown below. [Figure 88a] The code for the function ptsBS8 is shown below. [Figure 88b] The code comments for the function ptsBS8 are shown below. [Figure 89a] The code for the function ptsBS4 is shown below. [Figure 89b] The code comments for the function ptsBS4 are shown below. [Figure 90a] The code for the function mireOCT is shown below. [Figure 90b] The code comments for the function mireOCT are shown below. [Figure 91a] The code for the function motMIRE is shown below. [Figure 91b]The code comments for the function motMIRE are shown below. [Figure 92a] The code for the function tabMIRE10 is shown below. [Figure 92b] The code comments for the function tabMIRE10 are shown below. [Figure 93a] The code for the function tabMIRE12 is shown below. [Figure 93b] The code comments for the function tabMIRE12 are shown below. [Figure 94a] The code for the function texOCT is shown below. [Figure 94b] The code comments for the function texOCT are shown below. [Figure 95a] The code for the function sfcBS84 is shown below. [Figure 95b] The code comments for the function sfcBS84 are shown below. [Figure 96a] The code for the function postAB is shown below. [Figure 96b] The code comments for the function postAB are shown below. [Figure 97] The code for the function SCRIPT99j is shown below. [Figure 98] The code for the function CD0uwLIG is shown below. [Figure 99] The code for the function DC0uwLIG is shown below. [Figure 100a] The code for the function TABg2lis is shown below. [Figure 100b] The code comments for the function TABg2lis are shown below. [Figure 101] The code for the function TABg2ppm is shown below. [Figure 102a] The code for the perRGB function is shown below. [Figure 102b] The code comments for the perRGB function are shown below. [Figure 103a] The code for the function rgbTRNG is shown below. [Figure 103b] The code comments for the function rgbTRNG are shown below. [Modes for carrying out the invention]
[0066] Those skilled in the art will understand that one or more embodiments of the described methods and systems offer many advantages.
[0067] In particular, one of the advantages of one or more embodiments of the described methods and systems is to provide a system for generating images from a novel family of space-filling curves in a plane, specifically referred to as rotor-based gray meta curves (MGRs). These configurable curves will be understood to have combinatorial generation formulas that, in one or more embodiments, can serve as the basis for cryptographic keys for images. It will be understood that a series of steps using the properties of these curves can disrupt the geometric ordering and break the colorimetric coherence of the source image.
[0068] In practice, a visual cryptography system based on topological stencils is disclosed. A stencil will be understood as a specific digital image that enables encrypted and secure communication of various types of geometric, visual, or textual information. A system for generating stencils that relies on topological division regions of a plane created from Jordan polygons is disclosed. By using a novel family of space-filling curves in the plane called gray meta curves, it is possible to create cryptographic keys that encode the division regions of the plane and act as topological attractors involved in the encryption of color tables and alphanumeric tables.
[0069] System Overview Topological stencils and cryptography A digital topological stencil (DTS) system is a composite image generation system in which the synthesis process is confidential and encrypted. It should also be understood that DTS images can be provided in an encrypted form. In this case, certain visual information is not transmitted. The characteristics of DTS are described below from the perspective of cryptographic technology.
[0070] DTS are partially or fully procedural images obtained from a novel, highly complex image encryption method that lies between purely random image generation and chaotic or pseudo-random image generation.
[0071] DTS is a new type of two-dimensional graphical identifier and authenticator that incorporates various forms of colorized images. Essentially, a DTS consists of solid geometric regions that create planar division areas, including boundaries and hollowed-out sections. After definition, these topological division areas are colorized.
[0072] DTS can be considered a digital seal or stamp in which a graphic design is procedurally generated using a secret, encrypted formula.
[0073] While barcodes and their subfamilies, such as QR codes and data matrices (excluding 2D-docs), are primarily used as identifiers, DTS integrates the identification and authentication processes into a single system.
[0074] Unlike barcode families, which are based on graphical representations of ciphertext, DTS is an encrypted colorized image that includes text representations and can be mixed using a so-called interleaved method.
[0075] This interleaving method will be understood to allow any bitmap image of the following types in particular: (a) A procedurally generated and encrypted DTS-type image, or (b) Procedural images generated in various ways based on fractals, circular cellular automata, or other chaotic or purely random systems, (c) Procedural images obtained from QR codes, data matrix codes and various other generation methods, (d) A procedurally generated composite image, or (e) Non-procedural images such as encrypted or unencrypted photographs.
[0076] The DIS encryption process is understood to rely on a mathematical and algorithmic foundation built around the theory of space-filling curves (SFCs). In this approach, encoding allows for the association of a list of integers—that is, n-dimensional coordinates—with unique integers, and decryption restores this list. Therefore, this system is understood to be a universal encoding and decoding system for alphanumeric information after conversion to integers. This system also allows for spatial indexing and ordering. This latter property, in particular, enables scrambled 2D images by permutation.
[0077] Its generalization, known as SFC and the Gray Meta curve, makes it possible to unify the topology, color, and text encryption incorporated into DTS.
[0078] Encryption process The DTS system combines and interleaves several encryption processes to complicate and neutralize attempts to break the encryption. These dynamically configurable processes have three levels of encryption. The highest level is the encryption of the parameters of the encryption function itself. The second level is the encryption of the type of SFC or MCG function used. The third level is the encryption of the functional encryption network, i.e., the encrypted description of the interleaving and combining of different encryption processes. This description takes the form of an encryption script or a description of a finite automaton for implementation in a dedicated hardware system at the software level.
[0079] The functional diagram of the process is shown in the following figure and is listed below.
[0080] Figure 50 shows the generation unit for topological partitioning of a plane.
[0081] The dynamic color table generation unit is shown in Figure 51.
[0082] The color palette generation unit is shown in Figure 53.
[0083] The geometric tiling generation unit is shown in Figure 52.
[0084] Figure 54 shows a matching system between a topological indicator and color.
[0085] Figure 55 shows the typographic settings section based on metapixels.
[0086] Figure 56 shows the section for generating a binary table from text.
[0087] Encryption protocol Those skilled in the art will understand that the three encryption levels mentioned above are associated with three cryptographic signature levels, which are the cryptographic keys. Therefore, this encryption protocol aims to transmit all procedural instructions and associated parameters that enable the regeneration of the DTS. On the other hand, the encryption protocol also concerns encrypted communication of arbitrary-precision integers (Bignum), whose representation is obtained by multidimensional SFC or MCG encoding and decoding functions, which convert a list of integers into a single integer and vice versa. Thus, typically, an integer representing the cryptographic key is combinatorially assembled into a new integer, which constitutes the final cryptographic key. This key, or its hash, is communicated symmetrically or asymmetrically, depending on the protocol's deployment context, i.e., the recipient of the encrypted message's ability to generate an encrypted DTS image or regenerate a hash of the DTS image.
[0088] Security of encryption systems Those skilled in the art will understand that the security of one or more system embodiments is hybrid, with different encryption processes assembled at the outset. This approach is, to some extent, equivalent to the various security components used to prevent counterfeiting of banknotes. However, in the case of DTS, the number of components is configurable, and a certain degree of security is introduced through ambiguity and occasional deviations from Kerkhoffs' principle. With regard to the analysis of DTS images, the diffusion and confusion characteristics depend primarily on the complexity of the functional cryptographic network and the complexity of the gray meta curve used to define the stencil topology or its scrambling. Similarly, in the case of DTS, the use of indicators must be re-evaluated so that conventional NPCR (Non-PCR) or UACI (Unified Mean Intensity Change) analysis is not applicable to certain chaotic images.
[0089] Algorithmic principles The principle developed to generate encrypted visual identifiers known as topological stencils will be understood as consisting of giving topological and colorimetric structuring to a purely algorithmic and combinatorially defined plane. Thus, encryption has a graphical and visual nature, but also the ability to integrate encrypted text elements. The parameters of the algorithm are also used as the first level of encryption key. From a cryptographic standpoint, these parameters are used to compose a bijective mathematical function that forms the second level of encryption key. These mathematical functions are derived from a novel multidimensional space-filling curve theory. Understanding the construction principle of topological stencils involves the concept of Jordan polygons. Jordan polygons are discrete polygonal structures that possess the properties of Jordan curves, which are simple closed curves that form continuous loops without self-intersections.
[0090] Topological stencil principle Those skilled in the art will understand that the principle developed to generate encrypted graphical identifiers known as topological stencils consists of giving topological and colorimetric structuring to a purely algorithmic and combinatorially defined plane. Thus, encryption, while graphical and visual in nature, has the ability to integrate encrypted text elements, as described below. The algorithmic parameters are also used as the first-level encryption key. From a cryptographic standpoint, these parameters are used to compose a bijective mathematical function that forms the second-level encryption key.
[0091] These mathematical functions originate from the theory of multidimensional space-filling curves (SFCs).
[0092] A detailed explanation of the generalization of the Cantor-type SFC is provided in references 35 and 59. Explanations of Gray curves and metacurves are provided in references 78, 79, 80, 81, 82, 83, 84, 85, 86, and 87.
[0093] Those skilled in the art will understand that a color table is an indexed list of RGB codes in a plane, without prior ordering. Therefore, knowing the RGB codes in the table does not explicitly indicate the position of the colors in the plane or their relationship to coordinate pairs.
[0094] Those skilled in the art will understand that a dynamic color table is a color table that can be calculated on the fly, while a static color table is a predetermined table or image that has been pre-calculated.
[0095] SFC Combination Encryption In one or more embodiments, the systems of the present disclosure stand out from the prior art, particularly by the systematic use of certain families of SFCs and their bijective combination functions as described above. Those skilled in the art will understand that SFCs are combinatorial means that enable natural ordering of n-dimensional space and perform point permutations by substituting one SFC ordering for another. One reason why conventional SFCs, such as Hilbert curves, are relatively rare in image encryption systems is that the number of known SFCs is limited, and generally, the associated coding and decoding algorithms are vulnerable to attack due to their simplicity.
[0096] MCG signature and cryptographic key Therefore, it will be understood by those skilled in the art that the MCG signature is a nested list of parameters of the Gray metacurve assembled to obtain the final metacurve. Figure 1 shows an example of a Level 7 composite metacurve, specifically a chain of 12 tiles of different sizes occupied by various heterogeneous hybrid U-shaped and V-shaped metacurves, referred to as Classes U and W. The two points shown in bold represent the start and end points of the Hamiltonian path formed by the composite metacurve. These chains enable the encoding and decoding of adaptive Hamiltonian paths on an orthonormal grid. In general, the signature of a Level 7 composite metacurve is as follows (Equation 1):
[0097]
number
[0098] The principal metacurve connects a set of α+1 sub-metacurves with level nv ≤ 6. Each metacurve with index α is contained within a square centered at coordinates [xα, yα] with dimension aα. Parameter cs i This specifies the symmetry case associated with the square at index i. The signature of each metacurve in the set is IsDC. α 0..6 This is the form. Scaling coefficient sc αEach metacurve is associated with a parameter, and the resulting Hamiltonian paths can be indexed on a grid with different norms. The syntax for the sub-metacurve signature takes the form of a list of parameter lists. The syntax for the second-level metacurve (Equation 2) is formulated as follows:
[0099]
number
[0100] The connection of the second level allows us to define heterogeneous metacurves formed from the first level metacurves, which are capable of centrally symmetric transformations. Symmetric control is possible for all rotor curves regardless of the sign order of the Diophantus of the metacurves.
[0101] Those skilled in the art will understand that the changes in the MCG specifications apply in the same way to level 0 SFC curves, so rearranging between metacurves of any level is not a problem. Figure 2 shows an example of rearranging Vermeer's painting "Girl with a Pearl Earring" using a linear SFC-based inverse meander type level 1 rotor MCG.
[0102] Surface-based SFC and MCG libraries Those skilled in the art will understand that the generation of cryptographic keys by the composition of bijective coding and decoding functions, and, where applicable, the sorting of images, can be achieved using purely algorithmic, complex, and heterogeneous MCGs that continuously scan a square Euclidean grid or discontinuously scan a rectangular Euclidean grid. SFC and MCG combination functions associated with a combination algorithm based on bijective functions for encoding and decoding integer indices to a pair of two-dimensional Euclidean coordinates are grouped into a dedicated library and invoked via a hash table pointing to these functions. The Gray and non-Gray curve taxonomies are shown in Figure 3. These non-Gray functions are useful for encrypting a sequence of integers to a single integer in any dimension. Those skilled in the art will understand that such sequences can be found in the creation and indexing of color tables.
[0103] SFC or MCG hash table It is possible to establish hash tables of encoding and decoding functions from a set or subset of these functions. Knowledge of the tables and the functions they contain is necessary for decrypting the cryptographic signatures of topological stencils. The tabDC function in Figure 57 and the tabCD function in Figure 58 illustrate, for illustrative purposes, individual calls to five elementary SFC coupling functions. SFCs are identified by their index in the table. For a table containing MCG curves, the code of each MCG can be transmitted in the form given by Equation 1.
[0104] How to generate a single-cell topological stencil Figure 47 shows a method for encoding information using a single-cell topological stencil according to one or more embodiments.
[0105] In one or more embodiments, a single-cell topological stencil may also be understood as a square. More comprehensively, a single-cell topological stencil may be understood as a specific type of image.
[0106] Those skilled in the art will understand that a single-cell topological stencil consists of a surface containing multiple graphic elements. In one or more embodiments, the graphic elements are pixels or points.
[0107] It will be further understood that single-cell topological stencils are generated using methods carried out by a processing device, also known as a computer. Those skilled in the art will understand that, in practice, the processing device can be of various types. In particular, the processing device can be selected from a group consisting of desktop computers, servers, smartphones, tablet computers, and so on.
[0108] According to step 80 in Figure 47, the information to be encoded is obtained. Those skilled in the art will understand that the information can be of various types and can be used for various purposes. For example, the information to be encoded can be used to identify or authenticate an element. In one or more embodiments, the element is an object.
[0109] Furthermore, those skilled in the art will understand that the information to be encoded can be obtained in various ways.
[0110] According to one or more embodiments, the information to be encoded is obtained from a processing unit, for example, from its memory.
[0111] According to one or more embodiments, the information to be encoded is received from another processing device, for example, via a data network. Those skilled in the art will understand that the data network can be of various types.
[0112] For example, according to one or more embodiments, the data network is a local area network (LAN). In one or more embodiments, the data network is the internet.
[0113] Those skilled in the art will understand that the information to be encoded can be obtained by various alternative methods.
[0114] According to step 100 in Figure 47, a divided region is generated within the square. Those skilled in the art will understand that the divided region is generated using at least one Jordan polygon generator, an SFC generator, and a Hamilton cycle generator.
[0115] Those skilled in the art will understand that Jordan polygons are discrete polygonal structures possessing the properties of Jordan curves, which are simple closed curves forming continuous loops without self-intersections.
[0116] Topological partitioning systems: General principles Those skilled in the art will understand that the theory of formal arithmetic, through the mechanism of topology arithmetic, enables the generation of planar partitioned regions having areas created and separated by Jordan polygons. These regions are associated with integers called densities, which are calculated combinatorially. The partitioning process enables the generation of geometric shapes of the partitioned regions, while the topological regions generated by the partitions are colored.
[0117] Therefore, it can be understood that coloring SFC curves by filling them can also be approached from the perspective of filling discretized curves or Jordan polygons by assigning thickness to the boundary, interior, and exterior regions.
[0118] Jordan polygon It will be understood that, in addition to the original Jordan polygon, Gray SFCs, MCGs, and certain Hamiltonian paths and cycles or self-avoiding paths and cycles can be converted into Jordan polygons by closing each path. The taxonomy of Jordan polygons is shown in Figure 4. Figure 5 shows the process of closing S-shaped SFCs (where the start and end points of the SFC are diagonally opposite each other), U-shaped SFCs (where the start and end points of the SFC are opposite each other on one side), and self-avoiding paths.
[0119] The polJORD function in Figure 59 performs the cloning of an SFC or MCG of class W or U. This function is an indicator of class SFC. <uw>List of SFC coordinates <ls>, and its resolution The input is a list of coordinates of the resulting Jordan polygon. <jord>It returns.
[0120] Formal Arithmetic Unlike diffuse packing algorithms applied to connected pixel regions, the algorithmic principle described relies on topological knowledge of the SFC curve, which separates the plane into three regions: interior, boundary, and exterior. To achieve this, two phantom points are added to the metacurve, closing the curve and topologically transforming it into a Jordan curve. After scaling the metacurve by more than two times to ensure a one-pixel width in the boundary region as well as the interior and exterior regions, a theorem is applied to calculate the Poincaré exponents of points on the Poincaré curve. In this case, a theorem derived from the theory of formal number theory is applied, which calculates the density ψ of a point for a polygon with a maximum quadratic representation. This representation considers the positional balance of a point relative to a vertex, related to a degenerate conic section, which is two lines passing through the edges for each vertex of the polygon. One advantage of the theorem used is that it is applicable to degenerate polygons, or polygons with a set of collinear vertices, which will be understood as a consistent configuration seen in polygon SFCs.
[0121] According to step 102 in Figure 47, the generated division region is transformed into a set of triplets representing the division region. Each triplet is defined by one point and two adjacent points.
[0122] density theorem Equation 3 is the boundary of a convex conic section. <bx>, boundary of a concave cone <bv>, outside of a convex cone <ex>, and inside of a concave cone <iv>We are considering the enumeration of points belonging to this category.
[0123]
number
[0124] For a polygon that is topologically equivalent to a simple Jordan curve, the value Ψ = 2, and depending on which of the different regions demarcated by the polygon a point belongs to, the following values can be obtained individually (Equation 4).
[0125]
number
[0126] The indDC function in Figure 60 generates a set of densities of points contained within a given rectangular window for a given polygon. This function takes the two endpoints of the diagonals that define the rectangle, i.e., the lower left origin. <v2o>and upper right endpoint <v2e>, and a list of polygonal points <ls>The input is [data]. This function returns a list of two lists. The first list contains coordinate pairs of points of different densities, and the second list contains the number of points of different densities.
[0127] The indJFR function in Figure 61 calculates the density of points on a polygon. The function calculates the coordinate pairs of points. <v2>and a list of polygon vertices <ls>The input is [the value]. This function calculates the density of points related to a polygon. <ind>It returns.
[0128] The indSOM function in Figure 62a, explained in Figure 62b, is the density for four cases of a given vertex.<bx,bv,ex,iv> This function performs the calculation of the coordinate pair of a certain point. <v2>The input is a list of three points associated with a given vertex. This function returns a list of density indicators for that vertex.
[0129] Figures 6 and 7 show the coloring of two Gray curves based on density calculations. Figure 6 shows the coloring representing ghost points of the U-shaped curve, and Figure 7 shows the coloring representing ghost points of the W-shaped curve.
[0130] Quadratic function representation The theorem concerning the density of points for Jordan polygons is based on combinatorial analysis performed for each vertex. Vertices, described by sequences of three consecutive points, represent conic sections degenerated into two conduits. In effect, Jordan polygons are described as sequences of their vertices for the algorithmic parallelization of combinatorial computations, and the decomposition into degenerated conic sections is performed modularly by reading an ordered list of vertices. By abandoning sequential representations and adopting quadratic representations, i.e., representations of sequences of triplets of consecutive vertices that incur space costs, parallel computations can be performed on a list of quadratic vertices without prior ordering, and in particular, any number of desired polygons can be topologically merged into the same list of vertex triplets. In this case, permutations of triplets, i.e., their disordering, do not affect the arithmetic analysis of points for the merged sequence of polygons.
[0131] Analysis of density and polygon orientation
number
[0132] The cctQUA function in Figure 63a, as explained in Figure 63b, is a list of polygons, specifically a list of vertex lists. <lsls>and a list of indicators having values {0,1} that represent the orientation of the polygon. <vn>The function receives the following: This function returns a merge list of all triplets for all polygons. The decomposition into triplets is performed considering the orientation of the polygons in the plane. A symbolic example is shown in the column of Equation 5 (where xA represents point A, xB represents point B, and so on).
[0133] The function ptsQUA in Figure 64a, as explained in Figure 64b, converts a sequence of consecutive vertices of a polygon into a list of triplets of points, each triplet consisting of a vertex and two subsequent vertices. This function converts a list of consecutive vertices into a list of triplets of points. <ptsqua>It receives a list consisting of triplets of dots. It returns. For example, equation 6 demonstrates a procedure for separating a list of five consecutive vertices.
[0134]
number
[0135] According to step 104 in Figure 47, the density associated with each point of the square is determined using a series of triplets. It will then be understood that the color associated with each point of the square can be determined using the determined density.
[0136] The function indJFRQ2 in Figure 65a, commented in Figure 65b, adapts the density calculation to a quadratic function representation of the polygon's vertices. This function is used for the coordinates of the points for which density is being calculated. <v2>and a list of quadratic vertices of polygons <lsq>It takes as an argument. This function returns the density of the points being sought. The density expression in Equation 3 has been multiplied by 2 to eliminate the use of rational numbers.
[0137] According to step 106 of Figure 47, a single-cell topological stencil is generated by coloring each point of the square using at least the associated density. Those skilled in the art will understand that the coloring can be carried out according to various embodiments.
[0138] In one or more embodiments, the step of coloring each point of a square includes the step of associating a given color with each density.
[0139] According to one or more embodiments, the step of coloring each point of a square includes, for a given point, associating each density with a given color table, and selecting a color from the given color table using the position of a given point in the square.
[0140] Color encryption system Those skilled in the art will understand that encrypted communication of colorimetric information is always a challenge in relation to digitized images. It is particularly necessary to distinguish between non-procedural images such as photographs and procedural images that can be regenerated from a limited set of parameters, such as specific fractal images or dynamic color tables presented in this section. Colorimetric information types can be classified as follows: 1. A list of colorized points formed by the coordinates of points in a plane without a clear order and their associated RGB codes. 2. A list of RGB codes that do not include the coordinates of points whose ordering in the plane is specified by the relevant type of SFC. 3. A list of parameters that enable the procedural regeneration of the list of colorized points. 4. A list of parameters that enable the procedural regeneration of a color palette or column.
[0141] The basic operations for these types of information are as follows: 1. Data compression 2. Data encryption 3. Regeneration of data using algorithms
[0142] Algorithmic color table In one or more embodiments, it will be understood that a predefined color table is encrypted using a multidimensional SFC curve available in the dedicated library already described. An example using a multidimensional indexing algorithm of type DC0uwL zigzag pattern (see reference 86) illustrates this approach. This is the idea of replacing the generation of a random color table with the generation of a dynamically encrypted color table. The SFC curve acts as a combinatorial attractor, similar to how certain differential equations act as strange attractors in chaos theory.
[0143] The tabCODE function in Figure 66a, explained in Figure 66b, is the resolution of the encrypted color table.< / lsq> < / ptsqua> < / vn> < / lsls> < / ind> < / ls> < / ls> < / iv> < / ex> < / bv> < / bx> < / jord> and rational numbers less than or equal to 1 in the form [numerator, denominator] <v2>The input is RGB code.<a+1> Returns a list.
[0144] The example shown in Figure 8 illustrates the generation of a color table with seven entities. Using any rational number, for example [1234, 12345], a color table similar to a quasi-random color table can be obtained. A given RGB color table <n>The large integer code is simply as follows (Equation 7):
[0145]
number
[0146] SFC indexing of RGB cubes A 3D SFC, which enables bijective indexing of different 3D coordinates, provides a means of indexing RGB codes. Using the SFC curve, an image is also generated in which each pixel has a different RGB code. Based on some equivalent principles, it is possible to create on-the-fly generated color tables by algorithms. However, these tables will gradually show non-chaotic (monotonic) changes between adjacent RGB codes.
[0147] To introduce a degree of chaos into the color table, an SFC-based algorithm is disclosed that generates RGGB codes associated with a given index. Unlike conventional approaches, this algorithm uses a three-dimensional SFC table that allows for dynamic modification of the SFC indexing basis while introducing control parameters for the chaotic distribution of colors.
[0148] The tabDC3 function in Figure 67a, commented in Figure 67b, corresponds to a call code for a 3D SFC table that returns a triplet of coordinates based on a given index. This table, limited for illustrative purposes, can be extended to novel 3D SFCs such as Hilbert curves or other variations of Gray SFCs. This function is for SFC types <cas>, points on the curve <ind> Index, i.e., RGB index, and curve resolution< / ind> < / cas> < / n> The input is a triplets corresponding to the desired RGB code. <v3>It returns.
[0149] Finally, the ordering of the color table can be changed by altering the reading criteria in the two-dimensional color table, and the RGB codes can be changed by specifying an RGB code permutation indicator, allowing selection from six combinations: RGB, RGB, GBR, GRB, BRG, and BGR.
[0150] SFC Attractor: Chaotic and Dynamic Effects The developed algorithm combines the Cartesian positions of points on the SFC directrix curve with codes calculated by matching RGB codes belonging to RGB cubes in the SFC plane. The color palette can be dynamically changed by matching parameters from 3D space to 2D space. These changes result in dynamic visual interference effects or chaotic color distribution effects. The SFC directrix curve acts as an attractor. Figure 9 shows an example of the dynamic effects obtained from changing a pair of coefficients used to generate a table using a spiral-shaped SFC directrix curve. These dynamic effects allow for the definition of a color table that is visually close to the guide (left side of the figure) or a color table with visual interference effects (right side of the figure).
[0151] Furthermore, various combinations of SFC directrix type and selected SFC indexing type for the RGB cube allow for a transition from dynamic visual mode to chaotic visual mode. Figure 10 shows an example of converting the dynamic effect on the left side of the image (DC0uM type SFC) to a chaotic effect by simply replacing the selected RGB cube model.
[0152] The principle of mapping the space of RGB cubes to a color palette in a plane with SFC directrix curves can be formulated in a series of algorithmic variations. These algorithmic variations may be interchangeable using a hash table. The principle of coloring a 2D palette is presented based on the following algorithmic variations.
[0153] The indRGBv function in Figure 68a, commented in Figure 68b, generates an RGB code from a given index, a selected type of SFC, and a number that allows for chaotic modification of the color table. This function uses the corresponding index <ind> , resolution of the color table according to the square convention< / ind> Specify the type of 3D SFC that performs bijective indexing. <cas>, and dynamic pairs that control the chaos nature of the table, i.e., pairs of positive real numbers less than or equal to 1. <v2>It receives the following. This function returns a triplet corresponding to the calculated RGB code. <v3>It returns.
[0154] The tabPIX function in Figure 69a, explained in Figure 69b, is the index of the points to be colored. <ind> Table resolution< / ind> < / cas> , the dynamic values of the table <v2>, color replacement codes for 0-5 <per>SFC curve type <sfc>, RGB code translation vector <v3t>, Complementary color vector (negative) <v3n>The input is [coordinates and color code]. This function returns colored pairs formed by the coordinates and color codes.
[0155] Dynamic Tables Dynamic tables are intended to replace randomly or semi-randomly generated tables. Dynamic tables can have the point colors calculated on the fly before the table is pre-computed or saved, and are procedurally generated by a set of parameters that form a table signature (Equation 8). This signature is used as the cryptographic key.
[0156] Cryptographic signature
number
[0157] example Figure 11 shows the visual results of the color tables defined by Equations 9 and 10. The two-dimensional directional SFCs for the two tables above are DC0uS spiral type, the 3D indexing SFCs are type 0 and type 1 respectively, and the permutation indicators for the RGB codes are 5 and 0, respectively. By selecting dynamic coefficient pairs, it is possible to generate tables with dynamic effects and then tables with chaotic effects. The following function call sequence shows the injection of the generation parameters for the final RGB codes.
[0158]
number
[0159] The 2D SFCs pointing to the two tables below are of type DC0uMminda, while the 3D indexing SFCs are types 0 and 1, respectively. By selecting dynamic coefficient pairs, it is possible to generate tables with dynamic effects and then tables with chaotic effects in this case as well. The following function call sequence demonstrates the injection of the generation parameters for the final RGB code.
[0160]
number
[0161] The lstabDYN function in Figure 70a, as explained in Figure 70b, is the table resolution. < / sfc> < / per> and a list of parameters that form the cryptographic signature. <lsdyn>The input is [value]. This function returns a list of colored points, which are lists of pairs that make up coordinate pairs and RGB codes.
[0162] Visual complexity of dynamic tables The coefficient pairs that control the chaotic or dynamic appearance of the dynamic color table are applied to all pixels in the generated table in the previous example. The possibility is introduced that these pairs can be modified based on the pixel's position in the plane. This position depends on the table's SFC directrix. The general principle is as follows: 1. In Mode 0, color calculation relies on specific parameters, including a point index and a dynamic coefficient pair. This pair has a constant value for all pixels in the plane scanned by the SFC directrix. Continuous changes in these values enable interactive, real-time dynamic changes to the color palette. 2. In modes 1 and 2, dynamic coefficient pairs are calculated for each point and directrix in the plane. To do this, the coefficient pairs are recalculated based on the coordinates of each point. The coefficient pairs provided as parameters of the algorithm are interpreted as pairs of weighting coefficients applied to each coordinate of a point after a series of point transformations. 3. This principle can be extended to any point transformation, enabling the calculation of dynamic coefficients from coordinate point transformations.
[0163] Two examples of changing dynamic coefficients by continuous point transformations are shown in equations 11 and 12.
[0164]
number
[0165] The tabDYN function in Figure 71a, explained in Figure 71b, is the index of the points to be colored. <ind> , resolution of the generated table< / ind> < / lsdyn> , and a list of parameters for its cryptographic signature <lsdyn>The input is a pair of coordinates and color codes representing colored points. <v2v3>It returns [value]. This function operates in the three modes mentioned above.
[0166] One embodiment of the present invention discloses a computer implementation method for performing identification or authentication using a dynamic color table in a square, comprising the steps of: generating a two-dimensional SFC that scans a square containing a plurality of pixels; dynamically associating a color from an RGB color cube with each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC; and providing a generated color table that enables identification or authentication.
[0167] According to one or more embodiments, the method further includes the step of modifying the value of each pixel in the generated color table.
[0168] example The visual complexity of the dynamic color table is shown in Figures 12 and 13. The formation of a fingerprint-like color table visually combines with a geometric moiré effect. Figure 12 shows the result of calculations performed using Equation 11, and Figure 13 shows the result of calculations performed using Equation 12.
[0169] Color palette encoding The encoding of a color palette, i.e., a sequential list of RGB codes in no particular order, will be understood to be intended for the secure and confidential communication of this list. The developed cryptographic principle involves operations in a space of dimension <3n>, where <n>is the number of colors in the list. A list of RGB codes given as triplets is simply converted into a linked list of <3n> integer values. The newly formed list can be thought of as a list of coordinates of points belonging to a given type of multidimensional SFC. This type is selected from the available multidimensional SFC schilds. Thus, the cryptographic code of the first list of RGB codes is the index of the point belonging to the selected SFC for which the list of coordinates is known. Thus, the cryptographic key of the list consists of the code itself in the form of a larger integer (Bignum) of the dimensions of the cryptographic space and the cryptographic key of the multidimensional SFC.
[0170] The rgbCODE function in Figure 72a, as explained in Figure 72b, encodes a list of RGB codes into a multi-precision positive integer (Bignum). This function encodes a list of RGB codes into a multi-precision positive integer (Bignum). <lsrgb>The input is [data]. This function returns the calculated code.
[0171] The codeRGB function in Figure 73a, as explained in Figure 73b, calculates the RGB code of a list of encoded RGB codes from a multidimensional SFC. This function calculates the code <code>, the number of RGB codes in the list <nbr>, and the index of the RGB code in the list <ind>The input is the desired RGB code. <v3>Return.
[0172] Coloring of topological regions It will be appreciated that the coloring of topological regions is performed in one or more embodiments using coloring rules associated with density. Thus, in one or more embodiments, the coloring process is associated with a topological division performed from a Jordan polygon. Density is an arithmetic indicator that characterizes the combined regions obtained from the division. For each region, the density varies according to the orientation within the plane of each Jordan polygon that makes up the division set. The resulting density values vary according to the number of basic Jordan polygons that make up the set, and changes in the orientation of these polygons lead to the occurrence of negative density.
[0173] It will be appreciated that the coloring of density includes associating RGB codes with each density obtained from the division, or associating RGB codes with a set of densities grouped for topological, logical, or other reasons. For example, grouping densities where half are odd is a strategy that enables the color of the sides of the Jordan polygon to be distinguished from the colors of its internal and external regions.
[0174] In addition to a method of creating a density-color correspondence table to achieve this, a method of dynamically creating a color palette that automatically adapts to the density ranges encountered determined by a limited number of parameters is disclosed.
[0175] Density range It will be appreciated that the density ranges are a set of different densities obtained during the topological division. These ranges are determined retrospectively by sorting the final list of obtained densities and retaining only one of the duplicate elements. The eight ranges in the columns of Equation 13 are the result of performing the division of Figure 14 while continuously changing the orientation of the component Jordan polygons. In this case, the division is performed using three Jordan polygons, which are two squares and one triangle. Thus, for the orientation of the three polygons, 2 3 There are 1 different combinations, and the same partition yields 8 different colorization results. These combinations are represented by binary n-tuples that indicate the orientation of the Jordan polygon. In the case of the upper left of Figure 14, the colorizations correspond to the consecutive combinations [0,0,0], [0,0,1], ... [1,1,1].
[0176]
number
[0177] Density-color post-matching The post-coordinate mapping between density and color is performed by discrete preprocessing, which involves pre-calculating all densities for a topological partition within a determined display window, provided that the density range is known in advance, or by a method that allows this range to be known in advance through combinatorial inference. In this case, the origin of the density range can be shifted to zero by the known translation quantities of all densities.
[0178] The colMIRE function in Figure 74a, commented in Figure 75b, calculates a list of colorized points for a given topological partition within a window of known dimensions. This function calculates the diagonal points and the lower left point of the scan window. <v2o>Top right corner <v2e>List of quadratic function vertices that form a partition <q>The translation value used to define the density range as a set of zero origin and positive values, and the number of densities within the range. <nbrdens>, and integers encoding the list of RGT codes <code>The input is [this].
[0179] Density-color pre-matching It will be understood that the pre-mapping of density to color is performed on the fly without prior knowledge of the density range. The properties of the tabCODE function already presented (Figures 66a and 66b) are used. The principle is to generate a color table in which the number of entries is at least twice the absolute value of the maximum density. The color associated with a given density is the color in the table at an index equal to half the number of colors plus the density value. This approach avoids the hashing technique for integer sequences with negative values.
[0180] The function lsv2v3DENS in Figure 75a, commented in Figure 75b, calculates a list of colored points associated with a set of Jordan polygons expressed quadratically. This function is a list of triplets of points representing the set. <q>, lower left corner of the scan rectangle <v2o>, upper right corner of the scan rectangle <v2e>, linear combination parameters of the tabCODE function (Figure 66a, Figure 66a) <v2c>, the number of colors in the defined palette <plg>RGB code permutation indicator <per>, the translation vector of the calculated RGB code <v3t>, a vector (negative) of the color complementarity indicator <v3n>The input is [data]. This function returns a list of colored points in the scan window.
[0181] example The coloring principle described above is shown in Figures 15 and 16. The objective is to implement vector character drawing AB to achieve uniform coloring of the topological partition. Character A has two connected components with orientation codes of type [{0.1},{0.1}], and character B has three components with type [{0.1},{0.1},{0.1}]. To achieve uniform coloring, good combinations of the two codes must be identified. In Figure 16, good coloring is achieved using the common codes [1,1], [1,0,0] or the complementary codes [0,0], [0,1,1]. Using the codes [0,1], [1,0,1] results in non-uniform coloring in the same figure.
[0182] According to step 108 of Figure 47, a single-cell topological stencil is provided.
[0183] Those skilled in the art will understand that the generated single-cell topological stencils can be provided according to various embodiments. In particular, those skilled in the art will understand that the embodiments can vary depending on the application.
[0184] According to one or more embodiments, the generated single-cell topological stencil is stored in the memory unit of the processing unit.
[0185] According to one or more other embodiments, the generated single-cell topological stencil is transmitted via at least one data network to another processing unit operationally connected to the processing unit implementing the method. It will be understood by those skilled in the art that the data network can be of various types.
[0186] For example, according to 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.
[0187] The step of providing a single-cell topological stencil, in one or more embodiments, is the step of obtaining an SFC or encoded MCG that scans a square and a step of using the SFC or encoded MCG to rearrange each point of the single-cell topological stencil to provide a scrambled single-cell topological stencil. The rearrangement changes the coordinates of each point of the single-cell topological stencil, such that for each given point having the first corresponding coordinates in a given scan, new coordinates corresponding to the same index in the given scan in the SFC or encoded MCG are assigned. As will be appreciated by those skilled in the art, the method further includes this step.
[0188] In the method disclosed in FIG. 47, it will be appreciated that the information to be encoded is used in at least one of the generation of the divided regions within the square, the determination of the density associated with each point of the square, and the coloring of each point of the square.
[0189] Those skilled in the art will appreciate that a number of parameters are available for each of the steps described above, and this use can be done in a variety of ways.
[0190] Scrambling of the stencil In practice, those skilled in the art will appreciate that any scrambling of the topological stencil increases the cryptographic robustness against subsequent attacks. This can, in particular, disrupt the visual coherence of the list of colored points at both the spatial level of the coordinates and the colorimetric level of the RGB codes. This scrambling uses a plane rearrangement approach by SFC or MCG. Unlike conventional methods where rearrangement is done using a limited number of known SFCs, the integer transcoding is performed using MCGs of the same resolution belonging to any family. The signature of the MCG provides the cryptographic key. Subsequently, the following functional scheme (Equation 14) is obtained.
[0191]
Number
[0192] Decoding and encoding functions of Equation 3 <f>and <g>Those skilled in the art will understand that these can be selected manually or automatically. In order to select them automatically, <n>A transcoding function derived from an encoding table and a decoding table having a number of elements. <n 2 The resolution of points where the coordinate pairs are the index of the decoding function in the decoding table and the index of the coding function in the coding table, representing the number of possible combinations. <n-1>It can be represented by an index on the SFC. This index can then be used to perform selection using modular hashing.
[0193] Figure 48 shows a computer implementation method for encoding information using an image that includes metapixels.
[0194] In practice, it will be understood that universal graphic identifiers should be displayable on different physical media or through various digital display technologies. Those skilled in the art know that there are two main two-dimensional display methods: vector and bitmap. Vector methods are suitable for coloring predetermined graphic or geometric primitives such as squares, triangles, and circles of parameterized sizes, while bitmap methods are suitable for coloring basic points called pixels. Unlike the more flexible vector methods, bitmap methods have perfect display accuracy. Both approaches will be used below, but those skilled in the art will understand that an overlay is added to conventional bitmap methods by introducing a method developed around the concept of metapixels. This approach improves control over physical printing units such as dpi (dots per inch), and in particular, increases the possibility of limited visual encryption of pixels. Metapixels enable visual interleaving of conventional bitmaps, such as photographic images and QR codes.
[0195] According to step 200 in Figure 48, a first image having a given number of pixels is obtained.
[0196] Those skilled in the art will understand that the first image can be obtained according to various embodiments. In one or more embodiments, the first image is obtained from the memory of the processing unit.
[0197] In one or more embodiments, the first image is generated by a processing device.
[0198] According to one or more embodiments, the first image is received from another processing device, for example, via a data network. Those skilled in the art will understand that the data network can be of various types.
[0199] For example, in one or more embodiments, the data network is a local area network (LAN). In one or more embodiments, the data network is the internet.
[0200] It will be understood that the first image is selected from a set of images containing at least one single-cell topological stencil generated using the method described above.
[0201] In one or more embodiments, it will be understood that the image set further includes tiling generated using the method described herein.
[0202] In one or more embodiments, the image set will be understood to include at least one of a static color table and a dynamic color table.
[0203] In one or more embodiments, it will be understood that the image set further includes a QR code.
[0204] In one or more embodiments, it will be understood that the image set further includes a given image, for example, any imported image (e.g., a photograph).
[0205] In one or more embodiments, the dynamic color table will be understood to be generated using a method that includes the steps of generating a two-dimensional SFC by scanning a square, and dynamically associating a color from an RGB color cube with each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC. According to step 202 of Figure 48, a second image is obtained having the same given number of pixels as the first image.
[0206] Those skilled in the art will understand that the second image can be obtained according to various embodiments. In one or more embodiments, the second image is obtained from the memory of the processing unit.
[0207] In one or more embodiments, the second image is generated by a processing device. According to one or more embodiments, the first image is received from another processing device, for example, via a data network. Those skilled in the art will understand that the data network can be of various types.
[0208] For example, in one or more embodiments, the data network may be a local area network (LAN). In one or more embodiments, the data network may be the Internet.
[0209] Those skilled in the art will understand that the second image can be of various types. In fact, the second image can be one of the images described 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.).
[0210] According to step 204 in Figure 48, the first image is interleaved with the second image to provide the interleaved image. It will be understood that the interleaved image contains the same given number of metapixels as the given number of pixels in the first image.
[0211] Each metapixel includes both a central and peripheral portion.
[0212] The central portion includes at least one pixel having a related value equal to the value of a corresponding pixel in either the first or second image.
[0213] The peripheral portion surrounds the central portion and includes a plurality of pixels, each having a related value equal to the value of a corresponding pixel in the other of the first and second images.
[0214] Typographic systems and metapixels The list of colored points will help us understand that coordinate pairs can be associated with their corresponding colors in the Cartesian plane. This representation makes it possible to describe bitmap files without prior pixel ordering. To enlarge the size of the pixels, a single pixel can be represented as n 2 The concept of metapixels is introduced, where individual pixels are converted into squares, and these squares are then divided into inner and outer squares. The metapixel principle is essential for changing the physical print resolution, expressed as the number of pixels per centimeter, but it is also essential for forming additional areas for encoding colorimetric information. Figure 17 shows the transition from pixel representation to metapixel representation for a simple S-shaped Peano curve. Depending on the previously selected mode, the inner square or the sides of the square are colored using colors from a list of colored points.
[0215] Figure 18 shows the four available typographic modes associated with metapixels. The first mode is applied to metapixels without borders. The main square is colored using a dynamic color table. In the next mode (fd=0), the border thickness and a constant color can be assigned. In this case, the inner square is colored using the dynamic color table. In the next mode (fd=1), the color assignment is reversed compared to the previous mode. Finally, in the last mode (fd=2), the inner square is assigned the color from the static color table, and the rest of the metapixel is assigned the color from the dynamic table.
[0216] Typographic process The algorithms of this disclosure are intended to generate bitmap images at a specific resolution, for example, expressed in terms of dots per centimeter or dots per inch (DPI).
[0217] In the first algorithmic phase, the list of colored points is converted into an ordered list of RGB color codes, read from top left to bottom right, similar to a typewriter. This type of reading is found in many bitmap formats, particularly the ASCII PPM format. The SFC algorithm used to arrange the list of colored points into an ordered color list is the CD0uwLIG encoding function. In the second algorithmic phase, the list of pixel colors is converted into a list of metapixel colors.
[0218] The modPPM function in Figure 76a, commented out in Figure 76b, is the name of the bitmap file that will be generated. <name>, the number of pixels on one side of a printed square <nbrx>A list of colored points consisting of triplets representing pairs of Cartesian coordinates of points and their RGB codes. <lsv2v3>, Metapixel scale factor <dpi>, width of the metapixel boundary <bd>, boundary RGB color <v3b>, translation vectors of colors R, G, B <v3t>, vectors showing the calculation of the negative image for the three color channels. <v3n>Modes that use the boundaries and inner squares of metapixels <fd>, and finally a color table for colorizing the inner square of the metapixel. <postab>The input is [data]. This function returns the generated file in PPM format by calling the TABg2ppm function (Figure 101).
[0219] The TABg2lis function in Figure 100a, as explained in Figure 100b, provides a list of colors ordered according to the reading from top left to bottom right. This ordering is performed by the SFC decoding function, DC0uwLIG function in Figure 99. This function determines the resolution of the colored point table.< / postab> < / fd> < / bd> < / dpi> < / nbrx> < / name> < / n> < / g> < / f> < / per> < / plg> < / q> < / code> < / nbrdens> < / q> < / ind> < / nbr> < / code> < / lsrgb> < / n> < / lsdyn> <code> <code> and a list of colored points <ls>The input is [data]. This function returns an ordered list of RGB color codes. This ordering is the same as that of an ASCII PPM file.
[0220] The TAB2dpi function in Figure 77a, as explained in Figure 77b, calculates the color of the colored metapixel. This function is based on the size of the metapixel. <d>, color table <lsrgb>, Metapixel scaling coefficient <sca>boundary thickness <bd>Boundary color code <v3b>Metapixel coloring mode <fd>, and static color tables used to fill the inner squares of metapixels <tabmap>The input is [data]. This function returns a list of metapixel colors.
[0221] The CAS2dpi function in Figure 78a, as explained in Figure 78b, calculates the RGB color code associated with a given point. This function uses the index, which is the coordinate of the point in the Cartesian plane. and <j>List of colors <lsrgb>, list of parameters <ls>, and a list of color codes for filling the inner square of the metapixel. <tabmap>The input is RGB color code. This function returns the requested RGB color code. The flowchart for this function follows the typographic mode processing in Figure 18. The coordinates of the point to be colored are provided as input. If the metapixel boundary is zero, the color of the point is obtained from the color table passed as an argument. If the boundary is not zero, the state of the point, i.e., its position relative to the inner square of the metapixel, is tested. From this branch, the test is conditioned based on mode fd={0,1,2}. In mode 2, the color assigned to the point based on its position is either the color determined in the main color table (dynamic table) or the color determined in the image passed as an argument (static table).
[0222] The intMPIX function in Figure 79b, commented out in Figure 79b, calculates the position of a point relative to the inner square of the metapixel. This function is: 、 <sc> 、 <lign> 、 <bd>, and <sca>The input is [the specified value]. This function returns a value of 0 or 1 depending on the position of the point within the square.
[0223] Interleaving of dynamic and static color tables Those skilled in the art will understand that interleaving of dynamic tables is effective in the four typographic modes presented above. The SCRIPT003 function in Figure 80 shows the first three typographic modes applied to the dynamic table shown on the left side of Figure 19. In this case, the metapixels are unbounded, then have a 2-pixel thick border around a 20-pixel inner square in the upper right figure (fd=0), and finally have a 5-pixel border around a 14-pixel inner square in the lower right figure (fd=1).
[0224] Those skilled in the art will understand that nested static tables are pre-calculated bitmap images based on some source image but with the same degree of piracy as dynamic color tables. These can be multi-layer encrypted (scrambled) through basic or complex SFCs from a function table (library). In the case of photographs, the ratio of the metapixel edges to the inner squares determines the visual reading of the nested bitmap image. Figure 20 corresponds to the result of the SCRIPT004 script function in Figure 81. The final image on the right of the figure nests the dynamic color table in the upper left with a very low-resolution photographic image in the lower left.
[0225] Figure 21 shows a second example of interleaving a dynamic table with a photographic image. The SCRIPT007 function in Figure 82 is the generation script. The initial color changes of the image of the bust of Nefertiti, along with other parameters, are encrypted into the cryptographic key of the resulting bitmap image.
[0226] Those skilled in the art will understand that conventional QR codes can also be embedded in a topological stencil using metapixels with mode fd=2. The SCRIPT008 function in Figure 83 demonstrates this type of operation. The text associated with the QR code in this example is "Inventor of the QR Code, Masahiro Hara". In principle, two different codes can also be nested by replacing the dynamic color table with a second QR code. Figure 22 shows a graphical result of nesting the dynamic table in the upper left and the corresponding QR code in the lower left. The result of nesting is shown in the image on the right.
[0227] Encryption using SFC scrambling It will be understood that the combined use of static and dynamic color images can be particularly useful for identification and authentication. Scrambling of static tables can add a visual encryption component to the resulting bitmap. Figure 23 shows the scrambling of static tables and QR codes from two photographic images from the previous example. The simultaneous combination of photographic images and scrambled or unscrambled QR code images is handled within the framework of a multi-cell topological stencil.
[0228] Majus effect By using two square regions defined by metapixels, a set of metapixels can be used to encode two pieces of colorization information into the same region of a plane. The colorization consistency between the inner and outer regions of the metapixels is advantageously perceptible to a human visual system capable of distinguishing between two interleaved images.
[0229] According to step 206 in Figure 48, an interleaved image is provided.
[0230] Those skilled in the art will understand that the generated interleaved images can be provided according to various embodiments. In particular, those skilled in the art will understand that the embodiments may vary depending on the application.
[0231] According to one or more embodiments, the generated interleaved image is stored in the memory unit of the processing unit.
[0232] According to one or more embodiments, the interleaved image is transmitted via at least one data network to another processing unit operationally connected to the processing unit used in the implementation of the Method. Those skilled in the art will understand that the data network can be of various types.
[0233] For example, as part of one or more embodiments, the data network may be a local area network (LAN). According to one or more embodiments, the data network is the Internet.
[0234] In one or more embodiments not shown in Figure 48, the method further includes the step of obtaining an SFC or encoded MCG that scans the interleaved image.
[0235] The method provides a scrambled single-cell topological stencil by rearranging the points of an interleaved image using an SFC or encoded MCG, further comprising the step of changing the coordinates of the points of the interleaved image by rearranging so that for each given point that has the first corresponding coordinate in a given scan, a new coordinate corresponding to the same index as the index in the given scan is assigned in the SFC or encoded MCG, thereby enabling the provision of a scrambled interleaved image by rearranging.
[0236] Those skilled in the art will understand that providing scrambled interleaved images may be important for certain encryption-related applications.
[0237] Encryption of single-cell topological stencils As described above, a single-cell topological stencil is a graphical identifier consisting of an SFC that divides a square in a plane and a dynamic color table that enables the coloring of the regions divided by the SFCs. The division is achieved using one or more SFCs that are topologically combined. It will be understood by those skilled in the art that the color table can also be encrypted using the SFCs. Thus, a single-cell topological stencil is described by a set of parameters that provide a cryptographic signature. This consists, in particular, of the cryptographic key for each SFC involved in the topological division and the cryptographic key associated with the color table in one or more implementations.
[0238] Cryptographic signature Therefore, in such embodiments, the cryptographic signature of the single-cell topological stencil (Equation 15) is a set of cryptographic signatures related to the cryptographic signatures of the partitioning SFC and the color table.
[0239]
number
[0240] Figure 25 shows a topological stencil consisting of a single SFC (Single Fictional Crosspart) Hilbert curve, two dynamic tables (one for the inside and one for the outside of the curve), and a color table for the edges, which in this case is initialized to produce a constant black color.
[0241] Multiple Jordan divisions The quadratic function representation of Jordan polygons allows simple polygons to be merged into multi-connected polygons, which can then be merged with other polygons of arbitrary connectivity. This property enables combinatorial partitioning, where complexity increases with the addition of each new polygon. The number of different density values also increases, and as a result, color tables can be associated with each density value by defining a table for each value or by using a hash table. Figure 26 shows a multi-topological partition using three Jordan curves.
[0242] Algorithm configuration step Those skilled in the art will understand that constructing a stencil requires starting with the step of determining the color table, that is, selecting the coloring parameters that define the SFC directrix curve for each table and form the cryptographic signature for each table. In the example in Figure 27, there are two color tables generated corresponding to the coloring of two different topological regions induced by two different SFCs. Considering the selection of cryptographic parameters, the SFC on the left side of the figure is identifiable, unlike the SFC directrix curve on the right side of the figure.
[0243] The correspondence between the colored points in the table and the points positioned relative to the partitioned SFC is established by the density calculated for all points in the square containing the SFC. In the example in Figure 28, the density table on the left side of the figure shows density points with values of 0, 1, 2, 3, and 4. The densities of points positioned at edges, i.e., sides, and concave and convex vertices, have values of 2, 1, and 3, respectively, while densities of values 0 and 4 are associated with points in the interior and exterior regions closed by the Jordan polygon. The correspondence between density and color is achieved by a hash table with a variable number of entries.
[0244] The celUNI function in Figure 84a, as explained in Figure 84b, calculates a list of colored points within a given square. This function is a quadratic representation of the set of all SFC vertices used in the square's partitioning region. <q>, the lower left point of the so-called scan square <v2o>, and the upper right dot <v2e>It accepts the following as input. This function takes a list of colored points. It returns.
[0245] Dynamic Table Hashing The dynamic color table is grouped into hash tables. Mapping between densities is performed modularly by the celUNI function (Figures 84a, 84b) based on the number of entries in the output table and the density table. The SCRIPTaab script function in Figure 85 generates the image on the right in Figure 28. The initialization of three hash tables is shown in Figure 30. Two examples of tables with 5 entries and one example of a table with 13 entries are shown.
[0246] Ultimately, it will be understood by those skilled in the art that different hash tables can be associated with different density regions or grouped based on specific density values. Figure 29 illustrates the association of different density values with different dynamic tables. In this case, edges are less easily distinguishable to the naked eye than when a constant color such as black is generated using a dynamic table.
[0247] Single-cell topological stencil with Majus effect Those skilled in the art will understand that the Majus effect shown below, associated with the colorization of the inner square of the metapixel, can be used with any static or dynamic color table. One advantage of this operation is that the processes of visual identification and authentication can be separated. As in the previous example, all tables used can be scrambled by substituting the SFC directrix curve, resulting in permutations of colored points.
[0248] Figure 31 shows the Majus effect generated from a digital photograph. The readability of the photograph depends on the ratio of the metapixel edges to the inner square.
[0249] Figure 32 shows the Majus effect generated from a pre-calculated or publicly available dynamic table. The addition of symbols or shapes (circles, triangles, polygons) allows for the creation of a graphic code alphabet associated with a given numerical base, in which case text can be encoded based on the definition of the SFC declination curve. However, while vector representations using standard graphics languages automatically adapt to the available pixel resolution (pixels fill the vector region), equivalent bitmap representations where pixels form colored regions are more complex to implement and must rely on the principles of a graphics grid as defined below.
[0250] Octal multicell partitioning Figure 49 will reveal a computer implementation method for encoding information using tiling generated within a square.
[0251] According to step 280 in Figure 49, the information to be encoded is obtained. Those skilled in the art will understand that the nature of the information to be encoded can vary.
[0252] Furthermore, it will be understood by those skilled in the art that the information to be encoded can be obtained according to various embodiments. In one or more embodiments, the information is obtained from a computer performing the processing. In one or more embodiments, the information is obtained via another computer operationally connected to the processing computer. It will be understood by those skilled in the art that there are many alternative methods for obtaining the information.
[0253] According to step 300 of the method for generating the tiling shown in Figure 49, the SFC is generated within a square.
[0254] It will be understood that SFCs can be generated according to various embodiments.
[0255] According to step 302 of the method for generating tiling shown in Figure 49, tiling is generated. Tiling is generated by replacing each basic part of the SFC with the corresponding tiling.
[0256] According to step 304 of the method for generating the tiling shown in Figure 49, instructions for the generated tiling are provided.
[0257] It will be understood that this method is characterized by the use of the information to be encoded during the generation of the SFC in step 300. Those skilled in the art will understand that the information to be encoded can be used in various ways.
[0258] In practice, in one or more embodiments, the SFC is defined by eight basic parts of "S". In this or these embodiments, each of the eight basic parts corresponds to a given identical and fixed tiling.
[0259] In one or more embodiments of a method for generating tiling within a square, the method further includes the step of obtaining an ASCII string to be encoded. This method further includes the steps of converting the obtained ASCII string into a corresponding code sequence in a given numeric radix to fill a square array, and generating an SFC using a given Gray SFC declination curve, wherein each point of the Gray SFC declination curve is replaced with a pattern corresponding to a given code in the code sequence.
[0260] Those skilled in the art will understand that multi-cell partitioning aims to increase the complexity of the visual encryption of a topological stencil by partitioning each cell in a plane. It will be understood that a cell is a square partitioned region of the plane, and together with other identical cells, forms a complete square. In this case, the ordering of cells follows a given SFC directrix curve. Generally, to enable the association of a topological partition for each cell in a plane requires increasing the number of cryptographic keys, i.e., one set per cell, which is a relatively heavy process to implement. The solution of this disclosure involves constructing an automated multi-cell partition according to the vertices of the cell's inductive SFC.
[0261] general principle As described above, the principle of topological stencils involves, in one or more embodiments, a partition of a plane by Jordan polygons, in particular, including a topologically closed SFC. The topological stencil presented earlier is essentially single-cell, i.e., a single square of the plane is colored based on its associated parameters (cryptographic signature). Below, we disclose the concept of multi-cell partitioning, which enables encryption using a set of squares called cells that fill the main square of the plane. This set of cells is obtained by SFC guiding curves derived from an available library of basic or composite MCG SFCs. Next, we disclose an example of a topological partition based on a set of two trapezoids and one square per cell in octal base, and two triangles (Troussier tilings) in quaternary base. This set of polygons is centered on each vertex of the SFC directrix curve, which in this case is a composite SFC or MCG curve based on the basic Peano curve. The set of polygons is oriented according to the orientation of the basic curve associated with the cell. Figure 33 shows an iterative configuration of a spiral SFC, controlling a cell at each vertex composed of two trapezoids and one square (radix 8). The orientation of the polygons depends on the S-shaped basic Peano curves that fill the cell (left figure).
[0262] The existing geometric relationships between the polygons and curves of cells form the basis for the new systems of plane tiling and topological partitioning described below.
[0263] Pear Notreche Tiling Troussier tiling is a planar tiling consisting of a set of basic squares divided into two triangles of different colors. Therefore, there are four possible combinations of colored squares that constitute the quaternary coding of the plane. We describe a hybrid algorithmic coding system based on the MCG extension of Peano coupling functions and Troussier tiling theory. The principle involves associating eight basic graphic matrices with eight configurations of basic S-shaped directional Peano curves. This approach defines a new type of tiling in the plane, which we call Peano-Troussier tiling. Thus, the eight graphic matrices are called Peano-Troussier patterns, shown in Figure 34.
[0264] As described above, in one or more embodiments, it will be understood that the SFC is defined by eight basic "S" parts. In this or these embodiments, each of the eight basic parts corresponds to a given identical and fixed tiling.
[0265] The casTPZ function in Figure 86a, commented in Figure 86b, is intended to classify eight possible Peano-Troussier pattern types. This function uses three reference points for each basic Peano curve. <v2a> 、 <v2b> 、 <v2c>It takes this as input. This function returns the relevant case numbers from the eight shown in Figure 24, where the cases are 0, 2, 4, and 6 in the first row configuration, and 1, 3, 5, and 7 in the second row.
[0266] Tiling algorithm configuration The algorithmic generation of gray meta curves, constructed from the line segments of the basic S-curve, is based on a level 2 gray meta curve that introduces symmetry for all rotors. By enabling or disabling symmetry, regular or characteristic tilings can be generated. Figure 35 shows the direct generation of a regular octal tiling from an sW-type (W-class spiral) generated gray meta curve.
[0267] Those skilled in the art will understand that other types of regular or characteristic tiling can be generated by sequentially or individually activating symmetry in even-numbered or odd-numbered rotors. Figure 36 shows the generation of regular tiling after algorithmic modification of the symmetry of each S-curve.
[0268] Therefore, by calling the function DC2(i,2,[6,2],
[11] ,[[],[seq(2*i,i=1..24)]]), the symmetry of the even-numbered degree 1 rotors of the Gray meta curve shown on the left side of Figure 36 can be modified. The meta curve obtained after applying the symmetry is shown in the center of Figure 36, which enables the generation of the regular Peano-Troussier octal tiling shown on the right side of the figure. Figure 37 is obtained from an MCT of type DC2(i,2,[6,2],
[11] ). Figure 38 shows the selection of symmetry of the basic S curve of the spiral MCT on the left side of the figure to obtain the octal combinatorial spiral structure on the right side of the figure.
[0269] Vector and bitmap typography The previous figure was created using a vector graphics package that employs graphic primitives such as colored polygons. This approach must be complemented by bitmap techniques that require precise calculations without pixel-level approximations. Bitmap output is particularly necessary for typesetting on physical media. Furthermore, physical decoding of multi-cell topological stencils by image analysis requires reference points within the stencil associated with the polygonal targets. The ratios and dimensions of this type of calibration target are shown in Figure 39, satisfying the dual requirements of pixel accuracy for stencil editing and cell-by-cell polygonal pattern recognition. This calibration target is derived from a parameterized canvas of control points, enabling the generation of a radix 8 calibration target consisting of two trapezoids and one square, and a radix 4 calibration target consisting of two triangles. This calibration target principle can be extended to discretely encode the polygonal symbols and graphic shapes in Figure 32, or other graphic patterns based on control points.
[0270] The mireOCT function in Figure 90a, as explained in Figure 90b, calculates the set of coordinates for polygonal targets within a square cell. Control parameters allow modification of the octal-based ratio of the three polygons involved (two trapezoids and one square) and the quaternary-based ratio of the two triangles. This function provides a list of control point coordinates for each S-curve. <lsp>, the global scaling parameter of the main SFC directrix <sca>, pixel thickness between polygons <ep>Local scaling of polygons within cells <sc>, and the radix used to generate the calibration target <base> The input is a list of point coordinates for two trapezoids and one square. <tpz0> 、 <tpz1>, and <cr>, or a list of point coordinates of two triangles <tr0> 、 <tr1>It returns.
[0271] This function uses the first auxiliary function rapPTS in Figure 87a, commented in Figure 87b, which provides the coordinates of a point that is linearly dependent on two given points. The set of linear dependencies of the calibration target is thus calculated based on two control parameters. This function uses parameters predefined in the mireOCT function (Figures 90a, 90b). <sca>and <ep>The input is a list containing coordinate pairs. <v2>and the calculation parameters of linear dependence <lam> 、 <mu>, and <den>Outputs.
[0272] This function uses two other helper functions, ptsBS8 in Figure 88a (commented in Figure 88b) and ptsBS4 in Figure 89a (commented in Figure 89b), to calculate the points of each polygon of the calibration target from the control points in octal or quartal. These functions further call one additional helper function (trLS and scLS) to perform translation and scaling on the list of coordinate pairs, respectively.
[0273] The ptsBS8 function (Figures 88a and 88b) positions trapezoids and squares within the processing cell's reference frame. This function is a list of lists of coordinates for the three polygons. <v3v4>, scaling coefficient <sc>, the center point of the Peano curve <p4>, and points having coordinate pairs <v2>It accepts this as input.
[0274] The function ptsBS4 (Figures 89a and 89b) positions two triangles in the reference frame of the processing cell. This function is a list of lists of the coordinates of the two triangles. <v3v3>, scaling coefficient <sc>, the center point of the Peano curve <p4>, and points having coordinate pairs <v2>It takes as an argument.
[0275] The function mireOCT (Figures 90a and 90b) uses a final auxiliary function (called ptlNT) to calculate the intersection point of two lines defined by two points.
[0276] Octal multi-cell encryption It will be understood that integrating text with visual identifiers such as barcodes, QR codes, or data matrices will produce results that can be read by hardware or software decoders. The challenge of combining technical and visual triple responses to the problems of identification, authentication, and encryption is not solved in this case. Since the human eye cannot discern and interpret visual information, the graphical encoding of barcode technology only enables quick visual identification of the code in question for subsequent proper hardware decryption. Octal multi-cell encryption is intended to combine patterns, motifs, and visual signatures with text encoding. Text decryption is always left to hardware or software decoders, but the identification and authentication parts rely in part on human vision.
[0277] general principle Octal multi-cell encryption will be understood as intended to translate geometric octal tilings into colorized visual identifiers. Two approaches are disclosed: a first, fully graphical approach that leverages color interleaving applied to all octal cells, and a second, alphanumeric approach that encodes text using octal cells. Octal encryption makes it possible to create quaternary multi-cell encryption through some algorithmic modifications.
[0278] Cryptographic signature The cryptographic signature of a topological stencil in octal or quaternary multi-cell encryption consists of a set of integer numerical parameters, a list of quadratic function vertices, and a cryptographic key for color table mapping. This takes the following form:
[0279]
number
[0280] Color Table Nesting The calibration target in Figure 39 has three connected components in octal and two connected components in quaternary, allowing for different orientation combinations in the polygonal planes that constitute it, and consequently generating regions of different densities. Subsequently, filters are applied to the densities obtained after topological partitioning. These filters group specific densities based on the arithmetic predicate ≤ to establish a strategy for coloring the regions defined by the calibration target. The subsequent motMIRE function (Figures 91a, 91b) uses three different filter functions related to the values of specific main parameters of the calibration target. These functions are, in order, the colMIRE function (Figures 74a, 74b), the tabMIRE10 function (Figures 92a, 92b), and the tabMIRE12 function (Figures 93a, 93b).
[0281] The motMIRE function in Figure 91a, commented in Figure 91b, calculates a list of colored points for a given SFC curve based on an S-shaped basic Peano curve. This function generates a grid with a value of 8 or 4. <base> List of SFC points that are multiples of 9 <ls> It is the number obtained by subtracting 1 from the number of basic S-shaped curves corresponding to the width or height of a square.< / 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> , color table <tab0> 、 <tab1>, and <dyn0>, typographic parameters <sca> 、 <epsi> 、 <sc>, as well as an option to encode the color <code>This function takes the input as input and returns a list of the calculated colored points.
[0282] Peano-Troussier tiling is inherently two-colored, but can be generated in more colors depending on the properties of the generated metacurve. A four-color example can be easily achieved by coloring the tiles with four colors using the parity properties of the S-curve of the metacurve.
[0283] Therefore, generally speaking, by associating a dynamic color table with the tiling, it is possible to colorize the tiling with the same number of different colors as the number of tiles in the tiling, and by adding a different color to, for example, trapezoids. Creating a tiling with a chaotic color table involves calculating a dynamic color table associated with the directrix metacurve of that tiling.
[0284] The function tabMIRE10 in Figure 92a, commented in Figure 92b, filters the density for a density of 8 and divides the plane into two topological regions. Each region is associated with a given color table. This function is the resolution of the squares representing the cells. <atab>, two color tables associated with two different regions <tab0>and <tab1>The scaling factor of the calibration target controls the resolution of the calibration target on a pixel-by-pixel basis. <sca>, diagonal of the colored window <v2o>and <v2e>, as well as the set of quadratic vertices of the partition <q>The input is [the specified input]. This function returns a list of colored points belonging to the colored window.
[0285] The function tabMIRE12 in Figure 93a, as explained in Figure 93b, filters the density based on three density ranges and divides the plane into three topological regions. This function is the resolution of the squares representing the cells. <atab>, two color tables associated with two different regions <tab0>and <tab1>, parameters of the dynamic table associated with the third area <dyn0>The scaling factor of the calibration target controls the resolution of the calibration target on a pixel-by-pixel basis. <sca>, diagonal of the colored window <v2o>and <v2e>, as well as the set of quadratic vertices of the partition <q>The input is [the specified input]. This function returns a list of colored points belonging to the colored window.
[0286] Octal calibration target Those skilled in the art will understand that the calibration of an octal calibration target aims to adjust the calibration target parameters to the desired final image. These parameters determine the visual reading of the final topological stencil and its reading by the optical decoding device (hardware and software). Figure 40 shows the generation of topological stencils for several image resolutions used as color tables.
[0287] Octal alphanumeric encryption Alphanumeric octal encryption is a variation of geometric octal encryption designed to control geometric tiling by text. Figure 41 shows the difference between geometric tiling and its associated Gray SFC and alphanumeric tiling and its associated non-Gray SFC, using the same color table. In the latter case, the orientation of the polygons in the pattern automatically adapts to the text encoding performed in octal or quaternary from the SFC declination curve.
[0288] Therefore, alphanumeric octal encryption converts text into a sequence of octal patterns that encode the text along a given SFC. This operation, which orients the patterns by the octal encoding of the text rather than the underlying S curves of those cells, generally breaks the Gray structure of the curves. The loss of this Gray encoding is shown in Figure 42, which shows that the message Leonardo da Vinci is encoded as an ASCII character list (A), then as an octal character table (Oα) arranged from top to bottom like conventional text, and finally as an octal character table (Oα) arranged according to a spiral SFC.
[0289] The textOCT function in Figure 94a, as explained in Figure 94b, converts the initial text into a code sequence of a given numeric radix to fill a square array. This algorithm encodes the text and, if necessary, adds a sequence of characters to fill all cells of the square array. This function encodes the text to be encoded. <text>and coding base <base> The input is [the specified input]. This function outputs a sequence of codes whose number of elements is a perfect square.
[0290] SFC directrix curve for text The sfcBS84 function in Figure 95a, as explained in Figure 95b, generates a non-Gray SFC obtained from encoded text. This SFC, composed of elements of an S-shaped Peano curve, itself has a Gray SFC declination curve. This curve is part of the cryptographic key for octal or quaternary text. This function is the SFC declination curve <type> , SFC resolution< / type> < / text> < / q> < / sca> < / atab> < / q> < / sca> < / atab> < / code> < / sc> < / epsi> < / sca> < / tab0> <code> , and a list of octal or quartal characters associated with each point on the SFC, as appropriate. <lsoct>The input is [data]. This function returns a list of generated non-Gray SFC points.
[0291] Chimera encryption system The encryption system referred to below as Chimera uses the inner square of the metapixel to perform octal or quaternary alphanumeric encryption. n The message is encoded in combination with number-based encryption. Therefore, the message is encoded in the form of a sequence of n pixels, for example, n=1 for a binary message. Figure 43 shows a graphical identifier encoded with the Chimera protocol, using two photographic images as a color table and a binary bitmap matrix as a third color table.
[0292] The postAB function in Figure 96a, commented out in Figure 96b, is the number of pixels on one side of the square containing the message. <d>, a list of sequential positions of set bits <lspos>, type of SFC bit ordering in a plane <type>RGB color code of binary points <v3rgb0>and <v3rgb1>The input is a list of colorization points. Outputs.
[0293] Adaptation to quaternary encryption Those skilled in the art will understand that it is possible to use quaternary encryption instead of octal encryption. The principle is to specialize the octal grid for operation in quaternary mode. The calculation function for the two triangles of the grid is described by the ptsBS4 function (Figures 89a and 89b). The remaining process for the quaternary topological stencil is otherwise exactly the same as the process for the octal stencil. Figure 44 shows the generation of a quaternary stencil consisting of three color tables corresponding to the three images at the top of the figure. These images have a resolution of 199 × 199. The quaternary message "https: / / www.cote-basque.com" is ordered by the same spiral SFC as in Figure 42. The lower left image provides a visual result that can be adjusted based on parameters related to metapixels. Thus, the readability of the three photographic components can be adjusted. In the lower right image, a magnification of some of the metapixels in the lower left image can be visualized.
[0294] Summary Example A summary example of the Chimera encryption system is presented. Returning to the image interleaving example in Figure 44, we switch to octal encryption mode. The following text, "https: / / www.cote-basque.com / NFT / Images / Chimere", is encoded. All parameters and operation sequences for generating the final topological stencil are described in the SCRIPT199f function in Figure 97.
[0295] The visual results are shown in Figure 45. The image on the left shows the octal characters of the text positioned on the SFC directrix, and the image on the right shows the final stencil result.
[0296] Ordering in a plane By using a list of colored points, specifying the position of each point using Cartesian coordinates and their RGB codes, any digital image can be explicitly exchanged. This approach eliminates the need to specify the relative ordering of the points. The drawback of this approach is the exorbitant memory size of the images that need to be exchanged. For this reason, implicit exchange is preferred. In this case, a predetermined ordering of the colored points is applied to the storage of the color list and is reapplied when the colors are used, for example, when they are displayed. The ordering process, often chosen by digital graphics standards, uses a typewriter-like reading from top-left to bottom-right. This process is equivalent to the implicit selection of SFC declination curves for ordering, in terms of data reading and rendering. Therefore, the challenge faced in all the presented literature is the explicit exchange of SFCs used for ordering the plane via cryptographic keys.
[0297] general principle The planar ordering principle involves the systematic use of SFCs provided by join tables and libraries and exchanged via cryptographic keys. In this case, the cryptographic keys of the SFCs themselves become parameters that enable their generation, and therefore their encoding and decoding. This approach has another advantage: by replacing storage SFCs with different reading SFCs, the images are scrambled. This strategy can be used to make cryptographic attacks on transmitted images difficult or to allow reading of images by specific rights holders.
[0298] Figure 46 shows the conventions for saving and reading color images in ASCII PPM format. The planar ordering is OXY- instead of the conventional OXY ordering. The color table used for colorizing the character B is generated from an arbitrary SFC declination curve, different from the SFC declination curve of the PPM format, and must be transformed between SFCs to map each coordinate pair to its ordered space in a Cartesian discrete ordered space.
[0299] OXY- for planar ordering Printing pixels and colorized metapixels on the OXY plane often requires adherence to specific graphics standards. This applies to the PPM format, defined by color ordering starting from the origin located in the upper left corner with the Y-axis inverted. Thus, the principle is to rearrange the list of colors associated with conventional OXY plane coordinate pairs into a list of colors that can be displayed on the OXY plane.
[0300] The CD0uwLIG and DC0uwLIG functions in Figures 98 and 99 are basic SFCs belonging to a special combination table and library, which in particular ensure the conversion between colored points positioned on a plane and the sequencing of the RGB codes of those points for display or printing on the OXY plane. The decoding function DC0uwLIG (Figure 99) is the index of a given point. <ind>, width and height of the indexing rectangle <lg>and <ht>The input is given by this function. This function returns a coordinate pair of the point with a given index. The related coding function CD0uwLIG (Figure 98) is used for width and height. <lg>and <ht>This function takes the positive or zero coordinates of a point in a rectangular OXY plane as input and returns the index of that point in the OXY plane.
[0301] The TABg2lis function in Figure 100a, commented in Figure 100b, sorts a list of colors that can be displayed in the OXY plane, enabling their display in the OXY plane. This function determines the resolution of the display rectangle.< / ht> < / lg> < / ht> < / lg> < / ind> < / type> < / lspos> < / d> < / lsoct> and , as well as a list consisting of columns of pairs formed by coordinate pairs and associated colors. <ls>The input is [this].
[0302] The TAB2ppm function in Figure 101 writes a bitmap file in ASCII PPM format. This function calculates the number of pixels in the width and height of the bitmap rectangle. <nbrpixl>and <nbrpixh>List of RGT color triplets <ls>, directory where the output file will be located <path>, and its name <nf>The input is: This function generates<nf.ppm> Return the file.
[0303] Basic colorimetric operations Generating a palette or color table that results in a list of unique RGB codes without overlap means that color selection is automatic, without any relationship between colors and the symbolism they may possess. This approach does not specifically address potential challenges such as insufficient contrast between adjacent colors or the use of reserved color codes to enable quick visual identification. For example, red and white are used to associate a graphic identifier with Switzerland. Simple post-processing of colors can change this coloration, for example, by translating the RGB codes or inverting or complementary (negative) the color codes channel by channel. Therefore, it is useful to add these color manipulation parameters to the cryptographic key to make the RGB codes modifiable on the fly. The operation of translating RGB codes can also break the uniqueness of RGB codes by exceeding the memory encoding limit of the codes, resulting in a code overwrite effect where the codes are returned to the range of 0 to 255 after translation is performed.
[0304] general principle Traditional post-processing operations on RGB codes are transformed into on-the-fly operations, and the operation parameters are integrated into the cryptographic key. Only the translation operator, RGB code complementarity, and channel permutations are practically integrated. It is also possible to extend RGB coding to other standardized color codings. In this case, the 3D SFC associated with the RGB cube is replaced by a higher-dimensional SFC associated with a hypercube containing the hypercode of the selected color model.
[0305] RGB code manipulation Two types of conventional color manipulation can complicate the histogram structure.
[0306] The perRGB function in Figure 102a, as explained in Figure 102b, is: <rgb>One indicator from six permutations selected from the code and three colors. <comb>The input is [data]. This function returns the RGB codes after channel permutation.
[0307] The rgbTRNG function in Figure 103a, as explained in Figure 103b, performs translation and complementary color operations on RGB codes. This function performs translation and complementary color operations on RGB codes. <v3>, translation vector <v3t>, and complementary color vectors of RGB color codes <v3n>It takes the RGB color code as an argument. This function returns the converted RGB color code.
[0308] Color model expansion The proposed cryptographic system can be easily extended to RGBA coding or other color models. In this case, a 4-dimensional SFC from a combination table and library can be used. Generally, in color models using floating-point numbers, an initial transformation of these numbers to rational numbers (affine space) is applied, followed by a transformation to projective space to achieve integer-based coding. This method allows any floating-point number to be represented by a pair of integers.
[0309] It will be understood that, according to one or more embodiments, information can be encoded and encrypted using one of the methods described above. In relation to encryption, the signature is not exchanged initially.
[0310] Those skilled in the art will understand that elements can be identified or authenticated using one of the methods described above.
[0311] Those skilled in the art will understand that elements can have a variety of properties. According to one or more embodiments, an element is an object.
[0312] It will be understood that at least one or more embodiments of the described methods solve one or more problems and thus bring many advantages.
[0313] Regarding the challenges of generating encrypted images, it will be understood that a pseudo-random function system is disclosed that enables the generation of images that are statistically indistinguishable from purely random images. This enables the iterative and adaptive generation of pseudo-random images with random statistical behavior, and in one or more embodiments, a pseudo-random function system based on a Gray meta curve is also described that enables near real-time reversible image generation.
[0314] Regarding the complexity challenge, it will be understood that in one or more embodiments, an adaptive solution between orderly order and pseudo-random irregularity is disclosed. This challenge is also addressed in one or more embodiments by optimizing the Kolmogorov complexity of the file, which is the shortest possible length of computer program required to reconstruct the image file. The advantage of this is that the computer program that generates the image acts as the cryptographic key for the image.
[0315] Regarding the challenges of indexing codecs, it should be noted that in one or more embodiments, this is solved using indexing based on 2D, 3D, and nD Gray Meta curves. The advantage of this is that it enables coding and decoding using anonymous functions with polynomial complexity. In one or more embodiments, this challenge is also solved by using indexing based on extended 2D, 3D, and nD Cantor curves. The advantage of this is that it enables coding of simple polynomial complexity and decoding of factorial complexity.
[0316] Regarding the challenges of using permutation libraries, in one or more embodiments, this is solved by using Gray curve and metacurve libraries, which is advantageous because it eliminates the need to generate purely random numbers and enables permutations of 2D (pixels), 3D (voxels), and nD (hypervoxels).
[0317] Regarding the numerical precision challenges mentioned above, in one or more embodiments, this is solved by using arbitrary-precision integers. The advantage of this is that it enables unconditional geometric and topological programming (without if statements or special cases). In one or more embodiments, this challenge is also solved by using a limited set of operators such as +, -, *, irem, iquo, isqrt, ^, and mod2 (parity check). The advantage of this is that it enables reversible bijective coding and decoding functions. In one or more embodiments, this challenge is also avoided by avoiding the use of trigonometric functions, the advantage of which is that it enables the use of rational formulas for circles.
[0318] Regarding memory management issues, in one or more embodiments, this is solved by using a dynamically generated color table on the fly. The advantage of this is that sequential or parallel processing of the list of colored pixels is possible. In one or more embodiments, this issue is also solved by using a procedural Jordan polygon, which is advantageous because sequential or parallel processing (GPU pipeline) of the polygon vertices is possible. In one or more embodiments, this issue is also solved by processing a block of still images, which is advantageous because distributed processing of blocks is possible using appropriate SFC scheduling.
[0319] Regarding hardware programming challenges, in one or more embodiments, this is solved by a hybrid parallel architecture with dedicated processors (GPU, MPPA, FPGA), which has the advantage of enabling optimization of computation time for real time. This challenge is also solved by using a processor-specific parallel language, which has the advantage of enabling optimization of parallel processing granularity. In one or more embodiments, this challenge is solved by using an algorithmic programming language with a parallel ecosystem such as JULIA, which has the advantage of facilitating the extension of a parallel programming library for new gray meta curve functions.
[0320] References [1]Francisco Gualpuyohualcal. Codex Mendoza. https: / / codicemendoza.inah.gob.mx / index.php?lang=english,1541. [2]Jean Truchet and Sebastien Truchet. Methode pour faire une infinite de desseins differens, avec des carreaux mi-partis de deux couleurs par une ligne diagonale : ou observations du pere dominique douat... sur un memoire insere dans l’histoire de l’academie royale des sciences de paris l’annee 1704 presente par... sebastien truchet... Chez Florentin de Laulne, 1722. [3]Kikuo Tanaka. Irohabiki moncho. https: / / archive.org / details / irohabikimoncho00tana / mode / 2up, 1881. [4]Edouard Lucas. Recreations mathematiques. Gauthier-Villars et fils, 1883. [5]G. Peano. Sur une courbe, qui remplit toute une aire plane. Mathematische Annalen, 36 :157-160, 1890. [6] David Hilbert. On the continuous mapping of a line onto a flat piece. Mathematische Annalen, 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: / / en.wikiquote.org / wiki / De_Stijl,1921. [9]Claude E Shannon. A mathematical theory of cryptography. Mathematical Theory of Cryptography, 1945.
[10] W Wunderlich. On peano curves. Elements of Mathematics, 28:1-10, 1973.
[11] Mark Levoy. Area flooding algorithms. Two-Dimensional Computer Animation, Course Notes 9 for SIGGRAPH, 82, 1981.
[12] Vinzenz Brinkmann. The painted name inscriptions on the north and east friezes of the Siphnierschatzhaus. Bulletin de correspondance hellenique, 109(1):77-130, 1985.
[13] Robert Fisch, Janko Gravner, and David Griffeath. Cyclic cellular automata in two dimensions. In Spatial stochastic processes, pages 171-185. Springer, 1991.
[14] Heinz-Otto Peitgen, Hartmut Jurgens, Dietmar Saupe, and Mitchell J Feigenbaum. Chaos and fractals: new frontiers of science. Springer, 1992.
[15] Donald Eastlake, Steve Crocker, and Jeff Schiller. Randomness recommendations for security. Technical report, RFc 1750, December 1994.
[16] Hans Sagan. Space-filling curves. Springer-Verlag, 1994.
[17] Jean-Francois Rotge. L’arithmetique des Formes : une introduction a la logique de l’espace. PhD thesis, Universite de Montreal, 1997.
[18] Jim Reeds. John dee and the magic tables in the book of soyga. https: / / archive.org / details / jimreedssoyga , 1998.
[19] Revital Dafner, Daniel Cohen-Or, and Yossi Matias. Context-based space filling curves. In Computer Graphics Forum, volume 19, pages 209-218. Wiley Online Library, 2000.
[20] Anne-Marie Decaillot. Geometrie des tissus. Mosaiques, Echiquiers. Mathematiques curieuses et utiles. Revue d’histoire des mathematiques, 8(2) :145-206, 2002.
[21] Jean-Paul Delahaye. La complexite mesuree. Pour la science, 314 :34-8, 2003.
[22] Vicky Liu, William Caelli, Ernest Foo, and Selwyn Russell. Visually sealed and digitally signed documents. In Computer Science 2004. Proceedings of the Twenty-Seventh Australasian Computer Science Conference (ACSC2004), pages 287-294. Australian Computer Society, 2004.
[23] Nithin Nagaraj, Vivek Vaidya, and Prabhakar G Vaidya. Re-visiting the one-time pad. arXiv preprint cs / 0508079, 2005.
[24] Levi Valgaerts. Space-filling curves an introduction. Technical University Munich, 2005.
[25] Aldo Cortesi. Generating colour maps with space-filling curves. https: / / corte.si / posts / code / hilbert / swatches , 2010.
[26] Ljiljana Radovic and Slavik Jablan. Vasarely’s work-invitation to mathematical and combinatorial visual games. In Proceedings of Bridges 2010: Mathematics, Music, Art, Architecture, Culture, pages 127-134, 2010.
[27] MN Vahia and Nisha Yadav. Harappan geometry and symmetry: A study of geometrical patterns on indus objects. Indian Journal of History of Science, 45(3) :343-368, 2010.
[28] S. Kamata. A common key encryption algorithm using n-dimensional hilbert curves. In 2011 7th International Conference on Information Assurance and Security (IAS), pages 275-279, Dec. 2011.
[29] Hamed Sheidaeian, Mohammad Reza Abbasifard, and Behrouz Zolfaghari. Visual Cryptography and Image Steganography Using Space Filling Hilbert Curves. In International Conference on Advanced Computer Theory and Engineering, 4th (ICACTE 2011). ASME Press, 01 2011.
[30] 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.
[31] Ebrahim Zarei Zefreh, Sara Rajaee, and Meysam Farivary. Image security system using recursive cellular automata substitution and its parallelization. In 2011 CSI International Symposium on Computer Science and Software Engineering (CSSE), pages 77-86. IEEE, 2011.
[32] Michael Bader. Space-filling curves: an introduction with applications in scientific computing. Springer Science & Business Media, 2012.
[33] Peter Grassberger. Randomness, information, and complexity. arXiv preprint arXiv :1208.3459, 2012.
[34] Huseyin Kocak. 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.
[35] Jean-Francois Rotge. De l’indexation des hypertreillis pyramidaux au codage combinatoire des listes de nombres entiers. hal preprint 00717421, 2012.
[36] V Suresh and CE Veni Madhavan. Image encryption with space-filling curves. Defence Science Journal, 62(1) :46, 2012.
[37] M Ephin, Judy Ann Joy, and NA Vasanthi. Survey of chaos based image encryption and decryption techniques. In Amrita International Conference of Women in Computing (AICWIC’13) Proceedings published by International Journal of Computer Applications (IJCA), 2013.
[38] Toufik Mansour. Combinatorics of set partitions. CRC Press Boca Raton, 2013
[39] Musheer Ahmad, Hamed D Alsharari, and Munazza Nizam. Security improvement of an image encryption based on mpixel-chaotic-shuffle and pixel-chaotic-diffusion. arXiv preprint arXiv :1403.6626, 2014.
[40] Anne-Marie Decaillot. Les Recreations Mathematiques d’Edouard Lucas : quelques eclairages. Historia Mathematica, 41(4) :506-517, 2014.
[41] YuanYuan Sun, Lina Chen, Rudan Xu, and Ruiqing Kong. An image encryption algorithm utilizing julia sets and hilbert curves. PloS one, 9: e84655, 01 2014.
[42] Possibly Wrong. allrgb: Hilbert curves and random spanning trees. https: / / possiblywrong.wordpress.com / 2014 / 04 / 18 / allrgb-hilbert-curves-and-random-spanning-trees / , 2014.
[43] David Griffeath. The cyclic cellular automaton. https: / / github.com / cormas / Griffeath-model, 2015.
[44] Sohn JiAe. A glimpse at joseon royal seals. https: / / www.korea.net / NewsFocus / Culture / view?articleId=124596 , 2015.
[45] 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.
[46] Jay Eastman. Brief history of barcode scanning. OSA Century of Optics, page 128, 2016.
[47] 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.
[48] Assa Naveh and Eran Tromer. Photoproof : Cryptographic image authentication for any set of permissible transformations. In 2016 IEEE Symposium on Security and Privacy (SP), pages 255-271. IEEE, 2016.
[49] Gary Santoro. Victor vasarely’s alphabet plastique. https: / / vertufineart.com / victor-vasarelys-alphabet-plastique / , 2016.
[50] 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.
[51] Michael Buchanan. U.S. returns lost treasures of Korea. https: / / eca.state.gov / ivlp / highlight / us-returns-lost-treasures-korea / article-photo-gallery, 06 2017.
[52] 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.
[53] 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.
[54] Fatih Ozkaynak. 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.
[55] Nazim Uddin Sheikh, Tapan Kumar Hazra, Hasina Rahman, Kanyasree Mustafi, and Ajoy Kumar Chakraborty. Multi-variable bijective mapping for secure encryption and decryption. In 2017 8th Annual Industrial Automation and Electromechanical Engineering Conference (IEMECON), pages 338-345. IEEE, 2017.
[56] Bhaskar Mondal. Cryptographic image scrambling techniques, 2018.
[57] Jdd Nkapkop, Yves Effa, and Laurent Bitjoka. Design et implementation d’un crypto-systeme d’images base sur le chaos : Chiffrement d’images par chaos et applications, 08 2018.
[58] Mohit Jain Puneet Kaushik. Study and analysis of image encryption algorithm based on arnold transformation. International Journal of Computer Engineering Technology (IJCET), 9(5) :59-63, 2018.
[59] Jean-Francois Rotge. Method and system for coding information, February 2018. 9900024-14357468-USPTO.
[60] Gayathri Vijayaraghavan. A survey on security and efficiency issues in chaotic image encryption. 04 2018.
[61] Vishal Devireddy. Allrgb. https: / / vishald.com / blog / allrgb / , 2019.
[62] A. Flores-Vergara, E. E. Garcia-Guerrero, E. Inzunza-Gonzalez, O. Lopez-Bonilla, E. Rodriguez-Orozco, J. R. Cardenas-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.
[63] Rongjun Ge, Guanyu Yang, Jiasong Wu, Yang Chen, Gouenou Coatrieux, and Limin Luo. A novel chaos-based symmetric image encryption using bit-pair level process. IEEE Access, 7 :99470-99480, 2019.
[64] Xingbin Liu, Di Xiao, Wei Huang, and Cong Liu. Quantum block image encryption based on arnold transform and sine chaotification model. IEEE Access, 7 :57188-57199, 2019.
[65] Manal A. Mizher, Riza Sulaiman, Ayman M. Abdalla, and Manar A. Mizher. An improved simple flexible cryptosystem for 3d objects with texture maps and 2d images. Journal of Information Security and Applications, 47 :390 - 409, 2019.
[66] Yoon-Sung Park and Ji-Su Kim. A study on the typeface of font, the shape royal seal of the ex-emperor sugang in the joseon dynasty. Journal of Digital Convergence, 17(11) :493-499, 2019.
[67] Zhenjun Tang, Ye Yang, Shijie Xu, Chunqiang Yu, and Xianquan Zhang. Image encryption with double spiral scans and chaotic maps. Security and Communication Networks, 2019, 2019.
[68] Waldemar Berchtold, Huajian Liu, Martin Steinebach, Dominik Klein, Tobias Senger, and Nicolas Thenee. Jab code-a versatile polychrome 2d barcode. Electronic Imaging, 2020(3) :207-1, 2020.
[69] Kathryn Devereaux. Twisted gourd (xicalcoliuhqui): The symbolic language of the pre-columbian rainmakers, a cosmovision of divine rule of a triadic universe. https: / / thetinkuy.wordpress.com / , 05 2020.
[70] Wen-Wen Hu, Ri-Gui Zhou, Jia Luo, She-Xiang Jiang, and Gao-Feng Luo. Quantum image encryption algorithm based on arnold scrambling and wavelet transforms. Quantum Information Processing, 19(3) :1-29, 2020.
[71] Sohn JiAe. Historical seals from Joseon Dynasty returned to Korea. https: / / www.korea.net / NewsFocus / Culture / view?articleId=182538 , 02 2020.
[72] Bhawnesh Kumar, Umesh Kumar Tiwari, Santosh Kumar, Vikas Tomer, and Jasmeet Kalra. Comparison and performance evaluation of boundary fill and flood fill algorithm. Int. J. Innov. Technol. Explor. Eng, 8 :9-13, 2020.
[73] Willy Scheibel, Matthias Trapp, Daniel Limberger, and Jurgen Dollner. A taxonomy of treemap visualization techniques. 02 2020.
[74] Jai Ganesh Sekar and C Arun. Comparative performance analysis of chaos based image encryption techniques. Journal of critical reviews, 7(9) :1138-1143, 2020.
[75] Zen Juen Lau, Tam Pham, SH Annabel, and Dominique Makowski. Brain entropy, fractal dimensions and predictability: A review of complexity measures for eeg in healthy and neuropsychiatric populations. 2021.
[76] Dirk Rijmenants. Cipher machines and cryptology one-time pad. https: / / www.ciphermachinesandcryptology.com / en / onetimepad.htm, 2021.
[77] Francoise Bahoken. The charm of Herbin. https: / / neocarto.hypotheses.org / 14254, 2022.
[78] Jean-Francois Rotge. Coupling functions and chaining of surface Gray curves with center. https: / / hal.archives-ouvertes.fr / hal-03745896 / file / Article13.pdf, @August 2022. Working paper or preprint.
[79] Jean-Francois Rotge. Coupling functions and chaining of surface Gray curves with kernels. https: / / hal.archives-ouvertes.fr / hal-03745216 / file / Article14.pdf, August 2022. Working paper or preprint.
[80] Jean-Francois Rotge. Coupling functions and chaining of surface Gray curves with reflections. https: / / hal.archives-ouvertes.fr / hal-03744206 / file / Article15.pdf, August 2022. Working paper or preprint.
[81] Jean-Francois Rotge. Coupling functions and chaining of surface Gray curves in the shape of loops. https: / / hal.archives-ouvertes.fr / hal-03737365 / file / Article10.pdf, July 2022. Working paper or preprint.
[82] Jean-Francois Rotge. Coupling functions and chaining of meander-shaped surface Gray curves. https: / / hal.archives-ouvertes.fr / hal-03737998 / file / Article11.pdf, July 2022. Working paper or preprint.
[83] Jean-Francois Rotge. Coupling functions and chaining of spiral-shaped surface Gray curves. https: / / hal.archives-ouvertes.fr / hal-03738025 / file / Article12.pdf, July 2022. Working paper or preprint.
[84] Jean-Francois Rotge. Coupling functions and chaining of surface Gray curves in the form of steps. https: / / hal.archives-ouvertes.fr / hal-03745141 / file / Article16.pdf, August 2022. Working paper or preprint.
[85] Jean-Francois Rotge. Coupling functions and chaining of Gray curves and metacurves generalizing Hilbert curves. https: / / hal.archives-ouvertes.fr / hal-03773928 / file / Article9.pdf, September 2022. Working paper or preprint.
[86] Jean-Francois Rotge. Coupling functions and chaining of surface Gray metacurves with rotors. https: / / hal.archives-ouvertes.fr / hal-03768804 / file / Article2.pdf, September 2022. Working paper or preprint.
[87] Jean-Francois Rotge. Principles of chaining Gray curves. https: / / hal.archives-ouvertes.fr / hal-03759184 / file / Article5.pdf, August 2022. Working paper or preprint.
[88] Vasarely Foundation. Alveole 5. https: / / www.fondationvasarely.org / alveole-5 / , 2022.
[89] Wikipedia. Self-avoiding walk. https: / / en.wikipedia.org / wiki / Self-avoiding_walk, 2022.
[90] Landesmuseum Wurttemberg. Federschild: Meander und son. https: / / www.leo-bw.de / detail / - / Detail / details / DOKUMENT / lmw_museumsobjekte / 62 / Federschild+%22M%C3%A4ander+und+Sonne%22+aztekisch+um+1520, 2022.
[91] Bhaskar Mondal. Cryptographic Image Scrambling Techniques, pages 37-65. 12 2018. < / comb> < / rgb> < / nf> < / path> < / ls> < / nbrpixh> < / nbrpixl> < / ls> < / code> < / code> < / code> < / ls> < / uw>
Claims
1. A computer implementation method for encoding information using a single-cell topological stencil, Steps to obtain the information to be encoded, A step of generating a divided region within a square using at least one of the Jordan polygon generation unit, the SFC generation unit, and the Hamilton cycle generation unit, The step of converting the generated divided region into a series of triplets representing the divided region, each of which triplets is defined by one point and two adjacent points, The steps include: determining the density associated with each point of the square using the aforementioned series of triplets; The steps include generating the single-cell topological stencil by coloring each point of the square using at least the associated density, The steps of providing the single-cell topological stencil and In a method including, The method is characterized in that the information to be encoded is used in at least one of the steps of generating the divided region within the square, determining the density associated with each point of the square, and coloring each point of the square.
2. A method according to claim 1, wherein the step of coloring each point of the square includes the step of associating a given color with each density obtained.
3. A method according to claim 1, wherein the step of coloring each point of the square includes, for a given point, associating a given color table with each density, and selecting a color from the given color table using the position of the given point in the square.
4. A method according to any one of claims 1 to 3, further comprising the steps of: obtaining an SFC or encoded MCG that scans the square; and providing a scrambled single-cell topological stencil by rearranging the points of the single-cell topological stencil using the SFC or encoded MCG, wherein the rearrangement changes the coordinates of the points of the single-cell topological stencil so that for each given point having the first corresponding coordinate in a given scan, a new coordinate corresponding to the same index as the index in the given scan is assigned in the SFC or encoded MCG, wherein the information to be encoded is used in at least one of the steps of: generating the divided region within the square; determining the density associated with each point of the square; coloring each point of the square; and obtaining the SFC or encoded MCG.
5. A computer implementation method for encoding information using tiling generated within a square, Steps to obtain the information to be encoded, The steps include generating an SFC within the aforementioned square, The steps include generating tiling within the square by replacing each basic part of the generated SFC with the corresponding tiling, The steps include providing instructions for the generated tiling and A method comprising the steps of which the information to be encoded is used in the step of generating the SFC.
6. The method according to claim 5, wherein the SFC is defined by eight "S" shaped basic parts, and the corresponding tiling corresponds to a given identical and fixed tiling in each of the eight basic parts.
7. A method according to claim 5, further comprising the steps of: obtaining an ASCII string to be encoded; converting the ASCII string into a corresponding code sequence in a given numeric radix to fill a square array; and generating an SFC using a given Gray SFC directrix, wherein each point of the Gray SFC directrix is replaced with a pattern corresponding to a given code in the corresponding code sequence.
8. A computer implementation method for encoding information using images, A step of acquiring a first image having a given number of pixels, A step of obtaining a second image having the same given number of pixels as the first image, The step is to interleave the first image with the second image to provide an interleaved image, wherein the interleaved image includes the same given number of metapixels as the given number of pixels in the first image, and each metapixel is A central portion including at least one pixel having a related value equal to the value of a corresponding pixel in either the first image or the second image, and A peripheral portion surrounding the central portion, each containing a plurality of pixels having a related value equal to the value of the corresponding pixel in the other of the first and second images. Steps including, The steps of providing the interleaved image and In a method including the above, the first image is Single-cell topological stencil produced using the method described in any one of claims 1 to 4 A method characterized by selecting from a group of images that include at least [a specific element].
9. The method according to claim 8, wherein the group of images further comprises tiling generated using any one of claims 5 to 7.
10. A method according to claim 8 or 9, wherein the group of images further comprises a given image.
11. The method according to claim 8 or 9, wherein the group of images further includes a QR code.
12. A method according to any 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. A method according to claim 12, wherein the dynamic color table is generated according to a method comprising the steps of: generating a two-dimensional SFC that scans the square; and dynamically associating a color from an RGB color cube with each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC.
14. The method according to claim 8, wherein the interleaving method is selected from the group comprising four typographic modes.
15. A method according to any one of claims 8 to 14, further comprising the steps of: obtaining an SFC or encoded MCG for scanning the interleaved image; and using the SFC or encoded MCG to rearrange the points of the interleaved image to provide a scrambled single-cell topological stencil, wherein the rearrangement changes the coordinates of the points of the interleaved image such that for each given point having the first corresponding coordinate in a given scan, a new coordinate is assigned in the SFC or encoded MCG corresponding to the same index as the index in the given scan, thereby enabling the provision of a scrambled interleaved image by the rearrangement.
16. Use of the method according to any one of claims 1 to 15 for encrypting information.
17. A single-cell topological stencil generated using the method described in any one of claims 1 to 4.
18. An image generated using the method described in any one of claims 8 to 15.
19. Use of the image according to claim 18 for identifying or authenticating elements.
20. In the use of an image according to claim 19, the element is an object.
21. A computer implementation method for performing identification or authentication using a dynamic color table within a square, A step of generating a 2D SFC that scans a square containing multiple pixels, The steps include: dynamically associating a color from an RGB color cube with each pixel of the square using a hash function, wherein the association is controlled by the hash function using at least one parameter and the generated SFC; A step of providing a generated color table that enables identification or authentication. Methods that include...
22. A method according to claim 21, further comprising the step of changing the value of each pixel in the generated color table.