Chiffrement avec des clés?
Est-il un moyen de stocker des données cryptées, telle qu'elle peut être déchiffré qu'avec plusieurs clés différentes?
I. e. si j'ai des données chiffrées avec key1, mais je veux être en mesure de décrypter avec les touches 2, 3, et 4.
Est-ce possible?
Vous devez vous connecter pour publier un commentaire.
GnuPG n'multi-chiffrement à clé standard.
La commande suivante permet de chiffrer
doc.txt
à l'aide de la clé publique d'Alice et de la clé publique de Bob. Alice peut déchiffrer à l'aide de sa clé privée. Bob peut aussi déchiffrer à l'aide de sa clé privée.Cette fonction est détaillée dans le guide de l'utilisateur de la section intitulée "Le cryptage et le décryptage des documents"
Oui c'est possible
Oui chiffrement pour plusieurs destinataires est possible. Aussi, il semble logique quand vous pensez que vous pourriez être en mesure de lire ce que vous avez envoyé à quelqu'un et de le faire vous besoin d'être dans la liste des destinataires.
Ligne de commande
Ici est de savoir comment le faire par le biais de
gpg
ligne de commande (comme décrit dans David Segonds réponse):GUI client
De votre interface doit fournir un moyen de crypter pour plusieurs personnes
Mécanisme
Il y a une question sur la Sécurité de l'Information, GPG la taille du Fichier avec plusieurs destinataires?, qui expliquent le mécanisme de chiffrement:
GnuPG et PGP clients en général habituellement chiffrer les données avec une clé symétrique appelé une "clé de session". La clé de session est alors chiffré à chaque destinataire "clé" (c'est à dire ceux que vous spécifiez avec l'option-r/--destinataire). Cela est parfois appelé une hybride de chiffrement. Maintenant, je crois que GnuPG utilise par défaut une 256 bits de la clé de session et AES pour chiffrer les données en texte brut à AES-256 de la clé de session, et votre destinataire clés sont à votre RSA/DSA/ECDSA/etc. assymétrique clé dans cette affaire.
Une raison pour le faire de cette façon est que les algorithmes de chiffrement symétrique comme AES sont généralement beaucoup plus rapide que asymétriques, comme le RSA. GnuPG, n'a qu'à chiffrer ~256 bits (clé de session) avec RSA, et peut utiliser AES pour chiffrer les données (aussi grand que vous voulez qu'il soit!) avec cette clé de session. Les machines Intel ont même intégré dans l'enseignement, AES-NI, de faire certaines étapes de l'algorithme dans le matériel, ce qui rend GnuPG supplémentaire snappy au chiffrement/déchiffrement des données.
Une autre raison de le faire de cette façon, c'est qu'il permet de PGP documents chiffrés à être chiffré à de multiples parties sans avoir à doubler la taille du document. Notez que lorsque vous spécifiez plusieurs destinataires d'un document chiffré (par exemple
gpg -ea -r Alice -r Bob -o ciphertext.asc
), le document chiffré qui est mémorisé (texte chiffré.asc) n'est pas 2x plus grand que si vous aviez juste chiffré à Alice.Voir aussi la
--show-session-key
paramètre dans la gpg page de man pour être en mesure de décrypter juste la clé de session, par exemple pour permettre à un tiers de décrypter un document chiffré pour vous, sans avoir à transférer votre clé privée ou les données en texte brut.Oui, c'est possible. Google "multipartite de chiffrement", pour commencer.
Autant que je sache, il n'y a pas de chute de l'em et de l'utiliser 'em paquets si.
-- MarkusQ
P. S. Pour une esquisse de la façon dont il pourrait être fait, considérez ceci. Le message chiffré est composé de:
Le destinataire qui détiennent la clé que je viens d'décrypte leur copie de la tablette avec leur clé, puis déchiffre la charge utile.
Cependant, c'est juste une preuve qu'il peut être fait et sucer comme une réelle mise en œuvre. Si possible, vous devriez éviter de rouler votre propre chiffrement. Si vous ne comprenez pas pourquoi, vous devez certainement éviter de rouler votre propre chiffrement.
-----Edit ------------
Si je me trompe et que les outils Gnu faire, utilisez-les. Mais je n'arrive pas à trouver des renseignements sur la façon de le faire.
Multiples (plus de deux) de la clé RSA est peut-être comme cela - eh bien, je ne suis pas un mathématicien, de sorte que cet algorithme n'est pas forcément à l'abri, je veux juste donner une idée avec elle.
m=p*q*r, p,q,r sont de grands nombres premiers
fi(m)=(p-1)(q-1)(r-1)
d==(e1*e2*e3*...*ei)^(-1) (mod fi(m)); e1...ei sont des nombres arbitraires, d est calculé de façon à satisfaire à l'équation
y1==x^e1 (mod m)
y2==y1^e2 (mod m)
y3==y2^e3 (mod m)
...
x==yi^d (mod m)
Cet algorithme pourrait être utilisé par exemple pour augmenter la vitesse de L'Oignon Routeur.