Skip to content

Latest commit

 

History

480 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ft_rsa

Simple crypto library. RSA, ASN.1, PEM, DER, DES, Base64, SHAx, MD5

About

The goals of this project:

  • Big number
  • Pseudo-random number generator
  • Password based key derivation
  • RSA key generation
  • RSA crypt
  • RSA utilities
  • DES crypt
  • Message digest
  • Base64 encoding
  • ASN.1 parser
  • DER encoding
  • PEM encoding
  • JSON parser
  • I/O streams
  • CLI argument parser
  • Text parser
  • Logger

Usage

./ft_ssl -h

Usage examples

Generate RSA private key:

./ft_ssl genrsa -o <key> 2048

Check RSA key and print its components:

./ft_ssl rsa -in <key> -check -text -noout

Encrypt message using RSA algorithm:

./ft_ssl rsautl -in <message> -out <cipher> -inkey <key>

References

  • LibTomMath, Multi-Precision Math: Tom St Denis, Mads Rasmussen, Greg Rose
  • ITU-T X.660: General procedures and top arcs of the international object identifier tree
  • ITU-T X.690: Abstract Syntax Notation One (ASN.1)
  • FIPS 180-4: Secure Hash Standard
  • FIPS 186-4: Digital Signature Standard
  • RFC 5280: Internet X.509 Public Key Infrastructure Certificate
  • RFC 3447: PKCS #1: RSA Cryptography Specifications Version 2.1
  • RFC 8017: PKCS #1: RSA Cryptography Specifications Version 2.2
  • RFC 5208: PKCS #8: Private-Key Information Syntax Specification Version 1.2
  • RFC 5958: Asymmetric Key Packages
  • RFC 7468: Textual Encodings of PKIX, PKCS, and CMS Structures
  • RFC 6234: US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)
  • RFC 1321: The MD5 Message-Digest Algorithm
  • FIPS 46-3: Data Encryption Standard (DES)
  • RFC 1829: The ESP DES-CBC Transform

About

Simple crypto library. RSA crypt, ASN.1 tree, PEM encoding, DER encoding, DES crypt, Base64 encoding, SHAx message digest

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages