REMARQUE Ce qui suit suppose une accélération linéaire (telle qu'elle serait obtenue dans une attaque par force brute) - l'accélération peut être EXPONENTIELLEMENT PLUS, selon l'algorithme.
Il est très difficile de comprendre les grands nombres - même j'ai été surpris quand la réponse est venue. Voici une façon d'y penser:
Si, sans aucune information, il faudrait 13,8 milliards d'années (l'âge de l'univers jusqu'à présent) pour casser une clé, à l'aide de 8 caractères binaires, cela ne prendrait que 0,023 seconde.
C'est: 13,8 milliards d'années / 2 (bits_per_symbol * number_of_symbols) .
Vous dit que le nombre de symboles est de "8 caractères", et je suppose que le binaire, qui a 8 bits par symbole. donc: 13,8 milliards d'années / 2 (8 * 8)
S'ils sont uuencodés, ou base64, ils auront 6 bits par symbole, donc cela leur prendrait tous les 25 minutes pour travailler sur les combinaisons restantes.
Ces proportions s'appliquent uniquement au nombre de bits que vous avez révélés, et quelle que soit la durée de la clé (seulement que la clé prendrait 13,8 milliards d'années à se fissurer ).
L'intérêt de la cryptographie à clé publique est que vous n'avez JAMAIS JAMAIS besoin de partager la clé privée. Chaque clé privée ne doit exister qu'à un seul endroit et ne doit jamais traverser un réseau. L'envoi de clés va à l'encontre du principe même de la cryptographie à clé publique. Il n'est JAMAIS nécessaire d'envoyer des clés privées, partiellement ou non.
Si vous voulez que deux (ou plus) appareils différents puissent décoder le même message, demandez à chacun de créer sa propre clé privée, envoyez-vous leur clé publique (en toute sécurité !!) puis crypter le message avec les deux clés. Habituellement, avec PKC, les messages longs sont chiffrés à l'aide d'un chiffrement symétrique avec une clé aléatoire, et la clé est ensuite chiffrée avec PKC et envoyée avec le message; vous pouvez facilement chiffrer la clé aléatoire avec plusieurs clés publiques et les envoyer toutes avec le même message.
Si tout ce que vous voulez faire est de montrer que vous avez la clé privée, vous pouvez faire ce qui suit:
Demandez à la personne à qui vous voulez le prouver de fournir une valeur aléatoire (un "nonce") . Ajoutez votre propre valeur aléatoire, hachez-la et signez le hachage. Renvoyez votre valeur aléatoire et la signature.
Votre homologue prendra alors le nonce qu'il a envoyé, plus votre valeur aléatoire, le hachera et vérifiera la signature par rapport à votre clé publique.
L'inclusion d'une valeur aléatoire de l'expéditeur prouve que vous n'avez pas simplement sélectionné une valeur qui a été précédemment signée par le véritable propriétaire.
N'acceptez EN AUCUNE CIRCONSTANCE quelque chose envoyé par quelqu'un d'autre, et le signer, sans aucun changement. Ils peuvent vous envoyer l'empreinte digitale d'un document qu'ils ont écrit, et vous signerez effectivement ce document.