Implementation of Mirinae hash function
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
crypto
utils
.gitignore
LICENSE
README.md
build.sh
main.cpp
mirinae.c
mirinae.h

README.md

Implementation of Mirinae hash function

This is official implementation of Mirinae hash function used by MicroBitcoin.

Motivation

Main motivation for development of this algo - create new ASICs resistant hash function which will replace Groestl512 after Baikal G28 appearance. Is uses combination of groestl and kupyna hash functions, source code can be checked here. Special thanks to whitefire990, DigitalCruncher and Aiwe for help with dicsussion/development of this algo. Also cheers to Turtlecoin devs for this article which Mirinae hash heavily inspired by :)

Usage:

mirinae(const void* data, size_t length, void* output, int height, const void* seed)

data - raw block header
length - data length
output - variable which receive hash output by memcpy
height - new block height
seed - arbitrary data with length 64 (recomended to use previous block hash)

You can build demo app using this command:

./build

and run it by:

./mbc_hash

Developed with love by iamstenman