Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR GENERATING AN IMAGE AND USE THEREOF TO ENCODE AND ENCRYPT INFORMATION
Document Type and Number:
WIPO Patent Application WO/2024/089567
Kind Code:
A1
Abstract:
The invention describes a method and a system for encoding and encrypting information. The method comprises obtaining information to be encoded, generating a partition, the partition being generated by way of at least a Jordan polygon generator, an SFC generator and a closed Hamiltonian path generator; converting the generated partition into a series of triplets representing the partition, wherein each triplet is defined by a point and its two neighbors; determining a density associated with each point using the series of triplets; colorizing each point using at least the associated density so as to generate the unicellular topological stencil. The method is characterized in that the information to be encoded is used in at least one of generating the partition, determining the density associated with each point and colorizing each point.

Inventors:
ROTGÉ JEAN-FRANÇOIS (CA)
Application Number:
PCT/IB2023/060636
Publication Date:
May 02, 2024
Filing Date:
October 20, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SGDL INNOVATION SA (CH)
International Classes:
G06T1/00; G06T11/40; G09C5/00
Attorney, Agent or Firm:
FASKEN MARTINEAU DUMOULIN LLP (CA)
Download PDF:
Claims:
REVENDICATIONS : 1. Une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’un stencil topologique unicellulaire, la méthode comprenant : obtenir de l’information à encoder; générer une partition dans un carré, la partition étant générée au moyen d’au moins un générateur de polygones de Jordan, un générateur de SFC et un générateur de chemin Hamiltonien fermé; convertir la partition générée en une série de triplets représentant la partition, dans laquelle chaque triplet est définit par un point et ses deux voisins; déterminer une densité associée à chaque point du carré en utilisant la série de triplets; coloriser chaque point du carré en utilisant au moins la densité associée pour générer le stencil topologique unicellulaire; et fournir le stencil topologique unicellulaire; caractérisée en ce que l’information à encoder est utilisée dans au moins une de la génération de la partition dans un carré, de la détermination de la densité associée à chaque point du carré et de la colorisation de chaque point du carré. 2. La méthode revendiquée à la revendication 1, dans laquelle la colorisation de chaque point du carré comprend associer à chaque densité déterminée une couleur donnée. 3. La méthode revendiquée à la revendication 1, dans laquelle la colorisation de chaque point du carré comprend pour un point donné: associer à chaque densité une table de couleurs donnée, et sélectionner une couleur dans la table de couleurs donnée en utilisant une position du point donné dans le carré.

4. La méthode revendiquée à une des revendications 1 à 3, comprenant de plus : obtenir une SFC ou une MCG de codage parcourant le carré, et réordonnancer chaque point du stencil topologique unicellulaire au moyen de la SFC ou de la MCG de codage afin de fournir un stencil topologique unicellulaire brouillé, le réordonnancement modifiant les coordonnées de chaque point du stencil topologique unicellulaire tel que pour chaque point donné ayant des coordonnées correspondantes données initiales dans un balayage donné, des nouvelles coordonnées sont attribuées à ce point, ces nouvelles coordonnées correspondants à un indice identique dans la SFC ou dans la MCG de codage qu’un indice dans le balayage donné; caractérisée en ce que l’information à encoder est utilisée dans au moins une de la génération de la partition dans le carré, de la détermination de la densité associée à chaque point du carré, de la colorisation de chaque point du carré, et de l’obtention de la SFC ou de la MCG de codage. 5. Une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’un pavage généré dans un carré, la méthode comprenant : obtenir de l’information à encoder; générer une SFC dans un carré; générer un pavage dans le carré en utilisant la SFC générée; le pavage étant généré en remplaçant chaque portion élémentaire de la SFC par un pavage correspondant; et fournir une indication du pavage généré; caractérisée en ce que l’information à encoder est utilisée lors de la génération de la SFC. 6. La méthode revendiquée à la revendication 5, dans laquelle la SFC est définit par 8 portions élémentaires en « S » et dans laquelle le pavage correspondant correspond à un pavage donné identique et fixe pour chacune des 8 portions élémentaires.

7. La méthode revendiquée à la revendication 5, comprenant de plus : obtenir une chaine ASCII à coder, convertir la chaine ASCII en une séquence de codes correspondants dans une base numérique donnée remplissant un tableau carré, générer une SFC au moyen d’une courbe directrice SFC de Gray donnée dans laquelle chaque point de la courbe directrice SFC de Gray est remplacé par un motif correspondant à un code donné de la séquence de codes. 8. Une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’une image, comprenant : obtenir une première image ayant un nombre donné de pixels; obtenir une seconde image ayant un nombre donné de pixels identique au nombre donné de pixels de la première image; intriquer la première image avec la seconde image pour fournir une image intriquée, l’image intriquée comprenant un nombre donné de métapixels identique au nombre donné de pixels de la première image, chaque métapixel comprenant : une portion centrale comprenant au moins un pixel ayant une valeur associée égale à celle d’un pixel correspondant dans une de la première image et de la seconde image, une portion périphérique entourant la portion centrale, la portion périphérique comprenant une pluralité de pixels ayant chacun une valeur associée égale à celle du pixel correspondant à l’autre de la première image et de la second image; et fournir l’image intriquée, caractérisée en ce que la première image est sélectionnée dans un groupe d’images comprenant au moins: un stencil topologique unicellulaire généré au moyen de la méthode revendiquée dans une des revendications 1 à 4.

9. La méthode revendiquée à la revendication 8, dans laquelle le groupe d’images comprend de plus un pavage généré au moyen d’une des revendications 5 à 7. 10. La méthode revendiquée à une des revendications 8 à 9, dans laquelle le groupe d’images comprend de plus une image donnée. 11. La méthode revendiquée à une des revendications 8 à 9, dans laquelle le groupe d’images comprend de plus un code QR. 12. La méthode revendiquée à une des revendications 8 à 11, dans laquelle le groupe d’images comprend de plus au moins une d’une table de couleurs statique et d’une table de couleurs dynamique. 13. La méthode revendiquée à la revendication 12, dans laquelle la table de couleurs dynamique est générée selon une méthode comprenant : générer une SFC en deux dimensions parcourant le carré; et utiliser une fonction de hachage permettant d’associer dynamiquement des couleurs d’un cube RGB de couleurs à chaque pixel du carré, dans laquelle l’association est contrôlée par la fonction de hachage au moyen d’au moins un paramètre et de la SFC générée. 14. La méthode revendiquée à la revendication 8 dans laquelle le schéma d’intrication est sélectionné parmi un groupe comprenant quatre modes typographiques. 15. La méthode revendiquée à une des revendications 8 à 14, comprenant de plus obtenir une SFC ou une MCG de codage parcourant l’image intriquée, et réordonnancer chaque point de l’image intriquée au moyen de la SFC ou de la MCG de codage afin de fournir un stencil topologique unicellulaire brouillé, le réordonnancement modifiant les coordonnées de chaque point de l’image intriquée tel que pour chaque point donné ayant des coordonnées correspondantes données initiales dans un balayage donné, des nouvelles coordonnées sont attribuées à ce point, ces nouvelles coordonnées correspondants à un indice identique dans la SFC ou dans la MCG de codage qu’un indice dans le balayage donné; le réordonnancement permettant de fournir une image intriquée brouillée.

16. L’utilisation de la méthode revendiquée à une des revendications 1 à 15 pour chiffrer de l’information. 17. Un stencil topologique unicellulaire généré au moyen de la méthode revendiquée dans une des revendications 1 à 4. 18. Une image générée au moyen de la méthode revendiquée dans une des revendications 8 à 15. 19. Utilisation de l’image revendiquée à la revendication 18 pour identifier ou authentifier un élément. 20. L’utilisation de l’image revendiquée à la revendication 19, dans laquelle l’élément est un objet. 21. Une méthode mise en œuvre par ordinateur pour effectuer une identification ou une authentification au moyen d’une table de couleurs dynamique dans un carré, la méthode comprenant : générer une SFC en deux dimensions parcourant un carré comprenant une pluralité de pixels; utiliser une fonction de hachage permettant d’associer dynamiquement des couleurs d’un cube RGB de couleurs à chaque pixel du carré, dans laquelle l’association est contrôlée par la fonction de hachage au moyen d’au moins un paramètre et de la SFC générée; et fournir la table de couleurs générée, la table de couleurs générée permettant d’effectuer une identification ou une authentification 22. La méthode revendiquée à la revendication 21, comprenant de plus la modification de la valeur de chaque pixel de la table de couleurs générée.

Description:
MÉTHODE ET SYSTÈME POUR GÉNÉRER UNE IMAGE ET SON UTILISATION POUR ENCODER ET CHIFFRER DE L’INFORMATION PRIORITÉ La demande de brevet revendique la priorité créée par le dépôt de la demande de brevet ayant pour titre « MÉTHODE ET SYSTÈME POUR GÉNÉRER UNE IMAGE ET SON UTILISATION POUR CRYPTER DE L’INFORMATION » déposée le 27 octobre 2022 au Canada et portant le numéro 3,180,047. DOMAINE TECHNOLOGIQUE La présente invention se rapporte au domaine de la cryptographie. Plus précisément, cette demande de brevet a pour objet une méthode et un système pour générer une image et son utilisation pour encoder et chiffrer de l’information. ART ANTÉRIEUR Les exemples d’alphabet graphique qui permettent de générer des images sont divulgués dans les références Ref. [26, 49, 88] ainsi que dans la référence Ref. [77]. Des exemples de partition géométrique d’un tableau sont divulgués dans les références Ref. [8, 73]. Des exemples de colorisation d’une région par remplissage par diffusion sont divulgués dans les références Ref. [11, 72]. Des exemples de colorisation d’une région par remplissage par méthode topologique sont divulgués dans la référence Ref. [17]. Des premiers exemples d’identifiants graphiques réalisés historiquement par des sceaux sont divulgués dans la référence Ref. [27]. Des premiers exemples d’identifiants graphiques réalisés par des blasons sont divulgués dans les références Ref. [1, 69,90]. Des premiers exemples d’identifiants graphiques réalisés par des tampons sont divulgués dans les références Ref. [44, 51, 66, 71]. Des premiers exemples d’identifiants graphiques de type symboles de Gengi se trouvent dans les références Ref. [3, 38]. Un exemple d’identifiant graphique traditionnel transposé dans le monde numérique est divulgué dans la référence Ref. [22]. Une introduction aux identifiants graphiques de type QRcode est décrite dans la référence Ref. [47]. Une introduction aux identifiants graphiques de type barcode est divulguée dans les références Ref. [46, 68]. Des exemples de textes d’introduction aux SFC sont divulgués dans les références Ref. [16, 19, 24, 32]. Les textes historiques de présentation des SFC sont divulgués dans les références Ref. [5, 6, 7, 10]. Des exemples de l’utilisation des SFC en cryptographie sont divulgués dans les références Ref. [28, 55, 65]. Les textes de présentation de la généralisation des SFC de type cantorien sont divulgués dans les références Ref. [35, 59]. Les textes de présentation des courbes et métacourbes de Gray (MCG) sont divulgués dans les références Ref. [78, 87, 81, 82, 85, 86, 79, 80, 83, 84]. Des exemples qui permettent d’aider à la différenciation des principes aléatoire et chaos sont divulgués dans les références Ref. [15, 64, 70]. La notion de complexité de Kolgomorov est présentée dans la référence Ref. [21]. Le concept d’attracteur en théorie du chaos est présenté dans les références Ref. [14, 34]. Le principe du système cryptographique One Time Pad (OTP) et de génération d’image aléatoire est présenté dans les références Ref. [23, 76]. Un exemple de système cryptographique chaotique est présenté dans la référence Ref. [62]. Des exemples de formalisation mathématique de motifs sont divulgués dans les références Ref. [4, 20, 40]. La théorie des pavages de Truchet est divulguée dans la référence Ref. [2]. Le principe de brouillage en cryptographie est divulgué dans la référence Ref. [56]. Des exemples d’utilisation des SFC en encryption d’images sont divulgués dans les références suivantes Ref. [36, 41]. Des exemples de processus chaotiques en cryptographie des images sont divulgués dans les références Ref. [29, 37, 57, 58, 60, 67, 72, 74]. Une utilisation des courbes de Hilbert pour de l’encryption de texte est divulguée dans la référence Ref. [50]. Le principe de chemin auto évitant (Self-avoiding walk) ou SAW est présenté et vulgarisé en référence pour illustrer la transformation d’un SAW en polygone de Jordan. Il sera apprécié que l’art antérieur souffre de nombreuses limitations. En effet, la problématique de génération d’une image chiffrée utilisée dans un système de chiffrement caractérisé par un protocole symétrique et hybride pour les clés de chiffrement qui sont par ailleurs les procédures chiffrées de génération de l’image chiffrée est double. En effet, si l’image est purement aléatoire (One Time Pad) alors l’image est mathématiquement inviolable mais on se trouve dans l’impossibilité d’identification visuelle et d’authentification numérique sans une lourde bibliothèque sécurisée permettant de comparer les images. Si l’image est pseudo-aléatoire alors le décryptage peut s’effectuer avec perte, l’authentification de l’image par comparaison devenant impossible. Une autre limitation de l’art antérieur est la gradation de la complexité. En fait, la problématique liée à la complexité des images produites est reliée à la nature même des images qui peut-être le résultat soit d’un ordre organisé soit d’une complexité structurée, soit d’un désordre pseudo-aléatoire, soit d’un désordre aléatoire. Une autre limitation de l’art antérieur est la sécurité du protocole de chiffrement. La problématique de sécurité du protocole de chiffrement revient à obtenir des images chiffrées qui puissent être identifiées visuellement ou par procédé logiciel ou matériel. La résilience aux attaques est complexifiée par le niveau d’information visuelle qui est fournie directement par l’image et peut faciliter les pistes d’attaques. D’autre part le respect strict du principe de Kerckhoffs "l’adversaire connait le système" donne à cet adversaire des informations pour casser les chiffrements dans l’immédiat et possiblement le système dans le futur ce qui est un problème. Une autre limitation de l’art antérieur concerne le fait que l’indexation de type hash est généralement non réversible avec des possibilités de collisions. D’autre part les fonctions de hash sont répertoriées et connues des attaquants. La problématique pour choisir le bon CODEC d’indexation est d’abord liée au choix de nouvelles fonctions mathématiques de couplage bijectif dont le processus de construction ne soit connu que de la personne générant l’image chiffrée (fonction anonyme). La problématique est par ailleurs liée si nécessaire au choix de fonctions de couplage dont le décodage par sa complexité est dissuasif. Ces dernières fonctions peuvent-être composées avec les précédentes. Une autre limitation de l’art antérieur concerne le recours aux librairies de permutations. En fait, la problématique de recours à des librairies de permutations est celle de l’hétérogénéité des fonctions dont les performances de calcul sont très inégales mais également de la vulnérabilité de ces fonctions aux attaques. Les librairies les plus connues sont les librairies de fonctions "Chaotic Map" et les librairies de fonctions de génération d’images bijectives. Une autre limitation de l’art antérieur concerne la précision numérique. En fait, la problématique de précision numérique est essentiellement due à l’usage des nombres flottants dans les calculs qui empêchent les tests précis dans les tests topologiques dans les phases de codage et provoquent des pertes de précision dans les fonctions de décodage avec la perte de la capacité à authentifier du fait de la non bijectivité numérique des fonctions. Une autre limitation de l’art antérieur concerne la gestion de la mémoire. La personne versée dans le domaine appréciera que la problématique de la gestion de la mémoire peut être due à la taille mémoire des images importées dites statiques comme des photos ou des codes QR, à la taille des images produites dites dynamiques comme les tables de couleurs et finalement à la taille des polygones de Jordan due au nombre de sommets du polygone. Une autre limitation de l’art antérieur est la programmation du matériel. En fait la problématique de programmation du matériel provient des différents paradigmes de parallélisme rencontrés : parallélisme de données pour la colorisation des pixels et parallélisme de tâches pour la colorisation des régions topologiques. Il existe donc un besoin pour au moins une méthode et un système qui permettent de résoudre au moins une limitation présente dans l’art antérieur. SOMMAIRE Selon un aspect de la technologie il est présenté un système visuel d'identification et d'authentification produisant une image chiffrée ou un flux vidéo d'images chiffrées. Selon un aspect de la technologie il est décrit une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’un stencil topologique unicellulaire, la méthode comprenant obtenir de l’information à encoder; générer une partition dans un carré, la partition étant générée au moyen d’au moins un générateur de polygones de Jordan, un générateur de « Space Filling Curves » (SFC) et un générateur de chemin Hamiltonien fermé; convertir la partition générée en une série de triplets représentant la partition, dans laquelle chaque triplet est définit par un point et ses deux voisins; déterminer une densité associée à chaque point du carré en utilisant la série de triplets; coloriser chaque point du carré en utilisant au moins la densité associée pour générer le stencil topologique unicellulaire; et fournir le stencil topologique unicellulaire; caractérisée en ce que l’information à encoder est utilisée dans au moins une de la génération de la partition dans un carré, de la détermination de la densité associée à chaque point du carré et de la colorisation de chaque point du carré. Selon une ou plusieurs réalisations, la colorisation de chaque point du carré comprend associer à chaque densité déterminée une couleur donnée. Selon une ou plusieurs réalisations, la colorisation de chaque point du carré comprend pour un point donné associer à chaque densité une table de couleurs donnée, et sélectionner une couleur dans la table de couleurs donnée en utilisant une position du point donné dans le carré. Selon une ou plusieurs réalisations, la méthode comprend de plus obtenir une SFC ou une MCG de codage parcourant le carré, et réordonnancer chaque point du stencil topologique unicellulaire au moyen de la SFC ou de la MCG de codage afin de fournir un stencil topologique unicellulaire brouillé, le réordonnancement modifiant les coordonnées de chaque point du stencil topologique unicellulaire tel que pour chaque point donné ayant des coordonnées correspondantes données initiales dans un balayage donné, des nouvelles coordonnées sont attribuées à ce point, ces nouvelles coordonnées correspondants à un indice identique dans la SFC ou dans la MCG de codage qu’un indice dans le balayage donné; caractérisée en ce que l’information à encoder est utilisée dans au moins une de la génération de la partition dans le carré, de la détermination de la densité associée à chaque point du carré, de la colorisation de chaque point du carré, et de l’obtention de la SFC ou de la MCG de codage. Selon un aspect de la technologie, il est décrit une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’un pavage généré dans un carré, la méthode comprenant obtenir de l’information à encoder; générer une SFC dans un carré; générer un pavage dans le carré en utilisant la SFC générée; le pavage étant généré en remplaçant chaque portion élémentaire de la SFC par un pavage correspondant; et fournir une indication du pavage généré et la méthode est caractérisée en ce que l’information à encoder est utilisée lors de la génération de la SFC. Selon une ou plusieurs réalisations, la SFC est définit par 8 portions élémentaires en « S » et dans laquelle le pavage correspondant correspond à un pavage donné identique et fixe pour chacune des 8 portions élémentaires. Selon une ou plusieurs réalisations, la méthode comprend de plus obtenir une chaine ASCII à coder, convertir la chaine ASCII en une séquence de codes correspondants dans une base numérique donnée remplissant un tableau carré, générer une SFC au moyen d’une courbe directrice SFC de Gray donnée dans laquelle chaque point de la courbe directrice SFC de Gray est remplacé par un motif correspondant à un code donné de la séquence de codes. Selon un aspect de la technologie, il est décrit une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’une image, comprenant obtenir une première image ayant un nombre donné de pixels; obtenir une seconde image ayant un nombre donné de pixels identique au nombre donné de pixels de la première image; intriquer la première image avec la seconde image pour fournir une image intriquée, l’image intriquée comprenant un nombre donné de métapixels identique au nombre donné de pixels de la première image, chaque métapixel comprenant : une portion centrale comprenant au moins un pixel ayant une valeur associée égale à celle d’un pixel correspondant dans une de la première image et de la seconde image, une portion périphérique entourant la portion centrale, la portion périphérique comprenant une pluralité de pixels ayant chacun une valeur associée égale à celle du pixel correspondant à l’autre de la première image et de la second image; et fournir l’image intriquée, caractérisée en ce que la première image est sélectionnée dans un groupe d’images comprenant au moins: un stencil topologique unicellulaire généré au moyen de la méthode décrite ci-avant. Selon une ou plusieurs réalisations, le groupe d’images comprend de plus un pavage généré au moyen de la méthode décrite ci-avant. Selon une ou plusieurs réalisations, le groupe d’images comprend de plus une image donnée. Selon une ou plusieurs réalisations, le groupe d’images comprend de plus un code QR. Selon une ou plusieurs réalisations, le groupe d’images comprend de plus au moins une table de couleurs statique et une table de couleurs dynamique. Selon une ou plusieurs réalisations, la table de couleurs dynamique est générée selon une méthode comprenant : générer une SFC en deux dimensions parcourant le carré; et utiliser une fonction de hachage permettant d’associer dynamiquement des couleurs d’un cube RGB de couleurs à chaque pixel du carré, dans laquelle l’association est contrôlée par la fonction de hachage au moyen d’au moins un paramètre et de la SFC générée. Selon une ou plusieurs réalisations, le schéma d’intrication est sélectionné parmi un groupe comprenant quatre modes typographiques. Selon une ou plusieurs réalisations, la méthode comprend de plus obtenir une SFC ou une MCG de codage parcourant l’image intriquée, et réordonnancer chaque point de l’image intriquée au moyen de la SFC ou de la MCG de codage afin de fournir un stencil topologique unicellulaire brouillé, le réordonnancement modifiant les coordonnées de chaque point de l’image intriquée tel que pour chaque point donné ayant des coordonnées correspondantes données initiales dans un balayage donné, des nouvelles coordonnées sont attribuées à ce point, ces nouvelles coordonnées correspondants à un indice identique dans la SFC ou dans la MCG de codage qu’un indice dans le balayage donné; le réordonnancement permettant de fournir une image intriquée brouillée. Selon une ou plusieurs réalisations, la méthode décrite ci-avant est utilisée pour chiffrer de l’information. Selon une ou plusieurs réalisations, il est décrit un stencil topologique unicellulaire généré au moyen de la méthode mentionnée ci-avant. Selon une ou plusieurs réalisations, il est décrit une image générée au moyen de la méthode mentionnée ci-avant. Selon une ou plusieurs réalisations, il est décrit l’utilisation de l’image mentionnée précédemment pour identifier ou authentifier un élément. Selon une ou plusieurs réalisations, l’élément est un objet. Selon une ou plusieurs réalisations, il est décrit une méthode mise en œuvre par ordinateur pour effectuer une identification ou une authentification au moyen d’une table de couleurs dynamique dans un carré, la méthode comprenant : générer une SFC en deux dimensions parcourant un carré comprenant une pluralité de pixels; utiliser une fonction de hachage permettant d’associer dynamiquement des couleurs d’un cube RGB de couleurs à chaque pixel du carré, dans laquelle l’association est contrôlée par la fonction de hachage au moyen d’au moins un paramètre et de la SFC générée; et fournir la table de couleurs générée, la table de couleurs générée permettant d’effectuer une identification ou une authentification. Selon une ou plusieurs réalisations, la méthode mentionnée ci-avant comprend de plus la modification de la valeur de chaque pixel de la table de couleurs générée. BRÈVE DESCRIPTION DES FIGURES Une ou plusieurs réalisations de l’invention et de ses avantages apparaîtront avec plus de détails dans le cadre de la description qui suit avec des exemples donnés à titre indicatif en référence aux figures annexées. La figure 1 illustre un exemple de MCG de niveau 7; La figure 2 illustre un réordonnancement par MCG à rotors; La figure 3 illustre la taxonomie des courbes de Gray; La figure 4 illustre la taxonomie des polygones de Jordan; La figure 5 illustre des chemins auto-évitants; La figure 6 illustre les points fantômes d’une métacourbe en U; La figure 7 illustre les points fantômes d’une métacourbe en W; La figure 8 illustre un exemple de table cryptée tabCODE(7,[1234,12345]); La figure 9 illustre un exemple d’effet cinétique et chaotique; La figure 10 illustre un exemple de table cinétique et d’interférences visuelles; La figure 11 illustre des exemples de tables dynamiques; La figure 12 illustre des empreintes colorimétriques en mode 2; La figure 13 illustre des empreintes colorimétriques en mode 1; La figure 14 illustre la colorisation des densités; La figure 15 illustre la colorisation des lettres A et B à 2 et 3 composantes connexes; La figure 16 illustre la colorisation du mot AB à 5 composantes connexes; La figure 17 illustre le principe de métapixel; La figure 18 illustre les modes typographiques associés à un métapixel; La figure 19 illustre les modes de contrôle 0 et 1 des métapixels; La figure 20 illustre l’intrication d’une table dynamique cryptée et d’une image photo; La figure 21 illustre l’intrication d’une table dynamique et image statique (photo); La figure 22 illustre l’intrication d’une table dynamique et d’un QR-code statique; La figure 23 illustre le brouillage des images résultantes des figures 20 et 22; La figure 24 illustre un effet Majus à partir d’une table dynamique; La figure 25 illustre l’association entre des clés de chiffrement et des régions topologiques; La figure 26 illustre un partitionnement topologique de Jordan multiple; La figure 27 illustre des tables dynamiques cryptées en mode cinétique et chaotique; La figure 28 illustre un tableau des densités associé à un stencil topologique; La figure 29 illustre une association générale de tables dynamiques; La figure 30 illustre des exemples d’initialisation de tables de hachage de tables dynamiques; La figure 31 illustre un effet Majus par intrication d’une photo numérique et d’une table dynamique; La figure 32 illustre un effet Majus avec une table dynamique précalculée; La figure 33 illustre la construction d'un pavage multicellulaire; La figure 34 illustre les 8 motifs de Péano-Truchet; La figure 35 illustre la génération d'un pavage régulier Péano-Truchet sans symétries; La figure 36 illustre la génération d’un pavage de Péano-Truchet régulier; La figure 37 illustre la représentation octale d’une métacourbe DC2(i,2,[6,2],[11]) décrite dans la référence Ref. [86]; La figure 38 illustre la représentation octale d’une spirale SW; La figure 39 illustre les mesures et proportions de la mire; La figure 40 illustre la calibration de la mire octale; La figure 41 illustre un octal géométrique et alphanumérique; La figure 42 illustre le codage d’un texte en octal sur une SFC spiralée; La figure 43 illustre l’insertion d’un message binaire par intrication; La figure 44 illustre le chiffrement quaternaire de type Chimère; La figure 45 illustre le chiffrement octal à SFC directrice de texte DC0uM; La figure 46 illustre un ordonnancement des couleurs PPM; La figure 47 illustre une méthode pour encoder de l’information au moyen d’un stencil topologique unicellulaire selon une réalisation; La figure 48 illustre une méthode pour encoder de l’information au moyen d’une image selon une réalisation; La figure 49 illustre une méthode pour encoder de l’information au moyen d’un pavage; La figure 50 illustre un générateur de partitionnement topologique du plan (SLstencylSYS1); La figure 51 illustre un générateur de table dynamique des couleurs (SLstencylSYS2); La figure 52 illustre un générateur de pavage géométrique (SLstencylSYS3); La figure 53 illustre un générateur de palette de couleurs (SLstencylSYS4); La figure 54 illustre un système d’appariement entre les indicateurs topologiques et les couleurs (SLstencylSYS5); La figure 55 illustre un configurateur typographique à base de métapixels (SLstencylSYS6); La figure 56 illustre un générateur de tables binaires à partir de texte (SLstencylSYS7); La figure 57 illustre le code de la fonction tabDC; La figure 58 illustre le code de la fonction tabCD; La figure 59 illustre le code de la fonction polJORD; La figure 60 illustre le code de la fonction indDC; La figure 61 illustre le code de la fonction indJFR; La figure 62a illustre le code de la fonction indSOM; La figure 62b illustre les commentaires du code de la fonction indSOM; La figure 63a illustre le code de la fonction cctQUA; La figure 63b illustre les commentaires du code de la fonction cctQUA; La figure 64a illustre le code de la fonction ptsQUA; La figure 64b illustre les commentaires du code de la fonction ptsQUA; La figure 65a illustre le code de la fonction indJFRQ2; La figure 65b illustre les commentaires du code de la fonction indJFRQ2; La figure 66a illustre le code de la fonction tabCODE; La figure 66b illustre les commentaires du code de la fonction tabCODE; La figure 67a illustre le code de la fonction tabDC3; La figure 67b illustre les commentaires du code de la fonction tabDC3; La figure 68a illustre le code de la fonction indRGBv; La figure 68b illustre les commentaires du code de la fonction indRGBv; La figure 69a illustre le code de la fonction tabPIX; La figure 69b illustre les commentaires du code de la fonction tabPIX; La figure 70a illustre le code de la fonction lstabDYN; La figure 70b illustre les commentaires du code de la fonction lstabDYN; La figure 71a illustre le code de la fonction tabDYN; La figure 71b illustre les commentaires du code de la fonction tabDYN; La figure 72a illustre le code de la fonction rgbCODE; La figure 72b illustre les commentaires du code de la fonction rgbCODE; La figure 73a illustre le code de la fonction codeRGB; La figure 73b illustre les commentaires du code de la fonction codeRGB; La figure 74a illustre le code de la fonction colMIRE; La figure 74b illustre les commentaires du code de la fonction colMIRE; La figure 75a illustre le code de la fonction lsv2v3DEN; La figure 75b illustre les commentaires du code de la fonction lsv2v3DEN; La figure 76a illustre le code de la fonction modPPM; La figure 76b illustre les commentaires du code de la fonction modPPM; La figure 77a illustre le code de la fonction TAB2dpi; La figure 77b illustre les commentaires du code de la fonction TAB2dpi; La figure 78a illustre le code de la fonction CAS2dpi; La figure 78b illustre les commentaires du code de la fonction CAS2dpi; La figure 79a illustre le code de la fonction intMPIX; La figure 79b illustre les commentaires du code de la fonction intMPIX; La figure 80 illustre le code de la fonction SCRIPT003; La figure 81 illustre le code de la fonction SCRIPT004; La figure 82 illustre le code de la fonction SCRIPT007; La figure 83 illustre le code de la fonction SCRIPT008; La figure 84a illustre le code de la fonction celUNI; La figure 84b illustre les commentaires du code de la fonction celUNI; La figure 85 illustre le code de la fonction SCRIPTaab; La figure 86a illustre le code de la fonction casTPZ; La figure 86b illustre les commentaires du code de la fonction casTPZ; La figure 87a illustre le code de la fonction rapPTS; La figure 87b illustre les commentaires du code de la fonction rapPTS; La figure 88a illustre le code de la fonction ptsBS8; La figure 88b illustre les commentaires du code de la fonction ptsBS8; La figure 89a illustre le code de la fonction ptsBS4; La figure 89b illustre les commentaires du code de la fonction ptsBS4; La figure 90a illustre le code de la fonction mireOCT; La figure 90b illustre les commentaires du code de la fonction mireOCT; La figure 91a illustre le code de la fonction motMIRE; La figure 91b illustre les commentaires du code de la fonction motMIRE; La figure 92a illustre le code de la fonction tabMIRE10; La figure 92b illustre les commentaires du code de la fonction tabMIRE10; La figure 93a illustre le code de la fonction tabMIRE12; La figure 93b illustre les commentaires du code de la fonction tabMIRE12; La figure 94a illustre le code de la fonction texOCT; La figure 94b illustre les commentaires du code de la fonction texOCT; La figure 95a illustre le code de la fonction sfcBS84; La figure 95b illustre les commentaires du code de la fonction sfcBS84; La figure 96a illustre le code de la fonction posTAB; La figure 96b illustre les commentaires du code de la fonction posTAB; La figure 97 illustre le code de la fonction SCRIPT99j; La figure 98 illustre le code de la fonction CD0uwLIG; La figure 99 illustre le code de la fonction DC0uwLIG; La figure 100a illustre le code de la fonction TABg2lis; La figure 100b illustre les commentaires du code de la fonction TABg2lis; La figure 101 illustre le code de la fonction TABg2ppm; La figure 102a illustre le code de la fonction perRGB; La figure 102b illustre les commentaires du code de la fonction perRGB; La figure 103a illustre le code de la fonction rgbTRNG; et La figure 103b illustre les commentaires du code de la fonction rgbTRNG. DESCRIPTION DÉTAILLÉE Il sera apprécié par la personne versée dans le domaine qu’une ou plusieurs réalisations de la méthode et du système décrits présentent de nombreux avantages. En particulier, un des avantages d’une ou de plusieurs réalisations de la méthode et du système décrits est qu’ils présentent un système pour générer des images notamment à partir de nouvelles familles de courbes remplissantes dans le plan appelées métacourbes de Gray à rotors (MGR). Il sera apprécié que ces courbes configurables possèdent des formules de génération combinatoire qui vont pouvoir former la base des clés de chiffrement des images dans une ou plusieurs réalisations. Il sera apprécié que des étapes successives utilisant les propriétés de ces courbes permettent de déstructurer l’ordonnancement géométrique et casser la cohérence colorimétrique des images sources. En fait, il est décrit notamment un système cryptographique visuel à base de stencils topologiques. Il sera apprécié que les stencils sont des images numériques particulières qui permettent notamment d’encoder et de communiquer de manière chiffrée et sécuritaire différents types d’information graphiques, visuelles ou textuelles. Il est décrit un système de génération des stencils qui s’appuie sur des partitions topologiques du plan réalisées à partir de polygones de Jordan. L’utilisation de nouvelles familles de courbes remplissantes dans le plan appelées métacourbes de Gray permet tout à la fois de créer des clés de chiffrement encodant la partition du plan et se comportant comme des attracteurs topologiques à l’origine du chiffrement des tables de couleurs et des tables alphanumériques. Présentation générale du système Stencil topologique et cryptographie Le système de stencil topologique digital (STD) est un système de génération synthétique d’image mais dont le procédé de synthèse est dissimulé et chiffré. Il sera aussi apprécié qu’une image STD peut-être également fournie sous forme chiffrée. Dans ce dernier cas, aucune information en particulier visuelle n’est transmise. Les propriétés des STD sont divulguées ci-dessous sous l’angle cryptographique. Un STD est une image en tout ou partie procédurale, résultat d’une nouvelle méthode de chiffrement d’images à forte complexité qui se situe entre la génération d’images purement aléatoires et la génération d’images chaotiques ou pseudo-aléatoires. Les STD sont une nouvelle famille d’identifiants et d’authentifiants graphiques en deux dimensions intégrant diverses formes d’images colorisées. Un STD est essentiellement constitué d’une zone géométrique pleine qui réalise une partition du plan constituée alors d’une frontière et de parties évidées. Une fois définie cette partition topologique sera colorisée. Les STD peuvent-être considérés comme des tampons ou sceaux numériques dont la conception graphique est réalisée de façon procédurale par des formules secrètes et chiffrées. Si les codes-barres, et ses sous familles comme les codes QR et les datamatrix à l’exception des 2D-docs, sont essentiellement utilisés comme identifiants, les STD incluent les processus d’identification et d’authentification dans un même système. Contrairement aux familles de codes-barres qui sont basées sur une représentation graphique de texte chiffré, les STD sont des images colorisées chiffrées qui incluent des représentations textuelles et qui peuvent-être mixées par un système dit d’intrication. Il sera apprécié que ce système d’intrication reçoit des images bitmap quelconques et en particulier de types suivants : (a) soit des images de type STD, générées et chiffrées de manière procédurale, (b) soit des images procédurales générées par des systèmes variés à base de fractales, d’automates cellulaires circulaires ou autres systèmes chaotiques ou purement aléatoires. (c) soit des images procédurales provenant des générations diverses de datamatrix codes QR ou autres. (d) soit des images de synthèse procédurales. (e) soit des images non procédurales de type photographies cryptées ou non. Il sera apprécié que les processus de chiffrements des STD s’appuient sur des fondements mathématiques et algorithmiques qui sont construits autour de la théorie des courbes remplissantes (Space Filling Curves (SFC)). Cette approche permet d’associer par codage une liste de nombres entiers, les coordonnées en n-dimensions à un entier unique qui par décodage restituera cette liste. Il sera donc apprécié que ce système est donc un système de codage-décodage universel de l’information alphanumérique après sa conversion en nombres entiers. Ce système permet par ailleurs d’indexer et ordonnancer l’espace. Cette dernière propriété permet en particulier de brouiller les images en deux dimensions par permutation. Ces SFC et leurs généralisations dites métacourbes de Gray permettent d’unifier les chiffrements de la topologie, des couleurs et du texte intégrées dans les STD. Processus de chiffrement Dans le système des STD plusieurs processus de chiffrement sont couplés et imbriqués pour complexifier et rendre caduque toute tentative destinée à briser le chiffrement. Ces processus qui sont dynamiquement configurables possèdent d’autre part trois niveaux de chiffrement. Le niveau le plus fin est celui des paramètres des fonctions de chiffrement elles-mêmes. Le second niveau est celui du chiffrement du type de fonctions SFC ou MCG utilisées. Le troisième niveau est le chiffrement du réseau fonctionnel de chiffrement, c’est à dire la description chiffrée de l’imbrication et du couplage des différents processus de chiffrement. Cette description prend la forme au niveau logiciel de scripts de chiffrements ou de la description d’automates finis pour la réalisation de systèmes hardware spécialisés. Les diagrammes fonctionnels des processus sont illustrés par les figures suivantes et listés ci-dessous. Un générateur de partitionnement topologique du plan est illustré à la Figure 50. Un générateur de table dynamique des couleurs est illustré à la Figure 51. Un générateur de palette de couleurs est illustré à la Figure 53. Un générateur de pavage géométrique est illustré à la Figure 52. Un système d’appariement entre les indicateurs topologiques et les couleurs est illustré à la Figure 54. Un configurateur typographique à base de métapixels est illustré à la Figure 55. Un générateur de tables binaires à partir de texte est illustré à la Figure 56. Protocoles de chiffrement Il sera apprécié par la personne versée dans le domaine que les trois niveaux de chiffrement décrits précédemment sont associés à trois niveaux de signatures cryptographiques qui sont les clés de chiffrement. Le protocole de chiffrement vise donc à transmettre l’ensemble des instructions procédurales et des paramètres associés permettant de regénérer les STD. D’autre part le protocole de chiffrement passe par la communication chiffrée d’entiers à précision multiple (Bignum), cette représentation étant obtenue grâce aux fonctions de codage et décodage de SFC ou MCG multi- dimensionnelles transformant des listes de nombres entiers en un seul nombre entier et réciproquement. Typiquement les nombres entiers représentant des clés de chiffrement peuvent donc être assemblés combinatoirement en un nouveau nombre entier qui constituera la clé de chiffrement définitive. Cette clé ou son hash sera communiquée de manière symétrique ou asymétrique en fonction du contexte de déploiement du protocole : capacité par le receveur du message chiffré de regénérer l’image STD cryptée ou de régénérer le hash de l’image STD. Sécurité du système de chiffrement Il sera apprécié par la personne versée dans le domaine que la sécurité d’une ou de plusieurs réalisations du système est de type hybride avec un premier assemblage de processus différents de chiffrements. Cette approche est sensiblement équivalente aux différentes composantes de sécurité permettant d’éviter la contrefaçon des billets de banques. Toutefois, dans le cas des STD le nombre des composantes est configurable ce qui entraine une certaine dose de cryptographie par obscurité et un abandon ponctuel du principe de Kerckhoffs. En ce qui concerne l’analyse des images STD, les propriétés de diffusion et confusion sont principalement dépendantes de la complexité du réseau fonctionnel de chiffrement et de la complexité des métacourbes de Gray utilisées pour définir la topologie des stencils ou leur brouillage. De la même manière que l’analyse classique NPCR (Number of Pixels Change Rate) ou UACI (Unified Average Changing Intensity) ne s’applique pas sur certaines images de nature chaotique, l’utilisation de ces indicateurs doit-être réévaluée dans le cas des STD. Principes algorithmiques Il sera apprécié que le principe développé pour générer des identifiants visuels chiffrés dits stencils topologiques consiste à créer une structuration topologique et colorimétrique du plan définie de manière purement algorithmique et combinatoire. Le chiffrement sera donc de nature graphique et visuel mais aura les capacités d’intégrer des éléments textuels chiffrés. Les paramètres des algorithmes vont par ailleurs être utilisés comme premier niveau de clés de chiffrement. Du point de vue cryptographique ces paramètres alimentent des compositions de fonctions mathématiques bijectives qui forment un second niveau de clés de chiffrement. Ces fonctions mathématiques trouvent leur origine dans une théorie renouvelée des courbes remplissantes multidimensionnelles. La compréhension des principes constitutifs des stencils topologiques passe par la notion de polygone de Jordan. Les polygones de Jordan sont des structures polygonales discrètes ayant les propriétés des courbes de Jordan qui sont des courbes simples fermées planes constituant des boucles continue sans auto- intersection. Principe de stencil topologique Il sera apprécié par la personne versée dans le domaine que le principe développé pour générer des identifiants graphiques, dits stencils topologiques, est de créer une structuration topologique et colorimétrique du plan définie de manière purement algorithmique et combinatoire. Le chiffrement est donc de nature graphique et visuel mais a les capacités d’intégrer des éléments textuels chiffrés tel que décrit ci-après. Les paramètres des algorithmes vont par ailleurs être utilisés comme premier niveau de clés de chiffrement. Du point de vue cryptographique ces paramètres alimentent des compositions de fonctions mathématiques bijectives qui forment un second niveau de clés de chiffrement. Les fonctions mathématiques trouvent leur origine dans la théorie des courbes remplissantes multidimensionnelles (SFC). Les textes de présentation de la généralisation des SFC de type cantorien sont décrits en particulier dans les références suivantes Ref. [35, 59]. Les textes de présentation des courbes et métacourbes de Gray sont décrits dans les références suivantes Ref. [78, 79, 80, 81, 82, 83, 84, 85, 86, 87]. Il sera apprécié par la personne versée dans le domaine que les tables de couleurs sont des séquences indexées de codes RGB sans ordonnancement préalable du plan. Par conséquent la connaissance des codes RGB de la table ne donne aucune indication explicite de la position des couleurs dans le plan et de leur association avec des couples de coordonnées. Il sera apprécié par la personne versée dans le domaine que les tables de couleurs dynamiques sont des tables de couleurs calculables à la volée alors que les tables de couleurs statiques sont des tables ou images précalculées et prédéterminées. Chiffrement à combinatoire SFC Dans une ou plusieurs réalisations, le système divulgué se démarque de l’art antérieur notamment par une utilisation systématique de familles particulières de SFC et de leurs fonctions de couplage bijectif tel qu’expliqué ci-après. Il sera apprécié par la personne versée dans le domaine que les SFC sont des outils combinatoires permettant naturellement d’ordonnancer l’espaces en n-dimensions et de réaliser des permutations de points en substituant des ordonnancements SFC par d’autres ordonnancements. Une des raisons pour lesquelles les SFC classiques comme les courbes de Hilbert, n’apparaissent que relativement peu dans les systèmes de chiffrement d’images est le fait que le nombre de SFC connues est limité et que d’une manière générale les algorithmes de codage et décodage associés à cause de leur simplicité présentent peu de résistance aux attaques. Signature MCG et clé de chiffrement Il sera apprécié par la personne versée dans le domaine que la signature d’une MCG est donc une suite de listes imbriquées qui spécifient les paramètres des métacourbes de Gray assemblées pour obtenir une métacourbe finale. La Figure 1 illustre un exemple d’une métacourbe composite de niveau 7, en l’occurrence un chaînage constitué de 12 carreaux de tailles différentes occupées par des métacourbes hétérogènes et hybrides différentes en forme de U et de W, dites de classe U et W. Les deux points en gras figurent l’entrée et la sortie du chemin hamiltonien constitué par la métacourbe composite. Ces chaînages permettent de coder et décoder des chemins hamiltoniens adaptatifs sur des grilles orthonormées. Dans le cas général, la signature d’une métacourbe composite du septième niveau est la suivante (Eq.1) : La métacourbe principale relie un ensemble de α+1 métacourbes secondaires de niveaux nv ≤ 6 différents. Chaque métacourbe d’indice α est contenue dans un carré de dimension a α et de centre de coordonnées [x α , y α ]. Le paramètre cs i spécifie les cas de symétries associés au carré d’indice i. La signature de chaque métacourbe de l’ensemble est de la forme lsDC α 0..6 . Un facteur d’échelle sc α est associé à chaque métacourbe permettant d’indexer le chemin hamiltonien résultant sur des grilles de normes différentes. La syntaxe des signatures des métacourbes secondaires prend la forme de listes de listes de paramètres. La syntaxe d’une métacourbe de second niveau (Eq.2) est formulée ainsi : Les chaînages de second niveau permettent de définir des métacourbes hétérogènes formées de métacourbes de premier niveau qui peuvent être transformées par symétrie centrale. Le contrôle de la symétrie est possible pour l’ensemble des courbes à rotors quel que soit leur ordre dans la signature diophantienne de la métacourbe. Il sera apprécié par la personne versée dans le domaine que les réordonnancements entre métacourbes de niveaux quelconques n’offrent pas de problèmes, les changements de bases MCG s’appliquant de la même manière que pour les courbes SFC de niveau 0. La Figure 2 illustre un exemple de réordonnancement du tableau de Vermeer , la jeune fille à la perle en base SFC linéaire par une MCG à rotors de type méandre inverse et de niveau 1. Librairies SFC et MCG surfaciques Il sera apprécié par la personne versée dans le domaine que la génération de clés de chiffrements par composition de fonctions de codage-décodage bijectives et le cas échéant le réordonnancement d’images peut être réalisé en utilisant des MCG composites et hétérogènes purement algorithmiques parcourant de manière continue des grilles euclidiennes carrées ou de manière discontinue des grilles euclidiennes rectangulaires. Les fonctions de couplage SFC et MCG associées à des algorithmes combinatoires basés sur des fonctions bijectives de codage, décodage d’un indice entier en un couple de coordonnées euclidiennes bidimensionnelles sont regroupées dans des librairies spécialisées et appelées au moyen de tables de hachage pointant sur les fonctions. Une taxinomie des courbes de Gray et non-Gray est illustrée par la Figure 3. Ces dernières fonctions non-Gray sont utiles dans le chiffrement des séquences de nombres entiers en un seul entier en dimensions quelconques. Il sera apprécié par la personne versée dans le domaine que de telles séquences peuvent se retrouver dans la création et l’indexation des tables de couleurs. Tables de hachage de SFC ou MCG Il est possible d’établir à partir de l’ensemble ou d’un sous-ensemble de ces fonctions des tables de hachage de fonctions de codage et décodage. La connaissance des tables et des fonctions contenues est nécessaire pour décoder les signatures cryptographiques des stencils topologiques. Les fonctions t abDC de la Figure 57 e t t abCD de la Figure 58 illustrent aux fins d’exemples l’appel par cas de 5 fonctions élémentaires SFC de couplage. Les SFC sont connues par leurs indices dans les tables. Dans le cas de tables incluant des courbes MCG la signature de chaque MCG peut être transmise sous une forme donnée par la formule Eq.1. Méthode pour générer un stencil topologique unicellulaire La Figure 47 illustre une méthode pour encoder de l’information au moyen d’un stencil topologique unicellulaire selon une ou plusieurs réalisations. Il sera de plus apprécié que le stencil topologique unicellulaire est de forme carrée dans une ou plusieurs réalisations. De façon plus générale, il sera apprécié que le stencil topologique unicellulaire est un type particulier d’image. Il sera apprécié aussi par la personne versée dans le domaine que le stencil topologique unicellulaire consiste en une surface contenant une pluralité d’éléments graphiques. Dans une ou plusieurs réalisations, l’élément graphique est un pixel ou point. Il sera de plus apprécié que le stencil topologique unicellulaire est généré au moyen d’une méthode mise en œuvre par un dispositif de traitement, aussi appelé ordinateur. En fait, il sera apprécié par la personne versée dans le domaine que le dispositif de traitement peut être de diverse nature. En particulier, le dispositif de traitement peut être sélectionné dans un groupe comprenant les ordinateurs de bureaux, les serveurs, les téléphones intelligent, les ordinateurs tablettes, etc. Selon l’étape 80 de la Figure 47, de l’information à encoder est obtenue. Il sera apprécié par la personne versée dans le domaine que l’information peut être de nature diverse et peut être utilisée à diverses fins. Par exemple, l’information à encoder peut servir à identifier ou authentifier un élément. Dans une ou plusieurs réalisations l’élément est un objet. De plus, il sera aussi apprécié par la personne versée dans le domaine que l’information à encoder peut être obtenue de diverses façons. Selon une ou plusieurs autres réalisations, l’information à encoder est obtenue du dispositif de traitement, par exemple de sa mémoire. Selon une ou plusieurs autres réalisations, l’information à encoder est reçue d’un autre dispositif de traitement par l’intermédiaire, par exemple, d’un réseau de données. La personne versée dans le domaine appréciera que le réseau de données peut être de divers types. Par exemple et dans le cadre d’une ou de plusieurs réalisations, le réseau de données est un réseau local (LAN). Dans une ou plusieurs autres réalisations, le réseau de données est l’Internet. La personne versée dans le domaine appréciera que l’information à encoder peut être obtenue de diverses façons alternatives. Selon l’étape 100 de la Figure 47, une partition est générée dans un carré. Il sera apprécié par la personne versée dans le domaine que la partition est générée au moyen d’au moins un générateur de polygones de Jordan, un générateur de SFC et un générateur de chemin Hamiltonien fermé. Il sera apprécié par la personne versée dans le domaine que les polygones de Jordan sont des structures polygonales discrètes ayant les propriétés des courbes de Jordan qui sont des courbes simples fermées planes constituant des boucles continues sans auto-intersection. Système de partition topologique : Principes généraux Il sera apprécié par la personne versée dans le domaine que la théorie de l’Arithmétique des Formes permet grâce à un mécanisme d’arithmétisation de la topologie de générer des partitions du plan avec des régions générées et séparées par des polygones de Jordan. Ces régions sont associées à des nombres entiers appelés densités calculées de manière combinatoire. Le processus de partitionnement permet de générer la géométrie du partitionnement et d’autre part de permettre la colorisation des régions topologiques générées par le partitionnement. Il sera apprécié de plus que la colorisation par remplissage des courbes SFC est donc abordée sous l’angle du remplissage de courbes ou polygones de Jordan discrétisées, les bords, les régions intérieures et extérieures étant dotées d’une épaisseur. Polygones de Jordan Il sera apprécié qu’outre les polygones de Jordan natifs, les SFC de Gray, les MCG ainsi que certains chemins et circuits hamiltoniens ou auto-évitants peuvent-être transformés en polygones de Jordan en effectuant la fermeture des chemins en question. Une taxinomie des polygones de Jordan est illustrée par la Figure 4. La Figure 5 illustre le processus de fermeture pour une SFC en forme de S (points d’entrée et de sortie de la SFC opposés diagonalement), une SFC en forme de U (points d’entrée et de sortie de la SFC opposés sur un côté), et un chemin auto-évitant. La fonction p o l J O R D de la Figure 59 réalise la fermeture de SFC ou MCG de classe W ou U. La fonction attend en entrée l’indicateur <uw> de la classe de SFC, <ls> la liste des coordonnées de la SFC et <a> sa résolution. La fonction retourne la liste <JORD> des coordonnées du polygone de Jordan constitué. Arithmétique des Formes Contrairement aux algorithmes de remplissage par diffusion qui s’appliquent à des régions connexes de pixels, le principe algorithmique décrit s’appuie sur la connaissance topologique de la courbe SFC séparant le plan en trois régions : intérieur, bord et extérieur. Pour ce faire l’ajout de deux points fantômes à la métacourbe permet de fermer la courbe et de la transformer topologiquement en courbe de Jordan. Après une magnification de la métacourbe d’un facteur minimum de 2, ce qui permet d’obtenir une largeur d’un pixel pour le bord, ainsi que pour les régions intérieur et extérieur, un théorème permettant de calculer l’indice de Poincaré d’un point par rapport à une courbe de Jordan est appliqué. Dans ce cas un théorème issu de la théorie de l’Arithmétique des Formes est appliqué qui calcule la densité ψ d’un point par rapport à un polygone à représentation quadratique maximale. Cette représentation revient à considérer le bilan positionnel d’un point par rapport à chaque sommet du polygone associé à une conique dégénérée en deux droites passant par les arêtes afférentes à ce sommet. Il sera apprécié que l’un des intérêts du théorème utilisé est son applicabilité à des polygones dégénérés ou à des polygones présentant des séquences de sommets colinéaires, configuration retrouvée de manière permanente avec les SFC polygonales. Selon l’étape 102 de la Figure 47, la partition générée est convertie en une série de triplets représentant la partition. Il sera apprécié que chaque triplet est défini par un point et ses deux voisins. Théorème des densités La formule Eq.3 prend en compte le dénombrement des points appartenant aux bords d’une conique convexe <bx>, d’une conique concave <bv>, à l’extérieur d’une conique convexe <ex> et à l’intérieur d’une conique concave <iv>. Dans le cas d’un polygone topologiquement équivalent à une courbe de Jordan simple, nous avons une valeur = 2 et selon l’appartenance du point aux différentes régions délimitées par le polygone nous avons cas par cas les valeurs suivantes (Eq.4) La fonction indDC de la Figure 60 génère l’ensemble par rapport à un polygone donné des densités des points contenus dans une fenêtre rectangulaire donnée. La fonction reçoit en entrée les deux points extrémités de la diagonale spécifiant le rectangle, soit le point origine bas à gauche <v2O> et le point extrémité haut à droite <v2E> ainsi que la liste <ls> des points du polygone. Elle retourne une liste de deux listes. La première contient les couples de coordonnées des points de densités différentes et la seconde les nombres de points de densités différentes. La fonction indJFR de la Figure 61 calcule la densité d’un point par rapport à un polygone. La fonction reçoit en entrée le couple de coordonnées <v2> d’un point et la liste des sommets <ls> d’un polygone. Elle retourne la densité <ind> du point par rapport au polygone. La fonction indSOM de la Figure 62a commentée à la Figure 62b effectue le calcul des 4 cas de densité <bx, bv, ex, iv> pour un sommet donné. La fonction reçoit en entrée le couple de coordonnées <v2> d’un point et la liste des 3 points associés à un sommet donné. Elle retourne la liste des indicateurs de densité pour le sommet en question. Les Figures 6 et 7 illustrent la colorisation de deux courbes de Gray par calcul des densités. La Figure 6 illustre la colorisation d’une courbe en U avec ses points fantômes représentés et la Figure 7 la colorisation d’une courbe en W avec ses points fantômes représentés. Représentation quadratique Le théorème sur la densité d’un point par rapport à un polygone de Jordan est basé sur un bilan arithmétique combinatoire opérant sommet après sommet. Les sommets décrits par une séquence de trois points consécutifs représentent des coniques dégénérées en deux droites concurrentes. Pratiquement un polygone de Jordan est décrit pour des questions de parallélisation algorithmique des calculs combinatoires comme la séquence de ses sommets et la décomposition en coniques dégénérées se fait de manière modulaire au fur et à mesure de la lecture de la liste ordonnée des sommets. L’abandon de la représentation séquentielle en représentation quadratique, c’est à dire d’une représentation en série de triplets de sommets consécutifs, plus coûteuse en termes de place permet d’effectuer les calculs de manière parallèle sur des listes de sommets quadratiques sans ordonnancement préalable mais surtout d’effectuer des fusions topologiques d’autant de polygones voulus dans une même liste de triplets de sommets. Dans ce cas, la permutation des triplets : leur désordonnancement n’influe pas sur le bilan arithmétique du point par rapport à la série de polygones fusionnés. Bilan des densités et orientation des polygones La fonction cctQUA de la Figure 63a commentée à la Figure 63b reçoit une liste de polygones soit la liste <lsls> de liste de sommets et <vn> la liste d’indicateurs pris entre les valeurs {0,1} d’orientation des polygones. La fonction retourne la liste fusionnée de l’ensemble des triplets de tous les polygones. La décomposition en triplets s’effectue en prenant en compte le sens d’orientation des polygones dans le plan. Un exemple symbolique est donné par la séquence Eq.5 (xA est le symbole du point A, xB du point B etc …) La fonction ptsQUA de la Figure 64a commentée à la Figure 64b transforme une séquence de sommets consécutifs d’un polygone en une liste de triplets de points, chaque triplet étant constitué d’un sommet et de ses deux successeurs. La fonction reçoit la liste des sommets consécutifs <ptsQUA> et retourne la liste <ms> constituée des triplets de points. L’exemple suivant Eq.6 montre la procédure de séparation d’une liste de 5 sommets consécutifs. Selon l’étape 104 de la Figure 47, une densité associée à chaque point du carré est déterminée en utilisant la série de triplets. Il sera apprécié que la densité déterminée est utilisée afin de déterminer la couleur associée à chaque point du carré. La fonction indJFRQ2 de la Figure 65a commentée à la Figure 65b adapte le calcul des densités à une représentation quadratique des sommets des polygones. Elle attend <v2> les coordonnées du point dont la densité est recherchée et la liste <lsQ> des sommets quadratiques des polygones. Elle retourne la densité du point recherché. L’expression de la densité de la formule Eq.3 est multipliée par 2 pour éliminer l’usage des nombres rationnels. Selon l’étape 106 de la Figure 47, chaque point du carré est colorisé en utilisant au moins la densité associée pour générer le stencil topologique unicellulaire. Il sera apprécié par la personne versée dans le domaine que la colorisation peut être effectuée selon plusieurs réalisations. Dans une ou plusieurs réalisations, l’étape de coloriser chaque point du carré comprend associer à chaque densité une couleur donnée. Dans une ou plusieurs réalisations, l’étape de coloriser chaque point du carré comprend pour un point donné associer à chaque densité une table de couleurs donnée et sélectionner une couleur dans la table de couleurs donnée en utilisant une position du point donné dans le carré. Système de chiffrement des couleurs Il sera apprécié par la personne versée dans le domaine que la communication chiffrée des informations colorimétriques est un problème constant dans le cadre des images numérisées. Il est en particulier nécessaire de distinguer entre le cas des images non procédurales par exemple des photographies et des images procédurales qui peuvent-être regénérées à partir d’un jeu restreint de paramètres par exemple certaines images fractales ou les tables dynamiques de couleurs présentées dans cette section. Les types des informations colorimétriques peuvent-être classées de la manière suivante : 1. les listes de points colorisées formées des cordonnées des points sans ordonnancement explicite dans le plan et des codes RGB associés. 2. les listes de codes RGB sans les coordonnées des points, leur ordonnancement dans le plan étant spécifié par un type de SFC associé. 3. les listes des paramètres permettant de regénérer de manière procédurale la liste des points colorisés. 4. les listes des paramètres permettant de regénérer de manière procédurale une palette ou séquence de couleurs. Les opérations fondamentales portant sur ces types d’informations sont les suivantes : 1. la compression des données, 2. le chiffrement des données, 3. la régénération algorithmique des données. Tables de couleurs algorithmiques Il sera apprécié que dans une ou plusieurs réalisations les tables de couleurs prédéfinies sont chiffrées à partir de courbes SFC multidimensionnelles accessibles dans les librairies spécialisées déjà décrites. L’exemple de l’utilisation d’un algorithme d’indexation multidimensionnel en lacet de type DC0uwL (voir la référence Ref. [86]) illustre cette approche. L’idée est de remplacer une génération de tables de couleurs aléatoires par la génération de tables de couleurs à chiffrement dynamique. Les courbes SFC jouent le rôle d’attracteurs combinatoires dans le même ordre d’idées que certaines équations différentielles pour les attracteurs étranges en théorie du chaos. La fonction tabCODE de la Figure 66a commentée à la Figure 66b reçoit en entrée <a> résolution de la table cryptée des couleurs et <v2> un nombre rationnel inférieur ou égal à un sous la forme [numérateur, dénominateur]. La fonction retourne une liste de <a+1> codes RGB. La Figure 8 donnée en exemple illustre la génération d’une table de couleurs à sept entrées. L’utilisation d’un nombre rationnel quelconque par exemple [1234, 12345] permet d’obtenir une table des couleurs se rapprochant d’une table des couleurs quasi aléatoire. Le code en grands entiers d’une table de <n> couleurs RGB prédéterminée est simplement de la manière suivante (Eq.7). Indexation SFC des cubes RGB Les SFC en 3 dimensions qui permettent par couplage l’indexation bijective de différents triplets de coordonnées offrent un moyen d’indexation des codes RGB. Des courbes SFC sont également utilisées pour générer des images dont chaque pixel possède un code RGB différent. À partir d’un certain nombre de principes équivalents, il est possible de produire des tables de couleurs générées à la volée de manière algorithmique. Toutefois, ces tables vont présenter un caractère de variation progressive non chaotique (monotone) entre les codes RGB adjacents. Afin d’introduire un certain niveau de chaos dans les tables de couleurs, un algorithme à base de SFC qui génère un code RGB associé à un indice donné est décrit. Contrairement aux approches conventionnelles, l’algorithme fait appel à une table de SFC tridimensionnelles qui permet de changer dynamiquement la base SFC d’indexation et d’autre part introduit un paramètre de contrôle de la répartition chaotique des couleurs. La fonction tabDC3 de la Figure 67a commentée à la Figure 67b correspond au code d’appel d’une table de SFC tridimensionnelles qui renvoient un triplet de coordonnées en fonction d’un indice donné. Cette table limitée aux fins d’exemple peut être enrichie par toute nouvelle SFC en 3D comme des variantes de courbes de Hilbert ou d’autres SFC de Gray. La fonction reçoit en entrée le type <cas> de SFC, l’indice <ind> du point sur la courbe c’est à dire l’indice RGB et <a> la résolution de la courbe. La fonction retourne <v3>, le triplet correspondant au code RGB recherché. Finalement l’ordonnancement des tables de couleurs peut être modifié par le changement de base de lecture SFC en deux dimensions de la table des couleurs et les codes RGB peuvent être modifiés en spécifiant l’indicateur de permutation du code RGB qui permet de choisir parmi les 6 combinaisons RGB, RBG, GBR, GRB, BRG, BGR. Attracteurs SFC : chaos et effets cinétiques Les algorithmes développés combinent la position cartésienne des points d’une SFC directrice et des codes RGB qui sont calculés par correspondance de codes RGB appartenant à des cubes RGB dans le plan de la SFC. Les paramètres de correspondance de l’espace tridimensionnel à l’espace bidimensionnel permettent de modifier la palette des couleurs de manière dynamique. Ces modifications créent des effets d’interférence visuelle cinétiques ou des effets de distribution chaotique des couleurs. Les SFC directrices jouent le rôle de véritables attracteurs. La Figure 9 présente un exemple d’effets cinétiques provenant de la variation d’un couple de coefficients permettant la génération des tables avec une SFC directrice de type spirale. Ces effets cinétiques permettent de définir des tables de couleurs proches visuellement de la directrice (à gauche de la figure) ou avec des effets d’interférences visuelles (à droite de la figure). Par ailleurs les combinaisons différentes entre les types de courbes SFC directrices et le type d’indexation SFC choisie du cube RGB permettent également de passer d’un mode visuel cinétique à un mode visuel chaotique. La Figure 10 présente un exemple d’effet cinétique à gauche de l’image (SFC de type DC0uM) transformé en effet chaotique par simple substitution du modèle de cube RGB choisi. Le principe de correspondance de l’espace d’un cube RGB vers une palette de couleurs dans le plan muni d’une courbe directrice SFC peut-être formulé dans une série de variantes algorithmiques. Ces variantes algorithmiques peuvent-être interchangées au moyen de tables de hachage. Les principes de colorisation des palettes bidimensionnelles sont présentés à partir de la variante algorithmique qui suit. La fonction indRGBv de la Figure 68a commentée à la Figure 68b génère un code RGB à partir d’un indice donné, d’un type de SFC choisi et d’un nombre qui permet de modifier de manière chaotique la table des couleurs. La fonction reçoit <ind>, l’indice en question, <a> la résolution de la table des couleurs par convention carrée, <cas> qui spécifie le type de SFC 3D réalisant l’indexation bijective et <v2> le couple cinétique c’est à dire le couple de nombres réels positifs inférieurs ou égaux à un qui contrôle le caractère chaotique de la table. La fonction retourne le triplet <v3> correspondant au code RGB calculé. La fonction tabPIX de la Figure 69a commentée à la Figure 69b reçoit en entrée <ind> l’indice du point à colorier, la résolution <a> de la table, le couple <v2> de valeurs cinétiques de la table, <per> le code de permutation des couleurs compris entre 0 et 5, <rgb> le type de cube d’indexation des codes RGB, <sfc> le type de courbe SFC, <v3T> le vecteur de translation des codes RGB et <v3N> le vecteur de complémentarité des couleurs (négatifs). La fonction retourne le couple représentant le couple colorisé formé de ses coordonnées et de son code couleur Tables dynamiques Il sera apprécié que les tables dynamiques sont destinées à remplacer des tables à génération aléatoire ou quasi aléatoire. Elles permettent de calculer la couleur d’un point à la volée sans précalcul ou stockage préalable de la table et elles sont générées de manière procédurale par un ensemble de paramètres formant la signature de la table (Eq.8). Cette signature va être utilisée comme clé cryptographique. Signature cryptographique Exemples La Figure 11 illustre le résultat visuel de quatre tables des couleurs définies par les formulations Eq.9 et Eq.10. La SFC bidimensionnelle directrice des deux tables du haut est de type spirale DC0uS et les SFC d’indexation en 3D sont respectivement de type 0 et 1, les indicateurs de permutation des codes RGB respectivement 5 et 0. Le choix du couple de facteurs cinétiques permet de générer une table à effet cinétique puis une table à effet chaotique. Les séquences d’appels des fonctions suivantes permettent d’illustrer l’injection des paramètres générateurs des codes RGB terminaux La SFC bidimensionnelle directrice des deux tables du bas est quant à elle de type méandre DC0uM et les SFC d’indexation en 3D sont respectivement de type 0 et 1. Le choix du couple de facteurs cinétiques permet également de générer une table à effet cinétique puis une table à effet chaotique. Comme précédemment, les séquences d’appels des fonctions suivantes permettent d’illustrer l’injection des paramètres générateurs des codes RGB terminaux La fonction lstabDYN de la Figure 70a commentée à la Figure 70b reçoit en entrée la résolution <a> de la table et la liste <lsDYN> des paramètres constituant sa signature cryptographique. La fonction retourne une liste de points coloriés, soit une liste de couples formés d’un couple de coordonnées et d’un code RGB. Complexité visuelle des tables dynamiques Le couple de coefficients qui contrôle l’aspect chaotique ou cinétique des tables de couleurs dynamiques s’applique dans les exemples précédents à l’ensemble des pixels des tables générées. La possibilité de modifier ce couple en fonction de la position du pixel dans le plan est introduite. Cette position est dépendante de la courbe directrice SFC de la table. Le principe général est donc le suivant : 1. En mode 0, le calcul de la couleur est dépendant de certains paramètres dont l’indice du point et le couple de coefficients cinétiques. Ce couple a des valeurs constantes pour tout pixel du plan parcouru par la SFC directrice. Les variations continues de ces valeurs permettent des variations dynamiques interactives et temps réel de la palette de couleur. 2. En mode 1 et mode 2, le couple de coefficients cinétiques est calculé pour chaque point du plan et de la courbe directrice. Pour ce faire le couple des deux coefficients est recalculé en fonction des coordonnées de chaque point. Le couple de coefficients donné en paramètre de l’algorithme est interprété comme un couple de coefficients pondérateurs appliqué sur chaque coordonnée du point après transformations ponctuelles successives. 3. Le principe peut être étendu à toute transformation ponctuelle permettant de calculer les coefficients cinétiques à partir de transformations ponctuelles des coordonnées. Deux exemples de modification des coefficients cinétiques par transformations ponctuelles successives sont formulés par les équations Eq.11 et Eq.12.

La fonction tabDYN de la Figure 71a commentée à la Figure 71b reçoit en entrée <ind> l’indice du point à colorier, la résolution <a> de la table générée et la liste <lsDYN> des paramètres de sa signature cryptographique. La fonction retourne le couple <v2v3> représentant le point colorisé, constitué de ses coordonnées et de son code couleur. La fonction opère selon trois modes décrits précédemment. Selon un aspect de l’invention, il est donc divulgué une méthode mise en œuvre par ordinateur pour effectuer une identification ou une authentification au moyen d’une table de couleurs dynamique dans un carré, la méthode comprenant générer une SFC en deux dimensions parcourant un carré comprenant une pluralité de pixels; utiliser une fonction de hachage permettant d’associer dynamiquement des couleurs d’un cube RGB de couleurs à chaque pixel du carré, dans laquelle l’association est contrôlée par la fonction de hachage au moyen d’au moins un paramètre et de la SFC générée et fournir la table de couleurs générée, la table de couleurs générée permettant d’effectuer une identification ou une authentification. Selon une ou plusieurs réalisations, la méthode comprend de plus la modification de la valeur de chaque pixel de la table de couleurs générée. Exemples L’augmentation de la complexité visuelle des tables de couleurs dynamiques est illustrée par les Figures 12 et 13. La formation de tables de couleurs en forme d’empreintes digitales se combine visuellement à des effets moirés géométriques. La Figure 12 illustre le résultat des calculs effectués à partir de l’équation Eq.11 tandis que la Figure 13 illustre le résultat des calculs effectués à partir de l’équation Eq.12. Encodage d’une palette de couleurs Il sera apprécié que l’encodage d’une palette de couleurs c’est à dire d’une liste séquentielle de codes RGB sans ordonnancement vise à communiquer cette liste de manière sécuritaire et confidentielle. Le principe de chiffrement développé revient à opérer dans un espace de dimension <3n> où <n> est le nombre de couleurs de la liste. La liste des codes RGB donnés sous forme de triplets est simplement transformée en une liste concaténée de <3n> valeurs entières. La nouvelle liste formée est alors considérée comme la liste des coordonnées d’un point appartenant à une SFC multidimensionnelle d’un type prédéterminé. Ce type est choisi parmi la liste des SFC multidimensionnelles disponibles. Le code de chiffrement de la liste initiale de codes RGB sera donc l’indice du point appartenant à la SFC choisie, dont la liste des coordonnées est connue. La clé de chiffrement de la liste sera donc constituée du code lui-même sous un format grand entier (Bignum) de la dimension de l’espace de chiffrement et de la clé de chiffrement de la SFC multidimensionnelle. La fonction rgbCODE de la Figure 72a commentée à la Figure 72b encode une liste de codes RGB en un entier positif à précision multiple (Bignum). La fonction reçoit en entrée la liste des codes RGB <lsRGB>. Elle retourne le code calculé. La fonction codeRGB de la Figure 73a commentée à la Figure 73b calcule le code RGB d’une liste de codes RGB encodée à partir d’une SFC multidimensionnelle. La fonction reçoit en entrée le code <code>, <nbr> le nombre de codes RGB dans la liste, et <ind> l’indice du code RGB dans la liste. La fonction retourne <v3> le code RGB recherché. Colorisation des régions topologiques Il sera apprécié que la colorisation des régions topologiques s’effectue dans une ou plusieurs réalisations par des règles de colorisation associées aux densités. Le processus de colorisation est par conséquent associé au partitionnement topologique réalisé à partir de polygones de Jordan dans une ou plusieurs réalisations. Les densités sont des indicateurs arithmétiques calculés algorithmiquement qui caractérisent les régions combinatoires issues du partitionnement. Pour chaque région, la densité varie selon l’orientation dans le plan de chaque polygone de Jordan constitutif de l’ensemble de partitionnement. Les valeurs des densités obtenues fluctuent en fonction du nombre de polygones de Jordan élémentaires constitutifs et les modifications des orientations de ces polygones conduisent à l’obtention de densités négatives. Il sera apprécié que la colorisation des densités revient donc, soit à associer un code RGB à chaque densité issue du partitionnement ou alors à associer un code RGB à un ensemble de densités regroupées pour des raisons topologiques, logiques ou autres. Regrouper les densités dont les moitiés sont impaires est par exemple une stratégie qui permet de dissocier la couleur des bords des polygones de Jordan par rapport aux couleurs des régions intérieures et extérieures. Pour ce faire, en dehors de la méthode de création d’une table de correspondances densité-couleur, une méthode permettant de créer dynamiquement une palette de couleur déterminée par un nombre restreint de paramètres et qui s’adapte automatiquement aux plages de densités rencontrées est divulguée. Plages de densités Il sera apprécié par la personne versée dans le domaine que les plages de densités sont l’ensemble des densités différentes obtenues lors du partitionnement topologique. Ces plages sont connues a posteriori par un tri de la liste finale des densités obtenues et par conservation d’un seul élément parmi les éléments répétés. Les huit plages de la séquence Eq.13 sont issues du partitionnement de la Figure 14 avec des modifications successives des orientations des polygones de Jordan constitutifs. Dans ce cas le partitionnement est réalisé à partir de trois polygones de Jordan constitutifs élémentaires : deux carrés et un rectangle. Il y a donc 2 3 combinaisons différentes d’orientations des trois polygones qui permettent d’obtenir 8 occurrences colorisées différentes du même partitionnement. Ces combinaisons sont notées par un n-uplet de valeurs binaire représentant les orientations des polygones de Jordan. Dans le cas de la Figure 14 en haut à gauche, les colorisations correspondent aux combinaisons [0,0,0], [0,0,1], … ,[1,1,1] successives.

Post-correspondance densités-couleurs La post-correspondance entre les densités et les couleurs s’effectue lorsque la plage des densités est connue à l’avance soit par un prétraitement discret réalisé en calculant préalablement l’ensemble des densités relatives à un partitionnement topologique dans une fenêtre d’affichage déterminée, soit par une méthode permettant à l’avance de connaître cette plage par déduction combinatoire. Dans ce cas l’origine de la plage des densités peut être ramenée à zéro par une translation connue de toutes les densités. La fonction colMIRE de la Figure 74a commentée à la Figure 75b calcule une liste de points colorisés dans une fenêtre de dimensions connues et pour un partitionnement topologique donné. La fonction reçoit en entrée les points diagonaux de la fenêtre de balayage, <v2O> le point bas à gauche, <v2E> le point haut à droite, <Q> la liste des sommets quadratiques formant le partitionnement, <tr> la valeur de translation permettant de ramener en particulier la plage des densités à une origine nulle et un ensemble de valeurs positives, <nbrDENS> le nombre de densités de la plage et <code> le nombre entier encodant la liste des codes RGB. Pré-correspondance densités-couleurs Il sera apprécié que la pré-correspondance entre les densités et les couleurs s’effectue à la volée sans connaissance préalable de la plage des densités. Les propriétés de la fonction tabCODE déjà présentée (Figure 66a, Figure 66b) sont utilisées. Le principe est de générer une table de couleurs dont le nombre d’entrées sera au minimum le double de la valeur absolue de la densité maximale. La couleur associée à la densité fournie sera alors simplement la couleur de la table d’indice égal à la moitié du nombre de couleurs ajoutée à la valeur de la densité. Cette approche permet d’éviter des techniques de hachages de séquences de nombres entiers avec des valeurs négatives. La fonction lsv2v3DENS de la Figure 75a commentée à la Figure 75b calcule la liste des points colorisés associés à un ensemble de polygones de Jordan représenté de manière quadratique. La fonction reçoit en entrée, <Q> la liste des triplets de points représentant l’ensemble, <v2O> le coin inférieur gauche du rectangle de balayage, <v2E> le coin supérieur droit du rectangle de balayage, <v2C> les paramètres de combinaison linéaire de la fonction tabCODE (Figure 66a, Figure 66a), <plg> le nombre de couleurs de la palette définie, <per> l’indicateur de permutation des codes RGB, <v3T>, le vecteur de translation du code RGB calculé et <v3N> , le vecteur des indicateurs de complémentarité des couleurs (négatifs). La fonction retourne la liste des points colorisés de la fenêtre de balayage. Exemples Les principes de colorisation précédents sont illustrés par les Figures 15 et 16. L’objectif est d’obtenir une colorisation homogène du partitionnement topologique réalisant le lettrage vectoriel AB. La lettre A possède deux composantes connexes avec un code des orientations de type [{0,1}, {0,1}] et la lettre B trois composantes avec un code des orientations de type [{0,1}, {0,1}, {0,1}] Pour obtenir un coloriage homogène on devra identifier une bonne combinaison associant les deux codes. Dans le cas de la Figure 16 une bonne colorisation sera réalisée à partir du code général [1,1], [1,0,0] ou complémentaire [0,0], [0,1,1]. Le code [0 1], [1,0,1] sera associé à la colorisation non homogène de cette même figure. Selon l’étape 108 de la Figure 47, le stencil topologique unicellulaire est fourni. Il sera apprécié par la personne versée dans le domaine que le stencil topologique unicellulaire généré peut être fourni selon plusieurs réalisations. En particulier, il sera apprécié par la personne versée dans le domaine que la réalisation peut dépendre de l’application. Selon une ou plusieurs réalisations, le stencil topologique unicellulaire généré est stocké dans une unité de mémoire du dispositif de traitement. Selon une ou plusieurs autres réalisations, le stencil topologique unicellulaire généré est transmis à un autre dispositif de traitement qui est relié de façon fonctionnelle au dispositif de traitement utilisé pour implémenter la méthode au moyen d’au moins un réseau de données. La personne versée dans le domaine appréciera que le réseau de données puisse être de divers types. Par exemple et dans le cadre d’une ou de plusieurs réalisations, le réseau de données peut être un réseau local (LAN). Dans une ou plusieurs autres réalisations, le réseau de données est l’Internet. Il sera apprécié par la personne versée dans le domaine que l’étape de fournir le stencil topologique unicellulaire comprend de plus dans une ou plusieurs réalisations obtenir une SFC ou une MCG de codage parcourant le carré et réordonnancer chaque point du stencil topologique unicellulaire au moyen de la SFC ou de la MCG de codage afin de fournir un stencil topologique unicellulaire brouillé, le réordonnancement modifiant les coordonnées de chaque point du stencil topologique unicellulaire tel que pour chaque point donné ayant des coordonnées correspondantes données initiales dans un balayage donné, des nouvelles coordonnées sont attribuées à ce point, ces nouvelles coordonnées correspondants à un indice identique dans la SFC ou dans la MCG de codage qu’un indice dans le balayage donné. Il sera apprécié que dans la méthode divulguée à la figure 47, l’information à encoder est utilisée dans au moins une de la génération de la partition dans un carré, de la détermination de la densité associée à chaque point du carré et de la colorisation de chaque point du carré. La personne versée dans le domaine appréciera que cette utilisation peut se faire de diverses façons car de nombreux paramètres sont disponibles pour chacune des étapes mentionnées ci-avant. Brouillage des stencils En fait, il sera apprécié par la personne versée dans le domaine que le brouillage optionnel des stencils topologiques augmente la robustesse du chiffrement par rapport à des attaques ultérieures. Il permet en particulier de déstructurer la cohérence visuelle des listes de points colorisés au niveau spatial des coordonnées comme au niveau colorimétrique des codes RGB. Ce brouillage utilise une approche de réordonnancement du plan par des SFC ou des MCG. Contrairement aux méthodes conventionnelles où les réordonnancements s’effectuent à partir d’un nombre limité de SFC connues, le transcodage de nombres entiers s’effectue à partir de MCG de même résolution appartenant à des familles quelconques. Les signatures des MCG vont fournir les clés de chiffrement. Le schéma fonctionnel suivant (Eq.14) est alors obtenu: Il sera apprécié par la personne versée dans le domaine que les fonctions <F> et <G> de décodage et codage de l’équation 3 pourront être choisies manuellement ou automatiquement. Pour les choisir automatiquement il est possible de représenter les <n 2> combinaisons de fonctions de transcodage réalisées à partir de tables de codage et décodage à <n> éléments par l’indice dans une SFC de résolution <n−1> du point ayant comme couple de coordonnées l’indice de la fonction de décodage dans sa table et l’indice de la fonction de codage dans sa table. Cet indice pourra être utilisé pour effectuer un choix par hachage modulaire. La Figure 48 illustre une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’une image comprenant des métapixels. En fait, il sera apprécié que des identifiants graphiques universels doivent pouvoir être visualisés sur des supports physiques différents et par des techniques d’affichages numériques variées. La personne versée dans le domaine sait qu’il y a deux méthodes principales d’affichage en deux dimensions qui sont la méthode vectorielle et la méthode bitmap. La méthode vectorielle est orientée vers la colorisation de primitives graphiques ou géométriques prédéterminées : carrés, triangles, cercles ... de taille paramétrée alors que la méthode bitmap est orientée vers la colorisation de points élémentaires dits pixels. Contrairement à la méthode vectorielle plus souple d’utilisation, la méthode bitmap a une précision d’affichage parfaite. Il sera apprécié que dans ce qui suit les deux approches seront utilisés mais une surcouche est ajoutée à la méthode bitmap conventionnelle en introduisant une méthode développée autour du concept de métapixel. Il sera apprécié par la personne versée dans le domaine que cette approche permet de mieux contrôler les unités d’impression physique de type dpi (dots per inch) mais surtout d’enrichir les possibilités de chiffrement visuel restreintes du pixel. Les métapixels permettent en particulier de réaliser des intrications visuelles de bitmap conventionnels de type images photographiques et codes QR. Selon l’étape 200 de la Figure 48, une première image ayant un nombre donné de pixels est obtenue. Il sera apprécié par la personne versée dans le domaine que la première image peut être obtenue selon plusieurs réalisations. Dans une ou plusieurs réalisations, la première image est obtenue de la mémoire du dispositif de traitement. Selon une ou plusieurs autres réalisations, la première image est générée par le dispositif de traitement. Selon une ou plusieurs autres réalisations, la première image est reçue d’un autre dispositif de traitement par l’intermédiaire, par exemple, d’un réseau de données. La personne versée dans le domaine appréciera que le réseau de données peut être de divers types. Par exemple et dans le cadre d’une ou de plusieurs réalisations, le réseau de données est un réseau local (LAN). Dans une ou plusieurs autres réalisations, le réseau de données est l’Internet. Il sera apprécié que la première image est sélectionnée dans un groupe d’images comprenant au moins un stencil topologique unicellulaire généré au moyen de la méthode décrite ci-avant. Il sera apprécié que dans une ou plusieurs réalisations, le groupe d’images comprend de plus un pavage généré au moyen d’une méthode décrite dans la demande de brevet. Il sera apprécié que dans une ou plusieurs réalisations, le groupe d’images comprend de plus au moins une d’une table de couleurs statique et d’une table de couleurs dynamiques. Il sera apprécié que dans une ou plusieurs réalisations, le groupe d’images comprend de plus un code QR. Il sera apprécié que dans une ou plusieurs réalisations, le groupe d’images comprend de plus une image donnée, par exemple toute image importée (par exemple une photo). Il sera apprécié que dans une ou plusieurs réalisations la table de couleurs dynamique est générée selon une méthode comprenant générer une SFC en deux dimensions parcourant le carré et utiliser une fonction de hachage permettant d’associer dynamiquement des couleurs d’un cube RGB de couleurs à chaque pixel du carré, dans laquelle l’association est contrôlée par la fonction de hachage au moyen d’au moins un paramètre et de la SFC générée.Selon l’étape 202 de la Figure 48, une seconde image ayant un nombre donné de pixels identique au nombre donné de pixels de la première image est obtenue. Il sera apprécié par la personne versée dans le domaine que la seconde image peut être obtenue selon plusieurs réalisations. Dans une ou plusieurs réalisations, la seconde image est obtenue de la mémoire du dispositif de traitement. Selon une ou plusieurs autres réalisations, la seconde image est générée par le dispositif de traitement.Selon une ou plusieurs autres réalisations, la seconde image est reçue d’un autre dispositif de traitement par l’intermédiaire, par exemple, d’un réseau de données. La personne versée dans le domaine appréciera que le réseau de données peut être de divers types. Par exemple et dans le cadre d’une ou de plusieurs réalisations, le réseau de données peut être un réseau local (LAN). Dans une ou plusieurs autres réalisations, le réseau de données est l’Internet. Il sera apprécié par la personne versée dans le domaine que la seconde image peut être de divers types. En fait, la seconde image pourrait être une des images mentionnées ci-avant (e.g. une table de couleurs statique, une table de couleurs dynamique, une image donnée, un code QR, un pavage généré, un stencil topologique unicellulaire, etc). Selon l’étape 204 de la Figure 48, la première image est intriquée avec la seconde image pour fournir une image intriquée. Il sera apprécié que l’image intriquée comprend un nombre donné de métapixels identique au nombre donné de pixels de la première image. Chaque métapixel comprend une portion centrale et une portion périphérique. La portion centrale comprend au moins un pixel ayant une valeur associée égale à celle d’un pixel correspondant dans une de la première image et de la seconde image. La portion périphérique entoure la portion centrale et comprend une pluralité de pixels ayant chacun une valeur associée égale à celle du pixel correspondant à l’autre de la première image et de la seconde image. Système typographique et métapixels Il sera apprécié que les listes de points colorisés permettent d’associer dans le plan cartésien un couple de coordonnées et sa couleur associée. Cette représentation permet de décrire un fichier bitmap sans ordonnancement préalable des pixels. Pour permettre de magnifier la taille des pixels, la notion de métapixel est introduite qui permet de transformer un pixel unitaire en un carré de n 2 pixels, ce carré étant lui-même décomposé en un carré intérieur et un carré extérieur. Le principe de métapixel est essentiel pour changer la définition d’impression physique exprimée en pixels par centimètre mais également pour permettre de créer une zone supplémentaire de codage de l’information colorimétrique. La Figure 17 illustre le passage d’une représentation pixels à une représentation métapixels pour une simple courbe de Péano en forme de S. Les couleurs de la liste des points colorisés vont-être utilisées pour coloriser soit le carré intérieur soit les bords du carré en fonction d’un mode préalablement choisi. La Figure 18 illustre quatre modes typographiques disponibles associés aux métapixels. Le premier mode s’applique pour les métapixels sans bord. Le carré principal est colorisé à partir d’une table des couleurs dynamiques. Le mode suivant (fd=0) permet d’affecter une épaisseur au bord et une certaine couleur qui sera constante. Dans ce cas le carré intérieur est colorisé avec la table dynamique de couleurs. Le mode suivant (fd=1) inverse l’affectation des couleurs par rapport au mode précédent. Enfin le dernier mode (fd=2) affecte la couleur d’une table de couleurs statique pour le carré intérieur et la couleur de la table dynamique pour le reste du métapixel. Le processus typographique Les algorithmes présentés ont pour objectif de produire des images bitmap à une certaine résolution exprimée par exemple en pixels par centimètre ou en dots per inch (DPI) La première phase algorithmique consiste à transformer la liste des points colorisés en une liste de codes couleurs RGB ordonnée dans un ordre de lecture type machine à écrire de haut en bas et de gauche à droite. Ce type de lecture se retrouve dans de nombreux formats bitmap en particulier le format Ascii PPM. L’algorithme SFC utilisé pour ordonnancer la liste des points colorisés en la liste de couleurs ordonnée est la fonction de codage CD0uwLIG. La seconde phase algorithmique consiste à transformer la liste des couleurs pixel en une liste de couleurs métapixels. La fonction modPPM de la Figure 76a commentée à la Figure 76b reçoit en entrée <nom> le nom du fichier bitmap à générer, <nbrx> le nombre de pixels du côté du carré d’impression, <lsv2v3>, la liste des points colorisés soit les couples constitués chacun des coordonnées cartésiennes du point et du triplet représentant son code RGB, <dpi> le facteur d’échelle d’un métapixel, <bd>, la largeur du bord d’un métapixel, <v3B>, la couleur RGB du bord, <v3T> , le vecteur de translation des couleurs R, G, B, <v3N> le vecteur indiquant le calcul de l’image en négatif pour les trois canaux de couleur, <fd>, le mode d’utilisation des bords et des carrés intérieurs aux métapixels et finalement <posTAB> la table des couleurs destinée à coloriser les carrés intérieurs des métapixels. La fonction retourne le fichier généré en format PPM grâce à l’appel de la fonction TABg2ppm (Figure 101). La fonction TABg2lis de la Figure 100a commentée à la Figure 100b fournit une liste de couleurs ordonnée selon une lecture haut-bas et gauche droite. C’est la fonction DC0uwLIG de la Figure 99 fonction de décodage SFC qui réalise un tel ordonnancement. La fonction reçoit en entrée <a> la résolution du tableau de points colorisés et <ls> la liste des points colorisés. La fonction retourne la liste ordonnée des codes couleurs RGB. Cet ordonnancement est similaire à celui des fichiers Ascii PPM. La fonction TAB2dpi de la Figure 77a commentée à la Figure 77b calcule la couleur d’un métapixel colorisé. La fonction attend en entrée <d> la taille du métapixel, <lsRGB> la table des couleurs, <sca> le facteur de changement d’échelle du métapixel, <bd> l’épaisseur du bord, <v3B>, le code couleur du bord, <fd> le mode de colorisation du métapixel et <tabMAP> la table des couleurs statiques destinée à remplir les carrés intérieurs des métapixels. La fonction retourne la liste des couleurs des métapixels. La fonction CAS2dpi de la Figure 78a commentée à la Figure 78b calcule le code couleur RGB associé à un point donné. La fonction attend en entrée les indices <i> et <j> du point dans le plan cartésien : ses coordonnées, la liste des couleurs <lsRGB>, une liste de paramètres <ls> et une liste de codes couleurs <tabMAP> destinée à remplir les carrés intérieurs des métapixels. La fonction retourne le code couleur RGB déterminé. L’organigramme de la fonction suit le traitement des modes typographiques de la Figure 18. Les coordonnées du point à coloriser sont données en entrée. Si le bord du métapixel est nul alors la couleur du point est prise dans la table des couleurs fournie en argument. Si le bord est différent de zéro, le statut du point, c’est à dire sa position par rapport au carré intérieur du métapixel, est alors testée. À partir de cet embranchement les tests sont conditionnés aux modes fd = {0, 1, 2}. En mode 2 la couleur attribuée au point en fonction de sa position est soit la couleur déterminée dans la table des couleurs principale (table dynamique), soit la couleur déterminée dans l’image fournie en argument (table statique). La fonction intMPIX de la Figure 79a commentée à la Figure 79b calcule la position d’un point par rapport au carré intérieur d’un métapixel. La fonction attend en entrée <i>, <sc>, <lign>, <bd> et <sca>. La fonction retourne la valeur 0 ou 1 en fonction de la position du point dans le carré. Intrication de tables de couleurs dynamiques et statiques Il sera apprécié par la personne versée dans le domaine que l’intrication des tables dynamiques est valable pour les quatre modes typographiques présentés ci-avant. La fonction SCRIPT003 de la figure 80 présente les trois premiers modes typographiques appliqués à une table dynamique illustrée en Figure 19 à gauche. Dans ce cas, le métapixel n’a pas de bord, puis un bord d’épaisseur 2 pixels pour un carré intérieur de 20 pixels pour la figure en haut à droite (fd=0) et finalement un bord de 5 pixels pour un carré intérieur de 14 pixels pour la figure de droite en bas (fd=1). Il sera apprécié par la personne versée dans le domaine que les tables statiques intriquées sont des images bitmap précalculées d’origine quelconque mais de résolution équivalente à la table dynamique des couleurs. Elles peuvent être intriquées cryptées (brouillées) ou non, par l’intermédiaire de SFC élémentaires ou composites provenant des tables de fonctions (les bibliothèques) Dans le cas des photos, le rapport de proportions entre le bord du métapixel et le carré intérieur conditionne la lecture visuelle de l’image bitmap intriquée. La Figure 20 correspond au résultat de la fonction de script SCRIPT004 de la Figure 81. L’image finale à droite de la figure intrique la table dynamique des couleurs en haut à gauche et une image photo en très basse résolution en bas à gauche. La Figure 21 illustre un second exemple d’intrication d’une table dynamique et d’une image photographique. La fonction SCRIPT007 de la Figure 82 est le script de production. Les altérations des couleurs initiales de l’image du buste de Néfertiti sont encryptées avec les autres paramètres dans les clés de chiffrement de l’image bitmap résultante. Il sera apprécié par la personne versée dans le domaine que les QR-codes conventionnels peuvent-être également intriqués dans les stencils topologiques grâce aux métapixels en utilisant le mode fd = 2. La fonction SCRIPT008 de la Figure 83 illustre une opération de cette nature. Le texte associé au QR-code est dans cet exemple « Masahiro Hara, inventeur du code QR ». Dans l’absolu la table des couleurs dynamiques pourrait être également remplacée par un second code QR de manière à imbriquer deux codes différents. La Figure 22 présente le résultat graphique de l’intrication d’une table dynamique en haut à gauche et du QR-code en question en bas à gauche. Le résultat de l’intrication est illustré par l’image de droite. Chiffrement par brouillage SFC Il sera apprécié que l’utilisation combinée des tables de couleurs statiques et dynamiques peut être notamment destinée à l’identification et à l’authentification. Le brouillage des tables statiques permet d’ajouter la composante chiffrement visuel aux bitmaps générés. La Figure 23 illustre le brouillage des tables statiques photographiques et code QR de deux des exemples précédents. La combinaison simultanée des images photographiques et images code QR brouillées ou non est abordée dans le cadre des stencils topologiques multicellulaires. Effet MAJUS L’utilisation des deux zones carrées définies par les métapixels permet d’utiliser un ensemble de métapixels pour coder deux types d’informations colorisées sur une même région du plan. La cohérence de colorisation entre les régions intérieures et extérieures des métapixels est avantageusement perceptible par le système de vision humain qui est capable de discriminer deux images intriquées. Selon l’étape 206 de la Figure 48, l’image intriquée est fournie. Il sera apprécié par la personne versée dans le domaine que l’image intriquée générée peut être fournie selon plusieurs réalisations. En particulier il sera apprécié par la personne versée dans le domaine que la réalisation peut dépendre de l’application. Selon une ou plusieurs réalisations, l’image intriquée générée est stockée dans une unité de mémoire du dispositif de traitement. Selon une ou plusieurs autres réalisations, l’image intriquée est transmise à un autre dispositif de traitement qui est reliée de façon fonctionnelle au dispositif de traitement utilisé pour implémenter la méthode au moyen d’au moins un réseau de données. La personne versée dans le domaine appréciera que le réseau de données peut être de divers types. Par exemple et dans le cadre d’une ou de plusieurs réalisations, le réseau de données peut être un réseau local (LAN). Dans une ou plusieurs autres réalisations, le réseau de données est l’Internet. Dans une ou plusieurs réalisations, non illustrées à la Figure 48, la méthode comprend de plus une étape d’obtenir une SFC ou une MCG de codage parcourant l’image intriquée. La méthode comprend de plus réordonnancer chaque point de l’image intriquée au moyen de la SFC ou de la MCG de codage afin de fournir un stencil topologique unicellulaire brouillé, le réordonnancement modifiant les coordonnées de chaque point de l’image intriquée tel que pour chaque point donné ayant des coordonnées correspondantes données initiales dans un balayage donné, des nouvelles coordonnées sont attribuées à ce point, ces nouvelles coordonnées correspondants à un indice identique dans la SFC ou dans la MCG de codage qu’un indice dans le balayage donné; le réordonnancement permettant de fournir une image intriquée brouillée. La personne versée dans le domaine appréciera que fournir une image intriquée brouillée peut avoir un grand intérêt pour certaines applications reliées au chiffrement. Chiffrement de stencils topologiques unicellulaires Tel que mentionné ci-avant, les stencils topologiques unicellulaires sont des identifiants graphiques construits à partir de SFC qui partitionnent des carrés dans le plan et des tables de couleurs dynamiques qui permettent de coloriser les régions partitionnées par les SFC. Le partitionnement est réalisé à partir d’une ou de plusieurs SFC combinées de manière topologique. Il sera apprécié par la personne versée dans le domaine que les SFC peuvent aussi être utilisées pour chiffrer les tables de couleurs. Un stencil topologique unicellulaire est par conséquent décrit à partir d’une série de paramètres fournissant sa signature cryptographique. Celle-ci est composée en particulier des clés de chiffrement de chaque SFC intervenant dans le partitionnement topologique et des clés de chiffrement associées aux tables de couleurs dans une ou plusieurs réalisations. Signature cryptographique Dans de telles réalisations, la signature cryptographique d’un stencil topologique unicellulaire (Eq.15) est donc l’ensemble des signatures cryptographiques des SFC de partitionnement et de celles associées aux tables de couleurs. La Figure 25 illustre un stencil topologique constitué à partir d’une SFC unique : une courbe de Hilbert, de deux tables de couleurs dynamiques pour l’intérieur et l’extérieur de la courbe et d’une table de couleurs pour les bords, initialisée dans ce cas pour produire une couleur constante noire. Partitionnement de Jordan multiple La représentation quadratique des polygones de Jordan permet de fusionner des polygones simples en polygones multiplement connexes puis ces derniers avec d’autres polygones à connexité quelconque. Cette propriété permet des partitionnements combinatoires qui augmentent en complexité avec chaque ajout de nouveaux polygones. Le nombre de valeurs différentes de densités augmente également et par conséquent associer une table de couleur par valeur de densité peut s’effectuer en définissant une table par valeur ou alors en utilisant des tables de hachage. La Figure 26 illustre un partitionnement topologique multiple à trois courbes de Jordan. Étapes algorithmiques de construction Il sera apprécié par la personne versée dans le domaine que pour construire le stencil, il faut commencer par une étape de détermination des tables de couleurs, c’est à dire de leurs SFC directrice respective et du choix des paramètres de colorisation formant la signature cryptographique de chaque table. Dans l’exemple de la Figure 27, il y a deux tables de couleurs qui sont générées correspondant à la colorisation de deux régions topologiques différentes induites par deux SFC différentes. Compte tenu du choix des paramètres de chiffrement la SFC de la figure à gauche est discernable contrairement à la SFC directrice de la figure à droite. La correspondance entre les points colorisés des tables et les points positionnés par rapport à la SFC de partitionnement s’effectue par le biais des densités calculés pour tous les points du carré contenant la SFC. Dans l’exemple de la Figure 28, le tableau des densités à gauche de la figure fait état de points de densités de valeurs 0, 1, 2, 3, 4. Les densités des bords c’est à dire des points situés sur les côtés et les sommets convexes et concaves ont pour valeurs respectives 2, 1, 3, les densités de valeurs 0 et 4 sont associés aux points des régions intérieures et extérieures à la courbe de Hilbert fermée en polygone de Jordan. La correspondance entre les densités et les couleurs s’effectue par l’intermédiaire de tables de hachages possédant un nombre variable d’entrées. La fonction celUNI de la Figure 84a commentée à la Figure 84b calcule une liste de points colorisés dans un carré donné. La fonction attend en entrée la représentation quadratique <Q> de l’ensemble des sommets de toutes les SFC utilisées pour la partition du carré, le point bas gauche du carré dit de balayage <v2O> et le point haut droit <v2E>. La fonction retourne la liste <ms> des points colorisés. Hachage des tables dynamiques Les tables dynamiques de couleurs sont regroupées en tables de hachage. La correspondance entre une densité se fait de manière modulaire dans la fonction celUNI (Figure 84a, Figure 84b) en fonction du nombre d’entrées dans la table de hachage et des valeurs des densités. La fonction de script SCRIPTaab de la Figure 85 produit l’image de droite de la Figure 28. L’initialisation de trois tables de hachage est illustrée par la Figure 30. Deux exemples de tables à cinq entrées et un exemple de table à treize entrées sont illustrés. Il sera apprécié par la personne versée dans le domaine que des tables de hachage différentes peuvent être finalement associées à des régions de densité différentes ou alors regroupées en fonction de valeurs de densités particulières. La Figure 29 illustre une association des valeurs différentes de densités avec des tables dynamiques différentes. Dans ce cas, les bords sont plus difficilement discriminés par l’œil que lorsqu’une table dynamique est utilisée de manière à générer une couleur constante comme la couleur noire. Stencil topologique unicellulaire à effet Majus Il sera apprécié par la personne versée dans le domaine que l’effet Majus associé à la colorisation des carrés intérieurs des métapixels et présenté ci-après peut être utilisé avec toute table des couleurs statique ou dynamique. Un des intérêts de cette opération est de pouvoir séparer les processus d’identification et d’authentification visuelles. Comme dans les exemples précédents l’ensemble des tables utilisées peut-être brouillé avec des substitutions des SFC directrices entraînant des permutations des points colorisés. La Figure 31 illustre un effet Majus réalisé à partir d’une photo numérique. La lisibilité visuelle de la photo dépend des proportions entre les bords des métapixels et les carrés intérieurs. La Figure 32 illustre un effet Majus réalisé à partir d’une table dynamique précalculée ou publique. L’ajout de symboles ou formes graphiques (cercle, triangle, polygone) peut permettre de réaliser un alphabet de codes graphiques associé à une base numérique donnée et dans ce cas d’encoder du texte à partir de la définition d’une SFC directrice. Toutefois, si l’affichage vectoriel à partir des langages graphiques usuels s’adapte automatiquement à la résolution pixels disponible : les pixels remplissent les zones vectorielles, l’affichage bitmap équivalent : les pixels forment les zones colorisées, est complexe à implémenter et doit passer par le principe de mire graphique défini ci- après. Partitionnement multicellulaire octal Il sera apprécié qu’il est décrit une méthode mise en œuvre par ordinateur pour encoder de l’information au moyen d’un pavage généré dans un carré à la Figure 49. Selon l’étape 280 de la Figure 49, de l’information à encoder est obtenue. Il sera apprécié par la personne versée dans le domaine que la nature de l’information à encoder peut être diverse. De plus, il sera aussi apprécié par la personne versée dans le domaine que l’information à encoder peut être obtenue de diverses façons. Dans une ou plusieurs réalisations, l’information est obtenue de l’ordinateur effectuant le traitement. Dans une ou plusieurs autres réalisations, l’information est obtenue via un autre ordinateur connecté opérativement avec l’ordinateur effectuant le traitement. La personne versée dans le domaine appréciera qu’il y a de nombreuses façons alternatives pour obtenir l’information. Selon l’étape 300 de la méthode pour générer un pavage illustré à la Figure 49, une SFC est générée dans un carré. Il sera apprécié que la SFC peut être générée selon plusieurs réalisations. Selon l’étape 302 de la méthode pour générer un pavage illustré à la Figure 49, un pavage est généré. Le pavage est généré en remplaçant chaque portion élémentaire de la SFC par un pavage correspondant. Selon l’étape 304 de la méthode pour générer un pavage illustré à la Figure 49, une indication du pavage généré est fournie. Il sera apprécié que la méthode est caractérisée en ce que l’information à encoder est utilisée lors de la génération de la SFC à l’étape 300. En fait l’information peut être utilisée pour générer des paramètres permettant de générer la SFC. La personne versée dans le domaine appréciera que ladite information à encoder peut être utilisée de diverses façons. En fait, il sera apprécié que dans une ou plusieurs réalisations la SFC est définie par 8 portions élémentaires en « S ». Dans cette ou ces réalisations, le pavage correspondant correspond à un pavage donné identique et fixe pour chacune des 8 portions élémentaires. Dans une ou plusieurs réalisations de la méthode pour générer un pavage dans un carré, la méthode comprend de plus l’obtention d’une chaine ASCII à coder. La méthode comprend de plus la conversion de la chaine ASCII obtenue en une séquence de codes correspondants dans une base numérique donnée remplissant un tableau carré et la génération d’une SFC au moyen d’une courbe directrice SFC de Gray donnée dans laquelle chaque point de la courbe directrice SFC de Gray est remplacé par un motif correspondant à un code donné de la séquence de codes. Il sera apprécié par la personne versée dans le domaine que le partitionnement multicellulaire vise à accroître la complexité du chiffrement visuel des stencils topologiques en partitionnant chaque cellule du plan. Il sera apprécié qu’une cellule est une sous-division carrée du plan, formant avec les autres cellules identiques un carré parfait. Dans ce cas, l’ordonnancement des cellules suit une courbe directrice SFC prédéterminée. La possibilité d’associer généralement un partitionnement topologique par cellule du plan nécessite de multiplier les clés de chiffrements : en ensemble par cellule, processus relativement lourd à mettre en place. La solution décrite consiste à mettre en place un partitionnement multicellulaire automatique dépendant des sommets de la SFC directrice des cellules. Principes généraux Tel que mentionné ci-avant, le principe de stencil topologique passe, dans une ou plusieurs réalisations, par un partitionnement du plan par des polygones de Jordan incluant comme cas particulier des SFC après leur fermeture topologique. Les stencils topologiques présentés précédemment sont de nature unicellulaire c’est à dire qu’un seul carré du plan est colorisé à partir de paramètres (la signature cryptographique) qui lui sont associés. Dans ce qui suit, la notion de partitionnement multicellulaire qui permet de réaliser un chiffrement à partir d’un ensemble de carrés dits cellules remplissant un carré principal du plan est décrite. Cet ensemble de cellules est déterminé par une SFC directrice déterminée à partir des librairies de SFC élémentaires ou composées MCG disponibles. Un exemple de partitionnement topologique à base d’un ensemble de deux trapèzes et d’un carré par cellule en base octale et de deux triangles en base quaternaire (pavage de Truchet) est ensuite divulgué. Cet ensemble de polygones est centré sur chaque sommet de la SFC directrice qui est dans ce cas une courbe SFC ou MCG composite basée sur des courbes élémentaires de Péano. L’ensemble des polygones est orienté selon l’orientation des courbes élémentaires associées aux cellules. La Figure 33 illustre la construction itérative d’une SFC en spirale contrôlant pour chacun de ses sommets une cellule composé de deux trapèzes et d’un carré (base 8). L’orientation des polygones est dépendante de la courbe de Péano élémentaire en forme de S remplissant la cellule (Figure gauche). Les relations géométriques existantes entre les polygones et les courbes des cellules forment la base d’un nouveau système du pavage et de partitionnement topologique du plan détaillé ci-dessous. Pavages de Péano-Truchet Il sera apprécié que le pavage de Truchet est un pavage du plan réalisé à partir d’un jeu de carrés élémentaires découpés en deux triangles de couleurs différentes. Il y a donc quatre combinaisons possibles de carrés colorisés ce qui constitue un codage quaternaire du plan. Un système de codage algorithmique hybride basé sur l’extension MCG des fonctions de couplage de Péano et la théorie du pavage de Truchet est décrit. Le principe est d’associer huit matrices graphiques élémentaires aux huit configurations de la courbe élémentaire en S et orientée de Péano. Cette approche revient à définir un nouveau type de pavage dans le plan qui sera nommé pavage de Péano-Truchet. Les huit matrices graphiques sont donc nommées motifs de Péano-Truchet et sont illustrées à la Figure 34. Tel que mentionné ci-avant, il sera apprécié que dans une ou plusieurs réalisations la SFC est définie par 8 portions élémentaires en « S ». Dans cette ou ces réalisations, le pavage correspondant correspond à un pavage donné identique et fixe pour chacune des 8 portions élémentaires. La fonction casTPZ de la Figure 86a commentée à la Figure 86b a pour objectif de classifier les huit motifs type possibles de Péano-Truchet. La fonction attend en entrée <v2a>, <v2b>, <v2c> les trois points de référence de chaque courbe élémentaire de Péano. La fonction retourne le numéro du cas associé parmi les huit présentés en Figure 34, les cas étant respectivement 0,2,4,6 pour les configurations de la première ligne et 1,3,5,7 pour la seconde ligne. Construction algorithmique du pavage La génération algorithmique de la métacourbe de Gray formée de morceaux élémentaires de courbes en S s’effectue à partir des métacourbes de Gray de niveau 2 qui introduisent la symétrie pour l’ensemble des rotors. Des pavages réguliers ou remarquables peuvent être générés en activant les symétries ou non. La Figure 35 illustre la génération directe d’un pavage octal régulier à partir d’une métacourbe de Gray génératrice de type wS.(Spirale de classe W). Il sera apprécié par la personne versée dans le domaine que d’autres types de pavages réguliers ou remarquables peuvent-être générés en activant cette fois ci les symétries soit sur les rotors pairs soit sur les rotors impairs par séquence ou de manière isolée. La Figure 36 illustre la génération d’un pavage régulier après modification algorithmique des symétries de chaque courbe S. L’appel de la fonction DC2(i,2,[6,2],[11],[[],[seq(2*i,i=1..24)]]) permet ainsi de changer la symétrie des rotors pairs d’ordre 1 de la métacourbe de Gray illustrée à gauche de la Figure 36. La métacourbe qui en résulte après l’application des symétries est illustrée au milieu de la Figure 36 et permet de générer le pavage octal de Péano-Truchet régulier illustré à droite de la Figure. La Figure 37 est obtenue à partir d’une MCG de type DC2(i,2,[6,2],[11]). La Figure 38 illustre le choix des symétries des courbes S élémentaires de la MCG en spirale à gauche de la Figure de manière à obtenir la structure combinatoire octale en forme de spirale à droite de la Figure. Typographies vectorielles et bitmap Il sera apprécié que les illustrations précédentes sont réalisées à partir de packages graphiques vectoriels utilisant des primitives graphiques de type polygones colorisés. Cette approche doit-être complétée par une approche bitmap exigeant des calculs précis et sans approximations au niveau du pixel. Les sorties de type bitmap sont en particulier nécessaires pour les éditions typographiques sur des supports physiques. Par ailleurs le décodage physique par analyse d’images des stencils topologiques multicellulaires nécessite des points de repérage dans le stencil qui vont être associées à une mire polygonale. Les proportions et mensurations de ce type de mire sont illustrées en Figure 39 et répondent donc à la double exigence de précision pixel pour l’édition des stencils et pour la reconnaissance des motifs polygonaux par cellule. Cette mire est calculée à partir d’un canevas paramétré de points de contrôle qui permettent de générer la mire en base 8 formé de deux trapèzes et d’un carré et la mire en base 4 formé de deux triangles. Ce principe de mire pourra être étendu de manière à encoder de manière polygonale discrète les symboles et formes graphiques de la Figure 32 ou tout autre motif graphique s’appuyant sur les points de contrôle. La fonction mireOCT de la Figure 90a commentée à la Figure 90b calcule l’ensemble des coordonnées de la mire polygonale dans une cellule carrée. Des paramètres de contrôle permettent de modifier les proportions en base 8 des trois polygones concernés : les deux trapèzes et le carré et en base 4 des deux triangles. La fonction attend en entrée la liste <lsP> des coordonnées des points de contrôle de chaque courbe en S, <sca> un paramètre de changement d’échelle global de la courbe directrice SFC principale, <ep>, l’épaisseur en pixels entre les polygones, <sc> le changement d’échelle local des polygones dans la cellule et <base> la base de génération de la mire. La fonction retourne les listes <TPZ0>, <TPZ1> et <CR> de coordonnées des points des deux trapèzes et du carré ou les listes <TR0>, <TR1> de coordonnées des points des deux triangles. Cette fonction utilise une première fonction auxiliaire rapPTS de la Figure 87a commentée à la Figure 87b qui fournit les coordonnées d’un point linéairement dépendant de deux points donnés. L’ensemble des dépendances linéaires de la mire est calculé de cette manière à partir de deux paramètres de contrôle. La fonction reçoit en entrée les paramètres <sca> et <ep> définis précédemment dans la fonction mireOCT (Figure 90a, Figure 90b) et retourne en sortie une liste contenant le point ayant pour couple de coordonnées <v2> et les paramètres de calcul des dépendances linéaires <lam>, <mu> et <den>. Cette fonction utilise deux autres fonctions auxiliaires ptsBS8 de la Figure 88a commentée à la Figure 88b et ptsBS4 de la Figure 89a commentée à la Figure 89b qui calculent les points des polygones respectifs de la mire en base 8 ou en base 4 à partir des points de contrôle. Ces fonctions font appel à leur tour à deux fonctions auxiliaires supplémentaires (nommées trLS et scLS) qui effectuent respectivement des translations et des changements d’échelle sur les couples de coordonnées de listes. La fonction ptsBS8 (Figure 88a, Figure 88b) positionne les trapèzes et le carré dans le repère de la cellule de traitement. La fonction attend en entrée la liste des listes des coordonnées des trois polygones <v3v4>, le facteur d’échelle <sc>, le point central de la courbe de Péano <P4> et le point ayant le couple de coordonnées <v2>. La fonction ptsBS4 (Figure 89a, Figure 89b) positionne les deux triangles dans le repère de la cellule de traitement. La fonction attend en entrée la liste des listes des coordonnées des deux polygones <v3v3>, le facteur d’échelle <sc>, le point central de la courbe de Péano <P4> et le point ayant comme couple de coordonnées <v2>. La fonction mireOCT (Figure 90a, Figure 90b) utilise une dernière fonction auxiliaire (nommée ptINT) qui calcule le point d’intersection de deux droites définies chacune par deux points. Chiffrement multicellulaire octal Il sera apprécié que l’intégration du texte dans des identificateurs visuels de type barcode, code QR ou data matrix donne des résultats lisibles par des décodeurs matériel ou logiciel. Il sera apprécié que la problématique de combiner une triple réponse à la fois technologique et visuelle au problème : identification, authentification, chiffrement n’est pas résolue dans ce cas. L’œil n’étant pas en mesure de discriminer et d’interpréter l’information visuelle, le codage graphique des technologies barcode n’a pour utilité que de permettre une localisation visuelle rapide du code en question pour un décodage matériel ultérieur adéquat. Le chiffrement multicellulaire octal vise à combiner patterns, motifs et signatures visuelles à encodage de texte. Si le décodage du texte est toujours confié à des décodeurs matériel ou logiciel, la partie identification et authentification relève en partie de la vision humaine. Principes généraux Il sera apprécié que le chiffrement multicellulaire octal vise à transformer les pavages octaux géométriques en identifiants visuels colorisés. Deux approches sont divulguées. Une première approche totalement graphique jouant sur les intrications de couleurs appliquées à l’ensemble des cellules octales et une seconde approche alphanumérique utilisant les cellules octales pour encoder du texte. Le chiffrement octal permet de réaliser un chiffrement multicellulaire quaternaire à partir de quelques modifications algorithmiques. Signature cryptographique La signature cryptographique d’un stencil topologique à chiffrement multicellulaire octal ou quaternaire est constituée d’un ensemble de paramètres numériques entiers, d’une liste de sommets quadratiques et de clés de chiffrement de tables de couleurs. Elle prend la forme suivante :

Intrication de tables de couleurs La mire de la Figure 39 possède en base 8, 3 composantes connexes et en base 4, 2 composantes connexes permettant différentes combinaisons d’orientations dans le plan des polygones qui la constituent et par conséquent la génération de plages de densités différentes. Dans la suite des filtres sur les densités obtenues après le partitionnement topologique sont utilisés. Ces filtres reviennent à regrouper certaines densités à partir de prédicats arithmétiques ≤ de manière à établir une stratégie de colorisation des régions délimitées par la mire. La fonction motMIRE (Figure 91a, Figure 91b) qui suit utilise trois fonctions de filtre différentes associées à la valeur de certains paramètres directeurs de la mire. Ces fonctions sont successivement la fonctions colMIRE (Figure 74a, Figure 74b), la fonction tabMIRE10 (Figure 92a, Figure 92b), et la fonction tabMIRE12 (Figure 93a, Figure 93b). La fonction motMIRE de la Figure 91a commentée à la Figure 91b calcule la liste des points colorisés pour une courbe SFC donnée à base de courbes élémentaires de Péano en forme de S. La fonction attend en entrée <base>, la base de génération de la mire de valeur 8 ou 4, <ls> la liste des points de la SFC en nombre multiple de 9, <a> le nombre de courbes élémentaires moins un des courbes S en largeur ou hauteur du carré, les tables de couleurs <TAB0>, <TAB1>, et <DYN0>, les paramètres typographiques <sca>, <epsi>, <sc> et le code optionnel <code> encodant les couleurs. La fonction retourne la liste des points colorisés calculés. Les pavages de Péano-Truchet sont nativement bicolores mais selon les caractéristiques des métacourbes génératrices ils peuvent être générés avec d’avantage de couleurs. Un exemple quadrichromique peut être facilement réalisé en utilisant les propriétés de parité des courbes S de la métacourbe pour coloriser le pavage avec 4 couleurs. De manière générale en associant une table dynamique des couleurs au pavage il est donc possible de coloriser le pavage avec autant de couleurs différentes que le nombre de cases du pavage et en rajoutant par exemple une autre couleur pour les trapèzes. La réalisation d’un pavage à table de couleurs chaotique passera alors par le calcul d’une table des couleurs cinétique qui sera associée à la métacourbe directrice du pavage. La fonction tabMIRE10 de la Figure 92a commentée à la Figure 92b filtre les densités par rapport à la densité 8 et partitionne le plan en deux régions topologiques. Chacune des régions est associée à une table de couleurs prédéterminée. La fonction attend en entrée <atab> la résolution du carré représentant une cellule, <TAB0> et <TAB1> deux tables de couleurs associées respectivement aux deux régions, <sca>, le facteur d’échelle de la mire qui contrôle la résolution de la mire en pixels, <v2O> et <v2E>, les coins diagonaux de la fenêtre de coloriage et <Q> l’ensemble des sommets quadratiques du partitionnement. La fonction retourne la liste des points colorisés appartenant à la fenêtre de coloriage. La fonction tabMIRE12 de la Figure 93a commentée à la Figure 93b filtre les densités par rapport à trois plages de densités et partitionne le plan en trois régions topologiques. La fonction attend en entrée <atab> la résolution du carré représentant une cellule, <TAB0> et <TAB1> deux tables de couleurs associées respectivement à deux régions, <DYN0> les paramètres d’une table dynamique associée à la troisième région, <sca>, le facteur d’échelle de la mire qui contrôle la résolution de la mire en pixels, <v2O> et <v2E>, les coins diagonaux de la fenêtre de coloriage et <Q> l’ensemble des sommets quadratiques du partitionnement. La fonction retourne la liste des points colorisés appartenant à la fenêtre de coloriage. Calibration de la mire octale Il sera apprécié par la personne versée dans le domaine que la calibration de la mire octale vise à ajuster les paramètres de la mire à l’image finale recherchée. Ces paramètres conditionnent la lecture visuelle du stencil topologique final de même que sa lecture par un appareil à décodage optique (matériel et logiciel). La Figure 40 illustre la génération d’un stencil topologique pour plusieurs résolutions d’images utilisées comme tables de couleurs. Chiffrement octal alphanumérique Il sera apprécié par la personne versée dans le domaine que le chiffrement octal alphanumérique est une variante du chiffrement octal géométrique destiné à contrôler le pavage géométrique par du texte. La Figure 41 illustre la différence à partir de mêmes tables de couleurs entre un pavage géométrique et sa SFC de Gray associée et un pavage alphanumérique et sa SFC non-Gray associée. Dans ce dernier cas les orientations des polygones des mires s’adaptent automatiquement à un codage de texte réalisé en base 8 ou 4 à partir d’une SFC directrice. Le chiffrement octal alphanumérique transforme donc un texte en une séquence de motifs type octaux encodant le texte le long d’une SFC prédéterminée. Cette opération par laquelle les motifs vont-être orientés non plus par les courbes élémentaires en S de leur cellule mais par le codage octal du texte va généralement détruire la structure de Gray de la courbe. Cette perte du codage de Gray est illustrée par la Figure 42 qui présente le codage du message Leonardo da Vinci en liste de caractères ascii (A), puis en un tableau de caractères octaux (O α ) ordonnancé comme du texte conventionnel de haut en bas puis en un tableau de caractères octaux (O α ) ordonnancé selon une SFC en spirale. La fonction textOCT de la Figure 94a commentée à la Figure 94b transforme un texte initial en une séquence de codes dans une base numérique donnée remplissant un tableau carré. L’algorithme encode le texte et rajoute si nécessaire une série de caractères permettant de remplir l’ensemble des cases du tableau carré. La fonction attend en entrée le texte à encoder <texte> et la base d’encodage <base>. La fonction retourne en sortie la séquence des codes dont le nombre d’éléments est un carré parfait. Directrice SFC pour le texte La fonction sfcBS84 de la Figure 95a commentée à la Figure 95b génère la SFC non-Gray résultant de l’encodage du texte. Cette SFC composée d’éléments de courbes de Péano en S, a elle-même une courbe directrice SFC de Gray. Cette courbe est une partie de la clé de chiffrement du texte octal ou quaternaire. La fonction reçoit en entrée le type <type> de la SFC directrice, la résolution <a> de la SFC, <lsOCT> la liste des caractères octaux ou quaternaires selon le cas associé à chaque point de la SFC. La fonction retourne la liste des points de la SFC non-Gray générée. Système de chiffrement Chimère Le système de chiffrement intitulé Chimère et divulgué ci-après combine un chiffrement alphanumérique octal ou quaternaire avec un chiffrement 2 n -aire utilisant les carrés intérieurs des métapixels pour encoder un message. Le message sera donc encodé sous la forme de séquences de n pixels avec par exemple n = 1 pour un message en binaire. La Figure 43 illustre un identifiant graphique codé avec un protocole chimère, utilisant deux images photographiques comme tables de couleurs et une matrice bitmap binaire comme troisième table de couleur. La fonction posTAB de la Figure 96a commentée à la Figure 96b reçoit en entrée <d> le nombre de pixels du côté du carré contenant le message, <lsPOS>, la liste des positions séquentielles des bits allumés, <type> le type d’ordonnancement SFC des bits dans le plan, <v3RGB0> et <v3RGB1>, les codes couleurs RGB des points binaires. La fonction retourne en sortie <ms> la liste des points colorisés. Adaptation au chiffrement quaternaire Il sera apprécié par la personne versée dans le domaine qu’il est possible de substituer un chiffrement quaternaire au chiffrement octal. Le principe est de spécialiser la mire octale pour opérer en mode quaternaire. Les fonctions de calcul des deux triangles de la mire ont été décrites au niveau de la fonction ptsBS4 (Figure 89a, Figure 89b). Le reste du processus d’un stencil topologique quaternaire est par ailleurs totalement semblable à celui du processus concernant le stencil octal. La Figure 44 illustre la génération d’un stencil quaternaire composé de trois tables de couleurs correspondant aux trois images en haut de la figure. Les images sont de résolution 199x199. Le message quaternaire « https//www.cote-basque.com » est ordonnancé par la même SFC spiralée qu’en Figure 42. L’image du bas à gauche donne un résultat visuel qui peut être ajusté en fonction des paramètres associés aux métapixels. La lisibilité des trois composantes photographiques peut ainsi être modulée. L’image du bas à droite permet de visualiser un grossissement des métapixels sur une portion de l’image du bas gauche. Exemple récapitulatif Un exemple récapitulatif du système de chiffrement chimère est présenté. L’exemple de l’intrication des images de la Figure 44 pour passer dans un mode de chiffrement octal est repris. Le texte suivant « https//www.cote- basque.com/NFT/Images/Chimere » est encodé. L’ensemble des paramètres et la séquence des opérations pour générer le stencil topologique final est décrite dans la fonction SCRIPT199j de la Figure 97. Le résultat visuel est illustré par la Figure 45. L’image de gauche représente les caractères octaux du texte positionnés sur leur SFC directrice tandis que l’image de droite illustre le résultat final du stencil. Ordonnancements dans le plan L’utilisation de listes de points colorisés, spécifiant la position de chaque point par ses coordonnées cartésiennes et son code RGB permettent de communiquer toute image numérique de manière explicite. Avec cette approche, l’ordonnancement relatif des points les uns par rapport aux autres n’a pas besoin d’être spécifié. La contrepartie de cette approche est la taille mémoire prohibitive de l’image qui doit-être communiquée. Pour cette raison, les approches de communication implicites sont favorisées. Dans ce cas un ordonnancement prédéterminé des points colorisés est appliqué à la fois au stockage de la liste des couleurs et réappliqué lors de l’utilisation des couleurs par exemple leur affichage. Le processus algorithmique d’ordonnancement choisi fréquemment pour les normes graphiques numériques utilise la lecture de type machine à écrire, de haut en bas et de gauche à droite. Ce processus est équivalent au choix implicite, pour la lecture des données et leur restitution, d’une SFC directrice de l’ordonnancement. La problématique rencontrée revient donc et ce dans l’ensemble des travaux présentés, à spécifier et communiquer explicitement au travers des clés de chiffrement les SFC utilisées dans l’ordonnancement du plan. Principes généraux Il sera apprécié que le principe d’ordonnancement du plan est celui de l’utilisation systématique des SFC fournies dans les tables et librairies de couplage et transmises dans les clés de chiffrement. Dans ce cas la clé de chiffrement de la SFC elle-même sera les paramètres permettant de la générer et donc de la coder, décoder. Cette approche présentera un autre avantage car toute substitution d’une SFC de stockage par une SFC de lecture qui lui sera différente reviendra à brouiller l’image. Cette stratégie sera utilisée pour complexifier les attaques cryptographiques sur les images communiquées ou alors pour permettre leur lecture par des ayants droits particuliers. La Figure 46 illustre la convention de stockage et lecture d’une image couleur au format ascii de type PPM. L’ordonnancement du plan est alors OXY− au lieu de l’ordonnancement classique OXY. Les tables de couleurs permettant de coloriser la lettre B ayant été générées à partir de SFC directrices quelconques différentes de la SFC directrice du format PPM, il faut ramener par conversion entre les SFC tout couple de coordonnées dans son espace d’ordonnancement dans l’espace d’ordonnancement discret cartésien. Ordonnancement du plan OXY− L’impression des pixels et métapixels colorisés dans un plan OXY− est souvent nécessaire pour respecter en particulier certaines normes graphiques. C’est le cas du format PPM qui est défini par un ordonnancement des couleurs à partir d’une origine située en haut à gauche, avec un axe des Y inversé. Le principe est donc de réordonner une liste de couleurs associées à des couples de coordonnées dans un plan OXY classique en une liste de couleurs affichable dans le plan OXY−. Les fonctions CD0uwLIG et DC0uwLIG des Figures 98 et 99 sont des SFC de base appartenant aux tables et librairies de couplage spécialisées qui assurent en particulier la conversion entre les points colorisés positionnés dans le plan et l’ordonnancement des codes RGB de ces points pour leur affichage ou impression des un plan OXY−. La fonction de décodage DC0uwLIG (Figure 99) attend en entrée, l’indice <ind> d’un point donné, <lg> et <ht> les largeurs et hauteurs du rectangle d’indexation. La fonction retourne le couple de coordonnées du point d’indice donné. La fonction de codage associée CD0uwLIG (Figure 98) attend en entrée les coordonnées positives ou nulles d’un point dans le plan OXY pour le rectangle de largeurs et hauteurs <lg> et <ht> et retourne l’indice du point en question dans le plan OXY−. La fonction TABg2lis de la Figure 100a commentée à la Figure 100b réalise un réordonnancement d’une liste de couleurs affichable dans un plan OXY pour permettre son affichage dans un plan OXY−. La fonction attend en entrée <a> et <b> les résolutions du rectangle d’affichage et <ls> la liste constituée d’une suite de paires, chaque paire étant formée d’un couple de coordonnées et de la couleur associée. La fonction TABg2ppm de la Figure 101 écrit un fichier bitmap en format ascii PPM. La fonction attend en entrée les nombre de pixels en largeur et en hauteur <nbrPixL> et <nbrPixH> du rectangle bitmap, <ls> la liste de triplets de couleurs RGB, le répertoire <path> de localisation du fichier de sortie et son nom <nf> . La fonction retourne le fichier <nf.ppm> généré. Opérations colorimétriques de base La génération des palettes ou des tables de couleurs donnant lieu à des listes de codes RGB distincts sans répétitions, le choix des couleurs est donc réalisé de manière automatique sans aucune relation entre les couleurs et leur possible symbolique. Cette approche ne règle pas en particulier les problèmes potentiels de manque de contraste entre des couleurs adjacentes ou l’utilisation de codes couleurs réservées pour permettre une identification visuelle rapide. Par exemple, les couleurs rouge et blanc permettent d’associer l’identifiant graphique à la Suisse. Un simple post-traitement des couleurs permet par exemple de changer cette colorisation par translation des codes RGB et inversion ou complémentarité des codes couleurs par canaux (négatifs). Il est donc utile de rajouter ces paramètres de manipulation de couleurs dans les clés de chiffrement et de pouvoir ainsi modifier les codes RGB à la volée. L’opération de translation des codes RGB peut servir également à briser l’unicité des codes RGB par l’effet d’écrasement des codes dû au dépassement des limites d’encodage mémoire des codes qui une fois la translation réalisée seront ramenés dans une plage comprise entre 0 et 255. Principes généraux On ramène les opérations classiques de post-traitement des codes RGB couleur, en opérations réalisées à la volée, les paramètres des opérations étant intégrés dans les clés de chiffrement. Seuls les opérateurs de translation, de complémentarité des codes RGB et de permutation de leurs canaux ont été intégrés à des fins pratiques. Il est également possible d’étendre le codage RGB à tout autre codage normalisé de la couleur. Dans ce cas, des SFC de dimensions supérieures seront substituées aux SFC tridimensionnelles associées aux cubes RGB en les remplaçant par des SFC associées à des hypercubes contenant les hypercodes du modèle de couleur retenu. Opérations sur les codes RGB Deux types d’opérations classiques sur les couleurs permettent de complexifier la structure des histogrammes. La fonction perRGB de la Figure 102a commentée à la Figure 102b reçoit en entrée un code <RGB> et <comb> l’indicateur concernant l’une des six permutations choisies à partir des trois couleurs. La fonction retourne le code RGB après permutation de ses canaux. La fonction rgbTRNG de la Figure 103a commentée à la Figure 103b réalise les opérations de translation et de complémentarité sur les codes RGB. La fonction attend en entrée le code RGB <v3>, le vecteur de translation <v3T> et le vecteur de complémentarité <v3N> du code couleur RGB. La fonction retourne le code couleur RGB transformé. Extension des modèles de couleurs Le système de chiffrement proposé peut-être facilement étendu à un encodage RGBA ou autre modèle de couleur. Dans ce cas des SFC à quatre dimensions provenant des tables et bibliothèques de couplage pourront être utilisées. De manière générale en ce qui concerne les modèles de couleurs utilisant des nombres flottants, une première transformation de ces nombres en nombres rationnels (espace affine) sera utilisée puis on passera dans un espace projectif de manière à retomber sur un codage en nombres entiers. Par cette méthode tout nombre flottant pourra être représenté par un couple de nombres entiers. Il sera apprécié que selon une ou plusieurs réalisations, une des méthodes décrites ci-avant peut être utilisée pour coder et chiffrer de l’information. Dans le cadre du chiffrement, les signatures ne sont pas initialement communiquées. Il sera de plus apprécié par la personne versée dans le domaine qu’une des méthodes décrites ci-avant peut être utilisée pour identifier ou authentifier un élément. La personne versée dans le domaine appréciera que l’élément peut être de diverse nature. Selon une ou plusieurs réalisations, l’élément est un objet. Il sera apprécié qu’au moins une ou plusieurs réalisations des méthodes décrites solutionnent une ou plusieurs problématiques et présentent donc de nombreux avantages. Concernant la problématique de génération d’une image chiffrée, il sera apprécié qu’il est divulgué un système de fonctions pseudo-aléatoire permettant de générer des images statistiquement indistinguables d’images aléatoires pures. Cela permet la génération itérative et adaptative d’images pseudo-aléatoires à comportement statistique aléatoire. Il est aussi décrit dans une ou plusieurs réalisations un système de fonctions pseudo-aléatoire à permutations basées sur les métacourbes de Gray qui permet la génération sans perte des images dans un temps proche du temps réel. Concernant la problématique de la complexité, il sera apprécié qu’il est divulgué dans une ou plusieurs réalisations une solution adaptative entre l’ordre organisé et le désordre pseudo-aléatoire. La problématique est aussi solutionnée dans une ou plusieurs réalisations par l’optimisation de la complexité de Kolgomorov d’un fichier qui est la longueur du programme informatique le plus court capable de reproduire le fichier image. L’avantage est que le programme informatique de génération de l’image est la clé de chiffrement de l’image. Concernant la problématique du CODEC d’indexation, il est à noter que cette dernière est solutionnée dans une ou plusieurs réalisations au moyen de l’indexation à partir de métacourbes de Gray 2D, 3D, nD. Cela permet avantageusement un codage et décodage par fonction anonyme à complexité polynomiale. La problématique est aussi solutionnée dans une ou plusieurs réalisations en utilisant une indexation à partir de courbes de Cantor étendues 2D, 3D, nD. Cela permet avantageusement un codage à complexité polynomiale simple et décodage à complexité factorielle. Concernant la problématique de recours aux librairies de permutations, cette dernière est solutionnée dans une ou plusieurs réalisations en utilisant une librairie de courbes et métacourbes de Gray ce qui permet avantageusement d’avoir aucun recours à la génération des nombres purement aléatoires et possibilité de permutations 2D (pixels), 3D (voxels) et nD (hypervoxels). Concernant la problématique de la précision numérique évoquée ci-avant, cette dernière est solutionnée dans une ou plusieurs réalisations au moyen de l’utilisation de nombres entiers multi-précisions. Cela permet avantageusement d’avoir une programmation géométrique et topologique inconditionnelles (pas de if, ni de cas particuliers). Cette problématique est aussi solutionnée dans une ou plusieurs réalisations en utilisant un jeu d’opérateurs réduits : +, -, *, irem, iquo, isqrt, ˆ, mod 2 (test de parité). Cela permet d’avoir avantageusement des fonctions bijectives de codage et décodage sans perte. Cette problématique est aussi solutionnée dans une ou plusieurs réalisations en évitant le recours aux fonctions trigonométriques ce qui permet avantageusement l’usage des expressions mathématiques rationnelles du cercle. Concernant la problématique de la gestion de la mémoire, cette dernière est solutionnée dans une ou plusieurs réalisations au moyen de l’utilisation de tables dynamiques de couleurs générées à la volée. Cela permet avantageusement un traitement séquentiel ou parallèle de listes de pixels colorisés. Cette problématique est aussi solutionnée dans une ou plusieurs réalisations au moyen de l’utilisation de polygones de Jordan procéduraux ce qui permet avantageusement un traitement séquentiel ou parallèle (pipeline GPU) des sommets des polygones. Cette problématique est aussi solutionnée dans une ou plusieurs réalisations au moyen du traitement des images statiques par blocs ce qui permet avantageusement un traitement distribué des blocs par ordonnancement SFC approprié. Concernant la problématique de la programmation du matériel, cette dernière est solutionnée dans une ou plusieurs réalisations au moyen d’une architecture parallèle hybride à processeurs spécialisés (GPU, MPPA, FPGA) ce qui permet avantageusement l’optimisation des temps de calcul orientés temps réel. Cette problématique est aussi solutionnée dans une ou plusieurs réalisations au moyen de l’utilisation de langages parallèles dédiés aux processeurs ce qui permet avantageusement l’optimisation de la granularité du parallélisme. Cette problématique est aussi solutionnée dans une ou plusieurs réalisations au moyen de l’utilisation de langages de programmation algorithmique à écosystème parallèle de type JULIA ce qui permet avantageusement la facilité d’extensions des librairies de programmation parallèle des nouvelles fonctions de métacourbes de Gray.

RÉFÉRENCES [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 infinité de desseins differens, avec des carreaux mi-partis de deux couleurs par une ligne diagonale : ou observations du pere dominique douat... sur un memoire inseré dans l’histoire de l’academie royale des sciences de paris l’année 1704 présenté par... sebastien truchet... Chez Florentin de Laulne, 1722. [3] Kikuo Tanaka. Irohabiki moncho. 1881. [4] Édouard Lucas. Récréations mathématiques. Gauthier-Villars et fils, 1883. [5] G. Peano. Sur une courbe, qui remplit toute une aire plane. Mathematische Annalen, 36 :157–160, 1890. [6] David Hilbert. Ueber die stetige abbildung einer linie auf ein flächenstück. Mathematische Annalen, 38 :459–460, 1891. [7] G. Peano. Formulario mathematico. https://books.google.ca/books?id=mcW1MgEACAAJ , 1908. [8] De Stijl. De stijl nl 1921. https://magazines.iaddb.org/issue/DS/1921-09- 01/edition/4-9/page/3?query= , 1921. [9] Claude E Shannon. A mathematical theory of cryptography. Mathematical Theory of Cryptography, 1945. [10] W Wunderlich. Über peano-kurven. Elemente der Mathematik, 28 :1–10, 1973. [11] Mark Levoy. Area flooding algorithms. Two-Dimensional Computer Animation, Course Notes 9 for SIGGRAPH, 82, 1981. [12] Vinzenz Brinkmann. Die aufgemalten namensbeischriften an nord-und ostfries des siphnierschatzhauses. Bulletin de correspondance hellénique, 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 Jürgens, 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-François Rotgé. L’arithmétique des Formes : une introduction à la logique de l’espace. PhD thesis, Université de Montréal, 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 Décaillot. Géométrie des tissus. Mosaïques, Echiquiers. Mathématiques curieuses et utiles. Revue d’histoire des mathématiques, 8(2) :145–206, 2002. [21] Jean-Paul Delahaye. La complexité mesurée. 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. 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 20117th 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, 012011. [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] Hüseyin Koçak. Differential and difference equations through computer experiments : with diskettes containing phaser : an animator/simulator for dynamical systems for ibm personal computers. Springer Science & Business Media, 2012. [35] Jean-François Rotgé. 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 Décaillot. Les Récréations Mathématiques d’Édouard Lucas : quelques éclairages. 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, 012014. [42] Possibly Wrong. allrgb : Hilbert curves and random spanning trees. https://possiblywrong.wordpress.com/2014/04/18/allrgb-hilber t-curves-and-random- spanning-trees/ , 2014. [43] David Griffeath. The cyclic cellular automaton. 2015. [44] Sohn JiAe. A glimpse at joseon royal seals. , 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. 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://share.america.gov/u-s-returns-lost-royal-treasures-o f-korea/ , 062017. [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 Özkaynak. Role of npcr and uaci tests in security problems of chaos based image encryption algorithms and possible solution proposals. In 2017 International conference on computer science and engineering (UBMK), pages 621–624. IEEE, 2017. [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 20178th 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 implémentation d’un crypto-système d’images basé sur le chaos : Chiffrement d’images par chaos et applications, 082018. [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-François Rotgé. 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.042018. [61] Vishal Devireddy. Allrgb. , 2019. [62] A. Flores-Vergara, E. E. García-Guerrero, E. Inzunza-González, O. López- Bonilla, E. Rodríguez-Orozco, J. R. Cárdenas-Valdez, and E. Tlelo-Cuautle. Implementing a chaotic cryptosystem in a 64-bit embedded system by using multiple- precision arithmetic. Nonlinear Dynamics, 96 :497–516, 2019. [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/ , 052020. [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. 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 Jürgen Döllner. A taxonomy of treemap visualization techniques.022020. [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. 2021. [77] Françoise Bahoken. Le charme d’Herbin. 2022. [78] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes de Gray surfaciques à centre. @August 2022. [79] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes de Gray surfaciques à noyaux. August 2022. working paper or preprint. [80] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes de Gray surfaciques à réflexions. , August 2022. working paper or preprint. [81] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes de Gray surfaciques en forme de lacets. https://hal.archives-ouvertes.fr/hal- , July 2022. working paper or preprint. [82] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes de Gray surfaciques en forme de méandres. https://hal.archives- 03737998/file/Article11.pdf , July 2022. working paper or preprint. [83] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes de Gray surfaciques en forme de spirales. https://hal.archives-ouvertes.fr/hal- , July 2022. working paper or preprint. [84] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes de Gray surfaciques en forme d’escaliers. https://hal.archives-ouvertes.fr/hal- 03745141/file/Article16.pdf , August 2022. working paper or preprint. [85] Jean-François Rotgé. Fonctions de couplage et chaînage des courbes et métacourbes de Gray généralisant les courbes de Hilbert. https://hal.archives- , September 2022. working paper or preprint. [86] Jean-François Rotgé. Fonctions de couplage et chaînage des métacourbes de Gray surfaciques à rotors. https://hal.archives-ouvertes.fr/hal- , September 2022. working paper or preprint. [87] Jean-François Rotgé. Principes de chaînage des courbes de Gray. August 2022. working paper or preprint. [88] Fondation Vasarely. Alvéole 5. https://www.fondationvasarely.org/alveole-5/ , 2022. [89] Wikipedia. Self-avoiding walk. , 2022. [90] Landesmuseum Württemberg. Federschild : Meander und sonne. https://www.leo-bw.de/detail/- r+und+Sonne%22+aztekisch+um+1520 , 2022. [91] Bhaskar Mondal. Cryptographic Image Scrambling Techniques, pages 37–65.12 2018.