aboutsummaryrefslogtreecommitdiff
path: root/security/p5-Crypt-RSA/pkg-descr
blob: 0f4e556c146604c2cc5088708d18ea262e36e3d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Crypt::RSA is a pure-perl, cleanroom implementation of the RSA public-key
cryptosystem. It uses Math::Pari(3), a perl interface to the blazingly fast
PARI library, for big integer arithmetic and number theoretic computations.

Crypt::RSA provides arbitrary size key-pair generation, plaintext-aware
encryption (OAEP) and digital signatures with appendix (PSS). For compatibility
with SSLv3, RSAREF2, PGP and other applications that follow the PKCS #1 v1.5
standard, it also provides PKCS #1 v1.5 encryption and signatures.

Crypt::RSA is structured as bundle of modules that encapsulate different parts
of the RSA cryptosystem. The RSA algorithm is implemented in
Crypt::RSA::Primitives(3). Encryption schemes, located under Crypt::RSA::ES,
and signature schemes, located under Crypt::RSA::SS, use the RSA algorithm to
build encryption/signature schemes that employ secure padding. (See the note on
Security of Padding Schemes.)

The key generation engine and other functions that work on both components of
the key-pair are encapsulated in Crypt::RSA::Key(3). Crypt::RSA::Key::Public(3)
& Crypt::RSA::Key::Private(3) provide mechanisms for storage & retrival of keys
from disk, decoding & encoding of keys in certain formats, and secure
representation of keys in memory. Finally, the Crypt::RSA module provides a
convenient, DWIM wrapper around the rest of the modules in the bundle.

WWW: https://metacpan.org/release/Crypt-RSA