-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sign/verify implementations using OpenSSL library. #6
base: crypto-decoupling-openssl-lib
Are you sure you want to change the base?
Sign/verify implementations using OpenSSL library. #6
Conversation
7b02ba2
to
16c6c50
Compare
06b3943
to
6bcf209
Compare
2f9f332
to
efd7b2a
Compare
8a43b8b
to
4f9b348
Compare
985f38e
to
6dc4b49
Compare
6c81258
to
9e6237f
Compare
tools/KeyfileIOUtils.cpp
Outdated
@@ -39,17 +39,27 @@ void outputReplicaKeyfile(uint16_t numReplicas, | |||
<< "c_val: " << config.cVal << "\n" | |||
<< "replica_id: " << config.replicaId << "\n" | |||
<< "read-only: " << config.isReadOnly << "\n\n" | |||
#ifdef USE_CRYPTOPP | |||
<< "# RSA non-threshold replica public keys\n" | |||
<< "rsa_public_keys:\n"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Object store integrity checker code look for this "rsa_public_keys" . Please check if we need to make relevant changes there?
c9f9870
to
ab57a5a
Compare
@pkthapa, we have already 274 comments in this PR and it's not converging. |
@toly-kournik New PR created here: #12 |
6c91764
to
57c20fe
Compare
i. Compilation macros (USE_CRYPTOPP_RSA and USE_EDDSA_SINGLE_SIGN) for RSA and EdDSA removed. ii. The choice of signing algorithm is now based on the value set in 'replicaMsgSigningAlgo' and 'operatorMsgSigningAlgo' config variables.
57c20fe
to
9cd5ab7
Compare
Namespace changed to |
60f690d
to
f73a522
Compare
Problem Overview
The cryptographic algorithm involved in sign/verify operations should be changed to using
OpenSSL's EdDSA
algorithm.i)
Cryptopp RSA
signing and verification are replaced byOpenSSL EdDSA
signing and verification.ii) Encryption and decryption using
AES-256
bit Cipher algorithm usingCBC
mode implemented using OpenSSL library.iii) Base64 encoding and decoding using OpenSSL library APIs.
iv) Introduced
USE_RELIC
andUSE_EDDSA_OPENSSL
compilation macros for BLS multi-sig and EdDSA multi-sig implementation.v) Introduced
replicaMsgSigningAlgo
andoperatorMsgSigningAlgo
config flags to hop between RSA, ECDSA and EdDSA signing and verification.Testing Done
i) Gtest for
EdDSA sign/verify
,AES-CBC encrypt/decrypt
, andBase64 encode/decode
are working for OpenSSL library only. The same gtest cases forCryptopp RSA sign/verify
,AES-CBC-256 encrypt/decrypt
, andbase64 encoding/decoding
are commented.ii) Apollo test cases for OpenSSL library.
iii) Benchmark tool [picobench] added for comparing
EdDSA signing/verification
vsRSA signing/verification
.iv) Added missed OpenSSL digest holder test cases.