Je me familiarise avec les cryptomonnaies et un thème de cette communauté consiste à utiliser des «adresses» distinctes pour chaque transaction. Comme j'interprète une adresse comme le hachage de la clé publique pour l'individu, cela me porte à croire que vous pouvez générer plusieurs clés publiques pour une clé privée. Je suis complètement novice sur ce sujet et j'utilise le paquet R PKI comme point de départ pour ce tutoriel auto.Forfait PKI à clés publiques multiples [R]
Cette ligne de pensée est contre la discussion au PKI multiple public keys donc je pourrais être bien de la marque mais sinon est-il un moyen de générer une clé publique supplémentaire avec le paquet PKI?
J'ai un bloc de code ci-dessous qui couvre une partie de ma pensée. Maintenant, ayant dit tout ça. J'essaie de comprendre quelques 9 pages de discussion sur ce que cela implique et je ne pense pas que je suis prêt pour la discussion des groupes finis ni le compromis de la clé privée si plusieurs clés publiques sont publiées. Donc, si vous pouvez me corriger via la programmation ou du matériel de référence supplémentaire, j'apprécierais. En fin de compte, son et l'exercice pour améliorer mes compétences R avant tout.
require(PKI)
# generate 2048-bit RSA key
key <- PKI.genRSAkey(bits = 2048L)
# extract private and public parts as PEM
priv.pem <- PKI.save.key(key)
pub.pem <- PKI.save.key(key, private=FALSE)
# load back the public key separately
pub.k <- PKI.load.key(pub.pem)
# encrypt with the public key
x <- PKI.encrypt(charToRaw("Hello, world!"), pub.k)
# decrypt with private key
rawToChar(PKI.decrypt(x, key))
# So straight from the Package examples I have the public and private keys.
# Additionally, with the same I can sign a message
x <- charToRaw("My message to sign")
sig <- PKI.sign(x, key)
PKI.verify(x, sig, key)
# Now a slight change from the exapmles I will verify that the public key can verify
PKI.verify(x, sig, pub.k)
# Now I would like to generate another public key based on the same private key
# my nieve attempt is
#PKI.mkRSApubkey(modulus, exponent=65537L, format = c("DER", "PEM", "key"))
pub.k
pub.k2<-PKI.mkRSApubkey(123, exponent=65537L, format = "key")
pub.k2
PKI.verify(x, sig, pub.k2)
PKI.verify(x, sig, pub.k)
priv.pem
Merci pour les conseils. Essayer de programmer tout cela révèle beaucoup de problèmes de main agitant. Je pensais en fait qu'un serveur clé fournirait la clé publique (toujours en sortant du papier de 9 pages et en sautant directement sur la façon dont je le programmerais) je pense que mon choix de l'algorithme de RSA explique la bonne version courte d'une clé publique et de la signature probable dont vous avez fourni des exemples. Merci encore. – BabblingREnthusiast