haraka

package module
v0.0.0-...-3cf1081 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2018 License: MIT Imports: 2 Imported by: 2

README

haraka

GoDoc

A golang implementation of the Haraka v2 family of hash functions presented in:

Haraka v2 – Efficient Short-Input Hashing for Post-Quantum Applications

by Stefan Kolbl, Martin M. Lauridsen, Florian Mendel, and Christian Rechberger

https://eprint.iacr.org/2016/098.pdf

These functions are designed to be fast for fixed-length (512/256-bit) inputs on processors with AES instructions. A primary use case is for hash-based signatures in post-quantum cryptography. Note, that if your processor does not have AES instructions then the performance will be ~10x slower due to software emulation of the AES round function. Currently, AES instruction optimization is only implemented for amd64 processors.

AES-NI and software AES (Ref) benchmarks name time/op Haraka256-4 30.8ns ± 0% Haraka512-4 81.1ns ± 1% Haraka256Ref-4 469ns ± 0% Haraka512Ref-4 953ns ± 2%

Documentation

Overview

Package haraka implements the Haraka v2 family of hash functions presented in:

Haraka v2 – Efficient Short-Input Hashing for Post-Quantum Applications

by Stefan Kolbl, Martin M. Lauridsen, Florian Mendel, and Christian Rechberger

https://eprint.iacr.org/2016/098.pdf

These functions are designed to be fast for fixed-length (512/256-bit) inputs on processors with AES instructions. A primary use case is for hash-based signatures in post-quantum cryptography. Note, that if your processor does not have AES instructions then the performance will be ~10x slower due to software emulation of the AES round function. Currently, AES instruction optimization is only implemented for amd64 processors.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Haraka256

func Haraka256(output, input *[32]byte)

Haraka256 calculates the Harakaa v2 hash of a 256-bit input and places the 256-bit result in output.

func Haraka512

func Haraka512(output *[32]byte, input *[64]byte)

Haraka512 calculates the Harakaa v2 hash of a 512-bit input and places the 256-bit result in output.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL