- Deploy code to a CLIC VM
- If you haven't set up users and groups, you can run
make exec
. - Given you have users and groups set up, you can run automated tests
inside the projects.
- Tests for
objput
is inobjput_test.sh
, run./objput_test.sh
. - Tests for
objget
is inobjget_test.sh
, run./objget_test.sh
.
- Tests for
- There is also a video that demonstrates the result of the tests.
-
The decryption program is a bit FLAKY depending on the random IV chosen. If you see the following warning, please rerun the program..
[CRYPTO SUPPORT ERROR WARNING]: Decryption error detected..
Note that the decrypt algorithm will STILL provide incomplete decrypted text.
-
setuid
verifies if user has read permission before it decrypts the file. This is a supported feature from homework 2. If the user does not have permission to read the file, the program simply returns "Permission deinied", NO DECRPYTION will happen. -
All encryption keys are saved in
keys
directory. In theory the keys SHOULD BE HIDDEN from all regular users and ONLY ACCESSIBLE by root. However, due to time constraints, such feature is not supported. -
Some code is referenced from Code samples from EVP Symmetric Encryption and Decryption
-
The implementation uses the following:
- 128-bit MD5 key from passphrase,
- AES with 128-bit keys and CBC mode
- 16-byte initialization vector