La stéganographie et ses applications dans Bitcoin

  • Stéganographie : Méthode de dissimulation d'un fichier dans un autre pour communiquer de manière secrète
  • Stéganographie des bits les moins significatifs (LSB) : Technique populaire pour cacher des données dans une image en manipulant les pixels
  • Cas d'utilisation potentiels dans Bitcoin : Protéger ses actifs cryptographiques en masquant des informations sensibles comme des clés privées ou des transactions Bitcoin dans une image

Cet article a été publié pour la première fois sur Medium.

Nous introduisons la stéganographie et explorons ses cas d'utilisation potentiels dans le contexte du Bitcoin.

Stéganographie

La stéganographie est une méthode utilisée pour dissimuler un fichier (message, image ou vidéo) dans un autre fichier. Le mot lui-même vient du grec, combinant « steganos » (στεγανός), signifiant « couvert » ou « secret », et « graphein » (γράφειν) signifiant « écriture ». L’objectif principal de la stéganographie est de communiquer de manière à ce que l’existence du message reste cachée.

La stéganographie et ses applications dans Bitcoin

Il existe différentes techniques en stéganographie, allant de la simple à la complexe. Les méthodes de base peuvent impliquer l'intégration de texte dans les bits les moins significatifs d'un fichier image, où les modifications sont visuellement indiscernables à l'œil humain. Des techniques plus avancées peuvent impliquer l'intégration de données dans des fichiers audio, des fichiers vidéo ou même la disposition des mots ou des caractères dans un document texte.

La stéganographie est utilisée dans divers domaines pour la communication sécurisée, la protection des droits d'auteur et même dans le filigrane numérique pour suivre la copie non autorisée de fichiers.

La stéganographie existe depuis très longtemps. Les contes historiques révèlent une technique de communication unique de l'époque de l'Empire romain : un esclave était sélectionné et sa tête rasée dans le but de transmettre un message secret. L'encre était utilisée pour tatouer le message sur le cuir chevelu chauve de l'esclave. Une fois les cheveux entièrement repoussés, masquant le texte, l'esclave était envoyé au destinataire prévu du message. À son arrivée, le destinataire rasait à nouveau la tête de l'esclave pour révéler et lire le message caché.

La stéganographie consiste à dissimuler la présence même d'un message, le distinguant de la cryptographie. Alors que la cryptographie chiffre un message pour le rendre illisible aux personnes non autorisées sans cacher qu'un message est envoyé, la stéganographie vise à cacher le fait même de son existence.

La stéganographie est plus efficace lorsqu’elle est utilisée conjointement avec la cryptographie plutôt qu’en remplacement. Cette double approche permet de dissimuler l'existence de l'information ainsi que de protéger le contenu lui-même lors du stockage ou de la transmission. Dans la pratique, la stéganographie est presque toujours cryptée en premier.

Stéganographie des bits les moins significatifs

La stéganographie des bits les moins significatifs (LSB) est une technique populaire utilisée pour masquer des informations dans une image en manipulant les bits les moins significatifs des valeurs de pixels. Une image porteuse fait référence à l'image originale utilisée pour cacher des données secrètes ou un message caché, agissant comme une « couverture » ou un « hôte » pour les données cachées.

Si on vous présentait le nombre 00000000 $ et que vous aviez la possibilité de modifier un seul chiffre avant de recevoir le montant en espèces, il serait imprudent de modifier le chiffre le plus à droite pour le transformer en 00000001 $. De toute évidence, ajuster le chiffre à l'extrême gauche pour obtenir 10 000 000 $, soit dix millions de dollars, est bien plus avantageux que simplement obtenir un dollar en changeant le chiffre à la fin. Bien qu'un seul chiffre soit modifié dans les deux scénarios, le chiffre de droite est considéré comme le moins significatif car il a le moins d'impact sur la valeur totale.

Le principe de la stéganographie LSB est similaire et simple  : il consiste à remplacer le(s) bit(s) les moins significatifs des données de pixels d'une image par des bits du message secret. Dans les images numériques, la couleur de chaque pixel est généralement représentée par une combinaison de bits pour les composantes rouge, verte et bleue (RVB). Le bit le moins significatif est le bit d'un octet de données qui a la plus petite valeur ou le bit le plus à droite d'une série. Cette méthode est populaire en raison de sa simplicité et du fait que les modifications apportées aux LSB des pixels sont généralement imperceptibles à l'œil humain, conservant ainsi l'apparence de l'image originale tout en masquant les données secrètes.

Voici un aperçu de base du fonctionnement de la stéganographie LSB  :

  • Convertissez les valeurs RVB de chaque canal de couleur au format binaire
  • Pour chaque canal de couleur, extrayez les quatre bits les plus significatifs (MSB) de l’image porteuse et de l’image cachée
  • Décalez les quatre MSB de l’image cachée pour remplacer les positions des quatre bits les moins significatifs (LSB), en les fusionnant avec les quatre MSB de l’image porteuse
  • Réassemblez les canaux RVB, formant un nouveau pixel qui reflète principalement les MSB de l'image porteuse, mais code également les MSB de l'image cachée dans ses LSB. Cela provoque une légère altération de la couleur, faisant apparaître la zone rouge légèrement plus orange en raison des informations intégrées
  • Vous trouverez ci-dessous un exemple pour masquer une image dans une image de couverture/support, en utilisant les 4 bits les moins significatifs.

    Pour récupérer le message caché, le destinataire, conscient de la technique de dissimulation, va inverser la procédure.

  • Extrayez les quatre LSB de chaque pixel de l’image modifiée et déplacez-les vers les positions MSB
  • Remplissez les positions LSB désormais vides avec des zéros (ceux-ci représentent des données irrémédiablement perdues dans le processus de codage)
  • L'image masquée apparaît, semblant quelque peu différente de son original en raison de la perte de données des LSB, ce qui donne une apparence légèrement plus sombre.

    Ci-dessous un exemple.

    En haut à droite : image codée ; En bas à gauche  : image cachée d’origine ; En bas à droite  : image cachée décodéeLes deux images de forêt sont pratiquement identiques à l’œil humain tout en cachant une autre image.

    Cas d'utilisation potentiels

    Dans le contexte du Bitcoin, la stéganographie pourrait protéger vos actifs cryptographiques contre le vol. Il peut masquer des informations secrètes telles que des clés privées, des mnémoniques ou des transactions Bitcoin dans une image. Il pourrait être avantageux de stocker discrètement votre phrase de départ sur papier dans votre maison, ce qui réduirait la probabilité qu'un cambrioleur occasionnel devine de quoi il s'agit. Il pourrait également être utile si vous devez le transporter sur vous-même dans des endroits où vous pourriez être fouillé par des individus ayant l'intention de confisquer vos fonds.

    Stegoseed est un outil permettant de dissimuler une phrase de départ dans un élément de contenu d'apparence ordinaire.

    Stegoseed  : génère des phrases codant pour le contenu de la phrase de départ Bitcoin.Voici quelques exemples plus innovants d’utilisation de la stéganographie dans les blockchains.

    • skin wallet  : stockez la phrase de départ de votre portefeuille crypto en toute sécurité et publiquement dans un tatouage
    • AudioStego  : mettez votre clé privée cryptée dans une piste audio
    • StegOnline : créez un NFT pour stocker votre seed

    Prime publique

    L'Ordinal NFT suivant contient une phrase de départ avec quelques bitcoins. Voyez si vous pouvez le casser et remporter la prime. (Remarque, vous devez utiliser l'image originale ici, pas celle compressée ci-dessous).

    Peux-tu me craquer ?Regarder  : Utiliser les progrès modernes de la cryptographie pour améliorer la confidentialité des données  : Owen Vaughan

    Nouveau sur la blockchain ? Consultez la section Blockchain pour les débutants de CoinGeek, le guide de ressources ultime pour en savoir plus sur la technologie blockchain.