Reputation
Next tag badge:
97/100 score
18/20 answers
Badges
1 25 57
Newest
 Informed
Impact
~188k people reached

Feb
18
comment RSA vs El Gamal digital signature. Which is more secure?
I don't see how that's a duplicate. This question is about RSA and ElGamal signatures, the other question about RSA and ElGamal encryption.
Feb
18
comment Proof of work for standard computers
@D.W. 1) Scrypt with sufficient memory (say 1GB) use isn't cheap to verify. Scrypt is pretty much the baseline against which to compare a better scheme. 2) The only time lock puzzles I know are sequential, but don't need much memory. So you can solve many instances in parallel with many cheap cores.
Feb
17
comment IV/Nonce in CTR&GCM mode of operation
In scenarios where you want random IVs, you probably can afford a hashing operation per message, so you could derive a per-message key from a master key and a longer per-message random value.
Feb
17
comment GCM encryption for 256-bit and 512-bit block ciphers
@owlstead Security and block size are only loosely coupled. The main advantage of larger block sizes is that you get larger IVs, so you can safely use a random IV. I'd guess the main reason for using larger block sizes is that your cipher (say Threefish) happens to have larger blocks.
Feb
17
comment IV/Nonce in CTR&GCM mode of operation
GCM IVs are typically 96 bits, which is rather short for random generation.
Feb
17
comment Can a properly implemented ed25519 private key with public underlying data be cracked?
There are signature algorithms with either a strictly limited number of signatures (typical hash signatures) or which get weaker as more signatures are generated.
Feb
17
comment Block Ciphers and (Non-)Generic Attacks
A generic attack works against all block-ciphers with a given key and block size.
Feb
17
comment GCM encryption for 256-bit and 512-bit block ciphers
Why would you have to choose a larger field? AFAIK GCM only uses the underlying cipher as stream cipher, so the block size shouldn't matter at all (if it is at least the field size, for smaller blocks a bit of special handling might be required)
Feb
14
awarded  Enlightened
Feb
14
awarded  Nice Answer
Feb
12
comment Prime factorization of RSA modulus
$m^{e_1d_1-e_2d_2}=1$ mod $N$ follows from $m^0=1$ and $e_1d_1-e_2d_2=0 \mod \phi(N)$
Feb
12
comment Prime factorization of RSA modulus
Typically $e$ is the public key, not the private key.
Feb
12
revised Why do we use 1024 / 160 bit primes in DSA?
added 10 characters in body; edited tags; edited title
Feb
12
revised Why do we use 1024 / 160 bit primes in DSA?
added 2 characters in body
Feb
12
revised Safe and computationally efficient way to verify a curve25519 identity?
edited tags
Feb
12
comment Safe and computationally efficient way to verify a curve25519 identity?
You can't achieve meaningful security without at least applying a MAC to the data you send. Unless you have severe performance limitiations, I'd go with authenticated encryption, like the CurveCP protocol does. I recommend to implement CurveCP over TCP (you don't need the tricky flow control part, only the simple crypto part). It's not perfect, but still much better than what you're thinking of.
Feb
12
comment Safe and computationally efficient way to verify a curve25519 identity?
You should use an existing higher level protocol, like CurveCP. You're not ready yet to design your own protocol.
Feb
12
comment Safe and computationally efficient way to verify a curve25519 identity?
1) Authentication always needs to be bound to something. A message or an integrity protected channel. You cannot just authenticate. 2) Your scheme suffers from trivial forwarding attacks where an attacker impersonates the server to learn shared keys. 3) You need to apply some form of MAC, not the key itself. Else an attacker impersonating a server can learn arbitrary shared keys.
Feb
11
comment Current standard for hash function security parameter?
The output size for collision resistance should be twice the security level. So for a 128 bit level, use 256 bit hashes.
Feb
11
comment If its possible to derive the public key from a private key, why can't we go in reverse?
I used additive notation. If you prefer multiplicative notation you'd say it's hard to solve $A=G^a$ for $a$. This problem (with either notation) is the discrete logarithm problem, which is believed to be hard on (the commonly used) finite fields and elliptic curves). DLP is easy in some groups and hard in others. We use those where it's hard, because else this kind of crypto would be trivially broken.