Skip to content

Signing, Hashing and Key Derivation

Signing algorithm: ED25519

ED25519 is an elliptic curve algorithm developed in an academic setting with a focus on security from side channel attack, performance, and fixing a lot of the little annoyances in most elliptic curve systems1. However, it should be noted that instead of using SHA-512 in the key derivation function, Nano uses Blake2b.

Incorrect, SHA-512 has been used

0000000000000000000000000000000000000000000000000000000000000000 ->

Correct, Blake2b digested the seed

0000000000000000000000000000000000000000000000000000000000000000 ->

Hashing algorithm: Blake2

Compared to existing cryptocurrencies, the hash algorithm chosen is much less important since it's not being used in a Proof-of-Work context. In Nano hashing is used purely as a digest algorithm against block contents. Blake2 is a highly optimized cryptographic hash function whose predecessor was a SHA3 finalist.2

Key derivation function: Argon2

The key derivation function of Argon2 is used for securing the account keys in the reference wallet. 3