Commit Graph

24 Commits

Author SHA1 Message Date
Sebastian Messmer
5c9cc509d7 Make classes final if they're not meant to be derived from 2015-11-27 14:06:40 +01:00
Sebastian Messmer
22a3c90d54 Moved ciphers to cpputils 2015-10-27 23:27:40 +01:00
Sebastian Meßmer
a4ce9f1c97 Fix warnings from -Weffc++ 2015-10-17 21:10:26 +02:00
Sebastian Meßmer
e9470ffb78 Logging instead of stderr 2015-10-17 17:50:30 +02:00
Sebastian Meßmer
821550e62f Unify (and fix) include guards 2015-10-15 13:09:21 +02:00
Sebastian Messmer
810c2c5b48 Added some locks against race conditions 2015-10-05 18:54:16 +02:00
Sebastian Messmer
52bb855627 EncryptedBlockStore crashed when a modified block was removed. Fixed crash and added test case. 2015-09-29 18:51:59 +02:00
Sebastian Messmer
fd93e4c199 Use the new assert that doesn't crash the program in a release build 2015-07-22 13:42:07 +02:00
Sebastian Messmer
7c407c4b69 Switched whole blockstore interface to unique_ref instead of unique_ptr 2015-07-21 14:50:52 +02:00
Sebastian Messmer
a945e4f0fc Changed Blockstore::tryCreate() to return optional<unique_ref<Block>> instead of unique_ptr<Block> 2015-07-20 18:57:48 +02:00
Sebastian Messmer
535bfc1634 TODOs 2015-05-06 16:16:18 +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
59bfddc18f Moved Data, FixedSizeData and DataBlockFixture to cpp-utils 2015-04-25 02:48:41 +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 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
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
86f8ca6dc4 Dummy implementation for EncryptedBlockStore 2015-04-09 19:22:09 +02:00