61 lines
1.4 KiB
Markdown
61 lines
1.4 KiB
Markdown
# GOST provider
|
|
|
|
The GOST provider is currently built in parallell with the GOST
|
|
engine, and is implemented like a wrapper around the engine code.
|
|
|
|
## Currently implemented
|
|
|
|
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
|
|
|
|
## TODO, not requiring additional OpenSSL support
|
|
|
|
- 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)
|
|
|
|
## TODO, which requires additional OpenSSL support
|
|
|
|
- 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.
|
|
|
|
## TODO, far future
|
|
|
|
- Refactor the code into being just a provider. This is to be done
|
|
when engines aren't supported any more.
|