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

Vers un algorithme de chiffrement de troisi

32 réponses
Avatar
Emile
Je vous sugg=C3=A8re de visiter la discussion (G=C3=A9n=C3=A9ration de nomb=
res
al=C3=A9atoires) que j'ai entam=C3=A9e sur le forum fr.sci.maths :
http://groups.google.fr/group/fr.sci.maths/browse_thread/thread/4814e8424f98=
fd37#

Je revendique pour l'algorithme SED l'appellation d'algorithme de
chiffrement par bloc de troisi=C3=A8me g=C3=A9n=C3=A9ration. Evidemment, ce =
n'est pas
pour cela qu'il faille d=C3=A9consid=C3=A9rer les deux g=C3=A9n=C3=A9rations=
pr=C3=A9c=C3=A9dentes.
Je ne pense pas qu'on puisse casser dans un proche avenir l'AES. Je
veux tout simplement dire que l'algorithme SED pr=C3=A9sente une avanc=C3=A9=
e
vis-=C3=A0-vis de l'AES par sa transparence et qu'il y a des preuves
tangibles que les donn=C3=A9es chiffr=C3=A9es pr=C3=A9sentent un caract=C3=
=A8re
strictement al=C3=A9atoire par rapport aux donn=C3=A9es claires. Par
l'appellation "strictement al=C3=A9atoire", il faut comprendre que si l'on
consid=C3=A8re un nombre al=C3=A9atoire form=C3=A9 de "n" bits, chacun de ce=
s n bits
a une probabilit=C3=A9 de 1/2 de valoir 1 ou 0 et cela ind=C3=A9pendamment d=
es
autres bits.

=C2=A0 =C2=A0 =C2=A0 =C2=A0 Un challenge portant sur un montant de 5000 (cin=
q mille) euros
sera =E2=80=A8attribu=C3=A9 =C3=A0 la premi=C3=A8re personne qui pourrait av=
ancer un
argument =E2=80=A8d'ordre math=C3=A9matique faisant obstacle =C3=A0 la fonct=
ionnalit=C3=A9
de =E2=80=A8l'algorithme SED, algorithme de troisi=C3=A8me g=C3=A9n=C3=A9rat=
ion, au
g=C3=A9n=C3=A9rateur de =E2=80=A8nombres al=C3=A9atoires avec l'algorithme S=
ED et =C3=A0 la
philosophie du =E2=80=A8cryptosyst=C3=A8me ClassicSys.

Je n'ai pas trouv=C3=A9 d'objections valables dans les discussions tandis
que l'attaque de Mieczyslaw Kula a =C3=A9t=C3=A9 d=C3=A9montr=C3=A9e qu'ell=
e est fausse
en effectuant une recherche exhaustive lorsque n=3D17. Les calculs sont
facilement v=C3=A9rifiables avec une calculette =C3=A0 main. CQFD.

Emile

10 réponses

1 2 3 4
Avatar
Sylvain
Emile wrote on 24/12/2007 23:06:

Visiblement, vous n'avez pas lu ce qui précède. [...]


en effet, je n'ai pas lu /tout/ ce qui précède.
notamment parce que c'est souvent assez confus (pour dire le moins).

Il faut savoir ce que l'on veut. Dans un algorithme de chiffrement,
il y a souvent un dilemme à trancher.
inexact.

Le DES à 8 rondes peut être décrypté en quelques minutes mais il

tourne à vitesse double. Je ne pense pas qu'un double DES à 32 rondes,
deux fois moins rapide, puisse améliore la sécurité.


plait-il ?!?

Jean-Marc citait l'AES comme référence de performances à atteindre pour
tout algo voulant prétendre résoudre d'eventuels reproches envers
celle-ci. ceci ne constitue pas un choix contraint entre perf et
sécurité mais seulement un critère de performance attendue.

vous prétendez qu'il faille toujours trancher un dilemme (ma brave
dame), je répondais que ce fatalisme est inexact et irrecevable.
(si vous en êtes à faire le choix du moins pire c'est que nécessairement
quelque chose est mauvais dans votre algo et/ou ses possibilités
d'implémentation.)

vous nous sortez maintenant des rapports byzarres sur le DES,
quel est le rapport et la suite logique de tout cela ??

"un DES à 8 rondes tournerait à vitesse double" ?!
double de quoi ? et qu'est-ce qu'un DES à 8 rondes ?

depuis 1990 (Eli Biham, Shamir) on sait que 15 rondes et plus sont
requises pour éviter les attaques de cryptanalyse différentielle, un DES
standard en contient 16 - si votre point est qu'un demi-DES bricolé à 8
rondes n'est pas terrible, merci pour la porte ouverte!

par ailleurs, depuis des années "DES" est très généralement compris
comme 3DES ou DES-EDE2 (soit 3 x 16 rondes).

je ne sais pas ce que vous appelez "transparence" (voir les bits à
travers le silicium ??).


Rassurez-vous, ce n'est pas la transparence à travers le silicium,
mais bien la transparence de l'algorithme lui-même.


ah "transparence" signifie a) l'algo est publié, b) le lecteur est
capable de comprendre sa description.

tous les algos standards sont transparents alors - certes le second
point dépend un peu des compétences du lecteur.

[...] Là où réside la transparence, c'est que si vous calculez,
d'une manière exhaustive de 1 à 2^n-1 tous les coefficients, vous avez
généré une séquence de 2^n-1 nombres aléatoires sur lesquels on peut
effectuer les statistiques de Poisson.


ah zut, c'est transparent que si on peut faire des stats de Poisson ?!
toute autre démonstration n'est donc pas transparente, c'est ça ?
quand je disais "confus" ...

2000 caractères en 0,1 sec ??!?!??
euh, un AES mal codé, mal compilé par VC98 demande sur un PC poussif
(environ) 0,1 sec pour traiter 2000 * 2000 (4 millions) de caractères.
Perdre 0.1 seconde ou perdre 1/4000000 seconde pour chiffrer une page,

cela passera pratiquement inaperçu pour un opérateur.


ok, donc il peut y avoir un dilemme avec les perfs dans la balance, mais
on se fout des perfs qui passeront inarpeçues - c'est limpide !

Le calcul du
vecteur qui a comme logarithme discret, la somme des logarithmes
discrets de deux autres vecteurs demande une multiplication
matricielle qui peut être effectuée en une impulsion horloge dans un
IC.


une multiplication matricielle faite en un cycle d'horloge ????
soyons sérieux.

Comme la probabilité de chaque bit de la clef est 0.5 d'être égal
à 1 ou 0, il est possible d'effectuer la multiplication du logarithme
discret en (n+0.5n) impulsions horloge et pour les deux
exponentiations, cela fait 3*n impulsions horloge. CQFD


pas sur d'avoir saisi dans quel corps multiplicatif on était là
pour le reste il y a là des hypothèses optimistes sur un composant non
décrit qui font, imho, de l'ensemble une affirmation gratuite.

[snip]


Sylvain.



Avatar
Emile
On 25 déc, 18:23, Sylvain wrote:

une multiplication matricielle faite en un cycle d'horloge ????
soyons sérieux.
Parfaitement. A la page 3 du document 3emegeneration.pdf on a la

formule:
v(r+s) = C(r) * (S0^-1) * v(s)
Le vecteur v(s) peut être représenté en fonction des n premiers
vecteurs à partir du vecteur ayant son logarithme discret égal à zér o
= (111....1111) par le produit matriciel (S0^-1) * v(s). En
multipliant ce vecteur par la matrice C(r), on obtient le vecteur qui
a pour logarithme discret la somme des logarithmes r et s. La matrice
C(r) est formée par les n vecteurs consécutifs mis en colonne à partir
du vecteur v(r). En fait , le vecteur de logarithme discret "r" est
mis dans la première colonne à gauche dans n bistables qui donnent les
valeurs des bits des colonnes suivantes par des diagonales
descendantes de gauche à droite. La commande de la diagonale qui part
de l'élément (1,2) de la matrice est obtenu par la sortie d'un circuit
XOR commandé par l'élément (n,i). La valeur de i0 ou 63, ces deux
nombres sont les exposants du termes médian des deux trinômes
caractéristiques définissant le corps fini. Le produit d'une matrice
par un vecteur est obtenu par n signaux verticaux, chaque commande
verticale attaque une entrée d'un circuit "AND" à deux entrées,
l'autre entrée correspond à la valeur de l'élément obtenu par les
commandes diagonales. En effectuant la somme modulo-2 des n circuits
"AND" placés dans ième ligne "i", on obtient la valeur du bit "i" du
vecteur ayant le logarithme discret "r+s". On a intérêt à raccorder
les n-1 circuits XOR suivant un arbre de Noël renversé. (C'est bien
aujourd'hui le jour de parler de cet arbre). La commande horizontale
est introduite à l'entrée d'un circuit du type "D", l'échantillonnage
du circuit "D" est obtenue par l'impulsion horloge.
La matrice C(r) est formée 127*127 éléments, chaque élément compre nd
un circuit "AND" et un circuit "XOR".

pas sur d'avoir saisi dans quel corps multiplicatif on était là
pour le reste il y a là des hypothèses optimistes sur un composant non
décrit qui font, imho, de l'ensemble une affirmation gratuite.


Les deux corps finis sont définis par les deux trinômes indiqués à l a
page 4 du même document PDF. Les corps finis sont en fait des LFSR.

Emile.

Avatar
remy
je ne comprends rien a ton algo
quoi
tout

msg FFFFFFFFFFFFFFFFFFFFFFFFFFFF
clef 01010101010101010101010101010101
xor 000000000000000000000000000000000

chiffre FFFFFFFFFFFFFFFFFFFFFFFFFFF

je peut faire plus vite :-)
et l'assembleur dans le code source n'arrange rien....

donc

donnee A sur 127 bits
cleef B
xor C


remy
Avatar
Emile
On 26 déc, 15:08, remy wrote:
je ne comprends rien a ton algo
remy
L'algorithme SED utilise des groupes multiplicatifs de 127 bits. Un

128ième bit a été installé de manière à disposer de blocs de 128 bits.
Ce bit supplémentaire est mis en tête ou en queue suivant la parité du
bloc. Il y a quatre vecteurs singuliers. Vous trouverez des
explications en français dans le texte www.ulb.ac.be/di/scsi/classicsys/se d.htm.
Ces vecteurs correspondent à des nombres dont leurs logarithmes
discrets sont égaux à zéro. On multiplie jamais par zéro. Il y a aus si
le fait que la clef 1 ou la clef 3 correspondent à une multiplication
par 1 et donc pas de multiplication des logarithmes discrets.

Dans le cryptosystème Classicsys, l'utilisateur ne choisit jamais les
clefs, et de ce fait, les clefs doivent être considérées comme des
nombres aléatoires et donc pas de risque d'avoir des nombres
singuliers.

Emile

Avatar
remy
On 26 déc, 17:23, Emile wrote:
On 26 déc, 15:08, remy wrote:> je ne com prends rien a ton algo
remy


L'algorithme SED utilise des groupes multiplicatifs de 127 bits. Un
128ième bit a été installé de manière à disposer de blocs de 1 28 bits.
Ce bit supplémentaire est mis en tête ou en queue suivant la parité du
bloc. Il y a quatre vecteurs singuliers. Vous trouverez des
explications en français dans le textewww.ulb.ac.be/di/scsi/classicsys/s ed.htm.


deja lu mais je doit etre bouche quelque part

exemple


Application de l'algorithme SEDxor63/30 à chaque tranche avec une
même clef et avec un même vecteur Vxor; l'ensemble des vecteurs
résultants forment le texte chiffré,
devant le texte chiffré, placement d'un vecteur chiffré SEDxor
contenant notamment la date et l'instant du chiffrement, le nombre de
vecteurs du texte chiffré et le nombre de caractères ajoutés à la
dernière tranche.


application de l'algorithme DLM30-128 au vecteur de 128 bits,
obtenu à l'opération précédente, avec la clef de 128 bits.

Un même vecteur est utilisé comme clef pour les algorithmes DLM-128 et
comme multiplicateur pour l'algorithme MAM-128.

Il est à noter que l'opération XOR peut modifier la parité du
vecteur.

L'algorithme inverse SEDxor30/63 comporte les mêmes opérations; mais
celles-ci sont exécutées en ordre inverse et avec la clef inverse



Ces vecteurs correspondent à des nombres dont leurs logarithmes
discrets sont égaux à zéro. On multiplie jamais par zéro. Il y a a ussi
le fait que la clef 1 ou la clef 3 correspondent à une multiplication
par 1 et donc pas de multiplication des logarithmes discrets.

Dans le cryptosystème Classicsys, l'utilisateur ne choisit jamai s les
clefs, et de ce fait, les clefs doivent être considérées comme des
nombres aléatoires et donc pas de risque d'avoir des nombres
singuliers.



plait t'il ? hein...
remy


Emile



Avatar
Sylvain
Emile wrote on 26/12/2007 00:13:

pas sur d'avoir saisi dans quel corps multiplicatif on était là
pour le reste il y a là des hypothèses optimistes sur un composant non
décrit qui font, imho, de l'ensemble une affirmation gratuite.


Les deux corps finis sont définis par les deux trinômes indiqués à la
page 4 du même document PDF. Les corps finis sont en fait des LFSR.


des RDRL ?
soit c'est autre chose, soit cela ne définit pas (vraiment) les
opérations du corps (comment y fait-on un multiplication ou une
exponentiation par exemple).

Sylvain.


Avatar
Emile
On 25 déc, 18:23, Sylvain wrote:
soit c'est autre chose, soit cela ne définit pas (vraiment) les
opérations du corps (comment y fait-on un multiplication ou une
exponentiation par exemple).


Je me répète, mais je ne vois pas comment je pourrais faire
autrement. Dans les deux corps finis, le vecteur (1111.....1111) a
son logarithme discret égal à zéro. A chaque impulsion au LFSR, il y
a un glissement d'une place vers la gauche et introduction d'un bit le
moins significatif. Le logarithme discret est ainsi incrémenté d'une
unité. Lorsqu'on entre un nombre inférieur à 2^127-1, ce nombre a un
logarithme discret que l'on ne doit pas connaître, mais si on peut
trouver le nombre qui a comme logarithme discret, le double du
logarithme discret précédent, on a effectué dans le groupe
multiplicatif le carré du nombre en question. Cela se fait par
l'opération v(r+s) = C(r) * (S0^-1) * v(s) comme cela a été expliqu é
dans le document PDF. Et cela ce fait évidemment en une impulsion
horloge dans un circuit intégré. Si on parvient à trouver le nombre
dont le logarithme discret est égal à "k" fois le logarithme discret
du nombre donné, on a réalisé là une exponentiation à la puissance K.
Voilà comment je comprend la multiplication et l'exponentiation dans
un groupe multiplicatif GF(2). Je suppose que ce n'est pas une
affirmation gratuite.

Emile

Emile

Avatar
Emile
On 26 déc, 15:08, remy wrote:
je ne comprends rien a ton algo
quoi
tout
Le texte www.ulb.ac.be/di/scsi/classicsys/sed.htm en français

pourrait être revu pour pouvoir être lu plus facilement, mais il n'est
pas fautif. Si cela n'entre pas, à ta place, je n'insisterais pas.
Emile

Avatar
remy
On 27 déc, 00:06, Emile wrote:
On 26 déc, 15:08, remy wrote:>je ne comp rends rien a ton algo
quoi
tout


        Le textewww.ulb.ac.be/di/scsi/classicsys/sed.htmen franç ais
pourrait être revu pour pouvoir être lu plus facilement, mais il n'est
pas fautif. Si cela n'entre pas, à ta place, je n'insisterais pas.
        Emile


je te propose de la faire
et de remanier ta cuisine sur la parriter

quel et la probabilite d'avoir le bit le plus significatif egal au bit
le moins
significatif et quel est l'info que je peux en tire
ce qui represente 2/128 une fois sur 2 cela ressemble a un trou ou a
un gouffre ?

mais je ne comprends toujours rien c'est comment la tripote de
cles inutilisables

mais mon petit doigt me dit que tu l as deja casse ton l'algo


remy


Avatar
Emile
On 25 déc, 18:23, Sylvain wrote:
Sylvain.
Je voudrais être rassuré qu'il n'y ait plus aucun doute sur la

manière d'obtenir le vecteur dont le logarithme discret est égal à la
somme des logarithmes de deux autres vecteurs en effectuant le produit
matriciel v(r+s) = C(r) * (S0^-1) * v(s) . (Voir
http://www.be-one.be/upload/algemeen/3emegeneration.pdf) .

La matrice S0 est formée des n premiers vecteurs à partir du vecteur
v(0) ayant le logarithme égal à zéro (1....111) et placés en
colonnes de gauche à droite. Cette matrice n'est pas singulière et
elle a donc sa matrice inverse (=S0^-1). En multipliant cette dernière
matrice inverse par le vecteur v(s), on obtient un vecteur de 127 bits
qui correspond au développement linéaire polynomial du vecteur v(s).
Ce dernier vecteur caractérise le logarithme discret du vecteur v(s)
par rapport au vecteur v0. La matrice C(r) est construite par les n
vecteurs consécutifs mis en colonnes à partir du vecteur v(r) placé à
gauche. En multipliant le vecteur du développement polynomial par la
matrice C(r), on obtient le vecteur v(r+s) car ce vecteur a comme
logarithme discret la somme (r+s). Tout ce produit matriciel
s'effectue en une impulsion horloge dans un circuit intégré.

Emile
PS. Je serai absent du forum jusqu'au 7 janvier 2008.

1 2 3 4