fork of boring2 with prefix patch
Go to file
Elly Jones 3ef626596e [hash] update to 2286d8c17e5bf3d4312357eba9a845262068f007 2012-01-18 21:46:39 -05:00
README.md Initial commit. 2011-12-15 10:04:00 -05:00
crypto.rc Initial commit. 2011-12-15 10:04:00 -05:00
hash.rs [hash] update to 2286d8c17e5bf3d4312357eba9a845262068f007 2012-01-18 21:46:39 -05:00
manifest.json manifest: Add license. 2011-12-15 21:43:44 -05:00
pkey.rs pkey: build under OSX? 2011-12-15 18:51:02 -05:00
symm.rs Refactored code to use core::* 2011-12-15 20:53:58 +01:00

README.md

This package provides Rust bindings for the functionality exposed by OpenSSL's libcrypto. Currently provided:

  • Hashes (hash.rs)
    • MD5
    • SHA-1
    • SHA-2 (224, 256, 384, 512)
  • Symmetric crypto (symm.rs)
    • AES in ECB or CBC mode, all key lengths
  • Keypair generation (pkey.rs)
    • RSA, all key lengths
  • Asymmetric encryption (pkey.rs)
    • RSA with PKCS#1 OAEP padding
  • Digital signatures (pkey.rs)
    • RSA with whatever your system openssl does (PKCS#1 on my system) and sha256

Each module provides two interfaces: a low-level API which wraps the OpenSSL interfaces as directly as possible and a high-level API which presents the OpenSSL API as a Rust object and tries to make sensible default choices about parameters most users won't care about. You probably want to use the high-level API. For documentation on these, see the individual source files.