0

Je dois chiffrer un nombre élevé de messages courts (30-200b). Le problème avec les algorithmes habituels, tels que RSA, est que la taille du message chiffré tend à augmenter beaucoup, comparé aux algorithmes de chiffrement symétriques.Algorithme de chiffrement à clé publique pour les messages courts

Idéalement, ce cryptosystème shoud accomplir:

  • Asymétrique
  • Taille du message crypté doit être au plus 25% plus longue que la
  • d'origine doit être un cryptage rapide et décryptage
  • Il est pas de problème si, après un travail, certains messages sont décryptés
  • Mais la clé privée ne doit pas être trouvée aussi facilement
  • Il aurait cinq bon si c'est un algorithme connu avec des implémentations solides dans les langues les plus courantes

La seule solution que je trouve jusqu'à présent utilise RSA avec les touches courtes (64 bits), mais je me demande quelle meilleure approche pourrait être.

+1

Découvrez Curve25519 – samgak

+0

@samgak Je vais jeter un oeil! – sinuhepop

+2

* "La taille du message crypté doit être au plus 25% plus longue que l'original" * - Si vous voulez publier ceci, les textes cryptés seront déjà plus longs, car vous devrez les encoder avec quelque chose comme Base64, a un blowup de 33%. Ceci est vrai même si le chiffrement lui-même n'a pas de blowup. Vous pouvez regarder le cryptage préservant le format, mais il n'est que symétrique AFAIK. –

Répondre

2

Si vous devez en toute sécurité transmission « un grand nombre de messages courts, » alors ce que je recommande est que vous envoyez des messages via un lien VPN, et d'utiliser des certificats numériques pour sécuriser ce lien. Les techniques de cryptage à clé publique seront utilisées lors de la négociation initiale pour négocier une "clé de session" symétrique aléatoire pour la transmission suivante ... et, tout cela (!) est "gracieusement et complètement invisible" aux deux applications qui souhaite parler. Ils se contentent d'échanger des données non cryptées d'une adresse IP vers une autre, et, automagiquement, le transfert est effectivement crypté de manière sécurisée.

De temps en temps, VPN renégocie une nouvelle clé de session.

Une autre alternative raisonnable est TLS, la technologie de cryptage derrière https sites Web. En bref: "sécuriser le canal", en utilisant les techniques PKI, de sorte que vous pouvez ensuite transférer en toute sécurité des données entre les deux parties sans effort supplémentaire ou de la complexité de leur part.

+0

En fait, je ne veux pas * transmettre * ces messages. Alice doit les publier dans les médias publics, comme une page Web, et Bob doit les décrypter. – sinuhepop

+0

Dans ce cas, je suggère que la "charge utile" ajoutée du contenu clé dans les fichiers est simplement un prix à payer pour la confidentialité. –