Horcrux: Split your file into encrypted fragments
91–100 of 153 posts
Re: Horcrux: Split your file into encrypted fragments
#92Earlier quoted context omitted.
What about using it to share information with people for them to use in an emergency. Data is stored in multiple locations, but only someone with access to 3 of them would be able to read the data. The existing physical access controls would be the actual safety mechanism. A thief would have to break into 3 locations in order to get the data. We could just encrypt the data and then split the password into three piece…
Step 1 : Create a compressed (must not 'store') archive split into small-ish sections of size N/K. Step 2 : Run par2 against the archive sections and create as much parity as possible. Step 3 : Distribute any middle (not the start of the archive, and not the incomplete end piece) segments of the archive and a 'correct' number of parity / recovery packets. If a complete count of the archive and parity pieces are broug…
Re: Horcrux: Split your file into encrypted fragments
#93Re: Horcrux: Split your file into encrypted fragments
#94Re: Horcrux: Split your file into encrypted fragments
#95Earlier quoted context omitted.
That wiki went over my (fairly) technical head. Care to ELI5?
My blind stab at it is this encryption always produces an output that's not validated to be what was originally encrypted and it does so in a way you could even intentionally damage a specific portion of the data without needing to know how to decrypt it. Curious to see how wrong I am :).
To give a simplified example (which doesn't match what this program does but is useful to demonstrate), ECB is the simplest mode (which really shouldn't be used for anything). Your input is split into fixed-length blocks (16 bytes for AES) and each block is encrypted separately, producing a deterministic ciphertext for each block. (e.g. a block of all "A" will always encrypt to the same thing).
So if an attacker is able to figure out what plaintext a block of encrypted data corresponds to, they could use that knowledge to build a "fake" encrypted message. They could also remove blocks from a message, or shuffle them around.
If you're interested in playing around more practically with this kind of thing, I highly recommend the https://cryptopals.com/ challenge sets.
Re: Horcrux: Split your file into encrypted fragments
#96Does anyone know of a tool like this that’s maintained? I actually would like to use this for a fairly out there use case but it hasn’t been updated in 3 years and it doesn’t look like the author has even been active on GitHub since that time.
There are many implementations of Shamir Secret Sharing out there, but they're all idiosyncratic and impossible to vet unless you have a background in cryptographic security, and like you said nearly all are not actively maintained.
The types of things you would go to the trouble of Shamir Secret Sharing, are also the types of things that might surface decades later (e.g. crypto keys). Imagine going on a treasure hunt to retrieve 2 shards, and then needing to go on an additional internet archaeological hunt for the specific GitHub repository used to generate the shards.
Unless someone solves this issue, I can't see Shamir Secret Sharing becoming any more mainstream.
Re: Horcrux: Split your file into encrypted fragments
#97Earlier quoted context omitted.
That wiki went over my (fairly) technical head. Care to ELI5?
My blind stab at it is this encryption always produces an output that's not validated to be what was originally encrypted and it does so in a way you could even intentionally damage a specific portion of the data without needing to know how to decrypt it. Curious to see how wrong I am :).
A cipher with a MAC or authentication (like an AEAD) will return “TRUE” and the data that was definitely decrypted properly. A normal cipher just returns data and it has no idea if it was decrypted correctly, so if you decrypt ABC and it should be XYZ, the wrong key will still “work” but the data will be X@9 which means nothing to you.
Normally, you would validate your data after encryption. Like using something “Here is my result, and it has to start with the ascii characters of a valid date.” An authenticated cipher allows you to not care or have to know anything about the data at all, they’re nice. With the downside that you also need to supply the MAC or TAG or SIG along with the data package.
Re: Horcrux: Split your file into encrypted fragments
#98Re: Horcrux: Split your file into encrypted fragments
#99Caution, this tool uses AES in OFB mode[0] to encrypt/decrypt the file, without any guarantee of the ciphertext integrity(no MAC). [0]: https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation...
That wiki went over my (fairly) technical head. Care to ELI5?
To decrypt, the same keystream is XOR'd with the ciphertext to produce the plaintext.
If there is no integrity on the ciphertext, you can simply start flipping bits in the ciphertext, and arbitrarily change what the resulting XOR with the keystream will be.