Alarme sans fil gérée par µC.

Y'a pas de ou exclusif dans le jeu d'instructions du PIC ? Ca m'étonnerait bien. Vérification faite, tu as deux instructions selon le besoin : XORWF f,d Logical exclusive OR with W with constant XORLW k Logical exclusive OR with W with f

Cette fonction est implémentée sur quasi tous les Basics et Cs. Mais là je connais trop peu le PIC pour te le détailler.

Pour la définition de la fonction, c'est tout bête, ça fonctionne bit à bit comme la porte logique du même nom. Wiki l'explique très bien :

formatting link

--
LeLapin
Reply to
LeLapin
Loading thread data ...

d'o=F9 la n=E9cessit=E9 d'=E9mettre en continu pour d=E9tecter la perte du canal. et donc de cr=E9er des donn=E9es non reproductibles, s=E9quentuelles/successives et non devinables sans la cl=E9 (pour =E9viter les attaques par "replay" d'une trame d=E9ja envoy=E9e)

Avec 160 bits d'entropie et le petit SHA-1 qui encode la cl=E9 et le codeur, =E7a devrait aller. le pseudo-code est assez simple pour la version originale, les seules modifications envisageables sont le nb de ronde et les constantes magiques, le reste casserait trop le syst=E8me.

formatting link
(note : le PIC a peu de RAM et l'algo permet, avec une r=E9organisation subtile, d'=E9conomiser le tableau de 80 valeurs 32 bits. C'est pas une d=E9couverte : =E7a a =E9t=E9 fait justement pour ! :-D)

quant au Hamming, non seulement il peut d=E9tecter les erreurs, =E9ventuellement corriger qqs bits, et ajouter de l'entropie (car c'est indiscernable d'une sortie de fonction de hachage correcte) mais aussi quantifier le nombre de bits alt=E9r=E9s et ainsi donner une id=E9e de la qualit=E9 du lien radio, ce qui indique si un brouillage a lieu.

voil=E0 !

yg (attention, IANAC)

--=20

formatting link
/
formatting link

Reply to
whygee

On Mar 3, 11:11 pm, whygee

Moins stupide que de croire qu'en ayant la trame, on a aussi la cl=E9 :

Tu ne connais pas la taille de la cl=E9 (qui peut =EAtre variable) Tu ne sais pas o=F9 trouver la cl=E9 dans la trame. Tu ne sais pas si la cl=E9 n'est pas elle-m=EAme crypt=E9e. Tu ne connais pas l'algorithme d'encryptage. ... etc ...

Non, parce-que ce qui va coincer ce n'est pas la connaissance, mais l'explosion de la combinatoire.

Reply to
Jean-Christophe

On Mar 3, 11:38=A0pm, LeLapin

Tout =E0 fait d'accord avec toi.

Reply to
Jean-Christophe

pas besoin de 2 canaux alors, juste une liaison bidirectionnelle (sur 2 fr=E9quences diff=E9rentes) pour s'assurer de la sant=E9 de la lia= ison.

par contre j'ai oubli=E9 : s'il y a plusieurs =E9metteurs/capteurs, le num=E9ro du capteur doit =EAtre contenu dans sa cl=E9 secr=E8te.

bon, le r=E9cepteur devra pr=E9parer les messages qu'il attend de chaque capteur et comparer le message re=E7u avec tous ceux qu'il attend. tout simplement parce que le principe m=EAme d'une fonction de hachage comme SHA-1 est qu'elle n'est pas r=E9versible :-)

h=E9h=E9.

yg

--=20

formatting link
/
formatting link

Reply to
whygee

On Mar 4, 12:06 am, Emile

LeLapin t'a donn=E9 un lien : le XOR est un ou-exclusif. ( c'est l'un OU l'autre MAIS pas les deux =E0 la fois ) C'est une fonction de base comme le ET et le OU. Le gag est que c'est r=E9versible, d'o=F9 son int=E9ret. Si 'A' est ton message et 'B' ta cl=E9 de cryptage :

'A' XOR 'B' =3D C (le message 'A' est encrypt=E9 en 'C') 'C' XOR 'B' =3D A (le message 'C' est d=E9crypt=E9 en 'A')

Donc on fait la m=EAme chose pour crypter que pour d=E9crypter. Mais c'est archi-connu par tout le monde : coder un message de cette fa=E7on avec une cl=E9 d'un octet ne r=E9sistera pas plus de trente secondes =E0 un gamin (m=EAme un tout petit :o) Donc il faut impl=E9menter un truc maison plus robuste.

Mais de toutes fa=E7ons, ce n'est pas l=E0 qu'est le point faible de ton alarme radio.

Que se passe-t'il si j'=E9mets continuellement du bruit sur la m=EAme fr=E9quence que celle de tes =E9metteurs/r=E9cepteurs ? Ils ne pourront plus se transmettre de donn=E9es, et je pourrai tranquillement d=E9pouiller ta cave =E0 vin ... et l'encodage des donn=E9es ne peut rien contre cela.

Reply to
Jean-Christophe

=E0

Dans ce cas la trame n'est plus recu et le watchdog se reveille et dit =E0 monsieur le pic , allume l'emetteur 2 qui est en 433 Mhz !! ehehe !

Et si cest brouill=E9 sur toute les frequences tout explose !! pu de voleur !

Ahaha !

Reply to
Emile

On Mar 4, 12:06 am, whygee

| Moins stupide que de croire qu'en ayant la trame, on a aussi la cl=E9 : | Tu ne connais pas la taille de la cl=E9 (qui peut =EAtre variable) | Tu ne sais pas o=F9 trouver la cl=E9 dans la trame. | Tu ne sais pas si la cl=E9 n'est pas elle-m=EAme crypt=E9e. | Tu ne connais pas l'algorithme d'encryptage ... etc ...

Cela reste valable pour plsieurs trames puisque la cl=E9 change =E0 chaque trame =E9mise, et m=EAme =E0 chaque octet d'une trame donn=E9e : alors autant pour l'analyse ... mais admettons.

Je doute que le cambrioleur y passe autant de temps, surtout avec une trame =E9mise toutes les deux plombes, comme Emile veut le faire ... mais admettons.

Si tu ne connais pas l'algo de cryptage et que tu ne peux pas localiser la cl=E9, les corr=E9lations te permettront-elles de *d=E9coder* le message ?

Toutes les 'parties du message' changent =E0 chaque =E9mission, m=EAme si c'est exactement la m=EAme trame qui est =E9mise. Je doute que le cambrioleur de base ait la puissance de calcul n=E9c=E9ssaire, et surtout les connaissances pour maitriser de telles analyses ... mais admettons.

La cl=E9 change =E0 CHAQUE =E9mission de trame, et m=EAme pour chaque octet de chaque trame.

Oui, elle l'est.

Je ne tiens pas =E0 jouer sur la terminologie : pour moi, la cl=E9 d'un message donn=E9 est ce qui permet de d=E9crypter ce message-l=E0. Que cette cl=E9 soit chang=E9e me semble =EAtre la moindre des s=E9curit=E9s, et ne lui fait pas perdre sa qualit=E9 de "cl=E9".

Et je r=E9p=E8te que le fait que la cl=E9 soit incluse dans le message n'implique pas que tu sois capable de l'en extraire : tu ne sais pas o=F9 sont les bits de cette cl=E9, ni dans quel ordre ils sont, ni combien il y en a, etc.

| Non, parce-que ce qui va coincer ce n'est pas la | connaissance, mais l'explosion de la combinatoire.

J'entends bien, mais en th=E9orie de l'information on choisit un message parmi un ensemble fini de messages possibles : rien n'emp=E8che d'ajouter =E0 chaque trame un nombre diff=E9rent et arbitraire de bits al=E9atoires. La longueur des trames changeant =E0 chaque =E9mission, je vois mal comment tu pourrais dimensionner l'ensemble des possibilit=E9s ... mais admettons.

Pour un cabrioleur de base ? Je ne vois pas vraiment o=F9 se situe l'objection. Mais bon, c'est tr=E9s int=E9ressant comme sujet ...

.
60 bits.

actions/

nibles

80,

de la cl=E9).

ompteurs

Quelle que soit l'efficacit=E9 redoutable de ces techniques, je trouve justement dommmage d'utiliser des techniques connues : rien de mieux que le non-standard pour =EAtre r=E9fractaire =E0 l'analyse ! Et pas besoin de trucs lourds ...

Et pourtant, si le cambioleur ne recoit plus rien sur son r=E9cepteur, c'est mal barr=E9 pour lui.

Mais est-ce qu'Emile va d=E9velopper et impl=E9menter un petit SHA, du Hamming, des codes en treillis et tout le toutim, tout cela en Basic sur un Pic ? Il peut le faire en copiant/collant du code par-ci par-l=E0, mais s'il ne maitrise pas en profondeur le fonctionnement de son propre programme, que vaudra la fiabilit=E9 de son alarme ?

Reply to
Jean-Christophe

reil.

utre.

ne 160 bits.

s/soustractions/

s ASM.

es disponibles

oin de 80,

arties de la cl=E9).

es compteurs

!

er le texte des messages pr=E9c=E9dents -

Oui je veux rester sur un syst=E8me simple mais efficace , ce n'est pas la NASA qu'on prot=E8ge et pour bien connaitre le patron de l'APSAD celui-ci m'a bien expliqu=E9 les techniques des cambrioleurs pour les particuliers.

un coup de marteau , un coup de scie circulaire , un tournevis , une bombe de mousse poluyrethane pour etouffer les sirenes et c'est tout. tout ce qui est brouillage tout ca , c'est dans les films , ca existe mais c'est tres rare , meme pour des banques , les mecs travaillent soit par corruption d'un vigile soit =E0 lance thermique ...! Dans tout ce qui est hacking informatique l=E0 c'est totalement diff=E9rent , mais mon syst=E8me sera reli=E9 au secteur , et autonome en cas de panne de courant pendant 72H , une carte SIM en plus pour sortir au cas ou .

Emile

Reply to
Emile

pareil.

autre.

e.

onne 160 bits.

ons/soustractions/

ros ASM.

bles disponibles

esoin de 80,

(parties de la cl=E9).

les compteurs

se !

quer le texte des messages pr=E9c=E9dents -

Moi ce que je veux eviter c'est un parasite exterieur ayant une Z.I =E0 cot=E9 de mon domicile avec des ponts roulants en HF ... !

Reply to
Emile

On Mar 4, 12:53 am, whygee

| Dans ce cas la trame n'est plus recu et le watchdog se reveille | et dit =E0 monsieur le pic , allume l'emetteur 2 qui est en 433 Mhz ! | Et si cest brouill=E9 sur toute les frequences tout explose !

Alors si un gus passe dans ton quartier en mobylette sans anti-parasite et brouille ton r=E9cepteur, ton voisin flic sort son flingue ? :o) Faudra =E9viter de promener son chien ce soir-l=E0 ...

| pu de voleur !

C'est s=FBr que deux heures apr=E8s, il sera d=E9ja loin ...

Sans rire : je brouille tes r=E9cepteurs puis je me planque, ton voisin sort, fait sa ronde, retourne se coucher. Je recommence : il ressort, re-ronde, re-couchage. Je recommence, etc ... il va finir par se dire que ton montage d=E9conne, et ne plus r=E9pondre =E0 l'alarme. ( et l=E0 ce n'est pas que ta cave =E0 vin qui va y passer )

Reply to
Jean-Christophe

On Mar 4, 12:27 am, whygee

| Que se passe-t'il si j'=E9mets continuellement du bruit sur | la m=EAme fr=E9quence que celle de tes =E9metteurs/r=E9cepteurs ?

Oui, tout =E0 fait !

Reply to
Jean-Christophe

Je fais du Hors sujet l=E0 pour JC.

Visiblement tu compiles en C quand tu joues avec des pics , pour moi qui suis d=E9butant et compte bien continuer =E0 avancer et aller un peu plus loin que le basic que me pr=E9conises tu comme language , plutot C ou ASM , sachant que ASM faut bien s'accrocher ....

Merci

Emile

Reply to
Emile

plusieurs ? comme combien ?

donc ce n'est pas une cl=E9.

alors cela n'a rien =E0 voir. c'est plus ou moins de l'embrouillage, mais pas de l'encryption.

on pourrait dire que ta "cl=E9" est une sorte de vecteur de diffusion, comme dans RC4 ou un algo similaire. tu n'abordes pas la cr=E9ation de ta "cl=E9", qui ressemble =E0 un "sel" d=E9terministe (ce qui fait confusion des genres)

il se rend compte probablement que pour que ce soit fiable, il faut des messages beaucoup plus souvent, comme 5s d'=E9cart... sinon comment d=E9tecter un brouillage ?

la crypto, et l'Histoire, montrent qu'on n'a pas forc=E9ment besoin de d=E9coder un message pour faire des d=E9g=E2ts :-)

alors justement, c'est assez facile =E0 d=E9terminer : tu fais un XOR bit par bit entre diff=E9rents messages, tu verras que le r=E9sultat sera souvent le m=EAme (corr=E9lation). sachant que le contenu du message ne change pas, justement, tu peux retrouver la "cl=E9" et remonter au processus qui la g=E9n=E8re.

on ne sait jamais. Emile ne nous dit pas si l'=E9ventuel cambrioleur bosse pour la D$T ;-P

donc ce n'est pas une cl=E9.

donc c'est encore moins une cl=E9 :-D

je n'y tiens pas non plus, mais tu vois que si on utilise un mot pour dire chacun une chose, on s'y retrouve plus. alors accordons-nous sur ce qu'est une cl=E9 et on y arriver :-)

ah ! jusque l=E0 =E7a va. or si tu envoies la cl=E9 tu permets =E0 Eve de d=E9crypter. on est d'accord ?

fail.

par d=E9finition, une cl=E9 est quelque chose qui ne change pas durant la= transmission. ce qui =E9vite de s'emp=EAtrer avec la synchronisation des cl=E9s de chaq= ue c=F4t=E9.

par contre des algos comme RC4 sont des g=E9n=E9rateurs de bits pseudo-al= =E9atoires qui d=E9pendent d'une cl=E9 priv=E9e. mais c'est un peu lourd pour de pet= its messages et il faut trop de RAM (256 octets au moins).

si, justement.

l'information y est, ou n'y est pas. si elle n'y est pas, ne on peut pas la trouver. si elle y est, ben on *peut* la retrouver, m=EAme si c'est "difficile" (pri=E8re de quantifier la difficult=E9)

laisse-moi deviner : Emile va imaginer un syst=E8me de permutation hyper complexe qui va tomber au premier xor entre 2 messages cons=E9cutifs....

Et Emile est bien incapable de choisir et coder cela...

Tu rends le proc=E9d=E9 plus complexe et p=E9nible mais pas plus inviolab= le.

mais pourquoi changer tout le temps ? =E7a complique le code sans rien apporter.

y'a m=EAme des newsgroups dessus, et plein de bouquins, on parle m=EAme de conf=E9rences internationales et j'ai entendu dire que c'est utilis=E9 partout ;-P

eil.

nb: pour ceux qui savent pas ce que c'est un LFSR, voici un article tr=E8= s d=E9taill=E9

formatting link

e 160 bits.

stractions/

SM.

sponibles

de 80,

ies de la cl=E9).

s compteurs

se !

Justement je propose de modifier SHA1 (qui est pas tr=E8s compliqu=E9, y'a du code source en clair partout pour =E7a, voir en fin de message ma sauce d=E9riv=E9e de wikipedia)

l'avantage de passer les donn=E9es dans la fonction de hachage est que =E7a garantit (modulo un hash bidouill=E9, non standard, pour =E9viter les rainbow tables) qu'il est impossible de remonter aux donn=E9es initiales qu'on veut transmettre.

et contrairement =E0 un "block cypher" comme DES, qui ne fonctionne que s= ur

64 bits =E0 la fois, ce qui est un peu... pauvre, SHA1 g=E9n=E8re 160 bit= s et a un code source beaucoup plus court et simple. c'est assez r=E9p=E9titif mais court =E0 =E9crire.

et quand m=EAme, s'il re=E7oit qqchose, =E7a change quoi ?

j'ai pas parl=E9 de treillis ;-)

et le code SHA1 est copi=E9-coll=E9-modifi=E9 de Wikipedia ci dessous, ya qu'=E0 traduire dans le langage choisi. quant =E0 Hamming, y'a qu'=E0 lire la page wikipedia :-)

formatting link
je me suis m=EAme permis de faire du pseudo-code pour l'encodeur (identique au d=E9codeur, le correcteur est un peu plus long) apr=E8s celui de SHA1.

Ici, la fonction de hachage fournit la s=E9curit=E9, et Hamming la fiabilit=E9. Et =E7a lui fera d=E9couvrir au passage des aspects indispensables du monde de la programmation, de la th=E9orie de l'information et des protocoles de communication, avec le language qu'il choisit.

attention : le code suivant n'est pas compilable, donc n'a pas =E9t=E9 test=E9, et ne peux donc pas =EAtre garanti ;-)

**************************************************************

pseudo-code d=E9riv=E9 de

formatting link

choisir les constantes: h0 =3D 0x67452301 \ h1 =3D 0xEFCDAB89 \ h2 =3D 0x98BADCFE > =E0 changer :-) h3 =3D 0x10325476 / h4 =3D 0xC3D2E1F0 /

initialiser le tampon "w" de 16 mots (0 =E0 15) de 32 bits * mot 0 : compteur =E0 incr=E9menter =E0 chaque message (ou un LFSR en configuration de Galois, c'est mieux) * mots 1 =E0 15 : la "cl=E9", identifiant unique de l'appareil

extension du tampon "w" =E0 80 mots (indices de 0 =E0 79) :

for i from 16 to 79 w[i] =3D (w[i-3] xor w[i-8] xor w[i-14] xor w[i-16]) leftrotate 1

(note : on peut s'arranger pour n'avoir que 16 mots =E0 la fois en RA= M)

initialise les variables de calcul : a =3D h0 b =3D h1 c =3D h2 d =3D h3 e =3D h4

for i from 0 to 79 if i < 20 then f =3D (b and c) or ((not b) and d) k =3D 0x5A827999 else if i < 40 f =3D b xor c xor d k =3D 0x6ED9EBA1 else if i < 60 f =3D (b and c) or (b and d) or (c and d) k =3D 0x8F1BBCDC else f =3D b xor c xor d k =3D 0xCA62C1D6

temp =3D (a leftrotate 5) + f + e + k + w[i] e =3D d d =3D c c =3D b leftrotate 30 b =3D a a =3D temp

end for

h0 =3D h0 + a h1 =3D h1 + b h2 =3D h2 + c h3 =3D h3 + d h4 =3D h4 + e

envoyer les 5 mots h0 h1 h2 h3 h4 (soit 20 octets)

**************************************************************

Code de Hamming avec parit=E9 :

20 octets en entr=E9e dans le tableau w (voir ci-dessus) (attention, les indices partent de 0 mais Hamming commence =E0 1) on cr=E9e les 6 variables A, B, C, D, E, et P (A =E0 E sont les syndromes, P est la parit=E9 totale)

A=3DB=3DC=3DD=3DE=3DP=3D0

pour i de 1 =E0 20 j=3Dw[i-1] (cf: d=E9calage mentionn=E9 plus haut) si (bit 0 de i) =3D '1' alors A =3D A xor j si (bit 1 de i) =3D '1' alors B =3D B xor j si (bit 2 de i) =3D '1' alors C =3D C xor j si (bit 3 de i) =3D '1' alors D =3D D xor j si (bit 4 de i) =3D '1' alors E =3D E xor j P =3D P xor j fin boucle

A l'=E9mission : Envoyer w[0..19] puis A, B, C, D, E, et P (26 octets en tout) Note : pour s'assurer de la synchronisation, on peut mettre un octet "0xA5" en ent=EAte et un octet "0x5A" =E0 la fin

A la r=E9ception : rejeter tout ce qui ne se conforme pas =E0 "0xA5" ... "0x5A". calculer les A, B, C, D, E, et P (avec le code ci-dessus) puis faire un XOR avec les ABCDEP re=E7us. Ensuite calculer Z =3D A or B or C or D or E or P Si Z=3D0 alors pas d'erreur de transmission donc comparer le message re=E7u avec ceux pr=E9calcul=E9s puis envoyer un accus=E9 de r=E9ception.

sinon : compter le nombre de bit =E0 1 pour voir si un ou deux bits sont corrigibles. au dessus de 3, le message est faux ou brouill=E9.

=E7a a l'air magique comme =E7a mais c'est juste des maths appliqu=E9es :=

-)

--=20

formatting link
/
formatting link

Reply to
whygee

On Mar 4, 2:38 am, Emile

Ben, les deux. C parce-qu'il est assez universel et te servira ailleurs, ASM parce-que c'est LE langage pour parler aux uP, le plus proche de ce qui se passe dans leurs tripes.

Pour un d=E9butant habitu=E9 au Basic, les premiers contacts avec le C sont souvent r=E9barbatifs, mais il est tr=E9s souple, concis, et effica=E7e (=E0 mon avis) Personnellement je trouve que les instructions ASM des Pic sont assez obscures voire imbitables, je lis mieux le Motorola et l'Intel, mais bon.

On peut aussi coder directement en hexa (dans une autre jeunesse, lors de d=E9buggages j'ai pass=E9 des heures inoubliables avec une grosse cafeti=E8re et une cartouche de clopes =E0 patcher du code HC11 directement en hexa pour =E9viter de perdre du temps =E0 recompiler le source) et on finit sa vie chez les fous ... on ne sait pas si c'est la programmation qui rend fou, ou s'il faut =EAtre fou pour se lancer dans la programmation :o)

Allez, bonne nuit Emile, bon courage pour la continuation, et =E0 bient=F4t chez les fous ... sur fse !

Reply to
Jean-Christophe

J'ai pas eu de plantages dans mes designs. Ils peuvent redemarrer en cas de grosse EMI conduite (et donc c'est non bloquant bien que le programme reparte du début), mais il y a aussi un watchdog disponible avec un oscillateur séparé, avec un diviseur réglable selon le temps voulu entre le dernier appel a restart_wdt() et le reset du µC.

--
cLx
Reply to
cLx

On Mar 4, 3:08 am, whygee

L=E0, je crois qu'on est partis ...

| si tu lis 1 trame.

C'est =E0 toi de me le dire, puisque c'est toi qui soutiens de pouvoir remonter au message original. ( sans savoir en extraire la cl=E9 ni connaitre l'algo utilis=E9 )

Si tu veux ... alors appelons cela une '=E9lc', cela ne change rien =E0 l'efficacit=E9 finale.

D'accord, admettons. Justement, s'il s'agissait d'une technique standard, on pourrait lui appliquer des m=E9thodes standard. Or, ma proposition est justement de proc=E9der autrement pour satisfaire au but vis=E9 : emp=E9cher la reconstitution des donn=E9es d'origine en partant des donn=E9es 'embrouill=E9es'.

Je ne remets pas en cause ce que tu dis sur les techniques standard, par contre je remets en cause ton r=E9flexe de vouloir TOUT ramener =E0 ces techniques.

Dans ce contexte, tes objections ne sont valables que pour l'ensemble des m=E9thodes (plus ou moins) bien =E9prouv=E9es dont tu supposes =E0 priori l'efficacit=E9 sur une m=E9thode qui justement n'utilise PAS ces m=E9thodes-l=E0. Tu ne connais pas l'algo d'embrouillage utilis=E9, ni m=EAme la profondeur de complexit=E9 =E0 laquelle il op=E8re, et tu pr=E9tends casser ce code avec des m=E9thodes faites pour d'autres types d'obfuscations.

Oui, tout =E0 fait.

| Si tu ne connais pas l'algo de cryptage et que | tu ne peux pas localiser la cl=E9, les corr=E9lations | te permettront-elles de *d=E9coder* le message ?

Je veux bien, mais tu n'as pas r=E9pondu =E0 ma question.

| Toutes les 'parties du message' changent =E0 chaque =E9mission, | m=EAme si c'est exactement la m=EAme trame qui est =E9mise.

Ce n'est vrai que s'il existe une bijection unique entre les poids respectifs de chaque bit du message d'origine et de chaque bit du message brouill=E9 : or ce n'est pas le cas ici puisqu'on ins=E9re des bits al=E9atoires =E0 des endroits arbitraires dans la trame et qu'en plus on swappe les bits significatifs de la trame : tu auras beau XORer bit =E0 bit diff=E9rentes trames brouill=E9es ( dont la longueur varie et dont les bits changent de position ) tu verras que le r=E9sultat NE sera PAS souvent le m=EAme.

| Je doute que le cambrioleur de base ait la puissance | de calcul n=E9c=E9ssaire, et surtout les connaissances | pour maitriser de telles analyses > on ne sait jamais. Emile ne nous dit pas si

Dans ce cas il se fout que le voisin se pointe, =E0 fortiori si ce voisin est un gendarme ...

| La cl=E9 change =E0 CHAQUE =E9mission de trame, | et m=EAme pour chaque octet de chaque trame.

Si tu veux. Appelons-la une '=E9lc'.

Oui, si tu veux. Cela ne change rien au r=E9sultat : l'embrouillage effectu=E9 est r=E9sistant aux attaques que tu as propos=E9.

| pour moi, la cl=E9 d'un message donn=E9 | est ce qui permet de d=E9crypter ce message-l=E0.

Non, pour des raisons que j'ai d=E9ja =E9voqu=E9 plusieurs fois :

  1. La '=E9lc' est diff=E9rente pour chaque message.
  2. La '=E9lc' est modifi=E9e =E0 chaque fois qu'on s'en sert pour XORer un octet du message.
  3. Les bits de la cl=E9 sont dispers=E9s dans le corps des bits du message.
  4. On ajoute au message des bits al=E9atoires =E0 des endroits arbitraires.
  5. On peut m=EAme envoyer de temps en temps des messages totalement bidons (qui ne codent pas pour une commande incluse dans le protocole de com) pour bruiter les calculs issus d'une collecte d'interceptions, etc ...

Ergo, j'attends toujours que tu me dises comment tu comptes retrouver la '=E9lc' =E0 partir d'une analyse statistique des messages intercept=E9s.

M=EAme si je te donnais la cl=E9, elle ne te servirait pas =E0 grand-chose puisque tu ne connais pas l'algo utilis=E9 pour le brouillage, d'autant plus qu'il ne s'agit pas d'un algo standard. Et il n'est pas dit qu'on utilise un seul algo, le m=EAme =E0 chaque fois : certains bits de la '=E9lc' peuvent servir =E0 indiquer quel algo utiliser.

| Que cette cl=E9 soit chang=E9e me semble =EAtre la moindre | des s=E9curit=E9s, et ne lui fait pas perdre sa qualit=E9 de "cl=E9".

Et alors ? Je mets en place un brouillage, je fais ce que je veux. Si tu refuses d'appeler cela une 'cl=E9', ok, appelons-la une '=E9lc', cela ne me g=E8ne pas. Toujours est-il que le r=E9sultat est de rendre le message plus r=E9sistant aux attaques que si la cl=E9 restait toujours la m=EAme =E0 chaque encodage.

C'est comme si tu me disais que je n'ai pas le droit d'utiliser une technique non-standard et inconnue : j'en ai d'autant plus le droit que c'est justement ce qui va compliquer les attaques.

ue c=F4t=E9.

Et par suite, ce qui rend le message moins r=E9sistant aux attaques. ( et je n'ai pas parl=E9 de synchronisation de cl=E9s )

Tu critiques ma proposition sur les bases d'une technique diff=E9rente : tous les animaux ne sont pas des =E9l=E9phants, mais tu persistes =E0 analyser un nouvel animal (par exemple un oursin) toujours en termes d'=E9l=E9phants parce-que c'est ce que tu connais d=E9ja. C'est compr=E9hensible, mais tu te trompes (sic) parce-que cela n'a aucune chan=E7e d'aboutir.

Tu as le droit de refuser d'envisager une technique d'embrouillage dont la cl=E9 change continuellement, ou qu'on swappe arbitrairement tous les bits d'un bloc de donn=E9es, etc ... Mais cela n'emp=E8che personne de s'y prendre comme =E7a, et que toute attaque se basant sur l'id=E9e que le brouillage utilis=E9 est connu, sera par d=E9finition vou=E9e =E0 l'=E9chec.

| Et je r=E9p=E8te que le fait que la cl=E9 | soit incluse dans le message n'implique | pas que tu sois capable de l'en extraire

Je pense plut=F4t que c'est =E0 toi de prouver ce que tu avances. Comment fais-tu pour retrouver chaque bit d'une '=E9lc' dont tu ne connais ni le nombre de bits, ni leur ordre, ni leur position dans tous les bits d'un message ?

Rien de complexe : la mise en oeuvre est bien plus simple que ne l'est sa description.

Imagine ce que tu veux, mais ne te contentes pas d'affirmer : consid=E9rant le brouillage propos=E9, donne la preuve formelle que tu seras capable de remonter au message original.

Notre conversation porte sur des consid=E9rations qui vont au-del=E0 de ce qu'Emile veut r=E9aliser, il l'a dit lui-m=EAme.

Oui.

Si c'est + complexe c'est forc=E9ment + inviolable, ne serait-ce que par l'=E9norme quantit=E9 de permutations possibles sur tous les bits d'une trame de longueur suffisante. ( d'autant plus que cela ne correspond =E0 aucun standard )

| La longueur des trames changeant =E0 chaque =E9mission, je vois | mal comment tu pourrais dimensionner l'ensemble des possibilit=E9s

Pour compliquer les attaques, =E9videmment ! Si la m=EAme '=E9lc' est utilis=E9e pour tous les messages, que tous ses bits restent group=E9s au m=EAme endroit des messages, etc, alors certains types d'attaques fonctionneront; mais si la '=E9lc' change pour chaque message et qu'elle y est dispers=E9e, enfouie, ces m=EAmes attaques ne fonctionneront plus. Et c'est bien le but.

Non, le code n'est pas si compliqu=E9, et m=EAme moins lourd que certains trucs standards, en termes de code source et de taille RAM.

Si : cela diminue fortement les approches d'attaques possibles. Depuis le d=E9but de nos =E9changes tu tentes de r=E9duire ma proposition =E0 une sorte d'encodage plus ou moins standard : c'est exactement le contraire de ce que je propose; pour cette raison tes objections ne tiennent pas.

Mais c'est justement parce-que c'est connu qu'il faut proc=E9der autrement. Ce n'est pas une obligation, mais c'est une possibilit=E9, et je ne vois pas ce qui emp=E8cherait de l'envisager.

C'est justement =E0 cela que je pensais pour g=E9n=E9rer la '=E9lc' : si tu en croises PLUSIEURS, chacun ayant un polyn=F4me g=E9n=E9rateur qui soit diff=E9rent des autres, et que tu XOR ensemble leurs sorties bit, tu obtiens une s=E9quence astronomiquement longue et de tr=E9s bonne qualit=E9 pour embrouiller un message. Et cela ne n=E9c=E9ssite aucune table et ne prend que quelques lignes de code. Ils sont bien, ces corps de Galois ...

tre.

Alors comment fait le r=E9cepteur ami pour la reconstituer ? ;o)

| Et pourtant, si le cambioleur ne recoit plus rien | sur son r=E9cepteur, c'est mal barr=E9 pour lui.

Cela change qu'il aura au moins quelque chose =E0 se mettre sous la dent, plut=F4t que rien du tout - d'autant plus qu'il est cens=E9 =EAtre un expert en cryptographie avanc=E9e. Si la fr=E9quence de la porteuse HF saute d'une bande =E0 une autre, il faudra au cambrioleur un mat=E9riel bien plus sophistiqu=E9 qu'un simple r=E9cepteur, rien que pour se constituer une collection "suffisante" de messages intercept=E9s.

Certes, mais je r=E9p=E8te : quelle est la fiabilit=E9 d'un programme lorsqu'il est copi=E9/coll=E9/bricol=E9 par une personne qui avoue s'y connaitre peu ?

Oui, c'est un bon exercice ... Il lui reste ensuite =E0 =E9prouver son alarme, en trouvant un ami qui veuille bien jouer le r=F4le du cambrioleur expert en crypto avec tout son matos : ordinateur, scanner radio, etc ... Mais c'est un bon exercice.

Trop facile !

Reply to
Jean-Christophe

Jean-Christophe a ecrit

... loin de FSE et surtout du "probleme" d'Emile :oÞ

avant de deboucher sur de la "grosse" techno durcie :

Il faut serier l'importance des facteurs negatifs sur le bilan de restitution :

1- le vecteur transmission envisagé est de par sa nature considéré non fiable, il peut simplement etre periodiquement etre déjà +/- evalué mais pas certifié. 2- les datas transmises et pour autant qu'elles atteignent déjà le recepteur seront toujours susceptibles d'etre interceptées,analysées/decodées/desembrouiller, etc. 3- envisager un "codage/embrouillage/cryptage, etc" de data là et quelle que soit la robustesse supposée et/ou intrinseque de telle ou telle methode (déjà publiquement evaluée ou "proprietaire" ) ne suffira pas a evacuer là le 1er point ;o)

Le seul et reel but ici au sujet puisque Emile est le concepteur de son projet est simplement de progresser et c'est déjà en soit un bon but !

Qu'il passe finalement ses data en clair ou derivée d'une methode X ou Y ne changera finalement pas grand chose .

Là le 1er niveau de securisation des data (pas de fiabilisation) viendra simplement d'Emile puisqu'il sera le seul (sauf à le documenter) à connaitre ce a quoi il aura finalement abouti. ;o)

Apres il faut simplemnt voir si qq'un voudra (but ? ) mettre en oeuvre des moyens sinon lourds, au moins déjà pas à la portée du 1er rat de cave venu) pour "contrecarrer/contourner" ce qu'aura fat Emile, et si c'est le cas alors Emile n'aurait meme pas eu à devoir se poser la question de realiser ainsi son projet ! :D

RvL

Reply to
rvlegran

On Mar 4, 2:32 pm, "rvlegran"

| L=E0, je crois qu'on est partis ...

Exact, mais une fois qu'on est lanc=E9s ...

Oui.

Si les donn=E9es sont =E9mises en clair, sans protection particuli=E8re, et que j'intercepte une trame qui signifie

"tout va bien, ne d=E9clenche pas l'alarme, relance le watchdog"

et que je la r=E9=E9mets telle quelle p=E9riodiquement, son r=E9cepteur d'alarme va rester coll=E9 en position "relax" pendant que je vide sa cave =E0 vin ?

Reply to
Jean-Christophe

Jean-Christophe a ecrit

Ce sont toujours des discussions interessantes :oÞ

Alors ce ne sera pas par hasard de "petit voleur", mais c'est que tu avais initialement determiné la cible (et son pourquoi à etre ciblée) et déjà engagé des moyens d'attaque/contournement qui ne sont pas à la portée du 1er rat de cave venu ! ;o)

Rvl

Reply to
rvlegran

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.