Home GnuPG

gost28147: add support for CryptoPro key meshing per RFC 4357

Description

gost28147: add support for CryptoPro key meshing per RFC 4357

* cipher/gost28147.c (gost_do_set_sbox, cryptopro_key_meshing,
CryptoProMeshingKey, gost_encrypt_block_mesh): New.
(_gcry_cipher_spec_gost28147_mesh): New cipher with keymeshing,
(_gcry_cipher_spec_gost28147): Remove OIDs for this cipher should not
be selected using these OIDs (they are for CFB with keymeshing).
* cipher/cipher.c (cipher_list, cipher_list_algo301): add
_gcry_cipher_spec_gost28147_mesh.
* src/gcrypt.h.in (GCRY_CIPHER_GOST28147_MESH): New cipher with
keymeshing.
* doc/gcrypt.texi (GCRY_CIPHER_GOST28147_MESH): Add definition.
* tests/basic.c (check_gost28147_cipher, check_gost28147_cipher_basic):
Run basic tests on GCRY_CIPHER_GOST28147_MESH.

Add actual cipher implementing CryptoPro KeyMeshing. This has been
requested by AltLinux team to properly support CFB-encrypted CMS files.

  • Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>

Details

Provenance
lumagAuthored on Feb 9 2020, 7:29 PM
wernerCommitted on Mar 20 2020, 1:48 PM
Parents
rC18cd3f0c473a: gost: add keymeshing support per RFC 4357
Branches
Unknown
Tags
Unknown