Reputation
2,981
Top tag
Next privilege 3,500 Rep.
Protect questions
Badges
5 26
Impact
~56k people reached

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
26
reviewed Reviewed Can machine learning analyze random number generator?
Mar
26
reviewed No Action Needed RSA: If I know n, e, p, and q, how do I calculate d using the extended euclidean algorithm?
Mar
26
reviewed No Action Needed Is Encryption without knowing the input directly possible at all?
Mar
26
reviewed Leave Open Key length requirement in a simple XOR implementation
Mar
26
reviewed Close NTRU Encryption
Mar
26
reviewed Leave Open What is this cryptosystem called?
Mar
26
reviewed Leave Open RSA: If I know n, e, p, and q, how do I calculate d using the extended euclidean algorithm?
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.
Mar
23
comment Should I remove these use cases of MD5/SHA1 from my program?
As a concrete example, your entire method for generating request entropy is bunk. Literally every value being used (besides a single static value) is attacker-controlled.
Mar
23
comment Should I remove these use cases of MD5/SHA1 from my program?
I'm downvoting this for the simple fact that you asked a question, got an answer you didn't like from a respected community member, and jumped to defend your original decisions. While libraries like OpenSSL have had vulnerabilities, anything you write yourself is infinitely more likely to contain more and worse ones. Triply so given the cryptographic voodoo in the code you've provided. I sincerely encourage you to heed tylo's advice and scrap your code entirely for something that has high-level APIs for accomplishing your particular security goals.
Mar
23
comment What is the best hash for HMAC?
BLAKE2b is faster than MD5 and SHA-1 on modern 64-bit systems and has a native keyed hashing mode that is a suitable equivalent for HMAC. That said, HMAC's security proof only requires the compression function to be a PRF. While MD5 is broken and SHA-1 is likely not far behind, none of their broken properties are relevant to HMAC. HMAC-MD5 and HMAC-SHA1 are still unbroken (albeit distasteful).