HmKitCrypto is securing communication between two parties using public key infrastructure.
ECC: Uses well established Elliptic Curve Cryptography's curve p256 (that is as secure as RSA, while having a smaller footprint).
De-/Encrypt: Enables simple encryption and decryption with AES128.
Keys: Perform Diffie-Hellman's key exchange using X9.63 SHA256 algorithm. Additionally
convert keys back and forth between bytes and Apple's SecKey
format.
Random: Create pseudo-random bytes for cryptographic functions or as unique IDs.
Signatures: Create and verify Elliptic Curve Digital Signature Algorithm (ECDSA) X9.62 SHA256 or HMAC signatures.
The package can be installed
by adding hm_crypto
to your list of dependencies in mix.exs
:
def deps do
[
{:hm_crypto, github: "highmobility/hmkit-crypto-elixir", tag: "v2.1.0"}
]
end
HmCrypto Elixir requires Elixir 1.8 or later and is compatible with apps targeting Erlang 21.0 or above.
Get an overview by reading the security documentation browse the documentation.
We would love to accept your patches and contributions to this project. Before getting to work, please first discuss the changes that you wish to make with us via GitHub Issues, Spectrum or Slack.
See more in CONTRIBUTING.md
This repository is using MIT license. See more in LICENSE