Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Tue, 8 Sep 2015 21:08:34 +0300
From: Aleksey Cherepanov <>
Subject: simple wrapper around RNRT SAPHIR functions (sph_*) to generate

I investigated some new *coin miners: some of them heavily rely onto
sph_* functions from RNRT SAPHIR project. The project contains scalar
implementations of various sha3 hashes with unified interface.

I wrote a simple program to call these functions easily. To add a new
hash, you need to add 2 lines: #include respective header and write:
al(hash_name);  in middle of program.

The program reads file specified as first argument and hashes each
line with each algo in code (al() calls both 256 and 512 bit
versions). On output, you get:

So self tests could be easily prepared with some post processing.

The program auto detects length of output hashs (hm, the lengths have
to be 256 and 512 as names suggest...).

I build it on top of cpuminer-multi, so it may be a bit dirty in sense
of paths of includes.

But it should work well on top of original project. A link the

To build
$ gcc cpuminer/sha3/minerd-sph_*.o -I cpuminer sph.c

Then, to run with empty password and \xff :
$ printf "\n\xff\n" > micro_words
$ ./a.out micro_words

The program needs final \n otherwise it does not hash last line.

At the moment, I am going to leave it here as is.


Aleksey Cherepanov

View attachment "sph.c" of type "text/x-csrc" (2741 bytes)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.