The VeraCrypt FAQ addresses your concern: https://www.veracrypt.fr/en/FAQ.html
Direct link to audit: https://blog.quarkslab.com/security-assessment-of-veracrypt-...
On Linux, I use age[1] (specifically, rage[2]) to encrypt sensitive files. I wrote a secret manager that uses the latter as an encryption backend[3], and I use `rage-mount` to mount (read-only) views of encrypted archives.
[1]: https://github.com/FiloSottile/age
Depends what you want to encrypt.
On Linux, there's LUKS as mentioned already.
You can have an encrypted folder, put it on Google Drive and then decrypt it from any of your devices. Even iOS will support it natively once you do the setup with the Cryptomator app.
Meanwhile, I've realised that my scanned receipts should also be encrypted, so I'll probably use a similar sync-between-encrypted-virtual-disks process with them. Unfortunately my first virtual disk is too small and I haven't yet checked how easy it will be to expand.
I'm mostly Windows, so I only really have to solve for that. Fortunately, Keepass is cross-platform (even works on my Pine Phone, along with Syncthing - same for my Android tablet, but my iPhone is trickier), so if I want to expand this to my Linux or Mac laptops it's not hard.
I was trying to solve saving authenticator seeds (which is something I regred not doing up to this point) securely outside of my main password manager. That was using an obscure archiver with a password protection option. This turned out to be way to clumsy to be practical. For small stuff like that, It's going in the password manager database for now.
For personal stuff, I can't do much about sophisticated attackers, pretty much only about random physical thieves who mostly just want the hardware.
Most likely scenario involving encryption: a laptop is lost/stolen, and some random thief/fence/buyer snoops around the drive to see if there's anything worth stealing. There isn't, but I'd feel violated to have some thief sifting through my personal stuff.
So, on laptops, I just use Linux LUKS.
On my custom Coreboot laptops, I have even the boot partition encrypted for LUKS, which seemed like a good idea at the time (I was peeved about Intel ME, and on a roll), but it's overkill for the random laptop thief threat. It also means I can't just move the drive to a system that doesn't have Coreboot with that feature set up.
Also, in general, try not to deny yourself access to your own data when you need it, in the process of denying it to others.
On Windows I just use the built-in Bitlocker encryption.
It is a bit annoying understanding what this means between Windows Home and Pro editions though.
On Home, it's not technically 'Bitlocker' - it's Device Encryption - hit Windows key & type 'device encryption' - if you see 'Device Encryption Settings', you should have it available. If you do not, it's probably not available on your device e.g. maybe you don't have a TPM, although I've had Windows machines that showed it as not available but then I was able to get it running with a bit of messing around and registry hacking.
It is still Bitlocker under the hood, but it's missing some features. You can get some of them by logging into your machine with a Microsoft account, but if you're running a local account (like I am) you get a more budget experience (e.g. I don't think there's an easy way to get the Bitlocker encryption key or have it backed up online).
If you only want to run local accounts, the easier and probably safer solution is to shell out for Windows Pro and take advantage of the full Bitlocker experience.
Especially convenient when you need to transmit the file over some untrusted medium like email, or if you just want to dump it in some cloud storage service and not worry about potential snooping.
Full-disk encryption from your OS vendor (FileVault, LUKS, whatever windows does) will accelerate this process.
I use keepassxc to keep all my sensitive information and syncthing to keep it synchronised between all my devices. Having it across all my devices is super handy and provides redundancy.
On my home nas, I'm still using GELI-encrypted zfs/zpools. I need to migrate it to a new zfs native encryption.
All of my backups get encrypted by restic before being uploaded.
For one-off files or things I want to share encrypted with someone, I'd use gpg.
What is the attack surface you're trying to hedge against? Are you afraid of someone gaining physical access to the device and ripping out the hard drive?
So basically I use the default encryption. When I need to move stuff from one computer to another I encrypt the files individually with GPG (using openPGP keys on smartcard or yubikey)
For individual files I would just use WinZip AES encryption which is very portable and atomic (so bit rot only impacts that single file no the fs).
FreeBSD, Linux, macOS, Windows: VeraCrypt -> (whatever)
FreeBSD: geli
Linux: XFS -> LVM2 -> LUKSv2 (dm-crypt +? dm-integrity) -> dm-raid (RAID 10) -> (lots of spinning rust)
macOS: FileVault 2
Windows: BitLocker
I would always be hesitant to disclose what type of crypto you are using, unless I guess you have nothing important. I think veracrypt, 7zip, openssl are good. Probably anything that has been recently audited. Just make sure you are offline when decrypting or encrypting or else it may defeat the purpose.
It uses envelope encryption with one-time password (OTP) authentication. I like to store data on the systems I own and just run backups regularly.