mbox series

[v3,0/3] crypto: streebog - add Streebog hash function

Message ID 20181024032356.3388-1-vt@altlinux.org (mailing list archive)
Headers show
Series crypto: streebog - add Streebog hash function | expand

Message

Vitaly Chikunov Oct. 24, 2018, 3:23 a.m. UTC
Add GOST/IETF Streebog hash function (GOST R 34.11-2012, RFC 6986)
generic hash transformation with appropriate testmgr and tcrypt
tests and vectors.

Streebog Hash Function (GOST R 34.11-2012, RFC 6986) is one of the Russian
cryptographic standard algorithms (called GOST algorithms).

References:
  https://tc26.ru/upload/iblock/fed/feddbb4d26b685903faa2ba11aea43f6.pdf
  https://tools.ietf.org/html/rfc6986

Tested using testmgr and tcrypt on x86_64, arm, arm64, and s390x on qemu.

Changes from v1:
- Fix of big-endian problem in add512.
- More architectures are tested, including big-endian and 32-bit.

Changes from v2:
- Register hash in Hash Info for use by IMA.
- Add hmac() tests.

Vitaly Chikunov (3):
  crypto: streebog - add Streebog hash function
  crypto: streebog - register Streebog in hash info for IMA
  crypto: streebog - add Streebog test vectors

 crypto/Kconfig                 |   12 +
 crypto/Makefile                |    1 +
 crypto/hash_info.c             |    4 +
 crypto/streebog_generic.c      | 1142 ++++++++++++++++++++++++++++++++++++++++
 crypto/tcrypt.c                |   35 ++
 crypto/testmgr.c               |   24 +
 crypto/testmgr.h               |  114 ++++
 include/crypto/hash_info.h     |    1 +
 include/crypto/streebog.h      |   34 ++
 include/uapi/linux/hash_info.h |    2 +
 10 files changed, 1369 insertions(+)
 create mode 100644 crypto/streebog_generic.c
 create mode 100644 include/crypto/streebog.h