Skip to content

exthereum/exth_crypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExthCrypto CircleCI

ExthCrypto handles the majority of cryptographic operations for Exthereum. The goal of this project is to give each Exthereum project a common set of cryptographic functions where the backends can be swapped out as need be. Additionally, more complicated protocols (such as ECIES) can be implemented and tested in this project.

Note: we opt, whenever possible, to use erlang core or open-source implementations for all functions. The goal of this project is to create a consistent API for cryptographic functions that can be referenced from Exthereum projects. The goal of this project is not to re-write such functions in native erlang or Elixir.

We currently support:

  • AES symmetric encryption in block mode and (simplified) stream mode
  • Elliptic Curve Diffie Hellman (ECDH) key exchange
  • ECIES perfect-forward secret generation
  • SHA1, SHA2 and Keccak one-way cryptographic hash functions
  • NIST-SP-800-56 key derivation function
  • HMAC with SHA1, SHA2 or Keccak
  • Elliptic Curve Digital Signature Algorithm (ECDSA) with public key recovery

Installation

If available in Hex, the package can be installed by adding exth_crypto to your list of dependencies in mix.exs:

def deps do
  [{:exth_crypto, "~> 0.1.6"}]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/exth_crypto.

About

Cryptographic Functions used by Exthereum

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages