Commit Graph

71 Commits

Author SHA1 Message Date
Sebastian Messmer
535bfc1634 TODOs 2015-05-06 16:16:18 +02:00
Sebastian Messmer
fdcd56401a Added specific test cases for EncryptedBlockStore 2015-05-06 00:37:57 +02:00
Sebastian Messmer
0042ae1cef - Run test cases for EncryptedBlockStore with different ciphers
- Implement FakeAuthenticatedCipher for use with specific EncryptedBlockStoreTest
- Write skeleton for specific EncryptedBlockStoreTest
- Fix behavior of AES256_CFB when called with too small input
- Add testcase that all ciphers (also non-authenticating ones) have to handle too small input correctly
2015-05-06 00:12:14 +02:00
Sebastian Messmer
5802040d78 Removed unused exception class 2015-04-28 13:19:44 +02:00
Sebastian Messmer
d589910b0d TODOs 2015-04-27 23:10:30 +02:00
Sebastian Messmer
1ff807e09c Make Cache a generic over Key/Value. Furthermore, add test skeleton for Cache 2015-04-27 22:46:57 +02:00
Sebastian Messmer
f286886b49 Handle QueueMap::push(existing_key) better and write more test cases for QueueMap 2015-04-27 22:11:15 +02:00
Sebastian Messmer
2110831374 Make constructors explicit where adequate 2015-04-27 18:20:51 +02:00
Sebastian Messmer
58f43f6929 Remove unneeded field in cache entry 2015-04-27 18:20:44 +02:00
Sebastian Messmer
bf77e0ffa7 Small fix in AES256_GCM 2015-04-27 17:58:34 +02:00
Sebastian Messmer
bc33f69877 TODOs 2015-04-27 10:47:33 +02:00
Sebastian Messmer
6f1c39fd21 QueueMap: Added more test cases and improved interface 2015-04-27 10:35:01 +02:00
Sebastian Messmer
e177c6f45c Switch to a QueueMap implementation with less indirections (directly store elements instead of pointers) 2015-04-27 01:22:39 +02:00
Sebastian Messmer
b60b119985 Fix iostream use 2015-04-26 22:20:04 +02:00
Sebastian Messmer
5f83c133b0 Added error messages when block decryption fails 2015-04-26 16:45:00 +02:00
Sebastian Messmer
09bc28e810 EncryptedBlock stores its block key in the block, so that an attacker can't replace block contents with a different block 2015-04-26 16:36:48 +02:00
Sebastian Messmer
1f14598d25 Added Test Cases for PeriodicTask 2015-04-26 12:36:19 +02:00
Sebastian Messmer
59bfddc18f Moved Data, FixedSizeData and DataBlockFixture to cpp-utils 2015-04-25 02:48:41 +02:00
Sebastian Messmer
e056a65b48 - Added test cases for authenticated ciphers
- Fixed corner case for AES256_GCM when decrypt is called on data that can't hold IV and TAG
2015-04-24 23:58:24 +02:00
Sebastian Messmer
0335b243fb Implemented AES256_GCM 2015-04-24 23:02:14 +02:00
Sebastian Messmer
6e28af3105 TODOs 2015-04-24 21:33:45 +02:00
Sebastian Messmer
008c6f7ab7 Add Cipher concept 2015-04-24 21:30:54 +02:00
Sebastian Messmer
5adcf4aca1 Allow decryption interface to fail (needed for authenticated ciphers later) 2015-04-24 21:08:36 +02:00
Sebastian Messmer
f18195757c - Added test cases for ciphers
- Removed Cipher.h
2015-04-24 18:58:42 +02:00
Sebastian Messmer
6e50c9d8a5 Factor out encryption algorithm from EncryptedBlockStore 2015-04-24 18:14:25 +02:00
Sebastian Messmer
03597b9474 Code formatting & TODOs 2015-04-24 13:42:37 +02:00
Sebastian Meßmer
90c7bad8d6 Removed debug output 2015-04-18 16:59:44 +02:00
Sebastian Meßmer
c1551121c8 Cache-Entries are purged after a max lifetime 2015-04-18 16:50:19 +02:00
Sebastian Meßmer
c18893c151 Don't encrypt and re-decrypt when creating a block, but keep plaintext data 2015-04-18 15:10:42 +02:00
Sebastian Meßmer
417a701636 - BlockStore::create() gets the data of the new block as a parameter
- Fixed numBlocks() in OnDiskBlockStore, FakeBlockStore, CachingBlockStore, ...
- CachingBlockStore caches created blocks and doesn't directly create them in the underlying blockstore
2015-04-18 14:47:12 +02:00
Sebastian Messmer
c7eab5c504 Removed unused function 2015-04-17 13:20:16 +02:00
Sebastian Messmer
75253c74ea Key is not default constructible anymore 2015-04-17 12:59:40 +02:00
Sebastian Messmer
4a5416dbec Use unordered_map instead of map for cache 2015-04-17 12:56:21 +02:00
Sebastian Messmer
b41853cd00 Fix renaming 2015-04-16 15:01:59 +02:00
Sebastian Messmer
a555985b2c Adapt to renaming of CachingStore -> ParallelAccessStore 2015-04-16 14:54:04 +02:00
Sebastian Messmer
9fa6b041eb Renamed old Caching2BlockStore to new CachingBlockStore 2015-04-16 14:10:44 +02:00
Sebastian Messmer
248fd0f5cc Renamed old CachingBlockStore to ParallelAccessBlockStore 2015-04-16 13:59:52 +02:00
Sebastian Messmer
6413123838 TODOs 2015-04-15 21:46:15 +02:00
Sebastian Messmer
fdc14cc66c TODOs 2015-04-15 20:43:21 +02:00
Sebastian Messmer
b185729113 Caching blocks works 2015-04-15 20:39:58 +02:00
Sebastian Messmer
332f6901ef New caching store is working, but not timeout-flushing yet 2015-04-15 19:05:58 +02:00
Sebastian Messmer
72f952b57c Added dummy implementation for new caching block store 2015-04-15 15:46:35 +02:00
Sebastian Messmer
cc30dcde10 Fix FakeBlockStore 2015-04-15 14:51:41 +02:00
Sebastian Messmer
afce75b461 Speed up ondisk blockstore by not storing a created block first 2015-04-10 21:51:25 +02:00
Sebastian Messmer
495e458c25 TODOs 2015-04-10 00:57:10 +02:00
Sebastian Messmer
c5d28d19d6 Don't flush when deleting cached block 2015-04-09 23:28:30 +02:00
Sebastian Messmer
3cbc851c19 Implemented encryption 2015-04-09 22:11:40 +02:00
Sebastian Messmer
e210b5b601 EncryptedBlock stores an IV 2015-04-09 21:17:28 +02:00
Sebastian Messmer
711283a89b EncryptedBlockStore handles encryption keys 2015-04-09 20:14:12 +02:00
Sebastian Messmer
990ca6ca26 Generalized Key to FixedSizeData 2015-04-09 20:07:03 +02:00