rsa_ex v0.1.0 RsaEx
Summary
Functions
Decrypt message with RSA private key
iex(8)> {:ok, decrypted_clear_text} = RsaEx.decrypt(cipher_text, rsa_private_key)
{:ok, "Important message"}
Encrypt message with RSA public key in base64
iex> clear_text = "Important message"
"Important message"
iex> {:ok, cipher_text} = RsaEx.encrypt(clear_text, rsa_public_key)
{:ok, "Lmbv...HQ=="}
Generates RSA 2048 private/public keypair
iex> {:ok, {priv, pub}} = RsaEx.generate_keypair
Generates RSA 2048 private key
iex> {:ok, priv} = RsaEx.generate_private_key
Generates RSA 2048 public key
iex> {:ok, priv} = RsaEx.generate_private_key
iex> {:ok, pub} = RsaEx.generate_public_key(priv)
Sign message with RSA private key
iex> {:ok, signature} = RsaEx.sign(message, rsa_private_key)
{:ok, <<...>>}
Verify signature with RSA public key
iex> {:ok, valid} = RsaEx.verify(message, signature, rsa_public_key
{:ok, true}
Types
Functions
Specs
decrypt(String.t, private_key) :: {atom, String.t}
Decrypt message with RSA private key
iex(8)> {:ok, decrypted_clear_text} = RsaEx.decrypt(cipher_text, rsa_private_key)
{:ok, "Important message"}
Specs
encrypt(String.t, public_key) :: {atom, String.t}
Encrypt message with RSA public key in base64
iex> clear_text = "Important message"
"Important message"
iex> {:ok, cipher_text} = RsaEx.encrypt(clear_text, rsa_public_key)
{:ok, "Lmbv...HQ=="}
Specs
generate_keypair :: {atom, {private_key, public_key}}
Generates RSA 2048 private/public keypair
iex> {:ok, {priv, pub}} = RsaEx.generate_keypair
Specs
generate_private_key :: {atom, private_key}
Generates RSA 2048 private key
iex> {:ok, priv} = RsaEx.generate_private_key
Specs
generate_public_key(private_key) :: {atom, public_key}
Generates RSA 2048 public key
iex> {:ok, priv} = RsaEx.generate_private_key
iex> {:ok, pub} = RsaEx.generate_public_key(priv)
Specs
sign(String.t, private_key) :: {atom, binary}
Sign message with RSA private key
iex> {:ok, signature} = RsaEx.sign(message, rsa_private_key)
{:ok, <<...>>}
Specs
verify(String.t, binary, public_key) :: {atom, boolean}
Verify signature with RSA public key
iex> {:ok, valid} = RsaEx.verify(message, signature, rsa_public_key
{:ok, true}