Reputation
4,885
Top tag
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
1 13 36
Newest
 Enlightened
Impact
~147k people reached

May
1
comment Where is the mistake in my RSA by-hand calculation?
For your second question about Python crashing, please see crypto.stackexchange.com/questions/13235/…
May
1
comment Where is the mistake in my RSA by-hand calculation?
Your $d$ is wrong, it doesn't satisfy $ed \equiv 1 \pmod{\mathrm{lcm}(p - 1, q - 1)}$. In fact it doesn't even satisfy the weaker (but sufficient) condition $ed \equiv 1 \pmod{\varphi(n)}$. A working $d$ for $e = 17$ is 4235309647073. What calculator did you use?
Apr
29
comment Is it possible to combine two hash functions in such a way that cracking the constructed hash would require cracking the constituent hashes?
What about C(password) = A(B(password) || password) where || is concatenation? I don't have time to prove it now but it appears to work around the issue you found with just composing the two hash functions.
Apr
28
comment To what extent is WhatsApp's statement on secure messaging realistic?
Agreed. If they did it honestly and correctly then end-to-end security is achievable, however they may be faking it with man-in-the-middle eavesdropping. This would be slightly foolish in that an independent team could check whether the public keys of two contacts match up (however the data may be obfuscated to make it hard to find out) but it would also be very naive to expect Whatsapp to not be data-mining all user-generated content. Also, even if the contents are encrypted, the metadata isn't and still carries significant information about you and your contacts; don't lose sight of that.
Apr
2
comment Are there any crypography schemes which rely on Graph Isomorphism not being in P?
@BrentKirkpatrick You may want to read cstheory.stackexchange.com/questions/32237/… before putting faith in random papers on the internet :)
Mar
11
comment Implementing RSA with small integers in CUDA
128 bits is still not enough, so this doesn't really tell you anything.
Mar
11
comment Implementing RSA with small integers in CUDA
Crypto libraries are usually written in C, which also only has at most 64-bit native integers... how do they do it? Why not read the source of openssl or nacl to find out?
Mar
8
comment Is this method of encryption theoretically unbreakable?
@JPresperEckert Usually a CSPRNG means a deterministic algorithm that takes a small cryptographically secure seed as an input and returns a stream of pseudorandom bits. Are you saying your "CSPRNG" has no seed but returns truly random bits through atmospheric noise or whatever?
Feb
21
comment Are checksums essentially non-secure versions of cryptographic hashes?
@ArtjomB. A cryptographic hash truncated to 32 bits can easily collide with two inputs that differ in only one or two bits, whereas a CRC won't. The CRC is geared towards reliably detecting error patterns that commonly occur in transit, so it will do better on those kinds of errors and worse on others. The short hash does optimally over all inputs, and as a result does worse than CRC on the inputs CRC is good at dealing with.
Feb
7
comment Does key renewal increase complexity of MAC forgery?
Thanks for the answer! So assuming the MAC is not broken, are (1) and (2) the only possible best attacks, depending on whether or not the tag is shorter than the key?
Jan
11
comment Is finding collisions in a part-hash not often enough a bad problem?
It's not possible to get collisions "less often than expected" because I'm pretty sure this bound is the tightest possible over all probability distributions (being lowest for a uniform distribution). Either you are miscalculating the bound, or generating your values wrong, your results cannot be correct.
Dec
10
comment Can homomorphic decryption of DES be practical?
@MaartenBodewes The algorithm doesn't need to be encrypted, but it does need to be realized as a homomorphic circuit...
Nov
14
comment Does complicating a flawed algorithm make it secure?
The answer is trivially "yes" since every secure encryption algorithm can be viewed as "added complexity" on top of the flawed identity cipher (which encrypts all plaintext to itself). But that is probably not the answer you wanted.. you need to be an expert to work out how to complicate it in a way that adds security.
Nov
9
comment What is the difference between “securely realizes” and “securely implements”?
You can also say "X is realized by Y" if that is less awkward to you. Ultimately it just means "to make real, concrete".
Oct
30
comment How is bitslicing faster?
@IlmariKaronen Fair enough, after reading your comments and the new answers I now agree it's sufficiently on-topic
Oct
29
comment How is bitslicing faster?
Is this really on-topic on Crypto SE?
Oct
25
comment I read ECB is bad because the same plaintext outputs the same ciphertext. Isn't that a requirement of a cipher?
I think a good addition to this answer would be to add a paragraph about how it's possible for a cipher to encrypt non-deterministically. The word "initialization vector" is referred to once and never explained.
Oct
21
comment Is there an existing cryptography algorithm / method that both encrypts AND compresses text?
The statement is correct, just somewhat awkwardly phrased. It is obvious that you cannot compress every single $n$-bit string into less than $n$ bits. You can compress some of them by exploiting redundancy (like repeated patterns of bits and so on), but others with less structure have to become larger after compression, at least by a single bit, to compensate, because information theory. So on average (and hence to guarantee correctness in all cases) the output must be as large as the input, or you will eventually truncate some input that didn't compress well (like, say, random bits).
Oct
9
comment Is there a cryptographic protocol that let's me prove someone has a large binary?
I don't have a full answer but I feel like a Merkle tree could probably tackle this kind of problem, maybe as part of some randomized protocol. Maybe someone else is more familiar with this.
Oct
7
comment Is it safe to initialize secret keys by just reading /dev/random on Linux?
@UnixJunkie The zero byte is a value just like any other, don't count on being able to store uniformly random data in null-terminated strings ;)