Ich möchte RSA-Schlüsselpaar (öffentlich und privat) generieren und sie dann für AES-Verschlüsselung und Entschlüsselung verwenden. Öffentliche Schlüssel für die Verschlüsselung und den privaten Schlüssel für Decryption.I schrieb einen einfachen Code für diese, aber das Problem ist, dass, wenn ich diesen Code ausführen ich diese Fehlermeldung erhalten:So verwenden Sie RSA-Schlüsselpaar für AES-Verschlüsselung und Decryprion in Golang
crypto/aes: invalid key size 1639
Wie kann ich dieses Problem resove ?? Mein Verschlüsselungscode lautet:
//genrarting private key
privateKey, err := rsa.GenerateKey(rand.Reader, 2014)
if err != nil {
return
}
privateKeyDer := x509.MarshalPKCS1PrivateKey(privateKey)
privateKeyBlock := pem.Block{
Type: "RSA PRIVATE KEY",
Headers: nil,
Bytes: privateKeyDer,
}
privateKeyPem := string(pem.EncodeToMemory(&privateKeyBlock))
//using privateKeyPem for encryption
text := []byte("My name is Astaxie")
ciphertext, err := encrypt(text, []byte(privateKeyPem))
if err != nil {
// TODO: Properly handle error
log.Fatal(err)
}
fmt.Printf("%s => %x\n", text, ciphertext)
//Definition of encrypt()
func encrypt(plaintext []byte, key []byte) ([]byte, error) {
c, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
gcm, err := cipher.NewGCM(c)
if err != nil {
return nil, err
}
nonce := make([]byte, gcm.NonceSize())
if _, err = io.ReadFull(rand.Reader, nonce); err != nil {
return nil, err
}
return gcm.Seal(nonce, nonce, plaintext, nil), nil
}
Welche Zeile erzeugt diesen Fehler? – Flimzy
Was ist Definition von 'encrypt()' Funktion? Zeigen Sie uns [Minimales, vollständiges und verifizierbares Beispiel] (https://stackoverflow.com/help/mcve) – ymonad
Sie erwarten, dass eine AES-Chiffre mit einem RSA-Schlüssel funktioniert? – DarkSquirrel42