web-dev-qa-db-fra.com

Stéganographie pour masquer le texte dans le texte

Existe-t-il des algorithmes de stéganographie capables de cacher un message texte (éventuellement crypté) dans un autre message texte inoffensif?

Le scénario que j'envisage est que je voudrais poursuivre une conversation par e-mail qui, pour un homme du milieu, semble complètement innocente, même après un examen minutieux; mais qui en fait contient le vrai message bien caché dans le texte visible.

Je suis conscient que cette technique est utilisée pour masquer le texte dans les fichiers multimédias, mais cela me semble être à la fois lourd et éveillant les soupçons pour l'homme du milieu si chaque message et sa réponse comportent une pièce jointe. .

Je n'ai actuellement rien à cacher et je ne fais rien d'illégal, mais j'apprécie ma vie privée et je suis très intéressé par la cryptographie.

Un exemple serait:

Message apparent de l'expéditeur: Salut Bob. Comment c'est passé ton week-end? Le mien était ... plus de texte ... ciao

Sender real message: Avez-vous trouvé le mot de passe que j'ai demandé?

Message apparent du récepteur: Assez bien. J'ai rattrapé ... plus de texte ... ciao

Réel message du récepteur: Oui, c'était "mot de passe"

16
mulllhausen

Oui, il existe des algorithmes qui cachent des messages à l'intérieur de messages qui peuvent sembler assez innocents. Prenez par exemple spammimic . Il donne la possibilité de cacher votre message dans un spam typique.

Une recherche google pour "Steganography cachant le texte dans le texte" vous donne plus de recherches et d'exemples à ce sujet.

18
Chris Dale

Mon opinion personnelle (peut-être biaisée) est que le spam n'est pas très "naturel". Une humble tentative consiste à utiliser le nombre de mots dans une ligne de courriels ou de documents texte similaires, par exemple Fichiers source HTML, où l'on ne se soucie normalement pas trop de la robustesse des extrémités de ligne, pour transmettre un bit stego. Un code Python pour aider à faire ce formatage est disponible sous le nom EMAILSTEGANO. Son débit binaire est bien sûr malheureusement très faible. D'un autre côté, des messages stego très courts peuvent parfois suffire à ses fins ( par exemple, quand un livre de codes construit de manière appropriée pourrait être utilisé pour exprimer les informations à transmettre sous des formes hautement compressées.) Notez que pour les textes manuscrits, ledit problème de robustesse plus ou moins insatisfaisante des extrémités de ligne peut même complètement disparaître, s'il correspond des précautions sont prises par écrit.

[Addendum, édité] J'ai maintenant un schéma différent WORDLISTTEXTSTEGANOGRAPHY (utilisant une longue liste de mots) qui a un débit binaire plus élevé, bien qu'obligeant l'utilisateur à composer les couvertures sous la direction du logiciel. Les deux schémas mentionnés sont dans les versions les plus récentes accessibles depuis ma page d'accueil mok-kong-shen.de

3
Mok-Kong Shen

J'ai un brillant exemple pour vous! J'ai récemment vu UNE application de stéganographie utilisée pour masquer un message texte dans un document texte.

Il y a une vidéo National Geographic sur YouTube concernant les Aryan Brotherhood et comment ils utilisent pour communiquer en prison, à travers le pays. Le gang a été créé à l'intérieur d'une prison à sécurité maximale en Californie et géré à partir d'autres prisons super max. Ils constituent le gang le plus violent en prison et, alors qu'ils ne représentent que 1/10 de 1% de la population, sont responsables de plus de 20% des meurtres qui ont lieu dans les prisons.

La technologie stéganographique qu'ils ont employée était un chiffre bi-littéral développé il y a 400 ans par Sir Francis Bacon et a été rompu par une organisation fédérale multi-juridictionnelle comprenant des experts du FBI, NSA et d'autres organisations). Naturellement, vous ne pouvez pas utiliser cette technologie car elle a été cassée, mais une partie de la logique derrière elle est toujours solide.

Vous avez vraiment besoin de voir la vidéo si vous ne comprenez pas ce que je déclare ici. Comme indiqué, les textes sont maillés. Dans cette technologie, un "alphabet" est écrit en lettres majuscules et l'autre "alphabet" est écrit en cursif. Les lettres majuscules simples deviennent As et les lettres cursives deviennent Bs. Ensuite, les lettres sont disposées en groupes de cinq, et elles doivent ensuite être déchiffrées à l'aide d'une clé.

Je sais que cela semble facile à casser s'il est affiché sur Internet, mais il existe des polices très proches qui peuvent en faire une technologie performante à moins que chaque document ne soit versé, et tout document peut contenir des dizaines de polices. Une façon de masquer les changements de police serait de placer les différentes polices dans un PDF, ou une image, et une technologie spéciale serait nécessaire pour extraire les différentes polices, ce qui n'est pas courant avec la plupart des logiciels OCR.

2
T I

Matthew Kwan a développé un moyen de masquer le texte dans les espaces et les tabulations d'un ancien fichier texte brut (.txt). Il s'appelle neige et est disponible ici: http://www.darkside.com.au/snow/ Il s'agit d'un utilitaire portable centré sur Windows sans dépendances externes, ce qui ne signifie rien à installer. Facultativement, on peut crypter (algorithme ICE) le texte caché pour obscurcir davantage le texte caché. Je n'ai pas essayé de courir sous Linux avec Wine, en théorie cela devrait fonctionner.

2
PsyclePhreak

J'ai développé un schéma ici:

http://mjethani.github.io/typo

Voici une brève explication de son fonctionnement:

https://crypto.stackexchange.com/a/24863/1522

En bref, tous les 4 bits du message secret sont codés comme une faute de frappe dans le stegotext. La valeur de la faute de frappe est les 4 bits les moins significatifs du premier octet de son hachage SHA-256. Par exemple, la faute de frappe "infirmation" (information) porte la valeur 0xE (0b1110). Le destinataire identifie simplement les fautes de frappe et les hache pour extraire les informations.

1
Manish

Les méthodes stéganographiques du type mentionné dans ma réponse précédente sont communément appelées méthodes syntaxiques. J'aime mentionner une autre méthode syntaxique, due à Rhinedahl, qui peut être expliquée comme suit:

Soit le message stego une chaîne où chaque caractère est codé sur 5 bits. On tente d'écrire pour chaque ensemble de 5 bits une phrase pour le texte de couverture selon une règle par exemple:

1er bit = nombre d'expressions nominales dans la phrase modulo 2.

2ème bit = nombre d'adjectifs modulo 2.

3ème bit = nombre d'adverbes modulo 2.

4ème bit = nombre de clauses modulo 2.

5e bit = le verbe principal était-il transitif (= 1) ou intransitif (= 0)?

Cela a évidemment un débit binaire beaucoup plus élevé que mon humble schéma EMAILSTEGANO. La méthode n'est en effet pas trop difficile pour le travail manuel. Cependant, il n'est pas possible de l'automatiser complètement. Le mieux que l'on puisse faire serait à mon humble avis un logiciel qui emploie des techniques d'IA (PNL) pour déterminer les informations grammaticales requises à partir de phrases données et qui offre de bonnes interactions avec l'utilisateur pour faire face aux problèmes réels de l'encodage stego.

1
Mok-Kong Shen