Home > Research > Code-based cryptography > Code-based cryptosystems : implementations > Implementation of code-based hash-functions and stream-ciphers

Implementation of code-based hash-functions and stream-ciphers

Wednesday 20 April 2011, by Cayrel , Matthias Boll and Thorsten Peter

These are the results of a cryptography lab project of Thorsten
Peter and Matthias Boll in winter semester 2010/2011. The lab project contains two main parts: the implementation (C and Java) and performance comparison of several code-based cryptographic schemes.

The first two schemes, FSB [1] and S-FSB are two cryptographic hash functions. The other two, SYND [2] and 2SC, are two stream ciphers.
In our report, we are going to introduce the cryptographic schemes briefly, building the basis for the understanding of their implementations. Section 3 presents the C and Java implementations. Based on our C implementations, we have done several performance measurements in order to compare the two hash function schemes, FSB and S-FSB, as well as the two stream ciphers, SYND and 2SC. Section 4 deals with the performance analysis and covers some Dieharder tests for the FSB and S-FSB hash functions.

These are the performance results we obtained [3] for S-FSB and FSB:

Hash Length FSB cycles/byte S-FSB cycles/byte FSB file hash 100 MB S-FSB file hash 100 MB
160 Bit2121608.82s6.64s
224 Bit24820110.14s7.66s
384 Bit38135915.82s14.71s

As we can see, S-FSB achieves a better performance. [4]

and those are our results for SYND and 2SC:

Security Level SYND cycles/byte

The 80 bit security level are the parameters recommended by the SYND authors.

Security Level 2SC cycles/byte

This shows that at comparable security levels, 2SC is faster.

The respective parameter sets we chose can be obtained from our full report.
The attached impl-sfsb-fsb-synd-fsb.zip file contains our implementations and test scripts we wrote to faciliate parameter choice.

An other hash-function have been proposed by Daniel J. Bernstein, Tanja Lange, Christiane Peters and Peter Schwabe called RFSB. An implementation of the hash-function can be found here.


[1Daniel Augot, Matthieu Finiasz, Philippe Gaborit, Stéphane Manuel, Nicolas Sendrier - SHA-3 proposal: FSB,
Submission to NIST, 2008, FSB project page

[2Philippe Gaborit, Cedric Lauradoux and Nicolas Sendrier - SYND: a fast code-based stream cipher with a security reduction, 2007, download paper

[3test machine was a 2.53 GHz Pentium Core2 Duo, 32 Bit Ubuntu 10.04, 6MB Level 2 Cache, 4 GB RAM

[4see also the FSB authors’ results on p.11, table 6 of their proposal

SPIP | | Site Map | Follow site activity RSS 2.0

Graphic design (c) Kozlika under License GPL