Crates.io | rsa_public_encrypt_pkcs1 |
lib.rs | rsa_public_encrypt_pkcs1 |
version | 0.4.0 |
source | src |
created_at | 2018-11-04 17:16:18.541875 |
updated_at | 2021-07-18 19:36:28.78102 |
description | RSA PKCS#1 encryption from ASN.1 DER encoded public key in pure Rust |
homepage | |
repository | https://github.com/iceiix/rsa_public_encrypt_pkcs1 |
max_upload_size | |
id | 94687 |
size | 9,837 |
RSA PKCS#1 public key encryption using an ASN.1 DER encoded public key.
Implemented in pure Rust based on RFC8017: PKCS #1: RSA Cryptography Specifications Version 2.2, section 7.2.1 RSAES-PKCS1-v1_5.
Warning: Use at your own risk. Not extensively tested or reviewed. May contain serious bugs.
See also: rust-openssl. Example code written for rust-openssl:
let mut shared_e = vec![0; rsa.size() as usize];
let mut token_e = vec![0; rsa.size() as usize];
rsa.public_encrypt(&shared, &mut shared_e, Padding::PKCS1)?;
rsa.public_encrypt(&packet.verify_token.data, &mut token_e, Padding::PKCS1)?;
could be rewritten using this crate as follows:
let shared_e = rsa_public_encrypt_pkcs1::encrypt(&packet.public_key.data, &shared)?;
let token_e = rsa_public_encrypt_pkcs1::encrypt(&packet.public_key.data, &packet.verify_token.data)?;