The GOST provider is currently built in parallell with the GOST engine, and is implemented like a wrapper around the engine code.
Symmetric ciphers:
- gost89
- gost89-cnt
- gost89-cnt-12
- gost89-cbc
- kuznyechik-ecb
- kuznyechik-cbc
- kuznyechik-cfb
- kuznyechik-ofb
- kuznyechik-ctr
- magma-cbc
- magma-ctr
- magma-ctr-acpkm
- magma-ctr-acpkm-omac
- kuznyechik-ctr-acpkm
- kuznyechik-ctr-acpkm-omac
Hashes:
- id-tc26-gost3411-12-256 (md_gost12_256)
- id-tc26-gost3411-12-512 (md_gost12_512)
- id-GostR3411-94 (md_gost94)
MACs:
- gost-mac
- gost-mac-12
- magma-mac
- kuznyechik-mac
- kuznyechik-ctr-acpkm-omac
-
Basic support for GOST keys, i.e. implementations of KEYMGMT (including key generation), DECODER and DECODER.
-
Support for these operations using GOST keys:
- ASYM_CIPHER (encryption and decryption using GOST keys)
- SIGNATURE (signing and verifying using GOST keys)
-
TLSTREE support. This may require additional changes in libssl. Needs investigation.
-
PKCS7 and CMS support. This requires OpenSSL PKCS7 and CMS code to change for better interfacing with providers.
- Refactor the code into being just a provider. This is to be done when engines aren't supported any more.