keylara_rsa (keylara v1.0.0)

Summary

Functions

Decrypt data using RSA private key

Encrypt data using RSA public key

Extract public key from private key structure

Generate RSA keypair using default key size

Generate RSA keypair using Alara distributed entropy network

Get the size of an RSA key in bits

Validate RSA key size

Types

keylara_error/0

-type keylara_error() :: {error, term()}.

rsa_key_size/0

-type rsa_key_size() :: 1024 | 2048 | 4096.

rsa_private_key/0

-type rsa_private_key() ::
          #'RSAPrivateKey'{version :: term(),
                           modulus :: term(),
                           publicExponent :: term(),
                           privateExponent :: term(),
                           prime1 :: term(),
                           prime2 :: term(),
                           exponent1 :: term(),
                           exponent2 :: term(),
                           coefficient :: term(),
                           otherPrimeInfos :: term()}.

rsa_public_key/0

-type rsa_public_key() :: #'RSAPublicKey'{modulus :: term(), publicExponent :: term()}.

Functions

decrypt(EncryptedData, PrivateKey)

-spec decrypt(binary(), rsa_private_key()) -> {ok, binary()} | keylara_error().

Decrypt data using RSA private key

encrypt(Data, PublicKey)

-spec encrypt(binary() | list(), rsa_public_key()) -> {ok, binary()} | keylara_error().

Encrypt data using RSA public key

extract_public_key(_)

-spec extract_public_key(rsa_private_key()) -> rsa_public_key().

Extract public key from private key structure

generate_keypair(NetPid)

-spec generate_keypair(pid()) -> {ok, {rsa_public_key(), rsa_private_key()}} | keylara_error().

Generate RSA keypair using default key size

generate_keypair(NetPid, KeySize)

-spec generate_keypair(pid(), rsa_key_size()) ->
                          {ok, {rsa_public_key(), rsa_private_key()}} | keylara_error().

Generate RSA keypair using Alara distributed entropy network

get_key_size(_)

-spec get_key_size(rsa_public_key() | rsa_private_key()) -> integer().

Get the size of an RSA key in bits

validate_key_size(KeySize)

-spec validate_key_size(integer()) -> ok | keylara_error().

Validate RSA key size