iotaledger / kerl

IOTA is adding an additional hashing function, based on Keccak, with conversion to ternary. The following document describes the functionality and specification to be implemented.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IOTA Kerl:

IOTA is adding an additional hashing function, based on Keccak, with conversion to ternary.
The following document describes the functionality and specification to be implemented.

Kerl integration in IOTA:

Kerl is used in IOTA for the following tasks:

Functionality Curl-P-27 Curl-P-81 Kerl
Address generation V^
Signature generation V
Signature verification V
Essence calculation (bundleHash) V
Proof of Work V
Transaction Hash V
Milestone verification V

Curl-P-N: N number of rounds

^ CheckSums are calculated using the last 9 trytes.


Kerl specification:

Kerl Specification: specification and implementation details for kerl

Kerl Test vectors: extensive test vectors for independent implementations

Kerl implementation examples:

About

IOTA is adding an additional hashing function, based on Keccak, with conversion to ternary. The following document describes the functionality and specification to be implemented.


Languages

Language:Rust 34.7%Language:Python 26.3%Language:JavaScript 20.9%Language:Java 18.1%