... If I understood you correctly, if you seed the RNG with time-stamps from that short period you bump into the transactions which haven't had reused R values, that's how you got this private key?
https://github.com/blockchain/My-Wallet/commit/98d5a7ca59ef04d06ac6aee468634b12975a0f5cIn a nutshell, just poor seeding of the RNG.
Because line 29 was missing from the original source code file (
rng.js), the length of the
key variable used in the function below
ARC4init(key) from prng4.js is always
0. Which means you are left with only 256 possible seeds. Each of the 256 possible seeds produces its own sequence of numbers (which you can assign to some variable, for example k or d, etc) which can be used for
secp256k1 point multiplication.
secp256k1: (G=base point, k=ECDSA nonce, d=private key)
point R = k*G (used for ECDSA: k and x-coordinate)
point Q = d*G (public key)
// Initialize arcfour context from key, an array of ints, each from [0..255]
function ARC4init(key) {
var i, j, t;
for(i = 0; i < 256; ++i)
this.S = i;
j = 0;
for(i = 0; i < 256; ++i) {
j = (j + this.S + key[i % key.length]) & 255;
t = this.S;
this.S = this.S[j];
this.S[j] = t;
}
this.i = 0;
this.j = 0;
}