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

Simple algo: création de la clef de session

55 réponses
Avatar
Raymond H.
Bonjour,

"Christophe HENRY" <forumslkm.sbgodin@nerim.net.sans_lkm> a écrit dans le
message de news: ctia8g$6td$1@biggoron.nerim.net...
> Le Sun, 30 Jan 2005 02:40:27 -0500, Raymond H. a écrit :
>
>> Bonjour,
>>
>> Aie-je bien raison de penser que dans ces deux exemples le xor
>> serait
>> moins difficiles à inverser (déchiffrer) que l'addition, même si le
>> nombre
>> de possibilités du xor dépasse celui de l'addition?
>
> Aucune difficulté dans chacune des deux possibilités.

Autrement dit, dans l'algo de Vernam il n'y aurait aucune différence qu'il
ait utilisé soit un xor ou une addition?

>Ce qui m'a ennuyé
> (sans rendre l'algo plus fort) est le mélange du xor et de l'addition.


Disons que pour le prolongement de la clef, je pense qu'il serait mieux
de mélanger les deux: car sinon on n'aurait que 256 possibilités tandis
qu'avec des additions on rend plus difficile le déchiffrage via
l'utilisation de l'algo (en inversion ou autre). Cela, dans l'optique où on
connaît déjà l'algo, afin de rendre aussi difficile l'inversion qu'une
attaque à force brute. C'est du moins ce que je conçoit.
Si ( 20 + 23 ) xor 22 = 61 , et qu'on soupçonne que la valeur
intermédiaire est 22 en ayant déjà le chiffré 61, il sera plus difficile de
trouver 20 que de trouver uniquement 43 (ici pensons à une attaque à clair
connue). Je parle concernant le prolongement de la clef. Mais concernant
le chiffrage je pense qu'un simple xor serait suffisant surtout si tout
repose sur la force de calcul du prolongement de la clef de session.

J'ai pris quelques temps pour ruminer quelle serait la façon la plus
simple et la plus certaine de faire l'algo. J'en suis venu à la conclusion
que si le seul algo incassable est celui de Gilbert Vernam en 1917, alors
pourquoi ne pas m'en inspirer pour faire quelque chose d'aussi certain qui
lui ressemble et tout en restant autant que possible aussi simple.
Il faut que je m'assure des points suivants:
1 - générer une clef imprévisible de la même longueur que le clair (une
seule clef par chiffrage).
2 - construire un algo générateur de clef (de session) interdisant une
attaque à clair connu (une entête connue via l'extension du fichier par
exemple).
3 - ne conserver que la partie finale de la clef de session qui doit servir
pour le déchiffrage; celle-ci et l'identificateur de la phrase de passe
(généré par la phrase de passe) doivent être chiffrés ensemble par la phrase
de passe afin de les ajouter au chiffré existant. L'algo chiffrant la
phrase de passe et la clef session finale doit être aussi sûr que celui qui
génère le prolongement de la clef de session (car les 1er caractères de la
clef de session est généré aléatoirement: clef de session initiale).
4 - si les 3 premiers points sont rencontrés, le chiffrage du clair par un
simple xor serait suffisant pour être aussi sûr que l'algo de Vernam.



Donc, un simple xor serait suffisant pour le chiffrage du clair; mais la
partie de l'algo générant (prolongeant) la clef de session devrait être plus
compliquer afin de créer des murs de feu dans celui-ci (dans '(Var1 + Var2)
xor Var3=255' l'addition serait un mur interdisant l'inversion); donc,
demandant une partie algorithmique plus compliqué (donc, à plusieurs
niveaux).
J'ai fais quelques tests pour savoir le nombre de possibilités à partir
de quelques calculs différents:
32896 possibilités: (V1 + V2 + V3)=255
65536 possibilités: (((V1 xor V2)xor V3)=255
256 possibilités: (V1 + V2)=255
256 possibilités: ((V1 xor V2)=28
128 possibilités: (k1+k1)xor k2=164
32896 possibilités: (k1+k2)xor k3=164
14652 possibilités: ((k1+k2)xor 53)+k3=164
1517673 possibilités: ((k1+k2)xor m1)+k3=164
0 possibilité: ((128+128)xor m1)+128=255
1 possibilité: (((128+128)xor m1)+128) Mod 256=255
165 possibilités: ((V1 xor V2)+V1=164
1 possibilité: ((V1 + 53)xor V1=255
203 possibilités: ((V1 + 53)xor V2=164
1 possibilité: ((V1 xor 53)=255
6724352 possibilités: (k1+k2)xor(k3+k4)=164
625364 possibilités: ((k1+k2+m1+m2)xor k2)+k1=164
1 possibilité: Var1 xor 64=255



J'ai fait des tests en codes de programmation pour voir quel calcul
rallonge la plus longue clef de session à partir d'une clef de session
initiale de seulement 4 caractères. J'ai mis des caractères ascii zéro (0)
pour le clair, puisqu'avec des caractères zéro il est plus difficile de
générer des caractères variés dans le rallongement de la clef de session.

k est la clef de session initiale. m est le clair (des caractères ascii
zéro; caractères Nul).
(k1+m1) xor (k3+k4)=k5 donne comme résultat un caractère de plus à ajouter à
la fin de la clef de session. Donc k=k & k5 La clef de session est donc
prolongée en étant influencé par le clair m1.


k=2222
m=0000...
(k1+m1) xor (k3+k4)=
050-050-050-050-086-186-034-238-070-142-246-106-038-030-178-186-074-026-214-074-106-174-206-054-110-010-182-246-194-178-194-130-134-186-130-190-198-062-134-122-198-126-194-058-058-010-134-170-010-190-078-166-254-026-086-214-210-178-210-082-246-250-034-078-134-046-150-138-166-030-082-250-234-250-182-074-234-206-014-150-078-042-118-054-226-050-098-162-230-186-194-222-070-158-038-026-006-190-226-186-154-234-102-234-202-094-078-070-094-250-022-086-050-114-178-114-022-250-162-238-134-142-182-170-230-030-178-122-202-090-150-138-234-046-142-054-046-074-246-118-066-242-194-194-198-122-130-062-006-062-198-058-006-126-066-250-058-074-198-234-138-062-014-166-062-218-022-086-082-114-210-018-182-186-162-078-070-046-214-074-102-158-210-058-106-058-118-138-106-206-078-150-142-234-054-182-098-242-098-226-038-250-066-222-006-030-102-090-198-062-098-250-154-170-038-042-202-094-014-070-158-186-086-086-050-050-050-050-


Donc, produit une clef de 224 caractères différents à partir de
caractères initiales 2222 (en ascii= 50 50 50 50). Le clair comporte donc
au dessus de 224 caractères ascii zéro.


k=1234
m=0000...
(k1+m1) xor (k3+k4)=
049-050-051-052-086-184-061-193-168-209-068-212-176-085-065-066-051-032-018-112-177-001-160-209-192-144-240-081-129-066-051-036-214-184-189-081-216-145-212-052-208-149-177-114-243-240-082-048-113-081-144-209-016-176-080-209-049-178-179-180-086-184-189-193-040-081-196-212-176-213-065-194-179-160-018-112-049-001-032-081-064-144-240-209-129-194-179-164-214-184-061-081-088-017-084-052-208-021-177-242-115-112-082-048-241-081-016-081-144-176-080-081-049-050-051-052-




Ici, le même calcul produit moins de caractères différents à partir de
la clef 1234 que la clef 2222. Mais plus bas on voit que c'est le contraire
avec un calcul différent.

Voici le résultat à partir d'autres calculs:



k=2222
m=0000...
((k1+k2)xor m1)+k3=
Donne une clef à 224 caractères différents.

k=1234
m=0000...
((k1+k2)xor m1)+k3=
Donne une clef à 896 caractères différents.
------------------------------

k=2222
m=0000...
(k1+m1) xor (k2+k3)=
Donne une clef à 224 caractères différents.

k=1234
m=0000...
(k1+m1) xor (k2+k3)=
Donne une clef à 896 caractères différents.

------------------------------

k=2222
m=0000...
(k1+k2) xor (m1+k3)+k4=
Donne une clef à 160 caractères différents

k=1234
m=0000...
(k1+k2) xor (m1+k3)+k4=
Donne une clef à 640 caractères différents

------------------------------

k=2222
m=0000...
((k1+k2) xor (m1+k3)) xor k4=
Donne une clef à 320 caractères différents

k=1234
m=0000...
((k1+k2) xor (m1+k3)) xor k4=
Donne une clef à 320 caractères différents

------------------------------

k=2222
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 448 caractères différents

k=1234
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 896 caractères différents

------------------------------



Donc, le calcul ici qui produit le plus de caractères différents à
partir soit de la clef (à 4 caractères) 2222 ou 1234 est
(k1+k2) xor (m1+k3)=
C'est justement le calcul qui donne le plus grand nombre de possibilité
parmi les test que j'ai mentionnés au début (plus haut ici) à 4 variables
différentes:
6724352 possibilités: (k1+k2)xor(k3+k4)=164

Prenons ce même calcul et ajoutons des caractères à la clef. Voici
quelques résultats assez convainquant:



k=22222
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 896 caractères différents

k=12345
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 448 caractères différents
------------------------------

k=222222
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 1984 caractères différents

k=123456
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 3968 caractères différents

------------------------------

k=2222222
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 1920 caractères différents

------------------------------

k=1234567 (3975 pas pareil)
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 3840 caractères différents

------------------------------

k=12345678
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 16256 caractères différents

------------------------------

k=123456789
m=0000...
(k1+k2) xor (m1+k3)=
Donne une clef à 16256 caractères différents

------------------------------


Donc, avec une clef de seulement 9 caractères et un clair qui contient
plus de 16256 caractères ascii zéro (0), cela donne une clef de session
comportant 16256 caractères différents.
Dans cet exemple, la clef '123456789' peut donc chiffrer un clair
d'environ 16 Kilo octets, et cela avec une clef de session n'ayant aucun
cycle de caractères qui se répète. En plus le clair comportait uniquement
des caractères ascii zéro (0), c'est à dire, le caractère NUL qui devrait
être le plus facile à utiliser pour déchiffrer.

On pourrait donc supposer que si le clair comportait des caractères
différents du caractère ascii zéro, cela pourrait donner une clef à l'infini
qui n'aurait aucun cycle qui se répète; donc aucun caractère prévisible
puisque influencé par le clair qui n'est pas connu dans son ensemble.
Pour éviter un cycle qui se répète lorsqu'on a un clair de plusieurs Mo
de caractères ascii zéro (ou de plusieurs caractère ayant le même nombre
ascii, tel les pixels d'un bitmap), j'ai pensé ajouté une incrémentation
dans la partie de l'algo (générant le prolongement de la clef) qui sert de
mur de feu, donc le numéro indiquant l'ordre du caractère actuel 'm1' qui
est utilisé pour le prolongement de la clef:
(k1+k2+Rép1) xor (m1+k3)=

Donc, si on est rendu à la lecture du dixième caractère du clair, alors
'Rép1' vaudrait la valeur 10.


Je suis rendu à réfléchir si une autre variable ayant une valeur
imprévisible changeante devrait être ajoutée dans ce mur, disons une valeur
représentée par 'Var?', une valeur prise dans les caractères de la phrase de
passe, dans la clef de session ou dans le clair lui-même :
(k1+k2+Rép1+Var?) xor (m1+k3)=


Qu'en pensez-vous?


Bonne journée.
Raymond H.

10 réponses

2 3 4 5 6
Avatar
Raymond H.
Bonjour,

"Christophe HENRY" a écrit dans le
message de news: cukab0$4op$


Désolé d'être subtilement sectaire, mais je ne m'intéresse qu'aux cas
où l'utilisateur a la bonne clé. Le reste, c'est du confort d'interface.
C'est peut-être nécessaire pour le vendeur du logiciel afin de ne pas
donner d'image brouillonne du produit, mais en terme de cryptologie ça
n'a rien à faire ici.
Ca me complique les écritures et en plus cela pourrait affaiblir l'algo
en fournissant un test d'arrêt pour la phrase de passe.



Supposons que vous n'avez pas tout à fait compris le rôle de la phrase
de passe. Je veux m'expliquer dans un autre message. La phrase de passe
(ou clef privée) est nécessaire. C'est ce que l'utilisateur écrit; c'est
celle dont il faut retenir pour que le déchiffrement soit possible. Ce
n'est pas une question d'interface du tout.

L'utilisateur n'a pas à retenir la clef de session finale car elle n'est
jamais la même; c'est le chiffré qui retient la clef de session finale.
L'utilisateur doit retenir sa propre clef privée (ou phrase de passe si vous
désirez), car cette clef privée déchiffre la clef de session finale pour que
le déchiffrement se fasse via les valeurs des caractères de cette clef de
session finale.



...
il s'arrête là donnant un message disant que la clef
personnelle est fausse.


Un *message* ! C'est de l'interface graphique. Berk ! Ton procédé
devrait être indépendant de toute interface graphique.


Non. C'est un message de l'algo car le déchiffrement a déjà débuté
avant que ce message s'affiche. Il s'affiche seulement si l'algo détecte
que ce n'est pas la bonne clef privée (la phrase de passe). Si l'algo
n'averti pas (si l'utilisateur a entré une mauvaise phrase de passe) et
continu le déchiffrage alors l'utilisateur ne sera pas content de voir que
son chiffré vient d'être chiffré d'une autre façon au lieu d'être
déchiffrer. Même sans interface il n'y aurait pas de changement à cela car
c'est l'algo qui donne ce message, c'est lui qui sait si c'est la bonne clef
ou non.


Ce que l'utilisateur connaît de lui seul est donc la 'clef
personnelle' (phrase de passe). Je pense à ça tout d'un coup:
'personnelle' signifie 'privé', et justement ce terme existe: 'clef
privée'. J'utiliserais donc ce terme pour désigner la phrase de passe
au lieu de 'clef personnelle'. Qu'en dites-vous?


Râa non alors ! Ce n'est pas du tout la même chose. Le terme "clé
privée" est liée à la cryptographie asymétrique. Tu fais du
symétrique : tu _dois_ distribuer tes clés.
Dans la cryptographie asymétrique, tu n'as pas ce soucis.


Alors quel nom aimez-vous le mieux? Pas un mot ni une phrase car
l'utilisateur pourrait écrire des caractères n'ayant aucune suite logique.
Donc, une sorte de clef. Mais quelle sorte?


Ne serait-il pas préférable de parler de ces fautes de principes
tout de suite afin d'éviter une perte de temps plus tard dans la
correction?


Si j'étais payé pour faire ce travail, oui. Mais ça va être un peu
long et il se peut que je me trompe. Alors je préfère faire l'ensemble
des étapes en une seule fois.


D'accord.
a+
r.h.


Avatar
Erwann ABALEA
Bonjour,

On Sat, 12 Feb 2005, Raymond H. wrote:

[...]
Supposons que vous n'avez pas tout à fait compris le rôle de la phrase
de passe. Je veux m'expliquer dans un autre message. La phrase de passe
(ou clef privée) est nécessaire. C'est ce que l'utilisateur écrit; c'est
celle dont il faut retenir pour que le déchiffrement soit possible. Ce
n'est pas une question d'interface du tout.


On peut même être payé pour avoir ce genre de dialogue de sourd, j'en ai
fait l'expérience il y a peu.
C'est surréaliste. ;)
Je vous garantis qu'il est très difficile de ne pas rire dans cette
situation.

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
"The most beautiful thing we can experience is the mysterious. It
is the source of all true art and all science. He to whom this
emotion is a stranger, who can no longer pause to wonder and
stand rapt in awe, is as good as dead: his eyes are closed."
- Albert Einstein

Avatar
Christophe HENRY

Non. C'est un message de l'algo car le déchiffrement a déjà débuté
avant que ce message s'affiche. Il s'affiche seulement si l'algo détecte
...
c'est lui qui sait si c'est la bonne clef ou non.


L'algo chiffre : y'a pas besoin de ce truc.
L'algo déchiffre : y'en a pas besoin non plus.
C'est juste rajouté par ton logiciel pour le confort de l'utilisateur.


Râa non alors ! Ce n'est pas du tout la même chose. Le terme "clé
privée" est liée à la cryptographie asymétrique. Tu fais du
symétrique : tu _dois_ distribuer tes clés. Dans la cryptographie
asymétrique, tu n'as pas ce soucis.


Alors quel nom aimez-vous le mieux? Pas un mot ni une phrase car
l'utilisateur pourrait écrire des caractères n'ayant aucune suite
logique. Donc, une sorte de clef. Mais quelle sorte?


"Phrase de passe". La doctrine explique très bien pourquoi ce terme est
utilisé en lieu et place de "mot de passe".


J'attends toujours le descriptif exhaustif de ton procédé. Si possible,
séparer tout le blabla qui me noie et le placer en deuxième partie à
titre d'illustration. Ainsi on peut comprendre le principe avant de
s'attaquer aux détails. Pour le moment, c'est surtout les détails qui
m'attaquent. Si on me donnait un euro à chaque fois que quelqu'un ne
comprends pas ton exposé alors qu'on m'en enleverais 100 à chaque fois
que quelqu'un comprend, je serais riche ;-)

Nomme f() la fonction de chiffrement. C'est celle qui représente le
résultat du chiffrement. f() peut être ensuite découpée en plusieurs
parties, comme par exemple :

f(m,k) = xor(per(inc(m)),s)
s = g(ses(inc(m),k),p)
Avec g() la fameuse fonction (à définir) de chiffrement de 's' la clé
de session. Je sais bien qu'il y a cette histoire d'octets de per(inc(m))
qui sont déportés ailleurs...

--
Christophe HENRY
(sans lkm)
GnuPG : 3922239E60036EC86BF7268A877C52AC 4883C02A


Avatar
Christophe HENRY

Bonjour,

On Sat, 12 Feb 2005, Raymond H. wrote:

[...]
Supposons que vous n'avez pas tout à fait compris le rôle de la phrase
de passe. Je veux m'expliquer dans un autre message. La phrase de passe
(ou clef privée) est nécessaire. C'est ce que l'utilisateur écrit; c'est
celle dont il faut retenir pour que le déchiffrement soit possible. Ce
n'est pas une question d'interface du tout.


On peut même être payé pour avoir ce genre de dialogue de sourd, j'en ai
fait l'expérience il y a peu.
C'est surréaliste. ;)
Je vous garantis qu'il est très difficile de ne pas rire dans cette
situation.


Je te rassure : c'est parce que je sais que bien des gens avisés ont dû
moinsser ces fils Allcrypterisés que je les rallonges. J'attends le bon
moment pour faire suivre sur fr.comp.humour :-)

-----ORTVA CTC ZRFFNTR-----
Irefvba: TahCT i1.4.0 (TAH/Yvahk)

uDRZN+bjbULgQdiINDs8PoISnK+EdVHpVohh/66O5wls3DPZqU33E8+dWV8ZtO+v
Ax4qbshSyyGK5WnHB2RGScn5s1vmPRICKLz22Z5Gs1PRnLREhsHDwUYu7KHwm+t6
iAgIH66lIzjb/q/KhFgWtbKmJ0nL65csH/wHu4O9TeHMjOt8btWUUDZ8gWTA0GGk
R6fQoVMuCVgCK9lNeijUYcfk0qjRVPjcT3L3yt5tV+c0qiBDbuVPjn4XLVSzMDOR
7j5Sj3nDXqoMVnESmyZUXACJer/b64bgMUzrtYcDRnHWyGrqxVS3rZf5kxSBTyKg
vpYRj+DbW56/6MEYhtnhkwJWZyjirL2RbHdZUAcqOZx1weL9GNbxCm0zNPRHosnI
REMTLqZwjuKntfjzHGqO/DcFEsvQaYj4hsyYagaRUbtPsQRiyR4 =WCfT
-----RAQ CTC ZRFFNTR-----

--
Christophe HENRY
(sans lkm)
GnuPG : 3922239E60036EC86BF7268A877C52AC 4883C02A


Avatar
Raymond H.
Bonjour,

"Christophe HENRY" a écrit dans le
message de news: cukpbh$a1e$

Bonjour,

On Sat, 12 Feb 2005, Raymond H. wrote:

[...]
Supposons que vous n'avez pas tout à fait compris le rôle de la
phrase
de passe. Je veux m'expliquer dans un autre message. La phrase de
passe
(ou clef privée) est nécessaire. C'est ce que l'utilisateur écrit;
c'est
celle dont il faut retenir pour que le déchiffrement soit possible. Ce
n'est pas une question d'interface du tout.


On peut même être payé pour avoir ce genre de dialogue de sourd, j'en ai
fait l'expérience il y a peu.
C'est surréaliste. ;)
Je vous garantis qu'il est très difficile de ne pas rire dans cette
situation.


Je te rassure : c'est parce que je sais que bien des gens avisés ont dû
moinsser ces fils Allcrypterisés que je les rallonges. J'attends le bon
moment pour faire suivre sur fr.comp.humour :-)


Quand je dis que je fais COMME si vous ne saviez pas le rôle de la
phrase de passe, je parle de son rôle dans le 'Simple algo' uniquement.
Certes vous savez pourquoi on écrit une phrase de passe, mais moi je parle
concernant son rôle sous TOUTES ses facettes. Or, ce que je dis, est que si
vous savez quels sont tous ses rôles alors vous n'auriez pas parlé ainsi.

Je vous ai expliqué à l'avance SES rôles, sinon vous-même vous m'auriez
posé la question plus tard: "Quelle est la significations de ceci?", "Que
sert cela dans l'algo?". Alors, je vous ai répondu et je vous l'ai expliqué
à l'avance.

Vous parlez d'interface et moi ce que j'essais de vous dire est que je
tiens compte des calculs du code d'identification dans l'algo. Si je ne
mets pas le code d'identification alors les calculs dans l'algo seront
différents et en plus inutiles, puisqu'il faudrait que je recommence les
calculs différemment lorsque j'intégrerais cette facette dans l'algo. Mais
vous ne semblez pas réaliser cela et c'est pourquoi je dis "Supposons que
vous n'ayez pas tout à fait compris le rôle de la phrase de passe (ou
plutôt, 'tous ses rôles')." Mais vous préférez vous moquer de moi en
public.

Or, dans le chiffré, le code d'identification remplace la phrase de
passe tout simplement et c'est LUI UNIQUEMENT qui fait que l'utilisateur
peut toujours utiliser la même phrase de passe comme bon lui semble sans se
tromper. Ça change donc les calculs dans l'algo si je n'en tiens pas
compte. Alors, j'ai fais comme si vous n'aviez rien compris de tout ça.

Voilà!



Respectueusement!

r.h.



Avatar
Raymond H.
Bonjour,

"Christophe HENRY" a écrit dans le
message de news: cukou6$9tb$

Non. C'est un message de l'algo car le déchiffrement a déjà débuté
avant que ce message s'affiche. Il s'affiche seulement si l'algo détecte
...
c'est lui qui sait si c'est la bonne clef ou non.


L'algo chiffre : y'a pas besoin de ce truc.


'Ce truc' n'est pas utilisé pour le chiffrement. Mais 'ce truc' est
chiffré à la fin du chiffrement.

L'algo déchiffre : y'en a pas besoin non plus.


Oui. Car les calculs seraient faussés au début du déchiffrement. Le
déchiffrement du clair se fait à partir des données décortiquées. Même un
changement de taille d'octets du code d'identification fausserait le reste.
Mais il aurait fallu que vous attendiez que je commence cette étape là pour
l'expliquer. Donc, si j'enlève le code d'identification toutes les données
seront faussées. Vous vous demandez pourquoi? Je l'ai expliqué dans mon
dernier message que je viens de poster.



C'est juste rajouté par ton logiciel pour le confort de l'utilisateur.


C'est ajouté dans le chiffré par l'algo lui-même.

Râa non alors ! Ce n'est pas du tout la même chose. Le terme "clé
privée" est liée à la cryptographie asymétrique. Tu fais du
symétrique : tu _dois_ distribuer tes clés. Dans la cryptographie
asymétrique, tu n'as pas ce soucis.


Alors quel nom aimez-vous le mieux? Pas un mot ni une phrase car
l'utilisateur pourrait écrire des caractères n'ayant aucune suite
logique. Donc, une sorte de clef. Mais quelle sorte?


"Phrase de passe". La doctrine explique très bien pourquoi ce terme est
utilisé en lieu et place de "mot de passe".


'Phase' signifie 'plusieurs mots'. On peut donc écrire un texte plus
long pour être plus facile à retenir. Mais lorsqu'on écrit une clef de 50
caractères bizarres (#"3d/??^=``"&5!|#...) alors ce n'est ni un mot ni une
phrase. Si la doctrine nomme 'phrase' ces 50 caractères bizarres alors la
doctrine est fausse puisqu'elle ne respecte la langue française et sème la
confusion. Blanc va toujours signifier 'blanc', et noir 'noir'. C'est
comme lire l'expression 'disque dur' dans des circulaires pour signifier un
'bâton de mémoire' ou une 'clef de mémoire'; ceci sème la confusion. Il y
a même le terme 'radio cassette' pour signifier un radio portatif comprenant
un lecteur de cd-rom pour la musique et cela sans avoir de lecteur de
cassette d'intégré. En tout cas, moi je n'accepte pas ces définitions-là.

J'attends toujours le descriptif exhaustif de ton procédé.


D'accord.

Nomme f() la fonction de chiffrement.


D'accord.

C'est celle qui représente le
résultat du chiffrement. f() peut être ensuite découpée en plusieurs
parties, comme par exemple :

f(m,k) = xor(per(inc(m)),s)
s = g(ses(inc(m),k),p)
Avec g() la fameuse fonction (à définir) de chiffrement de 's' la clé
de session.


Disons 'fs' (pour fonction chiffrant s) au lieu de 'g'. Même là, ce
n'est pas la clef de session complète qui doit être chiffrée mais sf (clef
de session finale) via k (clef personnelle). Et pourquoi ne pas laisser 'f'
pour peu importe la fonction, ça serait les valeurs sources de cette
fonction qui déterminerais la fonction elle-même.
c2 = fs(sf,k) donc 'c2 = f(g || sf || ci, k)' indique que c'est c2 qui
est recherché. 'g' pour le dernier groupe d'octets de c1 à intégrer dans le
chiffrement de c2.

Bonne journée
r.h.



Avatar
Erwann ABALEA
Salut Raymond,

On Sat, 12 Feb 2005, Raymond H. wrote:

[...]
Quand je dis que je fais COMME si vous ne saviez pas le rôle de la
phrase de passe, je parle de son rôle dans le 'Simple algo' uniquement.


Reste zen. Christophe comprend très bien ce qu'est une phrase de passe. Le
truc ici, c'est que tu ne sembles pas comprendre:
- qu'un popup ou autre signalétique indiquant à l'utilisateur amnésique
qu'il s'est trompé de phrase de passe ne fait *pas* partie de l'algo,
mais c'est du confort, donc de l'interface,
- que si tu mets en place une telle technique, alors tu affaiblis ton
système, en fournissant un test d'arrêt exploitable.

[...]
plutôt, 'tous ses rôles')." Mais vous préférez vous moquer de moi en
public.


Rendons hommage à Christophe et sa persévérance (je ne pense pas être le
seul à avoir abandonné depuis longtemps). Il ne se moque pas de vous,
c'est moi qui le fais (et c'est un peu par frustration, mais j'ai signé un
NDA donc je n'en dirai pas plus). Christophe attend de vous une
description claire et concise de votre algo, sans le decorum que vous ne
parvenez pas à séparer.

Respectueusement!


Marrant comme un simple caractère (ici le '!') change le sens d'une
expression.

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
AB> Comment cela peut-il se débloquer ?
AT> Fuca.
Excusez-moi, je n'ai pas compris. Merci de répondre plus clairement.
-+- AB in Guide du Neuneu Usenet - Il est con c'type, hé ! -+-

Avatar
Christophe HENRY

f(m,k) = xor(per(inc(m)),s)
s = g(ses(inc(m),k),p)
Avec g() la fameuse fonction (à définir) de chiffrement de 's' la clé
de session.


Disons 'fs' (pour fonction chiffrant s) au lieu de 'g'. Même là, ce
n'est pas la clef de session complète qui doit être chiffrée mais sf (clef
de session finale) via k (clef personnelle). Et pourquoi ne pas laisser 'f'
pour peu importe la fonction, ça serait les valeurs sources de cette
fonction qui déterminerais la fonction elle-même.


Je ne sais pas réfléchir comme cela. J'ai besoin d'un identifiant
différent pour chaque donnée ou traitement que je manipule.

J'attends toujours les spécifications définitives, précises et dont les
détails sont expliqués après la vue d'ensemble afin que la lecture soit
plus facile pour moi. Vu que tu commences à "causer" comme le commun des
matheux, tu devrais pouvoir abstraire tes calculs.

Pour ce "code d'identification", je me rendrai bien compte qu'il est utile.

--
Christophe HENRY
(sans lkm)
GnuPG : 3922239E60036EC86BF7268A877C52AC 4883C02A


Avatar
Christophe HENRY

...
Vous parlez d'interface et moi ce que j'essais de vous dire est que je

tiens compte des calculs du code d'identification dans l'algo. Si je ne
mets pas le code d'identification alors les calculs dans l'algo seront
différents et en plus inutiles, puisqu'il faudrait que je recommence les
calculs différemment lorsque j'intégrerais cette facette dans l'algo.


Soit. Présente tous tes calculs, "code" y-compris. De manière claire,
concise en reportant les détails à la fin. Normalement, une simple page
de ton logiciel de forum (Outlook express) devrait contenir les
spécifications globales.


Mais vous préférez vous moquer de moi en public.


C'est juste une bourrade pour te dire de manière subtile et furtive :
"c'est quand qut tu fais pêter l'algo complet !?". En principe,
c'est fait pour te piquer un peu et te pousser à lever les doutes.


...
Alors, j'ai fais comme si vous n'aviez rien compris de tout ça.


Et bien, un bon moyen d'éviter que mes écrits ne dégénèrent en troll est
de révéler la _totalité_ des spécifications sans qu'aucun des verbes
ne soit conjugué au conditionnel.


Respectueusement!


La dernière lettre de cette phrase (de passe) est menaçante :-o

--
Christophe HENRY
(sans lkm)
GnuPG : 3922239E60036EC86BF7268A877C52AC 4883C02A


Avatar
Raymond H.
Bonjour,
"Erwann ABALEA" a écrit dans le message de news:

Salut Raymond,

On Sat, 12 Feb 2005, Raymond H. wrote:

[...]
Quand je dis que je fais COMME si vous ne saviez pas le rôle de la
phrase de passe, je parle de son rôle dans le 'Simple algo' uniquement.


Reste zen. Christophe comprend très bien ce qu'est une phrase de passe.


Je ne dis pas qu'il ne sait pas c'est quoi une phrase de passe. Je
parle de ses facettes dans son utilisation dans le 'Simple algo'.

Le
truc ici, c'est que tu ne sembles pas comprendre:
- qu'un popup ou autre signalétique indiquant à l'utilisateur amnésique
qu'il s'est trompé de phrase de passe ne fait *pas* partie de l'algo,
mais c'est du confort, donc de l'interface,



Je comprends ce qui est dit. Je ne parle pas d'un popup. Je ne mets
pas l'accent sur la fenêtre qui s'affiche à l'écran disant que l'utilisateur
s'est trompé de clef personnelle.


- que si tu mets en place une telle technique, alors tu affaiblis ton
système, en fournissant un test d'arrêt exploitable.


Un arrêt via un message à l'écran ne permet pas nécessairement
d'exploiter les valeurs des variables puisque dans ce cas celles-ci peuvent
être vidées de leurs données juste avant l'affichage du message. Ce n'est
donc pas un problème.

Christophe attend de vous une
description claire et concise de votre algo, sans le decorum que vous ne
parvenez pas à séparer.


Comme dit précédemment, le code d'identification fait partie des valeurs
de calculs dans l'algo. C'est ce que je tente de faire comprendre.

Respectueusement!


Marrant comme un simple caractère (ici le '!') change le sens d'une
expression.


Excusez mon français s'il n'est pas au point. J'ai vite écris en
mettant un point d'exclamation et ce n'est pas dans un sens négatif.
J'aurais pu écrire un virgule ou un point.

Je trouve que lorsqu'on veut trouver des bibittes, il y a toujours
possibilité d'en créer.



Bonne journée. (ou 'Bonne journée!' ou 'Bonne journée,'. C'est du pareil au
même pour moi).

r.h.


2 3 4 5 6