Question

Mise à jour J'ai posé cette question il y a un certain temps maintenant, et je suis curieux de savoir si quelque chose comme cela a été développé depuis que je pose la question?

Je ne sais même pas s'il y a un terme pour ce type d'algorithme, et je suppose qu'il n'y aura pas si personne n'a inventé encore. Cependant, il fait aussi googler pour ce disque un peu. Est-ce que quelqu'un sait s'il y a un terme pour cet algorithme / principe encore?

Ceci est une idée que j'ai pensé à, mais je ne sais pas comment le résoudre. Je voudrais savoir si des solutions comme celle-ci existe là-bas, ou si vous les gars avez une idée comment cela pourrait être mis en œuvre.

stéganographie

stéganographie est essentiellement l'art de messages cacher. Dans les temps modernes, nous le faisons par exemple numériquement modifier les bits les moins significatifs dans une image comme celui ci-dessous. Ainsi, pour chaque pixel et pour chaque composante de couleur de ce pixel, nous pourrions être en mesure de cacher un octet ou deux.

Cette alternance n'est pas visible à l'œil nu, mais l'analyse des bits les moins significatifs pourraient révéler des modèles qui expose l'existence et peut-être le contenu d'un message caché. Pour contrer cela, nous chiffrons tout simplement le message avant de l'intégrer dans l'image, ce qui maintient le message en toute sécurité et permet également d'éviter la découverte de l'existence d'un message caché.

Ainsi, en principe, stéganographie prévoit ce qui suit:

  • Hiding message crypté dans tout type de données de médias. (Images, musique, vidéo, etc.)
  • deniability complète de l'existence d'un message caché sans la bonne clé.
  • Extraction du message caché avec la bonne clé.


(source: cs.vu.nl )

semacodes

semacodes sont un moyen de codage de données dans une représentation visuelle, qui peut être imprimé, copié, et numérisé facilement. La matrice Les données présentées ci-dessous est un exemple d'un Semacode contenant le fameux texte Lorem Ipsum. Ceci est essentiellement un code à barres 2D avec une capacité plus élevée que généralement des codes à barres. Les programmes pour générer semacodes sont facilement disponibles, et idem pour les logiciels pour les lire, en particulier pour les téléphones cellulaires. Semacodes contient généralement des codes correcteurs d'erreurs, sont généralement très robustes et peuvent être lus dans des conditions très endommagées.

Ainsi semacodes a les propriétés suivantes:

  • encodage de données qui peut être imprimé et copié.
  • Peut être analysé et interprété, même dans des conditions endommagées (sales), et généralement un codage très robuste.

combiner

Donc, mon idée est de créer quelque chose qui combine ces deux, avec toutes les propriétés combinées. Cela signifie qu'il devrait:

  • Intégrer un message crypté dans tout média, probablement une image numérisée.
  • Le message doit être extractibles même si l'image est imprimée et numérisée, et même en partie endommagé.
  • L'existence d'un message incorporé doit être indétectable sans la clé utilisée pour le chiffrement.

Alors, tout d'abord je voudrais savoir si des solutions, des algorithmes ou de recherche est disponible sur ce sujet? En second lieu, je voudrais entendre des idées / réflexions sur la façon dont cela pourrait être fait?

J'espère vraiment avoir une bonne discussion en cours sur les possibilités et la faisabilité de la mise en œuvre quelque chose comme ça, et je suis impatient de lire vos réponses.

Mise à jour

Merci pour tous les bons commentaires sur ce sujet. Je vais probablement travailler un peu plus sur cette idée quand j'ai plus de temps. Je suis convaincu qu'il doit être possible. Pensez à la recherche dans l'intégration de la musique et filigranes films.

Était-ce utile?

La solution

J'imagine une partie de la robustesse d'un Semacode aux dommages / saleté / obscurcissement est le contraste entre les deux états de toute « cellule ». Le lecteur peut encore faire une bonne supposition quant à l'état réel, même avec une certaine distorsion.

Ce genre de contraste n'est pas disponible dans une image photographique, et est la raison pour laquelle stéganographie fonctionne - le lsb bit-flipping n'a presque aucun effet visuel sur l'image elle-même, alors que la fidélité numérique garantit qu'un système non visuel peut toujours lire très précisément les données intégrées.

Comme les deux applications sont en quelque sorte au niveau des extrémités opposées du spectre analogique / numérique (semacodes sont tout d'être déchiffrable par un traitement analogique (visuel), mais sont en papier, non numérique; stéganographie est tout sur les bits dans le fichier et ne se soucie pas de la représentation analogique, que ce soit la lumière ou du son ou autre chose), j'imagine une combinaison des deux sera très difficile, voire impossible.

Pour l'essentiel ce que vous pensez est d'être capable de stéganographique intégrer quelque chose dans une image, imprimer l'image, faire une photocopie couleur de celui-ci, le scanner dans et être encore capable d'extraire les données intégrées .

Je crains que je ne peux pas aider, mais si quelqu'un parvient, je serai impressionné DAMN! :)

Autres conseils

Il est pas une réponse complète, mais vous devriez regarder watermarking . Cette technique permet de résoudre vos deux premiers objectifs (embedable dans une image imprimée et lisible même de scan en partie endommagé).

Partie de la fiabilité de tatouage à des erreurs de distorsion et de transcription (d'aller de numérique en analogique et à l'arrière) proviennent de redondance (par exemple, en répétant les données plusieurs fois). Ceux rendrait le filigrane détectable même sans une clé. Cependant, vous pourriez être en mesure d'utiliser des techniques de redondance qui sont plus subtiles, peut-être quelque chose lié au codage ou partage de secret l'effacement.

Je sais que ce n'est pas une réponse complète, mais nous espérons que ces pistes vous diriger dans la bonne direction!

Quelle langue / environnement utilisez-vous? Il ne devrait pas être difficile à écrire du code qui ouvre à la fois l'image et Semacode sous forme de bitmap (ce dernier comme un monochrome), définit le bit le plus faible (s) de chaque octet de chaque pixel dans l'image en couleurs à la valeur de la pixel correspondant de l'image bitmap monochrome.

(éventuellement étendre le bitmap de première Semacode aux mêmes dimensions de pixel extension de blanc)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top