Use the rsa crate to generate keys and encrypt data in Rust. Add rsa = "0.9" to your Cargo.toml dependencies, then use RsaPrivateKey to generate keys and encrypt/decrypt methods to process data.
use rsa::{RsaPrivateKey, Oaep};
use rsa::rand_core::OsRng;
fn main() {
let mut rng = OsRng;
let bits = 2048;
let private_key = RsaPrivateKey::new(&mut rng, bits).unwrap();
let public_key = private_key.to_public_key();
let message = b"Hello, Rust!";
let padding = Oaep::new::<sha2::Sha256>();
let encrypted = public_key.encrypt(&mut rng, padding.clone(), message).unwrap();
let decrypted = private_key.decrypt(padding, &encrypted).unwrap();
println!("Decrypted: {}", String::from_utf8_lossy(&decrypted));
}