Skip to content

veorq/Quark

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
March 23, 2014 04:10
March 23, 2014 04:10
May 2, 2014 08:07
March 24, 2014 15:47
March 23, 2014 18:09
March 24, 2014 15:47

Quark

Reference implementation of Quark, a family of lightweight cryptographic hash functions composed of 4 instances:

  • u-Quark (at least 64-bit security)
  • d-Quark (at least 80-bit security)
  • s-Quark (at least 112-bit security)
  • c-Quark (at least 160-bit security)

Quark instances can be used as cryptographic hash functions, as well as building blocks of authenticated ciphers.

Quark was designed by Jean-Philippe Aumasson with Luca Henzen, Simon Knellwolf, Willi Meier, and Maria Naya-Plasencia.

Usage

Running

  make

will build sanity checks (test vectors) for all 4 Quark instances. For example:

  ./uquark_test

verifies that u-Quark returns the expected hash value given the empty message, and

  ./uquark_test_debug

does the same and prints intermediate values.

Similar executables are provided for d-Quark, s-Quark, and c-Quark.

Intellectual property

The Quark reference code is released under CC0 license, a public domain-like licence.

We aren't aware of any patents or patent applications relevant to Quark, and we aren't planning to apply for any.

References

The Quark page includes

  • academic publications (CHES 2010, Journal of Cryptology)
  • slides of Quark presentations at conferences and workshops

About

Lightweight cryptographic hash functions (reference code)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages