Wouldn't it be possible to block-wise xor the random data onto the key?
Maybe use a windowing mechanism, where the window is moved forward depending on the random data (e.g. for a 16 bit key, xor random bits 0 to 15, then move forward 4 to 16 bits, depending on the current window; iterate until the maximum number of window movements necessary to go over the whole random data is reached [leak less bits via timing]; if the end of the data is reached, again start at the beginning, but with some offset to avoid result_bit_0 = secret_bit_0 xor random_bit_0 xor random_bit_0).
The asymmetric crypto of a connection setup takes the lion's share of CPU cycles. I don't think it's worth the risk just to beat the cheap (relatively speaking) symmetric algorithms.
- /* $OpenBSD: authfd.c,v 1.113 2018/12/27 23:02:11 djm Exp $ */
+ /* $OpenBSD: authfd.c,v 1.114 2019/06/21 04:21:04 djm Exp $ */
what weird tool/infrastructure do these guys use, that they maintain CVS/SVN string identifiers in the files but nevertheless use git?I actually liked these identifiers. There were tools like ident (http://manpages.org/ident/1) to deal with them.
Here is the original change in authfd.c in cvsweb:
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/au...
> Public git conversion mirror of OpenBSD's official cvs src repository.