Demo rsa crypto

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Demo RSA Crypto (PowerShell)

RSA-Schlüsselpaar erzeugen

erzeugt einen RSA-Schlüssel mit 2048 Bit
  • $rsa = [System.Security.Cryptography.RSA]::Create(2048)
exportiert den öffentlichen Schlüssel im PEM-Format
  • $public = $rsa.ExportRSAPublicKeyPem()
exportiert den privaten Schlüssel im PEM-Format
  • $private = $rsa.ExportRSAPrivateKeyPem()
zeigt den öffentlichen Schlüssel an
  • $public
zeigt den privaten Schlüssel an
  • $private

Klartext definieren

definiert den zu verschlüsselnden Text
  • $plaintext = "Dies ist eine RSA-Testnachricht."
wandelt den Text in Bytes um
  • $bytes = [System.Text.Encoding]::UTF8.GetBytes($plaintext)

Mit öffentlichem Schlüssel verschlüsseln

verschlüsselt die Bytefolge mit dem öffentlichen RSA-Schlüssel
  • $cipher = $rsa.Encrypt($bytes, [System.Security.Cryptography.RSAEncryptionPadding]::Pkcs1)
gibt das Ergebnis als Base64 aus
  • $cipher_b64 = [Convert]::ToBase64String($cipher)
  • $cipher_b64

Mit privatem Schlüssel entschlüsseln

entschlüsselt die Cipher-Bytes mittels privatem Schlüssel
  • $cipher_bytes = [Convert]::FromBase64String($cipher_b64)
  • $plain_bytes = $rsa.Decrypt($cipher_bytes, [System.Security.Cryptography.RSAEncryptionPadding]::Pkcs1)
wandelt die Bytes wieder in lesbaren Text
  • $plain = [System.Text.Encoding]::UTF8.GetString($plain_bytes)
  • $plain