Top tag
Next privilege 500 Rep.
Access review queues
2 10
~5k people reached

comment What challenge should I use in a challenge-response proof-of-work?
I should have made that clearer: when I say "stateless" I mean in the same way that HTTP is stateless. On your point about PRNGs: I'm using /dev/urandom, which doesn't bog down (I never knew, thanks!) but loses entropy after a while. That would't be a problem, but I have to use it again shortly after the proof-of-work, to generate keys. Now my thinking is that an attacker could reduce the security of those keys by firstly draining the entropy of /dev/urandom. Would that be a valid concern?
comment Cipher for Product Registration?
If you're going to send binary data to the user, it makes sense to encode it in something other than hexadecimal. Take a look at Crockford's Base32, which avoids characters that can be confused easily.
comment Where can I get information on how to implement AES?
My python implementation of AES is supposed to be very easy to read, and it's got a good few comments. For what it's worth, it might help you or someone else implementing aes: A tip: read this code together with the wikipedia articles on AES. Most of the maths turns out to be really straightforward.
comment Is there a hash function with 2048bit output?
While this isn't a hash function at all, PBKDF2 should do what you need. It also gives you the ability to control how much time to spend on generating keys, thereby making it harder to brute force the key.
comment How much would it cost in U.S. dollars to brute force a 256 bit key in a year?
@Joren Good question! :) Some attacks compromise a certain number of rounds of AES with some complexity. For instance, a 2009 attack by Biryukov et. al. compromises 9 rounds of AES with a complexity of 2^39 (as opposed to 2^256 for brute force). It stands to reason that using a 256 bit key rather than a 128 bit key is the easiest way to increase the number of rounds from 10 to 14, i.e. without changing the AES spec. On a side note, Bruce Schneier has previously commented that if ever AES is broken too badly, we merely need to increase the number of rounds to fix it.