Expand description

Re-exporting RSA implementations.

This module can currently handle public keys and signature verification used in the Tor directory protocol and similar places.

Currently, that means validating PKCSv1 signatures, and encoding and decoding RSA public keys from DER.

Limitations:

Currently missing are support for signing and RSA-OEAP. In Tor, RSA signing is only needed for relays and authorities, and RSA-OAEP padding is only needed for the (obsolete) TAP protocol.

This module should expose RustCrypto trait-based wrappers, but the rsa crate didn’t support them as of initial writing.

Structs

An RSA private key.

An RSA public key.

An identifier for a Tor relay, based on its legacy RSA identity key. These are used all over the Tor protocol.

An RSA signature plus all the information needed to validate it.

Constants

How many bytes are in an “RSA ID”? (This is a legacy tor concept, and refers to identifying a relay by a SHA1 digest of its RSA public identity key.)