with_rsa.rb

Heads up: This description was created by AI and might not be 100% accurate.

This Ruby code snippet demonstrates RSA encryption and decryption using the openssl library. It generates a 2048-bit RSA key pair (private and public keys). A string “Ruby” is encrypted using the public key and then successfully decrypted using the corresponding private key, showcasing the basic functionality of asymmetric encryption.

Ruby code snippet

require 'openssl'
#=> true

rsa_private = OpenSSL::PKey::RSA.generate(2048)
#=> #<OpenSSL::PKey::RSA:0x00007f2fdb9e91e0 oid=rsaEncryption>
rsa_public = rsa_private.public_key
#=> #<OpenSSL::PKey::RSA:0x00007f2fdb9e41b8 oid=rsaEncryption>

secret = 'Ruby'
#=> "Ruby"

enc_data = rsa_public.public_encrypt(secret)
#=> 
"4\x15\xA3`u\xC3\xE4\x03FF_=f\xCCU\xE5dRmH\xCC\x9A\x91\x85X\xF7\xACX/\r\xDE\a\xB...

rsa_private.private_decrypt(enc_data)
#=> "Ruby"

Executed with Ruby 3.4.9.