#26 Le 01/03/2011, à 23:10
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Ok, en fait il s'agit de stégo par injection, c'est intéressant, merci je regardais par là aussi
Pour la crypto, la bibliothèque utilisera Crypto++ je pense. Les data sont par défaut chiffrées (AES, Blowfish, etc. ou chiffrement asymétrique) mais aussi compressées (zpaq) avant stégo. Le but secondaire aussi, c'est qu'une bouillie binaire est moins détectable par une analyse statistique
@Airballman : bah en fait plus j'y pense, plus mon but premier semble être la bibliothèque, après le GUI sera rapide à créer et secondaire. Sinon oui mon but principal est de permettre de développer de nouvelles méthodes pour la bibliothèques simplement par tout le monde, un peu comme ce que fait Crypto++. Mais je vais peut-être ne garder que les "meilleurs" de chaque catégorie plutôt que de tout mettre. Sinon, y'a aussi d'autres idées qui m'intéressent dans le projet, comme la deniable encryption, ou le fait d'utiliser la stégo par ordinateur pour utiliser la stégo "dans la vie réelle", par exemple création de phrases à mémoriser et à prononcer à voix haute, et qui contiennent un message caché, etc.
Je rêverais d'implémenter avec OpenCV et une bibliothèque de reconnaissance de caractères un truc du genre : j'encode le message "Meet at 5pm tmrw at Hall square" dans un texte annodin en modifiant légèrement la police de certaines lettres. J'imprime sur papier le texte annodin et le passe à mon destinataire. Celui-ci utilise la caméra de son smartphone qui via une reconnaissance de caractères + stego temps réel sur le message lu affiche le message caché sur le principe de la "réalité augmentée". Bon ok je délire un peu, je pense que j'aurai jamais les capacités de faire ça Ne rêvez pas
Edit : pour ceux que le sujet intéresse, jetez un oeil au bouquin Hiding in plain sight (.pdf dispo, 350 pages ), excellente introduction à la stégo, écrit par un ancien geek de la CIA, avec des geekeries mais aussi une contextualisation de la stégo par rapport à l'actualité : utilisation par les terroristes et les pédopornographes (et j'imagine qu'un jour viendra où la stego sera interdite en France, ce qui pourrait rendre la bibliothèque illégale) , montée en flèche de l'utilisation par les entreprises pour protéger les secrets industriels (et création d'un marché de la stégo), mais aussi de la stéganalyse, utilisation d'ebay (un tiers des photos contenant un message dissimulé selon l'auteur), etc.
Dernière modification par ehmicky (Le 07/09/2011, à 21:53)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#27 Le 02/03/2011, à 09:29
- Nasman
Re : Stego++, projet de bibliothèque de stéganographie
Je ne crois pas que le principe de reconnaissance de caractères soit très judicieux pour extraire les informations "cachées" d'un texte, comme un changement de police. Ce sera à envisagé quand les programmes de ROC sous Linux feront un "sans faute" sur des textes normaux (lettres et polices) - et pour les multiples polices existantes.
Travailler à partir d'un texte imprimé rajoutera en plus les imperfections de l'impression.
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#28 Le 02/03/2011, à 10:21
- Airballman
Re : Stego++, projet de bibliothèque de stéganographie
Celui-ci utilise la caméra de son smartphone qui via une reconnaissance de caractères + stego temps réel sur le message lu affiche le message caché sur le principe de la "réalité augmentée". Bon ok je délire un peu, je pense que j'aurai jamais les capacités de faire ça
Ne rêvez pas
Justement, je voulais t'envoyer un mail hier mais j'ai manqué de temps. Tu touches là exactement à la partie qui m'intéresse dans ton projet.
Je pense qu'il peut-être vraiment intéressant, par exemple au travers d'un mms contenant une photo prise par un smartphone, de chiffrer des données dedans et de les extraire à la sortie de manière transparente pour 'lutilisateur.
Je réfléchis à ça depuis un bon moment, et ça tombe plutôt pas mal que tu aies l'air de connaître plutôt bien le sujet .
Pour info, je suis ingé en traitement d'images. Donc je sais (globalement) développer et je peux éventuellement apporter de l'aide pour ce qui est de l'insertion dans un média "graphique".
Je suis donc ton projet de pr , tiens nous au courant. Et is tu as une idée précise en tête et que tu te lances, contacte moi (menfin si tu veux ^^).
airballman@jabber.ubuntu-fr.org
Traitement d'images, systèmes embarqués et autres astuces Linux!
Hors ligne
#29 Le 02/03/2011, à 10:24
- Airballman
Re : Stego++, projet de bibliothèque de stéganographie
Quand à insérer des messages cachés en modifiant des lettres (ou autre), ça me parait possible puisque si c'est bien fait on a pas besoin de s'appuyer sur des chose de type ROC. . .
Il suffit par exemple de modifier certaines caractéristiques physiques des lettres (j'ai plein d'idées qui viennent rien que d'y penser ) .
Opencv serait d'une grande aide pour aller vite la dedans (en plus il est porté sur Android a ce que je crois).
airballman@jabber.ubuntu-fr.org
Traitement d'images, systèmes embarqués et autres astuces Linux!
Hors ligne
#30 Le 02/03/2011, à 16:23
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Bah en fait, je donnais l'exemple du changement de police juste pour illustrer, ça peut être plein d'autres choses : par exemple utiliser un dictionnaire de synonymes : à chaque apparition de "on", cela code un 0, à chaque apparition de "nous", cela code un "1", etc. C'est très trivial, susceptible aux attaques et permet d'encoder très peu d'infos, je pense qu'en lisant des sujets dessus, il doit y avoir mieux, je me suis juste pas encore penché sur le sujet.
Donc en fait, je suis content que ça t'enthousiasme. En fait, moi mon but, c'est d'offrir une API prêt à l'emploi. Tu n'as même pas besoin de connaître l'API en détail, les gens qui veulent implémenter une nouvelle méthode ont juste deux choses à manipuler :
- Hider.get() leur donne un void* pointant vers les data à dissimuler (déjà compressées et chiffrées), sous forme d'array d'octets (il n'a pas à se soucier de leur signification)
- ils disposent du chemin du fichier final à créer/remplacer sous forme de std::string.
Donc c'est simple d'écrire un nouveau module pour faire de la stego sur paquet TCP, ou tout autre sujet qui intéresse. Et puis je vais mettre sur Github et bien documenter avec Doxygen pour favoriser la collaboration.
Donc avant d'implémenter tes idées, il faut déjà que je fasse ce "socle", et je veux pas me précipiter dans le code. Pour l'instant je me documente sur la stego, il y a vraiment beaucoup beaucoup de documentation, avec des travaux de recherches, etc. et puis environ une centaine d'applis open-source dont je peux lire le source. Donc, c'est pourquoi je précise qu'il y aura rien avant septembre. C'est surtout ça, après y'a aussi quelques biblio que j'ai pas encore appris, par exemple peut-être une biblio de manipulation d'images, type Magick++ ou libpng, et puis aussi une biblio d'internationalisation, et surtout les bibliothèques Boost prévues pour la création de bibliothèques. Je veux essayer de bien penser le truc avant de me ruer sur le code.
Même si ça a pas l'air, j'ai déjà bien avancé, appris beaucoup de bibliothèques pour le projet, et ait une centaine de pages de fiches sur la stego. Ca fait en gros depuis novembre que je suis dessus, et d'ailleurs en ce moment, c'est tous les jours.
Dernière modification par ehmicky (Le 02/03/2011, à 22:59)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#31 Le 02/03/2011, à 16:31
- Airballman
Re : Stego++, projet de bibliothèque de stéganographie
Cool alors.
Tiens nous juste au jus
airballman@jabber.ubuntu-fr.org
Traitement d'images, systèmes embarqués et autres astuces Linux!
Hors ligne
#32 Le 03/03/2011, à 02:51
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Une des raisons aussi pour laquelle je me rue pas sur le code : il existe des dizaines de brevets déposés sur des techniques de stego (et certaines qui n'ont rien d'inventive, et qu'on peut copier sans le savoir), et toutes les applis proprios même sans brevet, je pense qu'elles peuvent faire un procès pour utilisation de l'idée de l'algo, même fortuite et avec une implémentation différente, non ??
Dans ce cas, ça veut dire rechercher à fond les brevets, et puis faire une recherche poussée sur les applis proprios existantes, et étudier les modifications faites au carrier avec un éditeur hexa pour essayer de deviner l'algo afin juste de pas la copier... non ?
C'est pour ça, ça va prendre un peu de temps ça.
Dernière modification par ehmicky (Le 03/03/2011, à 02:53)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#33 Le 03/03/2011, à 10:22
- Airballman
Re : Stego++, projet de bibliothèque de stéganographie
Je ne pense pas que tu aies besoin de vérifier tout ça. Ton logiciel sera gratuit, et n'entrera à priori pas en concurrence avec les brevets déjà déposés.
Sinon il n'y aurait plus aucune recherche nulle part :s.
Après tout, Windows a bien déposé le sudo, et c'est pas pour autant qu'on a arrêté de l'utiliser .
Par contre il peut-être bon en efet de s'interroger sur ce qui a été déposé, afin de ne pas faire exactement la même chose (j'entends quand les idées sont un peu exotiques ou poussées). Dans ce cas le plaggia est flagrant.
Imagine sinon, je me serais rué pour déposer le filtre de sobel et la racine carrée .
airballman@jabber.ubuntu-fr.org
Traitement d'images, systèmes embarqués et autres astuces Linux!
Hors ligne
#34 Le 03/03/2011, à 16:04
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Bah j'espère que tu as raison.
Mais je crois que même sous licence libre, on a pas le droit de violer un brevet ? Ces questions me "turlutent" un peu.
Les brevets sur la stego sont hyper-vagues, c'est des véritables mines anti-personnel. Pour l'instant j'essaie de comprendre l'idée des algorithmes et en proposer une implémentation et une variation différente, mais pour ça faut que je fasse le tour des solutions existantes. De ce que je vois pour l'instant, il y en a environ 200, j'en suis à peu près au 70ème, bien que d'après le SARC (centre d'étude de la stego), il y en ait 725
Et puis c'est assez répétitif donc ça me simplifie le boulot, en gros 80% des outils existants tombent dans l'une de ces 4 catégories : modification du/des bit faible (.bmp, .wav, etc.) (50% à lui tout seul) ; modification du coefficient DCT (.jpg) ; modification de la table des couleurs (.gif et certains .bmp et .png) ; injection, par concaténation à la fin ou après les headers, etc.
Dernière modification par ehmicky (Le 03/03/2011, à 16:12)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#35 Le 03/03/2011, à 18:34
- Airballman
Re : Stego++, projet de bibliothèque de stéganographie
Chez moi turlute ca veut pas dire ca , on dirait plutôt turlupine dans ton cas (enfin j'espère
).
Je suis surpris de ce que tu dis sur les brevets. Justement, je pensais le contraire.
Etant développeur d'algorithmes, je sais qu'il y a de fortes restrictions en matière de protection (justement pour ne pas se retrouver bloqué). C'est en train de devenir n'importe quoi mais bon . . .
Si tu en as sous la main, j'aimerais bien en lire
D'autre part, si tu réutilise des codes qui ont déjà été développés par le passé en licence libre, tu n'as que peu de risques non ?
airballman@jabber.ubuntu-fr.org
Traitement d'images, systèmes embarqués et autres astuces Linux!
Hors ligne
#36 Le 03/03/2011, à 18:53
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Oui oui je parle juste des brevets proprio. D'ailleurs, c'est tant mieux, car 50% des outils sont libres. Bah écoute j'espère que tu as raison, ça m'arrangerais bien Bon de toute manière, pour l'instant, ça m'empêche pas de continuer à bosser dessus.
Euh effectivement, ça me turlupine !!
Dernière modification par ehmicky (Le 03/03/2011, à 19:02)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#37 Le 26/05/2011, à 05:06
- Chaussette
Re : Stego++, projet de bibliothèque de stéganographie
bonjour ehmicky,
t' es tu fait kidnappé par le MSS, le Mossad ou la CIA !?
Je viens de lire ton post de Mars, tu avais l' air toujours aussi motivé. J' espère que ton projet avance toujours.
cordialement
Les clowns se marient en grande pompes
Hors ligne
#38 Le 27/06/2011, à 14:48
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Salut,
Mon PC est mort depuis mars ! Je devrais résoudre ce problème dans le mois qui suit, mais ne pourrait pas recommencer à coder avant début août. Mais mon problème principal vient du fait que je me suis fait volé mon DD avec le code + surtout la grosse documentation que j'ai faite (plusieurs mois de boulot, même quand mon PC était down) sur la stégo et la crypto. Or, j'ai une clef USB qui avait une backup encore pas trop vieille, mais cette clef a été bousillée par une noob de ma classe qui a fait je ne sais quoi avec sous Windows. Je suis actuellement en train d'essayer de récupérer tout ce travail effectué . Si tu veux m'aider, j'ai un poste ici sur ce problème.
Dernière modification par ehmicky (Le 27/06/2011, à 14:49)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#39 Le 13/07/2011, à 00:57
- temps
Re : Stego++, projet de bibliothèque de stéganographie
Bonjours,
Depuis le début, je regarde ce fil et hésite. Bon à force, je lance l'idée bien que cela n'est peut-être pas efficace.
Comme je le dis depuis quelque temps, les sons que l'on entends sont en fait constitués de bruits sans importances. L'idée est tout simplement de remplir ces bruits sans importance par des messages.
Voila le principe, mettre un texte sans importance en ligne en format wav, l'oreil entendra exactement la même chose, mais si nous utilisons mon format audio, celui-ci va transformer tout cela en mode texte, il suffit de filtrer la petite partie qui permet de créer ce que nous entendons et ce qui reste pourra contenir des livres entiers qui pourront même contenir un codage de deuxième niveau.
Ca à l'air compliqué et très mal dit, mais en fait c'est très simple à réaliser.
En exemple d'application simple, chaque lettre représente un caractère sur les 65536 positions de l'amplitude d'un format wav cela ne représente rien, et quand cela est près de la médiane totalement inaudible. L'idée en d'envoyé un premier texte contenant toutes les zones mémoires, effets qui sont inaudibles avec la médiane au repos, soit la valeur 32768 pour l'amplitude. Ensuite il suffit d'envoyer le même texte audio contenant les messages ou autres dans les zones mémoires. Un simple comparateur équipée d'une clé de lecture (cela dépend combien de d'octets nous accordons par caractère) pour retrouver le document. Et cela en ayant deux fichiers wav à l'aspect totalement identique pesant le même poids, donnant le même son même avec l'appareil audio le plus sophistiqué, mais bien différent quand au contenu.
Cordialement
Dernière modification par temps (Le 14/07/2011, à 13:03)
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne
#40 Le 06/09/2011, à 16:58
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Premier message mis à jour,
Juste pour signaler que le projet continue, je suis dessus tous les jours
Là en ce moment, je suis en train de me plonger dans des ouvrages formels de crypto. Je veux maîtriser le côté crypto à fond. Dans ce qu'il me reste encore à ce stade :
- me plonger dans la cryptanalyse et la stéganalyse de manière plus forte (avec tout le côté lourd mathématique :s)
- étudier les codes source des outils de stego existants
- apprendre quelques bibliothèques de plus nécessaires au projet
Tout ça va prendre du temps, d'autant que j'ai une vie assez chargée à côté, mais j'y consacre l'essentiel de mon temps libre chaque jour.
J'ai déjà une idée du design générale de la bibliothèque, mais ça risque de changer au fil des lectures, donc pour l'instant ce qui me semble stable c'est la séparation de classes / actions principales traitant de : extraction / écriture du payload / carrier ; compression du payload ; chiffrement du payload ; stéganographie sur le carrier avec le payload.
L'un de mes buts originels étant la modularité, je vais utiliser des classes interfaces ou des templates (pas encore décidé) pour que chacune des actions principales puissent implémenter un ensemble de méthodes : plusieurs méthodes de compression ; de chiffrement ; de stego ; plusieurs types d'input et d'output. Cet ensemble pouvant évolué/être révisé/étendu sans casser la bibliothèque et de manière presque transparente pour l'utilisateur. Et tout en essayant d'éviter de pondre une usine à gaz
Dernière modification par ehmicky (Le 06/09/2011, à 19:54)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#41 Le 01/11/2011, à 16:17
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Hier, je discutais de la bibliothèque avec deux indiens (ayant deux masters ingénieurie logicielle + commerce international (-> mon propre diplôme) ), et ils étaient vraiment enthousiasmés par l'état actuel de la stéganographie (inconnue, technologiquement à ses débuts) et surtout par ses applications commerciales (ils pensaient à la protection contre l'espionnage industriel, qui pèse plusieurs milliards € par an sur nos entreprises). Ils m'ont proposé de rester en contact et éventuellement de travailler pour eux dans plusieurs mois.
Je pense que je vais décliner parce que mon but est de faire du libre. Néanmoins, cela me motive dans l'idée qu'il y a quelque chose d'intéressant dans cette idée !
Dernière modification par ehmicky (Le 01/11/2011, à 19:11)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#42 Le 17/11/2011, à 17:41
- Airballman
Re : Stego++, projet de bibliothèque de stéganographie
J'ai peut-être raté quelque chose mais . . .
Ce que tu proposes est innovant, intéresse du monde et tu y travailles depuis un moment; et tu veux faire du librE.
Pourquoi ne déposes-tu pas ton site sur une plateforme de code communautaire (github?) pour faire avancer le projet? SI tu es moteur tu auras bien plus de visibilité et les gens vont s'y intéresser.
Et pas de risque de perte de tout ton code ^^
airballman@jabber.ubuntu-fr.org
Traitement d'images, systèmes embarqués et autres astuces Linux!
Hors ligne
#43 Le 18/11/2011, à 02:19
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
Pour l'instant je suis dans une phase d'apprentissage plus approfondie de la crypto, et d'études de code source, et il y a au moins 150 projets de stegano dispo sur le net. Donc ça me prend un certain temps (j'essaie d'être dessus tous les soirs, quand c'est possible), mais je veux avant de lancer quoi que ce soit avoir les connaissances nécessaires pour donner une forme générale à la bibliothèque. Je voudrais aussi arriver avec des guidelines précises et quantifiables en matière de qualité stéganographiques, parce qu'après réflexion, je pense qu'il vaut intégrer quelques techniques secures qu'une ribambelle de plugins non-secures.
Il y a aussi une question de législation sur la cryptographie et la stéganographie. Je n'ai toujours pas réussi à avoir d'avis vraiment sûr à 100% que je n'aurais pas de problème judiciaire à court ou moyen terme.
Merci en tout cas à suivre le projet, qui est plus que jamais d'actualité pour moi. Je fais du commerce international, je suis assez occupé à côté, donc ça va encore prendre plusieurs mois. Hônneté je pense qu'avec 4 semaines temps plein, je pourrai finir, mais j'ai vraiment peu de temps chaque soir.
Edit : à vrai dire, je suis dans une phase où j'essaie de prendre tout ce que je peux de discipline transverse pour trouver un usage innovant de la stego. Les watermarks sont un exemple de stego prouvant que c'est possible (mais je suis 100% opposé aux watermarks pour des questions éthiques). C'est une technologie très puissante, son problème est qu'elle est encore au stade de "bricolage" là où elle pourrait attendre le niveau "scientifique" et mathématique de la crypto d'aujourd'hui. Même les livres des pontes du sujet sont plus des ouvrages d'initiation et des recueil de recettes de cuisine stéganographique que des modèles académiques rigoureux. J'essaie de réfléchir à des usages au-delà de l'usage traditionnel, notamment dans la vie courante, ou quelque chose qui aide vraiment les gens ou une industrie donnée.
Dernière modification par ehmicky (Le 18/11/2011, à 02:27)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#44 Le 18/11/2011, à 10:22
- Airballman
Re : Stego++, projet de bibliothèque de stéganographie
Et on est en plein dedans,
Il y a de plus en plus de boites qui se lancent dans le watermark invisible pour les boites qui ne veulent pas qu'on reutilise leur image sans autorisation.
Je suis de loin ton projet en effet, mais sans aucune donnée tangible j'avoue qu'on doit tous avoir du mal à voir les avancées ^^.
airballman@jabber.ubuntu-fr.org
Traitement d'images, systèmes embarqués et autres astuces Linux!
Hors ligne
#45 Le 18/11/2011, à 13:59
- ehmicky
Re : Stego++, projet de bibliothèque de stéganographie
C'est aussi pour ça que je veux pas lancer un projet Github tout de suite : j'ai justement fait l'erreur de parler du projet trop tôt alors qu'il y a encore plusieurs mois de boulot devant moi.
Oui, et il y a aussi les watermarks dans les musiques et les vidéos. Je me pose encore la question de si ça vaut le coup de le mettre pour avoir un framework libre pour mettre des watermarks protégeant un objet sous licence libre.
Tiens d'ailleurs sur la question des watermarks et le genre de trucs qu'on pourrait faire avec de la stego et impossible avec de la crypto : cette question du forum sur comment "watermarker" un code source libre.
Dernière modification par ehmicky (Le 18/11/2011, à 14:27)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#46 Le 04/07/2013, à 11:16
- hilo
Re : Stego++, projet de bibliothèque de stéganographie
Bonjour. Je passe par là et cherche justement ce genre de librairie. Est-ce que tu l'as réalisée depuis 2011 ?
Hors ligne