All Projects → iotaledger → kerl

iotaledger / kerl

Licence: other
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.

Programming Languages

rust
11053 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language

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:

Java

JavaScript

Python2

Python3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].