Bien que lencodage base64 nait pas lintention de chiffrer, il nest pas exagéré de penser que le processus dencodage pourrait être tempéré dune manière ou dune autre pour créer un cryptage. Je ne suis sûrement pas la première personne à penser à une telle tentative de cryptage utilisant le codage base64. Par conséquent, je « voudrais demander quels types de stratégies de chiffrement base64 sont connus?
Commentaires
- Comme un chiffrement de flux de 6 bits?
- généralement, le chiffrement se produit avant que les données ne soient exécutées via Base64
- Jai ‘ vu des schémas de chiffrement base64 utilisés auparavant, mais ils pourraient tous être triviaux cassé. Cette question a du sens car les gens pourraient rechercher des algorithmes comme celui-ci. Cependant, le bon sens signifie probablement que nous indiquons que base64 nest pas un chiffrement et est le résultat de la confusion entre le codage et le chiffrement. Notez que beaucoup dentre nous supposeront que la prémisse de cette question est fausse: quun schéma de codage peut être utilisé pour le chiffrement. Cela pourrait entraîner des votes négatifs, même si la question est au moins intéressante pour de nombreux cryptographes débutants.
- Peut-être tangentiellement pertinent: crypto.stackexchange.com/questions/62425/… , crypto.stackexchange.com/questions/5862/… et crypto.stackexchange. com / questions / 45215 / …
Réponse
Ceci est tiré de l entrée Wiki pour Base64:
Si vous destiné à falsifier lencodage Base64 pour fournir un chiffrement, cela pourrait être fait au niveau dindex mis en évidence ci-dessus. Vous auriez besoin dune clé secrète, une fonction de dérivation de clé adaptée pour créer une graine dentropie élevée qui a ensuite démarré un générateur de nombres pseudo aléatoires. La sortie du générateur (6 bits) serait alors XORed avec lindex pour changer le codage de chaque caractère. Et cette technique peut être inversée pour déchiffrer le message chiffré.
Vous voyez que cest tout un peu ennuyeux. Traditionnellement, vous créez le texte chiffré, puis vous l’encodez. À part le découpage d’une séquence aléatoire typique de 8 bits en 6 bits, la charge de travail est identique au chiffrement de flux traditionnel . En fait, vous avez besoin de 33% de calculs supplémentaires, mais ce nest ni ici ni là.
Vous pourriez être le premier à avoir pensé à cette variante Base64 car personne ne semble être au courant dun comportement similaire. Cela devrait fonctionner cependant.
Commentaires
Réponse
Cela na pas de sens. Il ny a pas de clé secrète en base64: le codage et le décodage en base64 sont des fonctions publiques que tout le monde peut évaluer.
La seule façon dont base64 est liée à la cryptographie est quil est pratique dencoder le texte chiffré à partir dun système de cryptage, qui est uniformément distribué dans des chaînes de 8 bits, dans un ensemble limité dUS-ASCII qui ne sera pas mélangé ou rejeté dans des contextes limités au texte brut, comme XML.
Commentaires
- +1 (… et base64 produit des sorties plus courtes que lencodage hexadécimal, cest pourquoi il a été développé et pourquoi il a tendance à être fréquemment utilisé dans les applications.)
- Il rend parfait sens 🙂 La question a été posée comme hypothétique et le PO cherche des possibilités de mise en œuvre. Il ny a ‘ aucune loi naturelle exigeant que tout cryptage soit extrêmement efficace. Il suffit de crypter / décrypter. Savez-vous que les gens construisent encore des machines à vapeur et en sont très fiers ..?
- @PaulUszak Cela na ‘ pas de sens en tant que base64, une transformation publique entre deux représentations équivalentes de données, se trouve un type dobjet différent dun schéma de chiffrement qui implique des secrets non connus dun adversaire. Toute façon dont vous modifiez linterface et les éléments internes de base64 pour y placer une sorte de clé et de chiffrement peut être prise en compte dans la transformation de représentation standard base64 et dans un chiffrement sous-jacent dont la sécurité nest pas pertinente pour la partie base64. Si vous fabriquiez une machine Enigma à vapeur, diriez-vous que vous avez modifié le concept de la puissance de la vapeur en un schéma de chiffrement?
- @SqueamishOssifrage Oui.
Réponse
La règle dor de la cryptographie devrait être: « Ce nest pas parce que vous ne pouvez pas lire le texte que celui-ci est chiffré ». Base64 nest pas destiné à être utilisé pour créer du texte chiffré et il ne doit pas être utilisé à cette fin.
Les méthodes de chiffrement reposent toujours sur un secret ou des artefacts qui garantissent que seuls les acteurs de la communication peuvent inverser le texte chiffré. Si ce nest pas le cas, comme avec Base64, alors ce nest pas du chiffrement.
Base64 est destiné à encoder le binaire sous forme de texte avec divers avantages par rapport aux autres schémas dencodage. La confidentialité ne fait pas partie de ces avantages.
Réponse
Oui, il y a un intérêt à crypter en amont base64: cest léconomie dans les itérations. Lorsque nous chiffrons des données puis les encodons, nous devons faire au moins deux boucles: l’une sur le chiffrement des données et l’autre sur l’encodage des données générées. En chiffrant en amont on peut se réduire à une boucle et donc gagner des performances appréciables.
@ e-sushi: En effet, il ny a pas beaucoup dexemples sauf celui-ci qui nutilise quune seule boucle: php_base64encrypted
Il y a probablement dautres moyens de faire mieux mais cela prouve que cest possible …
Edit: désolé, je ne connais pas très bien ce site.
Commentaires
- Pouvez-vous donner un exemple (lien vers du papier ou quelque chose) dun tel « intérêt pour le chiffrement en amont base64 »? Jai essayé de trouver plus dinformations en utilisant mon moteur de recherche préféré , mais jai échoué dune manière ou dune autre. Un pointeur serait donc beaucoup écié.
- Lencodage Base64 est un processus streamable (i.e. il permet à un flux de données dêtre encodé de manière incrémentielle au fur et à mesure quil ‘ est généré, sans avoir à les lire au préalable). Ainsi, il serait parfaitement possible quun schéma de chiffrement conventionnel alimente sa sortie dans un encodeur incrémental en base64, sans avoir à » faire au moins deux boucles » sur les données. La seule raison pour laquelle cela nest pas ‘ t plus courant est probablement le fait que, pour les flux de données suffisamment longs pour rendre cela utile, cela ‘ Il est généralement beaucoup plus efficace dignorer complètement lencodage base64 et de simplement les transmettre et / ou les stocker sous forme de données binaires brutes.
a bitwise xor operation on each letter cycling through the key
etCycling round through the key means that the plain text will be XORed with the same sequence over and over, and in the same order.
– que ‘ sappelle » Chiffrement XOR « . Aucune erreur ou écart de langue là-bas.