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.