# Tag Info

3

Probably the easiest one with regards to the protocol is a XOF, an eXtendable Output Function. Two have been defined as part of SHA-3, called SHAKE-128 and SHAKE-256. These have a single input of any length, and can output as many bytes as required. Of course SHA-3 is relatively new, so not all runtimes / API's may support the SHAKE variants out of the box. ...

3

A stream cipher may do the trick; you'd use your "seed" as key and your "state" as nonce, and just output a prefix of the keystream. Currently popular ones are AES in CTR mode and ChaCha20.

1

If solutions of more or fewer than $m$ vectors are also admissible, this is easy: XOR of $n$-bit strings can be rephrased as addition in the vector space $(\mathbb Z/2\mathbb Z)^n$. You are looking for a solution to the linear equation $$a_1v_1+\dots+a_mv_m=y$$ where $v_1,\dots,v_m\in (\mathbb Z/2\mathbb Z)^n$ are all the public bit vectors, \$y\in(\mathbb ...

3

RNGCryptoServiceProvider - according to many sites including the following Wikipedia link itself - uses the CryptGenRandom functionality of the operating system. You therefore need to convince your clients that the OS functionality is sufficient. The Wikipedia article contains references to FIPS and Common Criteria EAL4 evaluations of the operating systems ...

1

I'm not really sure if you're asking a VB.net api question, or if you're worried about the effectiveness of RNGCryptoServiceProvider. If it's the latter, then you're effectively asking whether Microsoft's crypto provision function is truly random. You could research the underlying mechanism that RNGCryptoServiceProvider uses. Your paper is a good start. ...

1

Yes you can for the simple reason that XOR'ing a completely random stream with any value will still result in a random stream - although obviously very dependent for the randomness on the source stream. There is however absolutely no point in doing so. XOR-ing a stream with a well seeded PRNG could be a good idea, but XOR'ing it with a single byte value (...

4

Yes, if you XOR any values with a secure random numbers, you end up with secure random numbers. You can easily see this by assuming the insecure random number is a constant instead. It only changes what the numbers are, it does not affect their relative probabilities.

7

One of the key properties we want out of PRNGs is that they produce results that follow a desired probability distribution. Nearly all of the time we want our PRNGs to produce data with uniform distribution—all of the possible output values should have equal probability. So let's assume that we are given a seq sequence whose values are samples drawn from a ...

Top 50 recent answers are included