A cryptographically secure pseudorandom number generator is a pseudo-random number generator with properties that make it suitable for use in cryptography.

learn more… | top users | synonyms

1
vote
2answers
57 views

How can I be sure the RNGCryptoServiceProvider is able to produce 12 bytes that can have 2^96 values?

I am writing code that needs to produce a truly random number of 96 bits. The requirements are: The code must be able to produce all $2^{96}$ values. The likelihood for any value to come up must be ...
5
votes
1answer
207 views

How should I read these three-dimensional (pseudo)random-generated numbers representations?

Visiting this site: http://lcamtuf.coredump.cx/oldtcp/tcpseq.html#phase I found graphical representations of random-generated sequence numbers, but I can't figure out how to interprete the plots. ...
6
votes
1answer
219 views

Is it possible to determine or estimate the period for Blum-Micali PRG?

The Blum-Micali is a cryptographically secure pseudorandom number generator. The construction (from wikipedia): Let $p$ be an odd prime, and let $g$ be a primitive root modulo $p$. Let $x_0$ be a ...
4
votes
1answer
50 views

Do the limitations of PRNGs apply to CSPRNGs when shuffling a list?

Suppose, as an example, we want to use the Fisher-Yates algorithm along with a pseudorandom number generator to shuffle a deck of cards. We know that there are limitations with respect to the internal ...
2
votes
1answer
97 views

Do I need to use a CSPRNG when creating salts for user accounts?

I'm not sure about the need of using CSPRNG to create salts for each user account. I found “Cryptographically Secure Pseudo-Random Number Generator in Qt/C++ (Cross platform)” (at StackOverflow) with ...
1
vote
0answers
58 views

Is it safe to encrypt data using XOR along with CSPRNG seeded with a truly random number? [closed]

I was wondering a couple of days ago whether I could reverse the normal encryption order to produce a good AES based cipher variant. The method is as follows: Two users, Alice and Bob, each have a ...
6
votes
1answer
70 views

How distinct are the meanings of the terms “CSPRNG,” “DRBG” and “stream cipher”?

Are there universal, consensus definitions for the following terms? Cryptographically secure pseudo-random number generator ("CSPRNG") Deterministic random bit generator ("DRBG") Stream cipher ...
3
votes
1answer
61 views

Using AES-CTR to generate AES subkeys from a master key and nonce

Suppose I would like to encrypt some data using AES-GCM because it has hardware support on my processor and it is secure. Unfortunately, I don't like the 96-bit nonce size, because I want to randomly ...
14
votes
1answer
3k views

What stops the Multiply-With-Carry RNG from being a Cryptographically Secure PRNG?

Despite the fact that Marsaglia's MWC PRNG (multiply-with-carry random number generator) is considered to be "the mother of all RNGs", it does not seem to be considered to be a CSPRNG (...
-1
votes
1answer
48 views

Which is the longest CSPRNG?

There are some PRNGs considered cryptographically secure. Which has the longest period among them?
6
votes
1answer
86 views

Are CSPRNGs quantum-resistant?

It's fairly well known that Shor's algorithm kills RSA, DSA, ECDSA, DH, ... and that symmetric ciphers (AES and 3DES) and hashes (SHA-2, SHA-3) are safe as long as you double your key size / output ...
1
vote
1answer
30 views

Metrics of PRNGs

I am a bit confused on the metrics that can be applied to the output of (deterministic) pseudo-random number generators. I've run output from many RNGs through ENT. The only metrics that really differ ...
1
vote
2answers
44 views

Is part of an output of secure PRNG also cryptographically secure?

Lets say I generate 192 bits using some secure PRNG. If I now take first 128 bits is it equivalent of generating 128 bits in the first place? P.S. More practical application for me is that I need a ...
3
votes
1answer
181 views

Detecting steganography in the stream of short messages

I have stream of millions of short n-bit (n<30) messages generated by some random number generator. The source of random number generator is not available to me. I suspect there are messages used ...
4
votes
2answers
178 views

How should I generate secure random numbers deterministically?

I have a 256-bit seed; call it P. From P, I need to derive 219 256-bit numbers deterministically. There's a catch, however: I want to derive them in any order. For example, I might need the 7878th ...
2
votes
4answers
3k views

Is a Mersenne-twister cryptographically secure if I truncate the output?

I want to create an online roulette game. Is it OK if the PRNG is seeded only once, when the user starts the game, or is it recommended to re-seed sometimes during game? Maybe just seeded once a day ...
3
votes
1answer
183 views

CTR DRBG dependent on request size?

I am trying to understand the CTR DRBG specification in NIST SP 800-90A. It seems slightly different to a pure stream cipher in that the key and counter are reset after each generate call using the ...
-3
votes
1answer
90 views

Is it interesting to design stream ciphers parametrized by a CSPRNG?

Would it be interesting to have new stream ciphers whose design is parametrized by a CSPRNG? I.e. to instantiate the stream cipher, you just have to select and plug in any CSPRNG of your choice.
0
votes
1answer
27 views

How to compare two CSPRNGs? [duplicate]

Let's say I am given to CSPRNGs: RNG1 and RNG2. I want to select the best one of the two for cryptography. How should I do it? Any of the two RNGs can be initialized with a secret key during tests and ...
3
votes
2answers
554 views

Algorithm for generating OAuth tokens

I'm trying to find a good algorithm for generating authorization codes, access tokens and refresh tokens in an API. Currently, I am looking into the following setup: Tokens are generated using the <...
-2
votes
2answers
125 views

Why are there so many stream ciphers out there and even ongoing research?

What make them better than OTP using a CSPRNG initialized with a secret key?
2
votes
1answer
85 views

Collision likelihood from /dev/urandom for VMs using the same underlying hardware

We have multiple virtual machines sharing the same physical hardware. We use /dev/urandom for session key generation. But a question comes up: if ...
4
votes
0answers
75 views

What level of security is provided when a Feistel Cipher is used as a round function of another Feistel Cipher?

Recently, I was reading: Are there any specific requirements for the function F in a Feistel cipher?, and the answer posted mentions a Feistel Cipher named Turtle, which uses a four-round Feistal ...
3
votes
2answers
347 views

Do I need an IV to use AES-CTR as a CSPRNG?

I'm using AES128-CTR for generating pseudo-random values, which is considered secure for up to 1MB (at least from what I've read). I simply encrypt a 128-bit little-endian counter, starting from 0. ...
8
votes
3answers
501 views

Why do we require a CSPRNG's output to be indistinguishable from true random?

Everywhere I read, indistinguishability of output from true random is stated as a requirement for CSPRNGs. However nobody bothered to give the rationale for such a strong requirement. Specifically, ...
2
votes
1answer
113 views

Stream Ciphers and cycling questions

For all PRNGs (including CSPRNGs) lets say there is a sequence x, y, z, then when the PRNG cycles back to x, then the sequence following it will be exactly the same as before. Is this true for all ...
2
votes
1answer
64 views

Has there been any research on entropy efficient information-theoretically secure PRNGs?

I have an idea for an research project, but I am first wondering if it has been researched or implemented before. I think I have a way to come up with a set of PRNG algorithms which have the ...
2
votes
0answers
124 views

How to break this PRNG encryption scheme? [closed]

Suppose we have the following symmetric algorithm: key = random bits G = PRNG(seed: key) input = [0,1,1,0,1,0,0,0, 0,1,1,0,1,0,0,1] // "hi" in ascii The key can ...
4
votes
2answers
100 views

A periodic PRNG based on hash function?

I need a PRNG which provides 128 bytes numbers. Let's say that given a symmetric key $K$ and an internal state $s$ I use the PRF HMAC-SHA512 this way: The output is PRNG($K, s$) = HMAC-SHA512$_K$($s$...
-2
votes
1answer
84 views

Shuffleless PRNG function with non-repeating values?

I need a simple PRNG function of type: Integer = PRNG(n, maxval) as I would like to count from 0 to maxval, not in a linear manner, but in a pseudorandom manner where I still use every value, but ...
2
votes
1answer
232 views

Why in Android kernel CSPRNG state is saved?

I am reading about the security internals of Android. In the book Android Security Internals, in chapter on Cryptographic Providers, there is a para stating: On Android, CSPRNG implementations are ...
1
vote
2answers
85 views

Fortuna: why are source ID and data length added together with entropy data into the pools

Section 9.5.6 of Cryptography Engineering states that The concatenation [of source number, length of data, and data itself] is then appended to the pool. Why are we including source number and ...
6
votes
1answer
227 views

Why does anyone use elliptic curves for a CSPRNG?

I saw Martijn Grooten's talk on elliptic curves at BSides London this year, and it helped me understand how elliptic curve crypto works, especially in the case of Diffie-Hellman (ECDH). He also ...
1
vote
0answers
56 views

Hardening of random number generators

Boxcryptor uses various CSPRNGs and apparently hashes the output using PBKDF2 to derive the final key. Even though the choice of ...
4
votes
1answer
451 views

How can a block cipher in counter mode be a reasonable PRNG when it's a PRP?

Wikipedia claims: A secure block cipher can be converted into a CSPRNG by running it in counter mode. This is done by choosing a random key and encrypting a 0, then encrypting a 1, then encrypting ...
1
vote
1answer
205 views

CTR_DRBG versus OFB_DRBG

As far as I know, in the development of ANSI X9.82, there was consideration of OFB_DRBG, a pseudorandom number generator based on block ciphers like CTR_DRBG, but it appears to have been rejected of ...
0
votes
1answer
167 views

Should I remove these use cases of MD5/SHA1 from my program?

I have a web app (a register and login system) written already but i am now improving it. One of its design goals was high security. I have some use cases of md5 and sha1 in it and now i am in doubt ...
1
vote
3answers
1k views

Estimating random number entropy for input into 256 bit hash

Assuming a random number generation process outputs lots of numbers between 0-9. First I gathered up a bunch of the numbers, converted them to binary and created a bitmap. Not so random as you can ...
1
vote
1answer
430 views

Security of SecRandomCopyBytes on OSX and iOS

How secure is SecRandomCopyBytes() (Apple's RNG)? Has anyone ever reviewed it?
2
votes
1answer
170 views

Noisiest RF band for random number generation

I've been looking into the difference between PRNGs and proper RNG techniques. One that I particularly like is the idea of tuning a radio to a certain frequency and bandwidth and just listening to the ...
2
votes
0answers
251 views

Difference between statistical PRNG and cryptographic PRNG? [duplicate]

What's the difference between a statistical pseudorandom number generator (PRNG) and a cryptographic-strength PRNG? I've seen a lot of PRNGs that are proposed for statistical uses -- e.g., ...
11
votes
5answers
8k views

What is the difference between CSPRNG and PRNG?

What is the difference between CSPRNG and PRNG? Is there performance differential between them? For example: We use PRNG for key generation which is very expensive and CSPRNG for IV/nonce in block ...
8
votes
3answers
644 views

Will X9.31 remain a secure & acceptable deterministic random generator beyond 2015?

I am actually looking for available crypto libraries including a deterministic random generator for the purpose of a dedicated crypto key generator unit. I have a simple question about the X9.31 based ...
1
vote
2answers
266 views

Availability of a simple limited PRNG algorithm

I am in need of a really simple limited PRNG, that either exists or can easily be created in virtually any language on any platform. It takes only the initial seed, and is only expected to generate a ...
9
votes
3answers
3k views

Is a die implemented in a physics engine truly random?

So, a fair die throw is really random, not pseudo. So, would a RNG implemented as the result of a die throw in a physics engine (say, Newton, Havok, Nvidia's PhysX) be regarded as both ...
1
vote
1answer
60 views

HMAC_DRBG Generate Process: requesting N bytes at once different from requesting N bytes in total?

Am I correct in assuming that HMAC_DRBG would return different results if I, e.g. first request 4 bytes followed by a request of another 4 bytes instead of asking for 8 bytes at once? It seems that ...
10
votes
1answer
505 views

Shared secret: Generating Random Permutation

-- or: How to Play Poker Without a Dealer I know this question is long but it's a really interesting theoretical problem about shared secrets and multi-party computation. General Problem: "Shared ...
4
votes
2answers
160 views

CSPRNG that cannot be used as random extractor

Are there any specific CSPRNG's that cannot be used as randomness extractor within a TRNG? In other words, can you simply provide enough entropy gathered from a good entropy source as seed in any ...
7
votes
5answers
962 views

How to prove the security of the PRNG?

Are there any realties tests or criterias that prove the security of the PRNG? What kind of tests or criteria?