Quelles sont les stratégies de chiffrement base64 habituelles?

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:

exemple 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

  • Merci pour cette suggestion intéressante! En fait, javais en tête des choses simples, comme permuter lassociation de table de lettres 6 bits. Ou introduire une clé et avoir une opération xor au niveau du bit sur chaque lettre parcourant la clé, ou similaire.
  • @Kagaratsch Eh bien, je pense que nous ‘ réfléchissons à des éléments similaires lignes. Pour vous permettre ‘ vous aurez besoin de la fonctionnalité PRNG et pour lier une clé à un PRNG vous ‘ aurez besoin dune sorte de fonction de dérivation de clé sinon ‘ Il y aura une discordance entre le format de clé et le format / état requis pour faire fonctionner le PRNG. Si vous permutez simplement sans clé, ou utilisez le cycle de votre caractère clé, le schéma ‘ nest pas très sécurisé et cest crypto.SE après tout 🙂
  • @PaulUszak Ce nom technique est en fait assez évident dès que vous le savez… il ‘ est simplement appelé  » Chiffrement XOR « . 😉 Cependant, notez que lanalyse de fréquence la cassera trivialement. Il en va de même pour les attaques connues en texte brut. Oh, et pour être complet en ce qui concerne la dénomination technique: lorsque vous lancez un prng, un tel  » chiffrement XOR  » se transforme en  » chiffrement de flux « . Mais vous le saviez probablement déjà, nest-ce pas ‘?
  • @PaulUszak Je ne sais pas pourquoi vous dites  » non « . Vous pouvez également être sûr que je sais ce que signifie  » faire du vélo « . Un chiffrement XOR parcourt la même clé encore et encore et dans le même ordre, comme vous le décrivez. Vérifiez l  » exemple  » de ce lien wiki; il correspond à vos descriptions 100%… a bitwise xor operation on each letter cycling through the key et Cycling 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.
  • Toute façon de modifier la base64 comme celle-ci peut être prise en compte dans (a) la définition dun chiffre sur des chaînes doctets, puis (b) lapplication de base64 standard à sa sortie, en mappant les chaînes doctets de texte chiffré en texte brut. La fusion de (a) et (b) na aucun sens ‘ – cela najoute aucune sécurité et complique inutilement la description à la fois du chiffrement sous-jacent et du standard implicite base64.

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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *