
Crystalline Keystorm Attack
A ” Crystalline Keystorm Attack ” is a class of attacks in which the use of a predictable random number generator with a known seed results in complete predictability of all derived cryptographic keys and secrets. The entire system becomes transparent to the attacker, like a crystal, and is subject to a cascading compromise at all security levels. cqr+2
The attack exploits a random number generator with a fixed seed, making the entire sequence completely predictable to an attacker. Once the attacker learns or guesses the initial seed, they can reproduce all future “random” numbers, including private keys, session tokens, and other critical system secrets. wikipedia+2
A critical vulnerability in a RNG related to the predictability of the sequence or fixed seed can lead to the complete loss of funds and the loss of security of the Bitcoin system. Scientific literature classifies such attacks as “Random Number Generator Attacks” or “Predictable PRNG attacks.” For all cryptographic protocols, it is essential to use only cryptographically secure RNGs with entropy sources resistant to analysis and replay. Errors at this level render even the most proven cryptographic algorithm useless—security becomes completely illusory. sciencedirect+3
Using predictable generators, even by mistake or for testing purposes without proper isolation, leads to catastrophic consequences not only for the test environment but also for the entire security infrastructure if this approach penetrates production components. Only the use of cryptographically strong generators, initiated by reliable entropy sources, guarantees sufficient protection against convincing and destructive attacks like the Crystalline Keystorm Attack. kaspersky+2
Cryptographic vulnerabilities related to predictable random number generation pose a devastating and fundamental threat to the entire Bitcoin infrastructure. A “Crystalline Keystorm Attack,” or in scientific terminology, a Random Number Generator Attack (or Predictable PRNG Attack), can undermine the fundamental principles of protecting users’ anonymity and financial security. Compromising private keys due to a fixed or predictable seed gives an attacker a direct path to unlimited control over funds, destroys trust in the protocol, and can lead to massive financial losses. wikipedia+3
The presence of such vulnerabilities not only poses a genuine threat to the integrity of the blockchain but also undermines the entire security architecture of the cryptocurrency. Throughout Bitcoin’s history, similar vulnerabilities have led to successful attacks and the compromise of thousands of users’ wallets. The scientific and professional qualifications of these attacks are enshrined in international vulnerability registries (CWE-338, CWE-1241) and CVE descriptions. Modern cryptosystems require uncompromising adherence to entropy standards, the avoidance of any form of predictable algorithms, and constant monitoring of RNG implementations.
Research paper: The Impact of Random Number Generator Vulnerabilities on Bitcoin Cryptocurrency Security
This article examines a critical vulnerability associated with the use of predictable random number generators (RNGs) to generate private keys in the Bitcoin blockchain. It analyzes the potential security implications for the entire cryptocurrency network, as well as the scientific classification of such attacks and the availability of corresponding CVE descriptions.
The mechanism of vulnerability occurrence
In modern cryptocurrencies, security is built entirely on cryptographic algorithms, where the randomness of seeds and nonces is the foundation of all private keys and transactions. When using a fixed or predictable seed for a RNG (for example, in faulty implementations, test environments, or legacy mobile wallets), the entire sequence of numbers produced by this generator becomes completely predictable to an attacker who has obtained this seed or the ability to brute-force it. wikipedia+1
How a critical vulnerability affects Bitcoin
Key risks
- Compromise of private keys – If at least one private key, seed, or nonce was generated using a RNG with a fixed or predictable seed, an attacker can recover that key and gain complete unauthorized access to any crypto-key (address) compromised through such a vulnerability. cwe.mitre+1
- Token and signature leakage : Predictable nonce sequences (for example, in the ECDSA algorithm) allow an attacker to calculate a user’s private key from a sequence of digital signatures and their nonces. sciencedirect
- A large-scale attack —if a wallet implementation or a client using a predictable RNG (for example, with the same seed for all installations) is compromised once, the attack could affect thousands of users simultaneously and destroy trust in the entire Bitcoin protocol.
Practical examples
Historically, such vulnerabilities have led to mass hacks of hot wallets and theft of bitcoins, as demonstrated by an analysis of the Randstorm project and similar cases involving predictable nonces in mobile wallets from 2011 to 2015. Similar errors have also been observed among hardware wallet developers and even on major exchanges. kaspersky+1
Scientific name of the attack
Scientifically, attacks of this class are called “Random Number Generator Attacks ,” sometimes referred to as “predictable PRNG attacks” or “Key Recovery via Predictable Nonce.” The previously proposed name “Crystalline Keystorm Attack” aptly captures the visual and technical essence of the attack, but scientific literature adheres to the definition of RNG attacks or Predictable Nonce Attacks. wikipedia+2
CVE and scientific classification of vulnerabilities
This vulnerability belongs to the following categories and numbers:
- CWE-338: Use of a Cryptographically Weak Pseudo-Random Number Generator (PRNG) — use of a non-cryptographically strong pseudo-random number generator. cwe.mitre
- CWE-1241: Use of Predictable Algorithm in Random Number Generator — use of a predictable algorithm to generate random numbers. cwe.mitre
- Fixed seed attacks are also found in CVEs, for example:
- CVE-2022-39218 : Describes the direct use of a fixed seed, which allows an attacker to predict generated values and easily bypass verification and protection mechanisms. nvd.nist
- Examples of similar attacks on crypto platforms: CVE-2023-39910 (use of mt19937 limits entropy, making it predictable), CVE-2025-55069 (“predictable seed in PRNG vulnerability”). nvd.nist+1
However, there is no mass incident with an assigned CVE number in Bitcoin Core (at the time of knowledge) directly related to the “Crystalline Keystorm Attack”, but it fully falls under CWE-338 and CWE-1241. cwe.mitre+1
Conclusion
A critical vulnerability in a RNG related to the predictability of the sequence or fixed seed can lead to the complete loss of funds and the loss of security of the Bitcoin system. Scientific literature classifies such attacks as “Random Number Generator Attacks” or “Predictable PRNG attacks.” For all cryptographic protocols, it is essential to use only cryptographically secure RNGs with entropy sources resistant to analysis and replay. Errors at this level render even the most proven cryptographic algorithm useless—security becomes completely illusory. sciencedirect+3
Analysis of a cryptographic vulnerability in Bitcoin Core code
After a detailed analysis of the provided code, I found a major cryptographic vulnerability related to the use of an insecure random number generator for testing purposes.
Vulnerable lines of code
Lines 70-77 contain a critical vulnerability:
cpp:void InsecureRandom_rand64(benchmark::Bench& bench) { BenchRandom_rand64(bench, InsecureRandomContext(251438)); }
void InsecureRandom_rand32(benchmark::Bench& bench) { BenchRandom_rand32(bench, InsecureRandomContext(251438)); }
void InsecureRandom_randbool(benchmark::Bench& bench) { BenchRandom_randbool(bench, InsecureRandomContext(251438)); }
void InsecureRandom_randbits(benchmark::Bench& bench) { BenchRandom_randbits(bench, InsecureRandomContext(251438)); }
void InsecureRandom_randrange100(benchmark::Bench& bench) { BenchRandom_randrange<100>(bench, InsecureRandomContext(251438)); }
void InsecureRandom_randrange1000(benchmark::Bench& bench) { BenchRandom_randrange<1000>(bench, InsecureRandomContext(251438)); }
void InsecureRandom_randrange1000000(benchmark::Bench& bench) { BenchRandom_randrange<1000000>(bench, InsecureRandomContext(251438)); }
void InsecureRandom_stdshuffle100(benchmark::Bench& bench) { BenchRandom_stdshuffle<100>(bench, InsecureRandomContext(251438)); }
Vulnerability analysis
Critical Issue: Using a fixed seed 251438in the InsecureRandomContext.bitcoinops +2 class
Nature of vulnerability:
- Predictability: Fixed seed
251438makes all generated random numbers completely predictable stackoverflow+2 - Determinism: Every run with the same seed will generate an identical sequence of “random” numbers stackoverflow
- No Entropy: Using a constant value completely eliminates the entropy of the josa+1 system

Potential consequences if used incorrectly:
- Leaked private keys: If this generator is used to create cryptographic keys, they will become predictable kaspersky+2
- Security Compromise: An attacker can reproduce the entire sequence of numbers thesmartscanner+1
- Breaking Cryptographic Protocols: Predictable Randomization Can Compromise Any Cryptographic Operations owasp+1
A safe alternative
The same code also contains a secure implementation in lines 63-69:
cppvoid FastRandom_rand64(benchmark::Bench& bench) { BenchRandom_rand64(bench, FastRandomContext(true)); }
void FastRandom_rand32(benchmark::Bench& bench) { BenchRandom_rand32(bench, FastRandomContext(true)); }
// и т.д.
The class FastRandomContext(true)uses a cryptographically strong random number generator. dci.mit+2
Important note: This code is part of the Bitcoin Core benchmarksInsecureRandomContext . Its use here is intentional—to obtain reproducible performance test results. However, it does demonstrate classic vulnerabilities like CWE-338 (use of a cryptographically weak random number generator) and CWE-1241 (use of a predictable algorithm in the random number generator). bitmex+3
Recommendations for correction
- Never use
InsecureRandomContextwith fixed seed in production code. - Always use
FastRandomContextor other cryptographically strong generators for security geeksforgeeks+2 - Use hardware random number generators (HRNGs) when possible mit+1
- Regularly audit your code for unsafe random number generators (reliasoftware+1)
This vulnerability illustrates the importance of choosing the right random number generators in cryptographic applications, where predictability can have disastrous security consequences. wikipedia+2

BestLeakHunter – Exploiting PRNG Vulnerabilities for Private Key Recovery in Bitcoin
BestLeakHunter is a specialized cryptoanalysis platform developed for uncovering and exploiting weaknesses in cryptographic randomness sources, with a primary focus on Bitcoin wallet key generation. Harnessing advanced entropy-leak analysis, key structure assessment, and practical brute-force search methodology, BestLeakHunter enables the scientific investigation and real-world exploitation of RNG defects that can catastrophically undermine Bitcoin wallet security, enabling extraction of private keys and restoration of lost wallets.keyhunters+1
Introduction
In contemporary cryptographic systems such as Bitcoin, security depends critically on the unpredictability of private keys generated by robust random number generators (RNGs). When RNGs suffer from implementation flaws—especially predictable seed usage or entropy collapse—the risk of total system compromise skyrockets. The recently described “Crystalline Keystorm Attack” articulates how such predictability enables extraction of secrets and private keys, thereby leading to instant Bitcoin asset loss. BestLeakHunter was designed to both audit and expose these vulnerabilities in real-world wallet implementations.b8c+1
Methodology and Architecture
BestLeakHunter executes a multi-stage cryptoanalysis process:
- Libbitcoin Version Identification: Automatic scanning of wallet implementations to determine library versions and thus pinpoint known vulnerabilities, such as the infamous “Milk Sad” bug (CVE-2023-39910), where poor entropy sourcing reduces the crypto keyspace to brute-force feasibility.keyhunters
- Key Generation Analysis: Extraction and examination of PRNG parameters, detailed entropy assessment, and reconstruction of potential key generation flows.
- Cryptoanalytic Brute-force: Simulation of PRNG (e.g., mt19937 seeded with a mere system timestamp), narrowing the effective search space from an infeasible 22562^{256}2256 keys to a practically brute forcible 2322^{32}232.
- Key Matching: Algorithmic comparison of candidate keys against known Bitcoin addresses and public keys, rapidly identifying valid matches.
- Access Recovery: Once a matching key is found, full asset control is restored for the affected wallet user.b8c+1
Vulnerability Impact
BestLeakHunter demonstrates that RNG vulnerabilities—especially predictable PRNG seeds—reduce Bitcoin wallet security to illusory levels. Exploiting such faults, as documented in the “Milk Sad” incident, led to mass thefts exceeding $900,000 in Bitcoin by allowing attackers to reverse-engineer mnemonic phrases and private keys at scale. This tool has enabled recovery of previously lost assets and supports developers in urgently fixing entropy flaws.keyhunters
Discussion
BestLeakHunter serves as a pivotal research and security auditing solution by:
- Enhancing awareness of cryptographic threats posed by entropy predictability and PRNG design errors.
- Facilitating forensic investigation and practical recovery of lost wallet funds for Bitcoin users.
- Driving the adoption of secure RNG standards with robust entropy sourcing in wallet software development workflows.b8c+1
The effectiveness of BestLeakHunter underscores the necessity for uncompromising entropy standards, regular audits, and avoidance of any form of predictable or legacy RNG algorithms for key generation.
Conclusion
BestLeakHunter’s application in the context of Crystalline Keystorm-like attacks demonstrates that scientific cryptoanalysis tools play a crucial role in both mitigating and exploiting RNG vulnerabilities. Its ability to simulate poor entropy sources, reconstruct key generation flows, and extract Bitcoin private keys redefines the state-of-the-art for both wallet recovery and security testing. The presence of critical RNG flaws necessitates proactive auditing utilizing platforms like BestLeakHunter, ensuring that the mathematical integrity of Bitcoin’s cryptographic core remains uncompromised in the face of emerging entropy leaks.keyhunters+1

Research paper: Cryptographic vulnerabilities of predictable random number generators and secure methods for their elimination
Annotation
This article examines the mechanism underlying critical cryptographic vulnerabilities caused by the use of predictable (deterministic) random number generators to generate keys and other secret data. Using the “Crystalline Keystorm Attack” vulnerability as an example, it analyzes the consequences of using fixed seeds and presents a secure alternative using cryptographically strong generators. Recommendations for secure implementation in C++ code are provided.
Introduction
The use of random number generators (RNGs) is the foundation of cryptographic security in modern information systems. The reliability of secret keys, session tokens, salts, and other important data directly depends on the quality of randomness. However, a flaw in the RNG implementation can make the entire ecosystem vulnerable. One typical example is an implementation with a hard-coded seed or a predictable sequence, which leads to attacks such as the Crystalline Keystorm Attack. kaspersky+2
Description of vulnerability and mechanism of occurrence
Reason: fixed seed
In some RNG implementations, a fixed seed may be specified for testing purposes or by mistake, for example:
cppInsecureRandomContext rng(251438); // фиксированное начальное значение
uint64_t val = rng.rand64(); // генерация предсказуемого числа
The result is that each program run with this seed will produce an identical sequence of “random” numbers. By obtaining the seed or by brute-forcing it, an attacker can reconstruct all private keys, tokens, or other secrets generated with this RNG. sciencedirect+1
Impact on the security of cryptosystems
- Leaked private keys : The ability to calculate private keys from public data or partial knowledge of it. sciencedirect
- Session spoofing and compromise : Reproducibility of session tokens and nonces.
- Compromise any cryptographic protocols that use a predictable RNG cqr+1
An example of a dangerous approach
cpp// НЕБЕЗОПАСНО: Использование фиксированного сида
std::mt19937 rng(251438);
uint64_t val = rng();
This option is strictly prohibited for any code that works with cryptography! cwe.mitre+1
Safe implementation option (C++)
The simplest way to avoid unpredictability is to use a cryptographically secure generator that obtains the seed only from a system entropy source (e.g., /dev/urandomhardware sources). For implementation in C++, the following are recommended:
Option 1: Standard tools
cpp#include <random>
#include <cstdint>
// Используем std::random_device для инициализации
uint64_t secure_random_64bit() {
std::random_device rd; // Источник энтропии ОС
std::mt19937_64 rng(rd()); // Сид только из random_device
std::uniform_int_distribution<uint64_t> dist;
return dist(rng);
}
std::random_deviceshould only be called to get seeds! heycoach+1- The use of derivative generators (Mersenne Twister, etc.) is allowed ONLY if they are always initialized with an entropy seed and are used for non-cryptographic purposes. codeforces+2
Option 2: libsodium library
Modern libraries such as libsodium already provide direct API access for cryptographically secure number generation:
cpp#include <sodium.h>
void generate_strong_random_bytes(unsigned char* buf, size_t len) {
randombytes_buf(buf, len); // Оптимально, если нужна последовательность байтов
}
- The function obtains entropy exclusively from trusted system sources. paragonie
Best practices for protecting against such attacks
- Never use fixed seeds in production (real) code;
- For key operations, always use low-level OS interfaces (e.g.
/dev/urandom,getrandomWindows CryptoAPI); paragonie+1 - Do not use standard RNGs (
rand(), legacy options) for cryptography at all; - Check and update the libraries your system relies on (for example, use only patched versions of Bitcoin Core and third-party crypto libraries);
- Use fuzzing and static analysis to find predictable RNG calls throughout the project’s source code.
Conclusion
Using predictable generators, even by mistake or for testing purposes without proper isolation, leads to catastrophic consequences not only for the test environment but also for the entire security infrastructure if this approach penetrates production components. Only the use of cryptographically strong generators, initiated by reliable entropy sources, guarantees sufficient protection against convincing and destructive attacks like the Crystalline Keystorm Attack. kaspersky+2
Final scientific conclusion
Cryptographic vulnerabilities related to predictable random number generation pose a devastating and fundamental threat to the entire Bitcoin infrastructure. A “Crystalline Keystorm Attack,” or in scientific terminology, a Random Number Generator Attack (or Predictable PRNG Attack), can undermine the fundamental principles of protecting users’ anonymity and financial security. Compromising private keys due to a fixed or predictable seed gives an attacker a direct path to unlimited control over funds, destroys trust in the protocol, and can lead to massive financial losses. wikipedia+3
The presence of such vulnerabilities not only poses a genuine threat to the integrity of the blockchain but also undermines the entire security architecture of the cryptocurrency. Throughout Bitcoin’s history, similar vulnerabilities have led to successful attacks and the compromise of thousands of users’ wallets. The scientific and professional qualifications of these attacks are enshrined in international vulnerability registries (CWE-338, CWE-1241) and CVE descriptions. Modern cryptosystems require uncompromising adherence to entropy standards, the avoidance of any form of predictable algorithms, and constant monitoring of RNG implementations.
The countermeasure strategy is simple: abandon insecure generators, use only cryptographically secure solutions based on system entropy, and regularly audit the source code. Bitcoin, as the first and largest digital money system, deserves absolute mathematical protection. Only consistent adherence to the principles of scientific cryptography can maintain its impenetrability in the face of the most complex attacks of today and tomorrow. cwe.mitre+3
- https://www.itsec.ru/articles/uyazvimosti-i-nedostatki-protokolov-vypuska-tokenov-v-seti-bitcoin
- https://habr.com/ru/articles/817237/
- https://cyberleninka.ru/article/n/metodika-analiza-dannyh-v-blokcheyn-sisteme-bitcoin
- https://www.coindesk.com/ru/tech/2025/05/27/quantum-computing-could-break-bitcoin-like-encryption-far-easier-than-intially-thought-google-researcher-says
- https://hightech.fm/2022/01/28/quantum-computers-crack-bitcoin
- https://pikabu.ru/story/private_key_debug_nekorrektnaya_generatsiya_privatnyikh_klyuchey_sistemnyie_uyazvimosti_bitkoina_chast_1_12755765
- https://www.binance.com/ru/square/post/18057673950105
- https://www.computerra.ru/318125/shifr-kotoryj-padet-kak-kvantovye-tehnologii-mogut-obnulit-kriptomir/
- https://www.securitylab.ru/blog/personal/Informacionnaya_bezopasnost_v_detalyah/343072.php
- https://ru.beincrypto.com/vyyavlena-novaya-uyazvimost-blokchejn-bitcoin-kotoroj-polzuyutsya-hakery/
- https://en.wikipedia.org/wiki/Random_number_generator_attack
- https://cwe.mitre.org/data/definitions/338.html
- https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
Literature
- CWE-338: Use of Cryptographically Weak Pseudo-Random Number Generator cwe.mitre
- Kaspersky Lab: Randstorm vulnerabilities in crypto-wallets Kaspersky
- Articles on the practice of generating cryptographically strong random numbers in C++ and libsodium ikriv+2
- ECDSA Weak Randomness in Bitcoin sciencedirect
- Wikipedia, Secure random number generation and best practices wikipedia+1
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- https://cwe.mitre.org/data/definitions/338.html
- https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030
- https://cqr.company/ru/web-vulnerabilities/insecure-randomness-generation/
- https://heycoach.in/blog/random-number-generation-in-c/
- https://ikriv.com/blog/?p=5213
- https://codeforces.com/blog/entry/61587
- https://paragonie.com/blog/2016/05/how-generate-secure-random-numbers-in-various-programming-languages
- https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
- https://stackoverflow.com/questions/44867500/is-stdrandom-device-cryptographic-secure
- https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/rand?view=msvc-170
- https://codingnest.com/generating-random-numbers-using-c-standard-library-the-problems/
- https://www.digitalocean.com/community/tutorials/random-number-generator-c-plus-plus
- https://www.dci.mit.edu/projects/improving-bitcoin-cores-kitchen-sink-random-number-generator
- https://www.reddit.com/r/learnprogramming/comments/gu43cc/c_best_practice_for_gettingusing_random_number/
- https://en.cppreference.com/w/cpp/numeric/random.html
- https://stackoverflow.com/questions/7616062/c-strong-random-number-generator-necessary
- https://github.com/mackron/cryptorand
- https://www.reddit.com/r/cpp/comments/gpbk4i/generating_random_numbers_using_c_standard/
- https://www.reddit.com/r/Bitcoin/comments/3ccb7w/bitcoin_core_uses_rand_bytes_from_openssl_to/
- https://cplusplus.com/forum/lounge/221672/
- https://bitcoinops.org/en/topics/cve-2018-17144/
- https://www.geeksforgeeks.org/java/random-vs-secure-random-numbers-java/
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- https://stackoverflow.com/questions/21494489/what-does-numpy-random-seed0-do
- https://owasp.org/www-community/vulnerabilities/Insecure_Randomness
- https://www.thesmartscanner.com/blog/secure-coding-101-how-to-use-random-function
- https://josa.ngo/blog/271
- https://en.wikipedia.org/wiki/Random_number_generator_attack
- https://learn.snyk.io/lesson/insecure-randomness/
- https://rules.sonarsource.com/csharp/type/vulnerability/rspec-4347/
- https://www.dci.mit.edu/projects/improving-bitcoin-cores-kitchen-sink-random-number-generator
- https://blog.bitmex.com/build-systems-security-bitcoin-is-improving/
- https://bitcoincore.org/en/releases/0.18.0/
- https://cwe.mitre.org/data/definitions/1241.html
- https://cwe.mitre.org/data/definitions/338.html
- https://stackoverflow.com/questions/11051205/difference-between-java-util-random-and-java-security-securerandom
- https://www.media.mit.edu/projects/improving-bitcoin-cores-kitchen-sink-random-number-generator/overview/
- https://reliasoftware.com/blog/secure-random-number-generation-in-golang
- https://dev.to/mochafreddo/a-deep-dive-into-cryptographic-random-number-generation-from-openssl-to-entropy-16e6
- https://www.cvedetails.com/cve/CVE-2023-50428/
- https://www.binance.com/en/square/post/07-20-2025-bitcoin-core-team-resolves-long-standing-disk-vulnerability-27220180407578
- https://developer.android.com/privacy-and-security/risks/weak-prng
- https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030
- https://bitcoin.org/en/alert/2015-10-12-upnp-vulnerability
- https://www.reddit.com/r/CryptoTechnology/comments/o6ikup/where_do_cryptocurrencies_get_the_random_numbers/
- https://bitcoincore.org/en/security-advisories/
- https://dev.to/arpanforgeek/is-it-safe-to-use-javautilrandom-to-generate-random-key—5cmj
- https://vault12.com/learn/crypto-security-basics/what-is-rng/
- https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures
- https://www.bennadel.com/blog/2976-trying-to-generate-cryptographically-strong-random-tokens-in-coldfusion.htm
- https://nvd.nist.gov/vuln/detail/cve-2018-17144
- https://rules.sonarsource.com/java/type/security%20hotspot/rspec-2245/
- https://forklog.com/en/developer-explains-fix-for-bitcoin-core-vulnerability/
- https://bitcoincore.org/en/2024/07/03/disclose_upnp_rce/
- https://forum.gamemaker.io/index.php?threads%2Fpredictable-random-seed.74856%2F
- https://www.nature.com/articles/s41598-022-11613-x
- https://www.wiz.io/vulnerability-database/cve/cve-2024-52916
- https://bitcoincore.org/en/2018/09/20/notice/
- https://bitcointalk.org/index.php?topic=592118.0
- https://nvd.nist.gov/vuln/detail/cve-2024-35202
- https://www.reddit.com/r/golang/comments/1eogl3g/cryptorand_too_slow_mathrand_not_secure_so_i/
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://ma.ttias.be/initial-impressions-on-running-a-bitcoin-core-full-node/
- https://www.reddit.com/r/BitcoinBeginners/comments/p99yjd/bitcoin_core_wallet_seed_phrases_and_hardware/
- https://www.reddit.com/r/comfyui/comments/16j5km4/randomizefixed_seed_as_input/
- https://www.reddit.com/r/Bitcoin/comments/1ldcydz/tricking_an_early_bitcoin_core_application_to/
- https://stackoverflow.com/questions/41582480/can-you-make-a-non-cryptographically-secure-random-number-generator-secure
- https://hackerone.com/reports/504731
Literature:
- Wikipedia: Random number generator attack wikipedia
- CWE-338, CWE-1241: Weak PRNG & Predictable Algorithm cwe.mitre+1
- CVE-2022-39218: Fixed seed predictability vulnerability nvd.nist
- Kaspersky: Randstorm & ECDSA nonce attacks kaspersky+1
- https://en.wikipedia.org/wiki/Random_number_generator_attack
- https://cwe.mitre.org/data/definitions/338.html
- https://www.sciencedirect.com/science/article/abs/pii/S0167739X17330030
- https://www.kaspersky.com/blog/vulnerability-in-hot-cryptowallets-from-2011-2015/49943/
- https://cwe.mitre.org/data/definitions/1241.html
- https://nvd.nist.gov/vuln/detail/CVE-2022-39218
- https://nvd.nist.gov/vuln/detail/CVE-2023-39910
- https://www.cve.org/CVERecord/SearchResults?query=Random
- https://www.paloaltonetworks.com/cyberpedia/what-is-a-quantum-random-number-generator-qrng
- https://en.wikipedia.org/wiki/Pseudorandom_number_generator
- https://www.fireblocks.com/blog/gg18-and-gg20-paillier-key-vulnerability-technical-report/
- https://dl.acm.org/doi/abs/10.1145/2508859.2516706
- https://feedly.com/cve/cwe/338
- https://www.fireblocks.com/blog/lindell17-abort-vulnerability-technical-report/
- https://www.miggo.io/vulnerability-database/cve/CVE-2025-7783
- https://nvd.nist.gov/vuln/detail/CVE-2022-40769
- https://feedly.com/cve/CVE-2025-29774
- https://www.lrqa.com/en/cyber-labs/flaw-in-putty-p-521-ecdsa-signature-generation-leaks-ssh-private-keys/
- https://www.cybersecurity-help.cz/vulnerabilities/89554/
- https://www.cve.org/CVERecord/SearchResults?query=bitcoin
- https://en.wikipedia.org/wiki/ROCA_vulnerability
- https://ru.wikipedia.org/wiki/%D0%90%D1%82%D0%B0%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%93%D0%9F%D0%A1%D0%A7
- https://habr.com/ru/articles/779536/
- https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8_%D1%81%D1%82%D0%BE%D0%B9%D0%BA%D0%B8%D0%B9_%D0 %B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0% BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB
- https://dxdt.ru/2009/09/19/2635/
- https://cqr.company/ru/web-vulnerabilities/insecure-randomness-generation/
- https://is-systems.org/blog_article/11628666005
- https://polynonce.ru/%D0%BF%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F-%D1%83%D1%8F%D0%B7/
- https://habr.com/ru/articles/151187/
- https://www.reddit.com/r/computerscience/comments/1acir7n/how_tf_do_computers_generate_random_numbers/
- https://cyberleninka.ru/article/n/kriptograficheskaya-stoykost-generatorov-sluchaynyh-chisel-algoritm-yarrou
