engine
engine copied to clipboard
WIP: MGM mode for magma/kuznyechik cipher. Initial implementation.
To make tests pass through we need to update OpenSSL's objects.txt file with new identifiers:
- kuznyechik-mgm
- magma-mgm
What is the best choice to add identifiers? I can create additional directory to add script to apply this changes to OpenSSL. But it seems to me, that 'master' branch is bad place for it.
I have applied this changes on my local computer. And it seems that all built in tests is passed through.
Sorry for the delay.
The big idea is
- we don't add new NIDs to openssl upstream, it will be rejected with probability > 90%
- we need supporting new ciphers only in providers because engine interface becomes deprecated
- so we implement MGM only as a part of provider, not as a part of engine.
After that it becomes possible to add support of ciphersuites to openssl.
ok. thanks. should MGM be available in "engine" part of source code (e.g. for internal use), or only in "provider" part through it's API?
In theory, you could dynamically register NIDs for them. In practice I don't see much sense, so let's leave it in provider part only.
so, no internal tests for engine, only for provider case?
yes. You should write the C test loading the provider, fetching an algorithm and performing test.