Reputation
2,991
Top tag
Next privilege 3,500 Rep.
Protect questions
Badges
6 27
Newest
 Informed
Impact
~57k people reached

2d
comment Optimisation of AES using JIT and table look ups
Googling "AES lookup table" gives an extremely relevant Wikipedia article and another extremely relevant Stack Overflow question as the first and second result, respectively.
2d
comment Optimisation of AES using JIT and table look ups
You should consider reading How do I ask a good question?. Specifically, there seems to be no indication that you have attempted to do any research on this question, or even that you necessarily understand the question that you're asking. This appears to be a homework question, which isn't against the rules of the site, but there should be some attempt by the asker to be an active participant in the process and not simply copying/pasting for a quick answer.
May
1
comment Block cipher does not provide security by itself
Put succinctly by Bruce Schneier, cryptography is not magic dust you can sprinkle on your software to confer the property of "security".
May
1
comment PGP digital signature vs SHA256 HMAC Comparison
To be honest, regardless of which one you choose, it will likely be the strongest component of your security architecture. If it were considered feasible to recover the key or plaintext in either solution, it would be treated as a complete break of the system. The decision between symmetric/asymmetric crypto should be based upon the types of attack you want to defend against, not based on which is "stronger" by some benchmark.
May
1
comment Alice and Bob's crush
That approach does. Other similar approaches don't necessarily have to.
May
1
comment Alice and Bob's crush
I suspect, actually, you could achieve some uncertainty in the yes/no case if you tolerated a 50% chance that the protocol outputs "no" even in the event of a mutual crush. Consider the case where you included a random coin flip, and required that all three results be "yes". In the event that one party says "yes" and the other says "no", for the party who said yes, there's now only a 66% chance that the other party said no (instead of 100%, as in the original problem).
Apr
30
comment Why aren't zero-knowledge proofs used for authentication in practice?
How do you change a password later? What happens when the password requirements of a site conflict with the way you generate your passwords? Now you have to store information to regenerate the password correctly. And go through several time-consuming steps to actually log in. Or, you could just generate completely random throwaway passwords in a password manager and log in anywhere with essentially a single button press.
Apr
30
comment Why aren't zero-knowledge proofs used for authentication in practice?
Just use a password manager like LastPass, KeePass, or 1Password. You can synchronize the encrypted vault between laptops, phones, or whatever. Many have browser plugins that will automagically log you into websites at the push of a button.
Apr
30
comment Why aren't zero-knowledge proofs used for authentication in practice?
Don't reuse a password if you think there's a possibility any server that sees it might be compromised. Which boils down to, don't reuse a password.
Apr
28
comment Looking for encryption algorithm not subject to known-plaintext attack with IV reuse
Based on your clarification about disk writes, it sounds like you're trying to reinvent disk encryption. Why not use a preexisting mode purpose-built for this use-case, such as XTS?
Apr
13
comment What are the difference between cryptographic primitives and encryption primitives?
Diffusion and confusion are properties of implementations of ciphers such as AES. A "primitive" is a low-level algorithm (such as a hash function or cipher) used as a building-block for higher-level operations (such as the HMAC construct). Often, these constructs themselves are considered primitives for even higher-level constructs.
Apr
9
comment Salsa20-GCM composition secure?
Might as well use ChaCha20 these days over Salsa20.
Apr
8
comment Creating a random password based off of a prime number
I'm having trouble still understanding your use-case. Algorithms like AES require 128-bit or 256-bit byte buffers as keys. What cipher are you feeding this 512-bit integer into?
Apr
8
comment Creating a random password based off of a prime number
Generating cryptographically strong random numbers is not hard. And a base64-encoded 128-bit random symmetric key is only 44 characters long. What do you believe you gain by performing voodoo with prime numbers?
Apr
7
comment Why would an Initialization Vector be supplied externally?
Another simple likelihood is that there are many cases where you need to perform encryption with a specific IV that's determined by part of the protocol, and can't be random. So an encryption appliance would need to provide APIs to support these types of use.
Apr
7
comment What is the probability of breaking the AES algorithm?
You should be orders of magnitude more worried about security being compromised through a flaw in whatever software you're writing, than in it happening through AES being broken.
Apr
3
comment Solve a problem, thought it was hash length extension, hours later, am I wrong?
Yes, you need to include the padding. This is often not as big a hurdle as you might think. That said, just use an HMAC which is designed for this sort of thing.
Apr
2
comment Are there any valid, and person readable, checksums possible?
You are conflating your requirements. Readability can be handled by an encoding of arbitrary data, e.g., Bubble Babble.
Mar
27
comment The effect of truncated hash on entropy
@fgrieu That doesn't make sense to me. If there is marginally less entropy in the 128-bit truncated hash than in the full 256-bit output, then it should follow that there is as much entropy in the half that was discarded. But that sums to much more than the original entropy that went in.
Mar
25
comment Are modes of operation algorithms practical?
Furthermore, there is no need for you to re-blaze well-trodden ground. In general, unless you have specific requirements that they don't solve, you should use GPG for data at rest, TLS for data in motion. If you are typing the letters A-E-S into your code, you're doing it wrong.