À première vue, le texte est absolument banal. Pourtant, il contient un code secret grâce à un algorithme qui change les lettres d’une façon indécelable à l’œil nu. Voici comment ça marche.


au sommaire


    Les codes secrets les plus tordus ont été imaginés par des espions depuis la nuit des temps. Durant la seconde guerre mondiale, les Allemands avaient ainsi mis au point la machine à crypter Enigma, qui substituait des lettres par d'autres grâce à un ingénieux système de rotors. Le cryptage mis au point par Changxi Zheng et deux étudiants de l'université de Columbia et publié le 10 mai 2018 est encore plus subtil, puisqu'il peut être utilisé avec n'importe quel texte, image ou fichier, et préserve le cryptage même lorsque le document est scanné, imprimé ou converti dans un autre format. Il est par exemple possible de photographier le texte avec un smartphone et de l'envoyer par textotexto à quelqu'un qui pourra y lire le message caché à l'aide du logiciel de décryptage.

    Il repose sur une nouvelle police de caractères baptisée FontCode. Elle introduit des modifications de la forme des lettres imperceptibles à l'œilœil nu : largeur du trait, hauteur des lettres comme h ou t, atténuation des courbes des lettres rondes comme op ou d...). Le message à transmettre est d'abord converti en une suite de chiffres, chaque chiffre étant assigné à un bloc de cinq lettres dans un texte lambda. Les lettres de ce texte sont ensuite modifiées par un algorithme, qui choisit une altération parmi les centaines de possibilités. Pour décrypter le message encodé, l'algorithme identifie la place des lettres qui ont été altérées et en ressort le chiffre associé. « L'information cachée, imperceptible pour l'œil humain, est lisible par une machine comme avec un lecteur de code-barres ou de QR codeQR code, sauf que sa présence est invisible », explique Changxi Zheng.

    FontCode encrypte le message en une suite de chiffres assignés à un bloc de cinq lettres. © Changxi Zheng, Columbia Engineering
    FontCode encrypte le message en une suite de chiffres assignés à un bloc de cinq lettres. © Changxi Zheng, Columbia Engineering
    Sur ce « poster augmenté », on peut lire un message en scannant un texte avec son téléphone comme pour un QR code. © Changxi Zheng, Columbia Engineering
    Sur ce « poster augmenté », on peut lire un message en scannant un texte avec son téléphone comme pour un QR code. © Changxi Zheng, Columbia Engineering

    Un correcteur pour rétablir des lettres manquantes

    Grâce à un système d'auto-correction, l'algorithme est même capable de restituer le message lorsque certaines lettres sont manquantes (par exemple, quand le texte est devenu plus flou lorsqu'une image est convertie dans une moins bonne résolution). Le décryptage reste possible avec un taux de perte de 25 % (c'est-à-dire quand 25 % des lettres altérées ne sont pas reconnues). La police FontCode fonctionne avec les polices de caractères les plus courantes comme Times New Roman, Helvetica ou Calibri, et utilisable avec les logiciels d'édition classiques (Word, Photoshop, Illustrator...).

    Au-delà de l'espionnage, les chercheurs envisagent de multiples applicationsapplications possibles pour FontCode : QR codes invisibles sur des emballages ou des affiches, authentification de contrats ou d'actes légaux, protection contre la falsification de documents, etc.