11,799 reputation
11149
bio website vyznev.net
location Helsinki, Finland
age
visits member for 3 years
seen yesterday

I'm a PhD student in biomathematics, working on stochastic individual-based models of evolution in spatially structured populations. My other interests include cryptography, programming games and puzzles, photography and graphic design.

I started programming (in AmigaBASIC) when I was 10 years old. Nowadays, I'm most comfortable using Perl, C and JavaScript. I know Java and PHP too, but I can't really say I like them. I also know some Python, but not as much as I'd like.


CC-Zero Please consider any (original) code I post to Stack Overflow and other Stack Exchange sites to be released under CC-Zero unless stated otherwise. You may do whatever you want with it and don't have to credit me in any way, although of course that would be nice.


I'm the main author and maintainer of the Stack Overflow Unofficial Patch (SOUP), a user script for browsers with GreaseMonkey-compatible user script support (Firefox, Chrome, Opera, possibly Safari) that fixes or works around a number of outstanding issues with the Stack Exchange user interface.

I tend to answer a lot more questions than I ask. Some answers I'm rather proud of:


Jun
28
revised Condensed ElGamal + AES
make Wikipedia URL non-mobile (and protocol-relative)
Jun
9
awarded  Nice Answer
Jun
5
reviewed Close AES/CBC fixed Initial vector use-case
Jun
5
reviewed Leave Open Use of Different keys with PCBC
Jun
4
comment Why is TLS SRP verifier based on user name?
@simbo1905: The compromised server wants to know if Alice and Bob have the same password. So, when Alice tries to log in, the server looks up Bob's authentication data $(s_{\rm Bob}, v_{\rm Bob})$ and sends Alice $s=s_{\rm Bob}$ and (in SRP-6) $B=3v_{\rm Bob}+g^b$, gets back $M_1$ and verifies that it equals $H(A,B,S)$, $S=(Av_{\rm Bob}^u)^b$. If it does, Alice has just successfully authenticated herself as Bob, which (with overwhelming likelihood) means they must have the same password $P$ and identifier $I$. Assigning each user a separate $I$ (typically, their username) plugs this hole.
Jun
1
revised Correct way to read a given permutation cipher?
needs more t
Jun
1
answered Correct way to read a given permutation cipher?
Jun
1
reviewed Leave Open How Does Progressive Hashing Work?
Jun
1
reviewed Leave Open Why would splitting a password output be better than separate HMACs for encryption/authentication key derivation?
Jun
1
revised Choice of MAC and handling it correctly
being privacy-preserving is not enough
May
31
comment Encryption of log files
Using a stream cipher (or a block cipher in CTR mode) would be tempting, but would be vulnerable to an attack where the attacker deliberately truncates the log file before letting your program append to it, in order to obtain multiple logs encrypted with the same keystream. Still better than just XOR with a static key, though.
May
31
answered Choice of MAC and handling it correctly
May
31
revised How can one parallelize tasks in CTR-AES for maximum performance?
edited body
May
31
answered How can one parallelize tasks in CTR-AES for maximum performance?
May
31
reviewed Close How small are we talking about when defining the small public/private key exponent
May
31
comment Why is plain-hash-then-encrypt not a secure MAC?
@D.W.: I agree that these questions have substantial overlap, but it's not obvious which one(s) of them should be deemed canonical. In particular, given that this question seems to have the most thorough and highly voted answer (not that the others don't have good answers too), there's an argument to be made for closing both of the earlier questions as duplicates of this one.
May
31
reviewed Leave Open Reductionist proofs of decisional problems to computational
May
25
comment Common password derivation function for different encryption methods
Even with Grover's algorithms, you're still looking at $2^{128}$ quantum operations, which is still damn hard, even if you assume that quantum computing becomes as easy as classical. If you assume that a 128-bit keyspace is safe against any foreseeable classical attacks (which I think most cryptographers would), then you should consider a 256-bit keyspace safe against quantum attacks too.
May
24
reviewed Close Is a Mersenne-twister cryptographically secure if I truncate the output?
May
24
comment Is a Mersenne-twister cryptographically secure if I truncate the output?
This does not seem to be a real question, but rather an attempt to argue a point or to discuss the merits of a novel cryptographic primitive. As such, it is off-topic for Cryptography Stack Exchange, as described in our help center.