Skip to content

arekouzounian/rs-a

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rs-a

rust tests badge

An implementation of RSA, as specified in RFC 8017, using Rust.

Intended Usage

The goal of this project is to implement a basic RSA library that includes encryption, decryption, key generation, signature, and verification functions.

This isn't intended to be a production-grade library; this is more of an exercise in writing Rust code, learning about RSA, and trying to write code that adheres to a written standard.

While the library contained herein is intended to adhere to RFC 8017 as much as possible, the end-product is not designed to be used for commercial purposes, and it is very much likely that the library itself will not be in complete compliance with the RFC. For more specific language as to the purposes of this repository, consult the license.

I am still very new to Rust, so this library is likely to be non-idiomatic. I'm also very new to the number theory behind RSA, so despite my attempts at making clean and correct code, this library isn't guaranteed to be very performant.

Project Goals

  • Key Generation
    • [] Stretch: user-defined prime testing functions
    • [] Stretch: sieving w/ pre-computed primes
  • Cryptographic Primitives
  • [] Keypair Serialization/Deserialization
    • DER
    • PEM
    • [] PKCS8
    • [] Stretch: OpenSSH Integration
  • [] Encryption
    • Cryptographic Primitives
    • [] RSAES-OAEP
    • [] RSAES-PKCS1-v1_5
  • [] Signatures
    • [] RSASSA-PSS
    • [] RSASSA-PKCS1-v1_5

Notes & Reference Materials

About

An implementation of RSA in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published