akashgoswami / 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 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 is used to verify spending from snapshot addresses.

^ 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 27.5%Language:Python 20.8%Language:C 18.9%Language:JavaScript 16.6%Language:Java 14.4%Language:C++ 1.1%Language:Makefile 0.7%