Questions tagged [random]

The generation of random or pseudorandom data, and the use of randomness in security protocols

Filter by
Sorted by
Tagged with
1
vote
1answer
53 views

How can I validate that a PRNG's output is insecure and predictable?

Say I talk to a developer who is using some output of a Pseudo-random number generator in order to do some security task. I know based upon common knowledge that only Cryptographically Secure Pseudo ...
9
votes
1answer
292 views

Is reading from /dev/urandom on macOS Catalina a safe way to produce cryptographically secure data?

I'm reading a lot about entropy on macOS... I know it doesn't use Yarrow anymore as per this FIPS 140-02 doc a NIST compliant DRBG. I read a lot: https://github.com/briansmith/ring/pull/398 How ...
2
votes
3answers
157 views

How can one test if a password generator is cryptographically secured?

Given the plethora of random password generators (RPG) available, I'd like to do some black box testing on some. Let's take https://passwordsgenerator.net/ for example. Assuming the whole generator ...
2
votes
0answers
61 views

Is it safe to generate a temporary API key from a random generator seeded by a secure random generator?

I have a need to generate a key consisting of a given number of random characters that will be used to access resources via a public API. It should not be possible to predict the key. This is done in ...
2
votes
1answer
109 views

entropy change when reading from /dev/urandom vs /dev/random

I noticed that when reading from /dev/random, I have a very real impact on the entropy available on my linux box. (reading from /proc/system/kernel/random/entropy_avail), Yet when reading from /dev/...
0
votes
0answers
49 views

Is it possible to get the original UUID1 from a timestamp?

Say, for example, I generate a time based UUID with the following program. import uuid uuid = uuid.uuid1() print uuid print uuid.time I get the following: 47702997-155d-11ea-92d3-6030d48747ec ...
3
votes
1answer
164 views

using HW random number generator as source of entropy

Currently I am using haveged on my server as source of entropy. My Server is used as KVM hypervisor, to run virtual machines. I did not use haveged at the beginning, and I noticed the VMs were ...
1
vote
1answer
67 views

TLS handshake random bytes reused

What would happen if the random bytes provided by the client and the server in the first two messages would be reused by one peer/by both peers? I think it would highly reduce the provided security, ...
0
votes
2answers
97 views

How to solve the problem of secure randomly generated GUIDs when the size of the data outgrows the GUIDs

I've been struggling with this problem for a little while... How to hide the order that records were created in, basically. You typically do this by generating a "GUID". But this GUID is arbitrarily ...
0
votes
1answer
321 views

With a very large number of GUIDs, can one predict the previous and subsequent GUIDs that will be generated?

I've been reading up on GUIDs. According to the Wiki: Cryptanalysis of the WinAPI GUID generator shows that, since the sequence of V4 GUIDs is pseudo-random, given full knowledge of the internal ...
1
vote
1answer
285 views

Mobile application authentication using UUID

I write back-end code for mobile applications. I am needing to write the code for authentication and the simplest yet secure solution I can think of is: When user signs in, device sends username and ...
2
votes
1answer
101 views

Is this schema between a Desktop App and an API secure?

From my previous question: How secure is this schema between a Desktop App (c++) and an API (php). Introduction I made a paid Desktop-app that required constant internet connection (because of its ...
2
votes
3answers
80 views

Benefits of signing a random number?

Is there any benefit to signing a random number? E.g. a link for password reset, sent to email, often includes a base64 encoded random number to prevent someone guessing what the password reset link ...
0
votes
0answers
34 views

What is the difference between /dev/random and /dev/urandom? [duplicate]

Simply put, what are the differences between /dev/random and /dev/urandom from a developer's standpoint? Which one should I use for cryptographic purposes?
1
vote
2answers
96 views

If I seed a CSPRNG with a truly random number and call the output, does this make the number more, less or equally “random”?

If I have a JavaScript CSPRNG such as isaac.random(), and I seed it using a truly random number T as such: isaac.seed(T), does this make the result of the CSPRNG more, less, or equally random? I ...
2
votes
1answer
81 views

Is getting 1-2 outputs from a CSPRNG to seed another CSPRNG less entropy than getting say 5000 outputs from a CSPRNG and using that to seed?

This question builds off of this question. I want to create more entropy from a viable entropy source to seed another CSPRNG. If I use window.crypto.getRandomValues(newUint8Array(1)) To seed a ...
1
vote
1answer
84 views

What are some viable, secure sources of entropy for a CSPRNG?

I need some viable sources for entropy to seed a CSPRNG. So far, I have: JS Events Web Crypto API performance.now() Timing for xmlHTTPRequests etc. Are there any other viable/secure entropy sources ...
1
vote
3answers
98 views

Is using multiple instances of a browser-PRNG to seed another PRNG more secure?

Say I have Math.random() (which supposedly generates ~32 bits of entropy.) If I use Math.random() + Math.random(), both of them generate ~32 bits of entropy. I will use the solution of Math.random() +...
227
votes
11answers
46k views

Why is Math.random() not designed to be cryptographically secure?

The JavaScript Math.random() function is designed to return a single IEEE floating point value n such that 0 ≤ n < 1. It is (or at least should be) widely known that the output is not ...
0
votes
1answer
121 views

Find seed used in Math.random LCG given a list of outputs [duplicate]

Given one or two sequential Math.random outputs generated with Internet Explorer's linear congruential generator, is it possible to find the seed used in the LCG and find subsequent outputs? Here is ...
0
votes
1answer
198 views

Predicting Math.random() sequence using V8's MWC1616 algorithm

If you have the seeds for Math.random() using mwc1616, are the random numbers generated in the same order every time / are they repeating? Basically wondering if, given a seed, can I predict past ...
0
votes
0answers
80 views

How long will it take to crack a hashed random string

If I generate 128 bit, 512 bit and 1024 bit random strings using either: A native rand() function (C, PHP, Python, etc) OpenSSL random bytes Hardware generated random number And hash the random ...
15
votes
3answers
2k views

How long to re-seed /dev/urandom in a virtual machine?

I have read plenty about the distinction between /dev/random and /dev/urandom. I understand that the prevailing advice is to use /dev/urandom. The explanation - that 256 bits of 'proper' randomness ...
3
votes
3answers
209 views

Determining the entropy of a string if each character has a slight bias

Let's say I need to generate a 32-character secret comprised of ASCII characters from the set '0'..'9'. Here's one way of doing it: VALID_CHARS = '0123456789' generate_secret_string() { random =...
0
votes
0answers
50 views

Generating a secret token: security concerns other than min-entropy?

I'm trying to compare two techniques for generating an OAuth 2 PKCE code_verifier. For each character, get a random byte and "mod 66" to map to one of the 66 valid characters. For each character, get ...
16
votes
3answers
2k views

Correct way to get a number from 0-9 from a random byte?

If I have a good random number generator that gives me a byte of data at a time, and I want to extract a random decimal digit of 0 to 9 from that byte stream, what is the correct way to do that? At ...
-3
votes
1answer
4k views

How to correctly use dev/urandom for random generation [closed]

Runs before main: d -c 30 /dev/urandom > random.bytes Access the randomly generated numbers int main() { FILE *fp; int fd = open("random.bytes",O_RDONLY); fp = fopen("file.txt" , ...
0
votes
1answer
112 views

Am I making my One-Time Passcode less secure?

I am using some "magic link" one-time passcodes for automatically logging users in for a specific purpose on our website. My plan is to generate a hash based on the datetime, users specific "ID" and ...
1
vote
3answers
357 views

Exactly how is a pseudorandom number generator a security risk?

I was recently reading about Diceware, which is essentially a list of words from which several can be picked to form a long passphrase. The website stresses that these words should be picked randomly ...
0
votes
0answers
57 views

When should I use CryptoPP::AutoSeededRandomPool (not CryptoPP::NonblockingRng)?

I found CryptoPP provides several random generators: CryptoPP::AutoSeededRandomPool, CryptoPP::AutoSeededX917RNG and so on. I know some details about these generators and the usage of them, I just ...
0
votes
1answer
80 views

What does “probabilistic algorithm with random tape” mean?

I am new to the study of cryptography, and when reading papers they often mention that "probabilistic algorithm G with random tape w ...". What does it mean by "random tape w"? I mean why it does is ...
8
votes
6answers
2k views

Should I use a cryptograpically secure random number generator when I generate IDs?

It is common to generate random identifiers to expose through an API instead of using a simple auto incrementing primary key. The reasons are many: Prevents easy enumeration. Does not give away order ...
71
votes
5answers
14k views

What makes Random Number Generators so fragile?

It seems to me that a hardware component which generates random numbers is extremely simple - just measure tiny vibrations in the hardware with a sensor, right? Maybe I'm wrong but it seems like if ...
7
votes
3answers
478 views

Is PuttyGen secure?

I'm using PuttyGen to generate ssh keys for various windows computers. It requires a lot of manual user input, specifically in the form of swirling the mouse around in the window pane. I understand ...
2
votes
1answer
303 views

Is it safe to use a passphrase to seed fernet key generation?

I have a cluster deployment that depends on a Fernet Key to secure some data. The deployment script generates the key with: FERNET_KEY=$(python -c "from cryptography.fernet import Fernet; k = Fernet....
1
vote
0answers
43 views

Can Lava Lamps enhance modern native entropy sourced from hardware and the Linux Kernel? [duplicate]

In this 2017 video by Computerphile's Tom Scott, "The Lava Lamps That Help Keep The Internet Secure", Scott tours Cloud Flare's facility and checks out their Wall of Entropy. This is essentially a ...
39
votes
4answers
5k views

Is generating random numbers using a smartphone camera a good idea?

Forgive my ignorance on the subject, but I wish to know more and asking (stupid) questions are one way. I was reading http://www.random.org/randomness/ and this idea popped into my head (before the ...
18
votes
2answers
4k views

RdRand from /dev/random

"Linus Torvalds, in response to a petition on Change.org to remove RdRand from /dev/random, has lambasted the petitioner by called him ignorant for not understanding the code in Linux Kernel. Kyle ...
2
votes
1answer
970 views

How can I increase /proc/sys/kernel/random/entropy_avail

I have access to genuine random numbers - random.org, for example. I have a number of processes using /dev/random and my value for /proc/sys/kernel/random/entropy_avail is 143, which is pretty low. ...
4
votes
1answer
134 views

Is pressing random keys a secure way to seed a key generator?

There's a couple of programs that I've been using recently that ask you to type random keys as a source of randomness to seed an RNG for key generation. Is this considered a good practice still, or ...
2
votes
1answer
880 views

Choosing Key and IV in AES-256

I am working on a real-life project for a firm. I have to encrypt data using AES 256 as per specification. I want to know how are the key and IV are really chosen in real world projects. /dev/urandom ...
15
votes
2answers
503 views

What research suggests that user's mouse movements are (not) sufficiently unpredictable for secret key generation?

I have not been able to find any credible source which tried to prove or disprove the randomness of mouse movements. A Google Scholar search for "mouse movement entropy" gives surprisingly few ...
1
vote
1answer
77 views

Size of a secure random number taking into account quantum computing and size of universe

Most random secure numbers are 256 to 512 bits. But given the size of the universe and eventually quantum computing, I am wondering what is a better sized randomly generated number, taking into ...
1
vote
0answers
98 views

Does using both a counter and a random nonce make sense for the purpose of reducing the likelihood of replay attacks?

I am aware that using a counter or a random value are both acceptable ways of generating nonces, depending on the circumstances. The tradeoff with using a counter is the necessity to keep state and ...
1
vote
1answer
195 views

Does OpenSSH use padding of random lengths?

According to the end of RFC 4253 § 6, the random padding introduced to each SSH packet is an arbitrary multiple of 8. It mentions that random padding lengths can mitigate traffic analysis: Note ...
4
votes
1answer
153 views

How do GnuPG smartcard generate reliable random data?

I'm generating a private key on my new GPG smartcard at this very moment. On linux, the random would be fed by the keystrokes on my keyboard, the network packets, the mouse movements etc. How does ...
10
votes
2answers
1k views

Is there a loss of entropy by hashing an N-bit random key to produce an N-bit hash?

I read the following piece of code: dd if=/dev/urandom bs=16 count=1 2>/dev/null | md5sum Apparently, this code was used as a trick to produce a hex string key from a 128-bit binary pseudo-random ...
33
votes
3answers
14k views

How long should a random nonce be?

NIST provides good guidelines on the length of keys and hashes for various algorithms. But I don't see anything specifically on the length of a random or pseudo-random nonce (number used once). If ...
0
votes
1answer
118 views

What is the entropy of a call to java.lang.Math.random()?

Math.random() produces a double value (IEEE 754 binary64) in the range [0.0, 1.0). How many digits (or bits) of entropy does the return value of random() contain? If it simplifies things, I'm okay ...
1
vote
3answers
613 views

What should a secure passphrase look like?

We all know that passwords should not only be randomly generated, but also look random. The reason is that attackers can use patterns or existing words to be able to bruteforce the passwords faster, ...

1 2 3 4 5 7