Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Transformer une ou plusieurs images en suite aléatoire ?

82 réponses
Avatar
lheureuxph
Une autre idée pour produire un bel aléa .. Je prend une vingtaine d'images
genre 5 megapixel et je les mélange entre elles pour obtenir un résultat
qui est la combinaison de toutes ses images intercalées les unes dans les
autres grace a une petite routine.

Suffit ensuite de lire le resultat octet par octet

A mon avis ce principe genere un masque aléatoire qui n'est basé sur aucune
formule mathématique.

Voila de quoi permettre a CDP de crypter n'importe quoi a une vitesse
supersonique !


--
Lheureux Philippe
http://www.superlutin.net/crypto.html

10 réponses

1 2 3 4 5
Avatar
Kawa
Une autre idée pour produire un bel aléa .. Je prend une vingtaine d'images
genre 5 megapixel et je les mélange entre elles pour obtenir un résultat
qui est la combinaison de toutes ses images intercalées les unes dans les
autres grace a une petite routine.

Suffit ensuite de lire le resultat octet par octet

A mon avis ce principe genere un masque aléatoire qui n'est basé sur aucune
formule mathématique.


Bonjour
A mon avis, l'alea sera mauvais.
D'une part pour les premiers octets, qui seront fixes (entêtes de
fichiers) mais bon, on va me dire que ca s'enleve.

Ensuite, les différents octets adjacents d'une image sont tres fortement
corrélés(1). Donc tout dépend de la routine de combinaison.
Si elle se fait octet par octet, c'est mort, un peu de clair connu, et
on décrypte le tout (2).

Si on utilise une fonction de hachage (une vraie, solide et tout), je ne
sais pas trop. (mais ca ne m'inspire pas confiance du tout)

Dans tous les cas, je crois que l'intérêt est nul :
- Avec des images de 2 Mo, on en a une vingtaine, ca nous donne une
"clef" de 40Mo... un peu excessif, non? D'autant plus qu'il faudra les
garder secrètes ces images. A ce niveau la, je prefere ma petite clef de
128 bits ;)
- Pour la vitesse, c'est mort aussi : il va falloir lire 40Mo puis
travailler avec : autant dire plusieurs seconde rien que pour la lecture.

Voila, après ce n'est que mon avis (et je peux me tromper!!)
Cordialement
Kawa



(1) tellement corrélés qu'il est possible de reconstituer une image
complete à partir d'une où il manque un bout (sous certaines conditions
mais qui sont vérifiées sur une très grande partie des photos). D'ou le
(2) : un peu de clair connu et on a quelques octets des images en
inversant la routine de combinaison (quelques possibilités à essayer,
mais espace restreint). On obtient donc les octets adjacent et ainsi de
suite.

Avatar
Guillermito
In article <4303673d$0$22315$,
says...

Une autre idée pour produire un bel aléa .. Je prend une vingtaine d'images
genre 5 megapixel et je les mélange entre elles pour obtenir un résultat
qui est la combinaison de toutes ses images intercalées les unes dans les
autres grace a une petite routine.
Suffit ensuite de lire le resultat octet par octet


Bonne idée en théorie, mais assez difficile à mettre en pratique, à mon avis,
à cause de mille choses qui peuvent ruiner l'aléatoire.

Comme Kawa l'a fait remarquer, il y a une forte corrélation entre les pixels
successifs dans une image classique. De plus, le capteur de votre caméra, ou
les lentilles de l'objectif, ont peut-être des défauts locaux qui vont se
retrouver dans chaque image, toujours au même endroit. Si vous lisez octet
par octet, une partie au moins des pixels va être fortement prévisible.

Pour avoir quelque chose qui ressemble plus à une photo du bruit possiblement
aléatoire généré par votre caméra, il faudrait prendre deux fois exactement
la même image, puis soustraire chaque pixel des deux images. Ce qui reste est
le bruit. Evidemment, il faudrait répéter cela des centaines de fois,
extraire le tout, produire des hashs, passer des tests, etc.

Mais je n'invente rien. Je crois me souvenir que c'est le principe de
l'aléatoire généré par les Lava Lamps dans ce projet :

http://www.lavarnd.org/

On pourrait aussi utiliser comme base des photos satellite de la couverture
nuageuse, ou des températures des océans, qui sont aussi des systèmes
relativement chaotiques et difficiles à prévoir.

--
Guillermito
http://www.guillermito2.net

Avatar
Guillermito
In article <4303932f$0$23193$,
says...

Mais je n'invente rien. Je crois me souvenir que c'est le principe de
l'aléatoire généré par les Lava Lamps dans ce projet :

http://www.lavarnd.org/


Après une minute de recherche, il semble que ce projet n'est plus vraiment le
même que celui auquel je pensais (photos successives de lava lamps). Mais ce
sont les mêmes personne derrière. Celui-là utilise une simple webcam qui
photographie dans le noir, de façon à avoir directement le bruit du capteur
CCD. C'est expliqué là :

http://www.hackaday.com/entry/1234000163045630/

--
Guillermito
http://www.guillermito2.net

Avatar
lheureuxph

Comme Kawa l'a fait remarquer, il y a une forte corrélation entre les
pixels

successifs dans une image classique. De plus, le capteur de votre caméra,
ou

les lentilles de l'objectif, ont peut-être des défauts locaux qui vont se
retrouver dans chaque image, toujours au même endroit. Si vous lisez octet
par octet, une partie au moins des pixels va être fortement prévisible.



oui mais si l'on prend 20 images différentes et qu'on les mélange , la
corrélation entre les pixels sera completement perturbée .
Il est possible par exemple de prendre 10 images fractales différentes
issues d'une copie d'écran et de les mixer avec des photos de portraits ou
de paysages .. tout est possible .
Dans CDP , le probleme de la transmission du masque ne se pose pas puisqu'il
ne sert pas au décryptage. De plus , le fichier aléatoire peut etre détruit
juste apres cryptage sans probleme pour le déchiffrage.

--
Lheureux Philippe
Définition de l'amour : L'amour c'est permettre à l'autre de vivre ce qu'il
a envie de vivre.
http://www.superlutin.net/crypto.html

Avatar
lheureuxph
Après une minute de recherche, il semble que ce projet n'est plus vraiment
le

même que celui auquel je pensais (photos successives de lava lamps). Mais
ce

sont les mêmes personne derrière. Celui-là utilise une simple webcam qui
photographie dans le noir, de façon à avoir directement le bruit du
capteur

CCD. C'est expliqué là :

http://www.hackaday.com/entry/1234000163045630/

--
Guillermito
http://www.guillermito2.net




Je pense que le mélange de 20 images différentes produirait un résultat en
couleur alors que le bruit du capteur d'une webcam est un peu trop ton sur
ton .
Avec un logiciel comme photofiltre , il est aussi possible d'ajouter du
bruit ou des effets pour torturer encore un peu plus les pixels.

Avec ce principe , il serait possible de crypter des images avec CDP .


--
Lheureux Philippe
http://www.superlutin.net/crypto.html

Avatar
Kevin Drapel
oui mais si l'on prend 20 images différentes et qu'on les mélange , la
corrélation entre les pixels sera completement perturbée .
Il est possible par exemple de prendre 10 images fractales différentes
issues d'une copie d'écran et de les mixer avec des photos de portraits ou
de paysages .. tout est possible .


Cela reste du mauvais aléa car certaines valeurs apparaîtront plus que
d'autres (si c'est un mélange de paysages avec des visages, l'aléa
contiendra beaucoup de vert et bleu ainsi que des teintes chair). De
plus, la qualité de l'aléa dépend fortement de la manière de mélanger
les images : pixel à intervalle régulier, pixel tiré de manière
aléatoire (et ici, on revient au problème de départ), etc.

Tu ne peux pas garder les images telles quelles, il faut les hacher
cryptographiquement pour casser au maximum leurs propriétés. C'est ce
qui est fait dans le générateur avec les lampes à lave. Le hachage
apparait également dans les générateurs cryptographiques Fortuna et
Yarrow de Bruce Schneier.

Pour revenir aux lampes à lave, la description exacte est ici :
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm&r=1&f=G&lP&s1=5,732,138.WKU.&OS=PN/5,732,138&RS=PN/5,732,138

Avatar
Guillermito
In article <4303a08b$0$885$,
says...

oui mais si l'on prend 20 images différentes et qu'on les mélange , la
corrélation entre les pixels sera completement perturbée .


Philippe, il faudrait que vous compreniez cela, après 3 ou 4 ans sur ce
forum : ajouter à la suite des couches et des couches de méthodes
faibles ne va pas subitement créer un algorithme solide. Avant de
décider que vous aller prendre 20, ou 50, ou 3000 images différentes et
les mélanger, il faut se demander quels sont les biais ou les faiblesses
possibles dans la méthode utilisée.

C'est le problème avec CDP. Que vous preniez plaisir à bricoler un
logiciel de crypto, je le comprends très bien. Mais ne pensez pas que
d'enchainer à la suite quatre ou cinq algorithmes faibles va, par
miracle, créer un algorithme solide.

Maintenant, si vous voulez tester votre idée, il y a quantité de
librairies ou de logiciels qui appliquent des tests statistiques (qui
n'ont rien d'universel, mais qui sont un bon point de départ) pour
tester si des suites de chiffres sont aléatoires.

--
Guillermito
http://www.guillermito2.net

Avatar
kl
oui mais si l'on prend 20 images différentes et qu'on les mélange , la
corrélation entre les pixels sera completement perturbée .



Pour avoir des nombres parfaitement aléatoires, un bon truc c'est
d'exploiter les lois de la physique quantique qui est intrinsèquement
aléatoire.

Par exemple, on prend un photon et on l'envoie sur un miroir
semi-réfléchissant. Selon que le photon traverse le miroir ou qu'il
est réfléchit, on note un 0 ou un 1.

C'est l'idée derrière la carte Quantis:
http://www.idquantique.com/products/quantis.htm

En ce qui concerne les tests statistiques, les plus connus sont certainement
DIEHARD et la suite du NIST.


Avatar
lheureuxph
et si tu fais un XOR entre l'image 1 et 2 , puis le resultat combiné avec
l'image 3 etc ...

--
Lheureux Philippe
Définition de l'amour : L'amour c'est permettre à l'autre de vivre ce qu'il
a envie de vivre.
http://www.superlutin.net/crypto.html
Avatar
lheureuxph
Philippe, il faudrait que vous compreniez cela, après 3 ou 4 ans sur ce
forum : ajouter à la suite des couches et des couches de méthodes
faibles ne va pas subitement créer un algorithme solide.


Le tout est souvent plus que la somme des parties ! Si chaque petite couche
renforce l'algo comme chaque couche de kevlar renforce le gilet pare -balles
, il n'y a aucun probleme a procéder de la sorte.


Avant de
décider que vous aller prendre 20, ou 50, ou 3000 images différentes et
les mélanger, il faut se demander quels sont les biais ou les faiblesses
possibles dans la méthode utilisée.


En fait un simple XOR entre deux images différentes devrait suffire .

C'est le problème avec CDP. Que vous preniez plaisir à bricoler un
logiciel de crypto, je le comprends très bien. Mais ne pensez pas que
d'enchainer à la suite quatre ou cinq algorithmes faibles va, par
miracle, créer un algorithme solide.


ici il s'agit seulement du générateur de hasard , une photo ou une image a
ceci d'intéressant qu'elle est facile a obtenir et qu'elle est en elle meme
un chaos de pixels . Seul le regard humain peut donner un nom a ce chaos et
si je me rapelle bien de l'émission , le schmilblick c'est pas gagné .


Maintenant, si vous voulez tester votre idée, il y a quantité de
librairies ou de logiciels qui appliquent des tests statistiques (qui
n'ont rien d'universel, mais qui sont un bon point de départ) pour
tester si des suites de chiffres sont aléatoires.


Faites un xor entre deux images de memes tailles puis passez le résultat
dans vos tests , octets par octets , mon intuition me dit que vous allez
être surpris du résultat.
Je n'ai malheureusement pas les outils pour faire cela mais je suppose
qu'ici certains lecteurs les ont !




--
Guillermito
http://www.guillermito2.net



1 2 3 4 5