3 ms·
> I'm telling you, I could invent an obscure security scheme that NSA couldn't crack in a million years because they wouldn't even know where to start. Oh, boy
by ohazi 6y ago
> I'm telling you, I could invent an obscure security scheme that NSA couldn't crack in a million years because they wouldn't even know where to start.
Oh, boy.
First of all, you didn't. You invented a broken scheme, and then when I pointed this out, you invented a new one without stopping to think about why your first scheme was broken, or why you didn't catch your mistake the first time.
> easy to remember, impossible to crack (unless you know the secret formula, which you won't)
That's not at all how this works.
You're assuming that your "secret formula" automatically provides an arbitrary amount of secrecy. It doesn't. Every operation that you choose to apply can provide a certain number of equivalent bits of secrecy (it's fewer bits than you think), or, if chosen poorly, can completely wipe away any secrecy you've built up thus far.
Unless you can provide a proof that your method is sound, it isn't. Based on comments you've made elsewhere, I have next to zero confidence in your ability to build a construct like this correctly, save for sheer dumb luck. All you've done is inform everybody here that you've not a cryptographer.
> However, all this is moot if the border police demand a key upon seeing encrypted files. So actually I think the best approach is to hide the (encrypted) private key as innocuous words in emails.
The whole point of this discussion was to point out that you can hide strongly encrypted ciphertext using weak steganographic techniques so that the police aren't going to see encrypted files, and aren't likely to suspect a hidden message.
The point of using strong cryptography is so that even if they do manage to suspect a hidden message:
1) You're not making their job needlessly easy by also giving them the key by mistakenly thinking that you can hide it effectively. You can't.
2) You can get a strong key out of a passphrase that you can easily memorize, so hiding the key isn't even necessary in the first place.
> And when the border police see encrypted files and demand the key so they can examine further?
They're not going to see encrypted files.
Hide ONLY the ciphertext. Memorize the key.
It's simpler, provides more bits of secrecy, and is easier to validate than some harebrained secret-chained-hash scheme.
- umvi 6y ago> You're assuming that your "secret formula" automatically provides an arbitrary amount of secrecy. It doesn't I disagree. My assumption is that sha256 digests are uniformly random. Thus, xor-ing a sha256 digest with something of the same length is equivalent to a one time pad, which is uncrackable. And since I'm only crossing the border once, it works perfectly. Now, I only need to hide the ciphertext and protect the input to the sha256 digest, which I do by selecting an algorithm with sufficient entropy that it will never be guessed. > Unless you can provide a proof that your method is sound, it isn't. My method is sound because it's a one time pad[0] which is sound. > It's simpler, provides more bits of secrecy, and is easier to validate than some harebrained secret-chained-hash scheme. I disagree that it is simpler. I know how to xor two things together. Downloading openssl CLI or kali linux or whatever I need to do it "the right way" would take hours of research to make sure I got it right. I know I can get xor right. Don't let perfect be the enemy of good. If this is a one time border crossing... why invest countless hours researching the perfect solution when hiding the key in the words of email using something like black magic[1] works just as well, stays just as hidden, and doesn't break if your country decides to implement stenography purging techniques on files (zeroing out padding bits/metadata on common formats used for steganography). [0] https://en.wikipedia.org/wiki/One-time_pad https://en.wikipedia.org/wiki/One-time_pad [1] https://www.wikihow.com/Play-Black-Magic https://www.wikihow.com/Play-Black-Magic
- ohazi 6y agoAre you aware that the "my homebrew crypto system is functionally equivalent to a one-time pad, and is therefore perfect" argument is so overused by cranks that it's considered a cliche among actual cryptographers? [1] https://twitter.com/mattblaze/status/580823914340880384 https://twitter.com/mattblaze/status/580823914340880384 [2] https://www.schneier.com/crypto-gram/archives/1999/0215.html#snakeoil https://www.schneier.com/crypto-gram/archives/1999/0215.html... (#6) [3] https://freedom-to-tinker.com/2015/03/25/be-wary-of-one-time-pads-and-other-crypto-unicorns/ https://freedom-to-tinker.com/2015/03/25/be-wary-of-one-time... [4] http://maldr0id.blogspot.com/2015/05/crystalline-cipher-and-cryptography.html http://maldr0id.blogspot.com/2015/05/crystalline-cipher-and-... I don't even know how to respond anymore. You must be trolling. Key-stretching algorithms are better than your chain-of-hashes because each iteration of a key-stretcher is deliberately CPU and memory intensive, whereas hashes are designed to be fast and efficient. So whatever clever scheme you think you've come up with to turn a single letter into an adequate key using secret combinations of chained hashes -- congratulations... you're doing what a key-stretcher does, but badly, because your scheme is much easier to brute-force. Look, there are a lot of really subtle things that you need to be aware of when designing cryptosystems that even professional cryptographers get wrong sometimes, and exploiting these mistakes in a way that results in a complete break is way easier and more common than most people think. This is why "Don't roll your own crypto" is considered a best practice. Not because it isn't possible to come up with a simpler scheme. But because DIY secrecy is a siren song, and most people who are tempted by it are clever enough to come up with something that looks like it works, but not clever enough to know how to verify it properly. Your goal shouldn't be simplicity, or trying to map an algorithm to a one-time pad. Your goal should be to use the standard tools in a way that professional cryptographers think is least likely to be subtly broken.
- umvi 6y ago> So whatever clever scheme you think you've come up with to turn a single letter into an adequate key using secret combinations of chained hashes -- congratulations... you're doing what a key-stretcher does, but badly, because your scheme is much easier to brute-force. Did it get my money across the border without requiring me to get me a master's degree in cyber security? Probably. Will I have to do this smuggling thing a bunch of times? No. Your attitude is like lambasting someone who writes a quick and dirty python script that gets the job done because it's full of vulnerabilities and wasn't written perfectly in Rust and doesn't scale to 10 million connections. So what. If I had millions of dollars I was smuggling over the border maybe I'd spend hundreds of hours making sure I got the security perfect using industry standards. Otherwise, I think just avoiding being the low hanging fruit is "good enough." And yeah, even "crank crypto" is good enough most of the time. You think someone like NSA would spend any significant amount of time/resources trying to crack through imperfect crypto schemes to get at the paltry payouts of individual fortunes?