foundationdb/fdbrpc
Ata E Husain Bohra 591ef57857
Upgrade AES 128 GCM -> AES 256, StreamCipher code refactor (#6314)
* Upgrade AES 128 GCM -> AES 256, StreamCipher code refactor

Major changes proposed are:
1. Refactor StreamCipher code to enable instantiation of
   multiple encryption keys. However, code still retains
   a globalEncryption key semantics used in Backup file
   encryption usecase.
2. Enhance StreamCipher to provide HMAC signature digest
   generation. Further, the class implements HMAC encryption
   key derivation function.
3. Upgrade StreamCipher to use AES 256 GCM mode from currently
   supported AES 128 GCM mode.
   Note: The code changes the encryption key size, however, the
         feature is NOT currently in use, hence, should be OK.
3. Add EncryptionOps validation and benchmark toml supported
   workload, it does the following:
   a. Allow user to configure encrypt-decrypt of a fixed size
      buffer or variable size buffer [100, 512K]
   b. Allow user to configure number of interactions of the runs,
      in each iteration: generate random data, derive an encryption
      key using HMAC SHA256 method, encrypt data and
      then decrypt data. It collects following metrics:
    i) time taken to derive encryption key.
    ii) time taken to encrypt the buffer.
    iii) time taken to decrypt the buffer.
    iv) total bytes encrypted and/or decrypted
   c. Along with stats it basic basic validations on the encrypted
      and decrypted buffer
   d. On completion for test, records the above mentioned metrics
      in trace files.
2022-01-31 19:52:44 -06:00
..
libcoroutine apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
libeio apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
ActorFuzz.actor.cpp apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
ActorFuzz.h fixup! Reformat source code 2021-09-16 19:40:28 -07:00
AsyncFileCached.actor.cpp Rename WeakFutureReference to UnsafeWeakFutureReference and add warning comment 2021-05-28 14:34:20 -07:00
AsyncFileCached.actor.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-08-27 17:07:47 -07:00
AsyncFileChaos.actor.h Fix a memory bug. 2021-11-09 10:32:17 -08:00
AsyncFileEIO.actor.h Fix many -Wreorder-ctor warnings 2021-07-23 17:33:18 -07:00
AsyncFileEncrypted.actor.cpp Upgrade AES 128 GCM -> AES 256, StreamCipher code refactor (#6314) 2022-01-31 19:52:44 -06:00
AsyncFileEncrypted.h Fixed file size limitation caused by block id being only 16 bits, now 32. 2021-07-31 11:39:28 -07:00
AsyncFileKAIO.actor.h Merge branch 'master' into bit-flipping-workload 2021-08-31 12:14:51 -07:00
AsyncFileNonDurable.actor.cpp apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
AsyncFileNonDurable.actor.h Merge branch 'master' into bit-flipping-workload 2021-10-11 16:34:57 -07:00
AsyncFileReadAhead.actor.h Fix many -Wreorder-ctor warnings 2021-07-23 17:33:18 -07:00
AsyncFileWinASIO.actor.h Add missing bind header for Windows (boost/bind/bind.hpp) 2021-11-22 15:50:32 +01:00
AsyncFileWriteChecker.cpp Make checksumHistoryBudget optional 2019-04-16 12:55:53 -07:00
AsyncFileWriteChecker.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
CMakeLists.txt Only build libcoro if COROUTINE_IMPL == libcoro 2021-12-03 16:34:35 -08:00
ContinuousSample.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
FailureMonitor.actor.cpp cherry pick streaming replies to master 2021-06-19 09:47:13 -07:00
FailureMonitor.h fix: disconnectTriggers cannot be yielded because we could send a reply to a replyPromiseStream while waiting on the delay 2021-10-24 19:18:03 -07:00
FlowTests.actor.cpp Make sure unit tests are run often enough 2021-11-08 15:43:32 -07:00
FlowTransport.actor.cpp Change member variable fromHostname to type bool. 2021-11-23 14:25:02 -10:00
FlowTransport.h Enable mismatched-tags clang warning 2021-11-01 14:18:31 -07:00
HealthMonitor.actor.cpp Remove unnecessary temporary objects while growing objects of type std::vector<std::pair<A, B>> 2021-05-10 16:32:50 -07:00
HealthMonitor.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
IAsyncFile.actor.cpp Attempt to fix windows build 2021-03-24 18:48:10 +00:00
IAsyncFile.h New Disk Delay Logic and ChaosMetrics. 2021-07-28 16:03:37 -07:00
IRateControl.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
LoadBalance.actor.cpp Add FDB_ prefix to BOOLEAN_PARAM macros 2021-07-09 05:42:14 -07:00
LoadBalance.actor.h fixup! Reformat source code 2021-09-16 19:40:28 -07:00
LoadBalance.h Adjust all includes to be relative to the root. 2018-10-19 17:35:33 +00:00
LoadPlugin.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
Locality.cpp Add new FDB EncryptKeyProxy role 2022-01-25 17:38:27 -08:00
Locality.h Add new FDB EncryptKeyProxy role 2022-01-25 17:38:27 -08:00
MultiInterface.h Enforce std:: specifier rather than using namespace 2021-09-16 19:40:28 -07:00
Net2FileSystem.cpp Replace <boost/bind.hpp> with <boost/bind/bind.hpp>. 2021-11-18 14:00:13 -08:00
Net2FileSystem.h Disable sampling everywhere except fdbserver 2021-07-27 09:53:23 -07:00
PerfMetric.cpp Fix PerfMetric.cpp copyright header 2021-08-30 13:31:30 -07:00
PerfMetric.h fixup! Reformat source code 2021-09-16 19:40:28 -07:00
QueueModel.cpp TSS Mapping Change 2021-06-02 17:30:09 +00:00
QueueModel.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-08-27 17:07:47 -07:00
RangeMap.h Fix invalid memory access when dataDistribution actor is cancelled (#5791) 2021-10-18 14:21:29 -07:00
Replication.cpp Adjust all includes to be relative to the root. 2018-10-19 17:35:33 +00:00
Replication.h Fix many -Wreorder-ctor warnings 2021-07-23 17:33:18 -07:00
ReplicationPolicy.cpp apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
ReplicationPolicy.h code cleanup 2021-04-26 10:16:18 -07:00
ReplicationTypes.cpp apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
ReplicationTypes.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
ReplicationUtils.cpp apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
ReplicationUtils.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
SimExternalConnection.actor.cpp Add resolveTCPEndpointBlocking() to resolve hostnames where async resolving is impossible. 2022-01-28 12:20:41 -08:00
SimExternalConnection.h Add resolveTCPEndpointBlocking() to resolve hostnames where async resolving is impossible. 2022-01-28 12:20:41 -08:00
Smoother.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
Stats.actor.cpp Fix roll trace event issue 2021-09-24 09:53:32 -07:00
Stats.h Fix roll trace event issue 2021-09-24 09:53:32 -07:00
TSSComparison.h Introduce GetRangeAndFlatMap to push computations down to FDB 2021-11-09 13:52:28 -08:00
TimedRequest.h Rename file in comment header 2019-08-01 08:40:45 -07:00
TraceFileIO.cpp apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
TraceFileIO.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
actorFuzz.py Merge release-6.3 into master 2020-05-22 09:25:32 -07:00
dsltest.actor.cpp Enforce std:: specifier rather than using namespace 2021-09-16 19:40:28 -07:00
fdbrpc.h Fix memory leak. Closes #4482 2021-12-22 15:04:00 -08:00
genericactors.actor.cpp Redwood chunked file growth and low priority IO starvation prevention (#5936) 2021-11-12 13:47:07 -08:00
genericactors.actor.h fix double destruction memory bug 2021-07-07 22:55:49 +00:00
linux_kaio.h apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
networksender.actor.h Fix memory leak. Closes #4482 2021-12-22 15:04:00 -08:00
sim2.actor.cpp Add resolveTCPEndpointBlocking() to resolve hostnames where async resolving is impossible. 2022-01-28 12:20:41 -08:00
sim_validation.cpp apply clang-format to *.c, *.cpp, *.h, *.hpp files 2021-03-10 10:18:07 -08:00
sim_validation.h Ban `Void _ = wait(...)` constructions, and require just `wait(...)`. 2018-08-14 15:50:26 -07:00
simulator.h Add new FDB EncryptKeyProxy role 2022-01-25 17:38:27 -08:00