Skip to content

iceiix/rsa_public_encrypt_pkcs1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rsa_public_encrypt_pkcs1

crate documentation Travis status

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)?;

About

RSA public key encryption PKCS#1 for Rust

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages