3 people need to share some data through cloud. The total amount of data is small (<5gb in total). The update rate is very low, 1 per month. The cloud has very limited security measures so we consider all the files stored in it are public exposed.
Then we would like to encrypt the files or an small disk image (6-8gb). There are 3 options:
- We can encrypted hundreds files by 3 public keys.
- We can put files in a ext4 or btrfs image then encrypt it with 3 public keys.
- We can use luks2 image with detached header. Everyone can hold a copy of the header and a pwd to a slot. The header and keys are distributed offline.
Let's assume the users' local systems are bulletproof.
Personally I would say 1st is more robust because it is unlikely all files are corrupted at the same time.
However, here I do not want to discuss the robustness or convince. We do not care if the decryption and encryption can be slower. I would like to know which one is the most difficult one to defeat.
I often saw people were trying to use GPU to crack the luks partition since it is using some master key to encrypt bloks and the info stored in the first sector can help it even if one choose detached header. I do not know how hard it can be if one can use lots of GPUs to crack it. Can they normally crack it in months or in years? Luks in general is ok for disk encryption because once the disk is stolen we can respond to it: start to change credentials to invalid as much as possible the information contained in the disk as an example. But for a cloud stored image we do not know when to react.
Can gpg encryption be harder to crack with GPU? Does it make difference if there are multiple files or just a single image? If someone cracked a single file or obtained clear text of one file, does it mean they can crack other files easier encrypt by the same gpg key? I think it should not be the case. But I can be wrong. In general I think luks made lots of compromise to speed it up, so encrypting files by gpg will be stronger. But to what extent?