Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Cryptographie » Une quasi infinité d'algorithmes de chiffrement supérieur à l'AES » 30-04-2014 16:58:21
- Musyck
- Réponses : 4
Bonjour
J'ai inventé un algorithme de chiffrement, appelé SED, qui a la particularité de pouvoir être réalisé en un nombre quasi illimité d'exemplaires différents. C'est un avantage indéniable qui pourrait être utilisé dans certaines applications particulières. La robustesse à une cryptanalyse de l'AES se situe à 2^115 tests de force brute d'après certains auteurs. Pour le SED, c'est 2^127. Voir la publication "Conjecture of two Finite and its Applications" dont je suis l'auteur principal. ( www.m-hikari.com/ijcms/ijcms-2013/5-8-2013/ostrowskiIJCMS5-8-2013.pdf )
Vous pouvez vérifier ce type d'algorithme en téléchargeant les programmes ALGOSEDA.EXE et ALGOSED6.EXE sur le site https://skydrive.live.com/?cid=ebc6873e … 120DFD!135
Le programme ALGOSEDA.EXE vous permet de créer deux polynômes caractéristiques primitifs en un temps de l'ordre de la minute. Ces deux polynômes de 127 bits sont pris au hasard, ce qui permet d'affirmer qu'il existe un nombre quasi infini d'algorithmes de chiffrement. Les deux polynômes caractéristiques sont inscrits dans un fichier texte ALGOSEDC.TXT
Le programme ALGOSED6.EXE charge les deux polynômes caractéristiques et demande ensuite le texte clair et la clef. Ces deux dernières informations sont constituées de deux nombres hexadécimaux de 32 caractères. Par exemple les nombres 1234567890ABCDEFFEDCBA0987654321 et 1234567890ABCDEF1234567890ABCDEF. Le programme exécute le chiffrement et le déchiffrement en donnant toutes les étapes intermédiaires et transcrit toutes ces informations dans le fichier ALGOSEDC.TXT. Tous les programmes exécutables en langage Basic nécessitent la mise en place de ces programmes dans le dossier du programme QB64. Vous pouvez télécharger ce programme à l'URL www.qb64.net.
Les deux programmes ALGOSEDA.BAS et ALGOSED6.BAS sont écrits en programmation Basic et permettent de prendre connaissance de la suite des instructions de programmation.
Faites moi savoir si vous avez pu vérifier la possibilité de créer une quasi infinité d'algorithmes de chiffrement SED.
Emile Musyck ( http://www.ulb.ac.be//di/scsi/emusyck/ )
Bonjour,
Je suis un peu déçu de voir qu’aucun visiteur n’a pu vérifier la possibilité de créer une quasi infinité d’algorithmes de chiffrement, ni de donner un commentaire. J’aurai en quelques sorte la preuve de la faisabilité de créer une quasi infinité d’algorithmes de chiffrement si un correspondant que je ne connais pas aura pu vérifier cette possibilité. J’attends donc de recevoir sur ce forum deux polynômes caractéristiques primitifs avec le chiffrement du nombre 1234567890ABCDEF1234567890ABCDEF avec la clef 11223344556677889900AABBCCDDEEFF. Quel sera le premier correspondant qui aura le privilège de l’annonce de cette vérification?
Un algorithme est défini par deux polynômes caractéristiques primitifs. Avec le programme ALGOSEDA.BAS, j’ai trouvé les deux polynômes caractéristiques en moins d’une minute après une centaine de test, les nombres 4BAF0B094B6B9B5D32DEE16B90381F11 et 446D7A8ABFEE72C8282E07A3BE94D1E9. (Voir fichier ALGOSEDC.TXT dans l’URL cité plus haut https://skydrive.live.com/?…..) Le message clair est ici : 1234567890ABCDEF1234567890ABCDEF et la clef est : 1234567890ABCDEFFEDCBA0987654321.
A la ligne 124, on a additionné le logarithme discret de 7FFF….FFFF (càd zéro) au log. discret de 1234567890ABCDEF1234567890ABCDEF et on retrouve l’élément qui a le même log. discret. A la ligne 123 on a l’élément qui a le double du log. discret de 1234567890ABCDEF1234567890ABCDEF, càd 1A2FED0FEBD94D9E80A116915ADF9184 et ainsi de suite.
Le résultat de la première exponentiation est 2154FB546E0B995857F574590BA323E2 et constitue l’élément d’entré pour la seconde exponentiation. Le log. discret de ce nombre dans la première exponentiation est tout différent de celui de la seconde exponentiation. C’est le fait du passage d’un corps fini à celui d’un autre corps fini qui crée la bijection au niveau de 2^127 éléments supprimant ainsi toute linéarité entre le texte clair et le texte chiffré.
Les applications possibles de l’algorithme SED sont celles où il est nécessaire de faire usage d’un grand nombre d’algorithmes de chiffrement différents. C’est grâce au fait qu’on dispose de suffisamment de nombres premiers qu’il est possible de vendre autant que l’on veut des algorithmes de chiffrement avec le RSA et de faire la certification asymétrique. On ne peut pas remplacer l’algorithme asymétrique RSA par l’algorithme symétrique SED, mais avec la mise en place d’un organisme de confiance (TA Trust Autority) il est possible d’atteindre le même but. On suppose ici que les internautes sont affiliés au TA. Ils reçoivent une adresse publique et une clef de chiffrement.
L’internaute qui veut certifier l’empreinte d’un texte crée son algorithme de chiffrement SED et communique au TA ses deux polynômes caractéristiques dans un message chiffré. L’internaute chiffre l’empreinte avec son algorithme SED et communique au vérificateur le résultat de l’empreinte chiffrée et son adresse publique d’affiliation au TA. Le vérificateur communique au TA son numéro d’affiliation, l’empreinte claire et le résultat de son chiffrement effectué avec l’algorithme de l’internaute. Le TA répond au vérificateur en lui communiquant le résultat du déchiffrement l’empreinte avec l’algorithme SED du vérificateur. Ce dernier chiffre avec son algorithme l’empreinte déchiffrée et retrouve l’empreinte claire, lui confirmant ainsi la certification demandée.
Pour la petite histoire, j’ai commencé à m’intéresser aux corps finis il y a plus d’une trentaine d’années sans bien comprendre la théorie mathématique de ce domaine. Je voyais bien la possibilité de créer une suite de 2^n-1 nombres, tous y figuraient une et une seule fois, mais sans pouvoir les classer suivant une méthode d’ordonnancement. En arithmétique classique, on crée une suite complète en ajoutant +1 au nombre qui précède, tous y figurent une et une seule fois. Dans un corps fini, chaque nombre est créé par la multiplication du nombre qui le précède par la matrice compagnon et à chaque nombre créé, il y correspond un logarithme discret qui est ordonnancé par une suite +1 du nombre qui le précède. Il est relativement facile de trouver le nombre qui correspond à un logarithme discret déterminé, mais il est pratiquent impossible de calculer le nombre qui correspond à un logarithme discret lorsque n devient très grand. Je me trouvais dans l’impossibilité de chiffrer uniquement par la multiplication du logarithme discret dans un corps fini.
Au cours d’une nuit sans pouvoir m’endormir en 1987, j’ai compris que la multiplication d’un vecteur ayant le logarithme discret « i » d’un corps fini par la matrice de Vandermonde (càd la matrice carrée formée des n premiers vecteurs mis en colonne d’un corps fini, de l’exposant du logarithme discret de 0 à l’exposant de n-1) inversée, donnait un vecteur appelé vecteur de distribution, propre du logarithme discret du vecteur de logarithme discret « i ». En multipliant le vecteur de distribution par la matrice de Vandermonde déphasée (càd la matrice dont la première colonne de gauche correspond au vecteur ayant le logarithme discret «j », on obtient un nouveau vecteur ayant le logarithme discret (i+J), tout ceci sans connaître les logarithmes discrets i et j en question. Ainsi la porte était ouverte de pouvoir chiffrer par la multiplication du logarithme discret par la clef (voir texte de la publication).
Pour me soustraire de toutes possibilités de casser le chiffrement à cause des linéarités au sein d’un corps fini, j’ai compris la nécessité de procéder à deux exponentiations consécutives et introduire ainsi une bijection de niveau 2^127. Pour la facilité des calculs, j’ai utiliser les deux corps finis avec deux trinômes caractéristiques primitifs différents, les trinômes P^0+P^38+P^127 et P^0+P^63+P^127. Les calculs des deux matrices inverses sont facilités par l’usage de paramètres qui sont déterminés à partir des deux termes intermédiaires des trinômes P^38 et P^63. C’est ainsi qu’est né l’algorithme de chiffrement SED (Secure Encryption Devise).
Au cours d’une hospitalisation (en 2012) ne sachant rien faire, je me suis fait la réflexion suivante. L’algorithme fonctionne très bien avec des trinômes caractéristiques primitifs, pourquoi ne pas utiliser des polynômes caractéristiques primitifs de 127 bits. Il m’a fallut presqu’un an pour réaliser un programme en basic, mais cela fonctionne parfatement. Il est nécessaire d’établir et d’inverser les deux matrices de Vandermonde à chaque début du chiffrement.
Emile Musyck
Pages : 1







