{"id":164,"date":"2023-09-08T19:07:10","date_gmt":"2023-09-08T16:07:10","guid":{"rendered":"https:\/\/noone.io\/blog\/?p=164"},"modified":"2025-06-30T17:06:43","modified_gmt":"2025-06-30T14:06:43","slug":"blockchain-security-random-numbers-entropy-cryptography","status":"publish","type":"post","link":"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/","title":{"rendered":"Blockchain Security: Random Numbers, Entropy, and Cryptography"},"content":{"rendered":"\n<p>As highlighted by a <a href=\"https:\/\/cointelegraph.com\/news\/newly-discovered-bitcoin-wallet-loophole-let-hackers-steal-funds-slow-mist\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">recent breach<\/a>, attackers made off with more than $900,000 in crypto due to a flawed key generation mechanism in the Libbitcoin Explorer library. The implications of overlooking the trifecta of random numbers, entropy, and cryptography can be severe.<\/p>\n\n\n\n<p>Aware of the dangers of limited randomness, this article takes a simple approach to explain the basics of entropy in wallet security. Our goal is simple: to clarify the crucial role randomness serves and show how Noone Wallet tackles security from its very foundation.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Role_of_Randomness_in_Private_Key_Generation\"><\/span>The Role of Randomness in Private Key Generation<span class=\"ez-toc-section-end\"><\/span><\/h2><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#The_Role_of_Randomness_in_Private_Key_Generation\" >The Role of Randomness in Private Key Generation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#Safeguarding_Blockchain_Through_Unpredictability\" >Safeguarding Blockchain Through Unpredictability<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#Pseudorandom_Number_Generators_in_Blockchain_Security\" >Pseudorandom Number Generators in Blockchain Security<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#Entropys_Role_in_Gauging_and_Guaranteeing_Randomness\" >Entropy&#8217;s Role in Gauging and Guaranteeing Randomness<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#Measuring_Entropy\" >Measuring Entropy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#Challenges_in_Achieving_Genuine_Randomness\" >Challenges in Achieving Genuine Randomness<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#How_Noone_Wallet_Harnesses_Entropy\" >How Noone Wallet Harnesses Entropy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#From_Entropy_to_Digital_Signatures_The_Intricate_Dance_of_ECDSA\" >From Entropy to Digital Signatures: The Intricate Dance of ECDSA<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<p><strong>Randomness adds a layer of unpredictability to keep cryptographic operations secure.<\/strong> In transactions, digital signatures act like a seal of authenticity, confirming that a message or transaction is genuine.<\/p>\n\n\n\n<p>To fortify this defense against fraudulent activities, the secret keys involved are generated through a process of deliberate randomness. This randomness ensures that no unauthorized party can anticipate or deduce the keys, thereby safeguarding the integrity and confidentiality of digital interactions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"760\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1.png\" alt=\"Private key generation simplified schematic.\" class=\"wp-image-182\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1-555x264.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1-1053x500.png 1053w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1-768x365.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1-1536x730.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1-24x11.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1-36x17.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/1-48x23.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>The process of generating a private key is carefully orchestrated through a secure pipeline. This pipeline begins with an entropy source that furnishes randomness. This raw randomness is then channeled into a PseudoRandom Number Generator (PRNG), which in turn produces a stream of random bytes.<\/p>\n\n\n\n<p>These bytes undergo a transformation, culminating in the creation of a mnemonic phrase. From this mnemonic (seed) phrase, the master key is derived. This master private key is then used to generate a hierarchy of other private keys, public keys, and addresses. The private key derived from the seed phrase is the one that controls access to the cryptocurrency funds associated with the wallet.<\/p>\n\n\n\n<p>In both Noone and other contemporary wallets this process is guided by well-established standards such as BIP-32, BIP-39, and BIP-44. <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0032.mediawiki\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">BIP-32<\/a>&#8216;s hierarchical deterministic wallets (HD wallets) enhance key generation, while <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0039.mediawiki\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">BIP-39<\/a> simplifies the creation of mnemonic phrases. Simultaneously, <a href=\"https:\/\/github.com\/bitcoin\/bips\/blob\/master\/bip-0044.mediawiki\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">BIP-44<\/a> establishes a structured hierarchy for key management within these wallets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Safeguarding_Blockchain_Through_Unpredictability\"><\/span>Safeguarding Blockchain Through Unpredictability<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Consider a twist: envision if this randomization dance could be <a href=\"https:\/\/blog.ledger.com\/Funds-of-every-wallet-created-with-the-Trust-Wallet-browser-extension-could-have-been-stolen\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">foreseen<\/a>, if the machine&#8217;s inner workings were uncovered. In this scenario, the once-secure wallets become susceptible to attacks. Predictability erodes the very foundation of private key generation. So, how do we reach genuine randomness?<\/p>\n\n\n\n<p>Enter Random Number Generators (RNGs). <strong>These algorithms tap into sources like atmospheric noise, temperature fluctuations, or even radioactive decay to produce number sequences that exhibit randomness.<\/strong> Even a coin flip serves as a valid and functional random number generator, just a very slow and inconvenient one because of its restricted range of possible outcomes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2.png\" alt=\"Photo of the Cloudflare's lava lamp stand used in the LavaRand setup.\" class=\"wp-image-172\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2-555x312.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2-889x500.png 889w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2-768x432.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2-1536x864.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2-24x14.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2-36x20.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/2-48x27.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>More elaborate methods, such as deriving randomness from unconventional sources like lava lamps, also exist.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"674\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3.png\" alt=\"Cloudflare's LavaRand pipeline schematic.\" class=\"wp-image-173\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3-555x234.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3-1130x476.png 1130w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3-768x324.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3-1536x647.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3-24x10.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3-36x15.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/3-48x20.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>The diagram illustrates <a href=\"https:\/\/blog.cloudflare.com\/randomness-101-lavarand-in-production\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Cloudflare&#8217;s random number generator architecture<\/a>, highlighting the unique LavaRand setup.&nbsp;<\/p>\n\n\n\n<p>This configuration significantly contributes to the randomness used in Cloudflare&#8217;s encryption procedures. Since the flow of the \u201clava\u201d in a lava lamp is very unpredictable, \u201cmeasuring\u201d the lamps by taking footage of them is a good way to obtain unpredictable randomness.<\/p>\n\n\n\n<p>Beyond this lamp-based source, another originates from a server within the company&#8217;s premises. Additionally, a data center houses a third randomness source, thereby furnishing Cloudflare with a triad of random number origins. It&#8217;s worth noting that, while not explicitly mentioned in the scheme, pseudorandom number generators also play a role in this setup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pseudorandom_Number_Generators_in_Blockchain_Security\"><\/span>Pseudorandom Number Generators in Blockchain Security<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Despite their potential, true RNGs have limitations. They can be sluggish and resource-intensive, making them less viable for the rapid pace of blockchain transactions.<\/p>\n\n\n\n<p>This is where Pseudorandom Number Generators (PRNGs) step in. <strong>PRNGs execute intricate mathematical operations on initial data fragments, crafting an illusion of unpredictability.&nbsp;<\/strong><\/p>\n\n\n\n<p>Beneath this, however, lies a deterministic core\u2014running the same operation twice yields the same result. Although seemingly deterministic,<strong> PRNGs generate sequences statistically indistinguishable from true randomness.<\/strong> PRNGs find use in blockchain technology due to their efficiency and speed\u2014critical traits in the dynamic fintech landscape.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"674\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4.png\" alt=\"Pseudorandom Numbers Generator pipeline schematic.\" class=\"wp-image-174\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4-555x234.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4-1130x476.png 1130w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4-768x324.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4-1536x647.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4-24x10.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4-36x15.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/4-48x20.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>Cryptographically secure PRNGs go beyond just randomness. They must meet certain conditions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You can&#8217;t learn previous random numbers, even if you know any number along the way.<\/li>\n\n\n\n<li>Even if someone messes with the entropy source, the inner workings of the generator should stay hidden<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Entropys_Role_in_Gauging_and_Guaranteeing_Randomness\"><\/span>Entropy&#8217;s Role in Gauging and Guaranteeing Randomness<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Yet, how do we determine if our randomness suffices? We turn to entropy.<\/p>\n\n\n\n<p><strong>Entropy gauges and characterizes the level of randomness in a system.<\/strong> It quantifies how much information is required to describe or predict the outcomes or states of the elements within the system.<\/p>\n\n\n\n<p>NIST (National Institute of Standards and Technology) provides a <a href=\"https:\/\/csrc.nist.rip\/publications\/PubsSPs.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">standardized framework<\/a> for assessing the quality of entropy sources or random number generators (RNGs). NIST&#8217;s evaluation involves subjecting the generated sequences to a battery of statistical tests to determine if they exhibit any patterns or deviations from true randomness.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5.png\" alt=\"Two systems with different entropy levels.\" class=\"wp-image-175\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5-555x312.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5-889x500.png 889w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5-768x432.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5-1536x864.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5-24x14.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5-36x20.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/5-48x27.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>These tests include frequency tests, runs tests, autocorrelation tests, and more. Passing these tests indicates that the sequences have high entropy and demonstrate the characteristics of genuine randomness, making them suitable for applications like cryptography, simulations, and statistical analysis. Many top wallets, including Noone Wallet, have successfully passed these rigorous tests. Feel free to verify our security measures via our <a href=\"https:\/\/github.com\/noonewallet\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">open-source core code repository on GitHub<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Measuring_Entropy\"><\/span>Measuring Entropy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Entropy is commonly measured in bits<\/strong> due to its direct association with information theory and data representation in binary format. When entropy is quantified in bits, it essentially measures the amount of information required to define or indicate a specific state or result within a system.&nbsp;<\/p>\n\n\n\n<p>For instance, consider a fair coin toss, where the probabilities of getting heads and tails are equal. In this case, one bit of information is sufficient to express the outcome: 0 for heads and 1 for tails.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/6-2.gif\" alt=\"A demonstration illustrating entropy measurement.\" style=\"aspect-ratio:16\/9;object-fit:contain\"\/><\/figure>\n\n\n\n<p><strong>Familiarity with a value diminishes its entropy<\/strong>\u2014increased understanding correlates with reduced entropy. For instance, a 32-bit random word inherently embodies 32 bits of entropy. If, for example, this word comprises 18 zeros and 14 ones, its entropy diminishes to 28.8 bits.<\/p>\n\n\n\n<p>In the digital realm, <strong>computers harvest entropy from embedded sensors<\/strong>. Interrupts, which represent hardware signals directed at the CPU, hold a central role in this symphony of randomness. Every time you press a key, manipulate the mouse, or receive data, these actions set off interrupts, prompting the CPU to take appropriate actions. This data is used to create an &#8220;entropy pool&#8221;, which gradually accumulates random data points over time.<\/p>\n\n\n\n<p>But user inputs are just one facet of the intricate dance of entropy. Hardware events, such as thermal fluctuations and electrical currents, contribute their own element of randomness. Network traffic, with its varying patterns and timing, adds further complexity. Hard drive activities, system clock variations, and even the radio frequency noise emitted by devices all meld into this symphony of unpredictability.&nbsp;<\/p>\n\n\n\n<p><strong>Software typically awaits sufficient entropy accumulation<\/strong>, adhering to established lower entropy flow boundaries. For instance, accelerometers, gyroscopes, and magnetometers contribute about <a href=\"https:\/\/dl.acm.org\/doi\/fullHtml\/10.1145\/3442520.3442528\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">189 bits\/s, 13 bits\/s, and 254 bits\/s respectively<\/a>.&nbsp;<\/p>\n\n\n\n<p>Current practice involves reliably sourcing random numbers at the operating system level, subsequently channelled into applications. In the context of the Noone Wallet, the process of generating entropy varies across different platforms.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Challenges_in_Achieving_Genuine_Randomness\"><\/span>Challenges in Achieving Genuine Randomness<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>However, akin to any intricate dance, challenges exist in harnessing entropy&#8217;s might. While typing on a keyboard or swiping a screen might seem highly random, encryption and security experts offer a different view.&nbsp;<\/p>\n\n\n\n<p>Skilled typists often develop recognizable typing patterns, and the keyboard&#8217;s scanning rate constrains timing accuracy. Additionally, predicting screen taps is feasible by analyzing the dominant hand&#8217;s movements. Even attempts to infuse randomness into typed data don&#8217;t guarantee genuine unpredictability. Hackers can exploit extra cues like keystroke sounds to deduce timing and compromise apparent randomness.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7.png\" alt=\"The most used buttons on QWERTY and DVORAK keyboard layouts.\" class=\"wp-image-177\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7-555x312.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7-889x500.png 889w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7-768x432.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7-1536x864.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7-24x14.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7-36x20.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/7-48x27.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>Truly understanding the depth of randomness within our data is a formidable task. Even when we amass random data, more challenges emerge on the road to secure usage:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entropy isn&#8217;t always readily available; actions like keystrokes contribute, yet data-intensive tasks may necessitate waiting.<\/li>\n\n\n\n<li>Random generators can break and become predictable without clear signs.<\/li>\n\n\n\n<li>Measuring event-derived randomness is tricky, especially without specialized hardware, complicating accurate assessment.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"How_Noone_Wallet_Harnesses_Entropy\"><\/span>How Noone Wallet Harnesses Entropy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8.png\" alt=\"Noone Wallet's interface on mobile and web.\" class=\"wp-image-179\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8-555x312.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8-889x500.png 889w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8-768x432.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8-1536x864.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8-24x14.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8-36x20.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/8-48x27.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>For <strong>Android devices<\/strong>, upon boot-up, the phone collects data from various sources such as interrupts and sensor readings. This collected data is used to create a seed, which serves as the initial input for a secure pseudorandom number generator. When generating encryption keys, the system invokes the <a href=\"https:\/\/developer.android.com\/reference\/java\/security\/SecureRandom\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">SecureRandom<\/a> function from the Android system library. This function retrieves the necessary bytes from the generated seed to create the encryption keys.<\/p>\n\n\n\n<p>In the case of <strong>iOS devices<\/strong>, the secure pseudorandom number generator is initialized when the operating system starts up. This generator continues to supply random numbers throughout the OS&#8217;s operation. It is also responsible for creating keys within the Noone Wallet. The wallet utilizes a function from the Apple Common Crypto library to access the random numbers provided by this generator.<\/p>\n\n\n\n<p>A comparable process occurs for the <strong>web version of the wallet<\/strong>. A random seed is generated during the initialization of the operating system and is periodically updated thereafter. Subsequently, the web browser leverages the <a href=\"https:\/\/www.w3.org\/TR\/WebCryptoAPI\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">crypto.getRandomValues()<\/a> function to access random numbers. This function operates by utilizing a pseudo-random number generator (PRNG) algorithm, which may differ based on user agents (web browsers). It harnesses the entropy source of the operating system as its PRNG, ensuring a diverse and secure pool of randomness for cryptographic operations.<\/p>\n\n\n\n<p>By employing these methods across different platforms, the Noone Wallet ensures a continuous <strong>on-device<\/strong> supply of randomness, which is vital for tasks such as encryption, secure communication, and the reliable unpredictability required by various applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"From_Entropy_to_Digital_Signatures_The_Intricate_Dance_of_ECDSA\"><\/span>From Entropy to Digital Signatures: The Intricate Dance of ECDSA<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Now, let&#8217;s briefly recap before delving into the cryptographic process that safeguards your transactions:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The unpredictability is collected from sources like mouse movements and keystrokes.<\/li>\n\n\n\n<li>This reservoir of randomness becomes the foundational input for a cryptographically secure pseudorandom number generator (CSPRNG).<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"760\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9.png\" alt=\"ECDSA private key generation pipeline\" class=\"wp-image-178\" style=\"aspect-ratio:16\/9;object-fit:contain\" srcset=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9.png 1600w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9-555x264.png 555w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9-1053x500.png 1053w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9-768x365.png 768w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9-1536x730.png 1536w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9-24x11.png 24w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9-36x17.png 36w, https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/9-48x23.png 48w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/figure>\n\n\n\n<p>However, these sequences of random numbers are not private keys just yet. This is where the Elliptic Curve Digital Signature Algorithm (ECDSA) comes into play. Its magic lies in its use of elliptic curves, mathematical shapes with special properties. These curves enable ECDSA to create a pair of keys: a private key and a corresponding public key. Think of the public key as a lock and the private key as its unique key.<\/p>\n\n\n\n<p>When you send a transaction, ECDSA uses your private key to generate a digital signature. This signature is like your personal seal, proving that you&#8217;re the legitimate sender. And because of the special properties of elliptic curves, no one else can create the same signature without your private key.<\/p>\n\n\n\n<p>For 256-bit security, ECDSA requires a 256-bit key, whereas the older Digital Signature Algorithm (DSA) mandates a substantial 3072-bit key.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/10.gif\" alt=\"Example of an elliptic curve used in ECDSA.\" style=\"aspect-ratio:16\/9;object-fit:contain\"\/><\/figure>\n\n\n\n<p>The inner workings of Elliptic Curve Cryptography (ECC) are detailed and extensive, deserving an article of their own. If you&#8217;re interested in learning more about ECC, you can refer to <a href=\"https:\/\/matt-rickard.com\/elliptic-curve-cryptography\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">this article<\/a> if you&#8217;re comfortable with math, or <a href=\"https:\/\/blog.cloudflare.com\/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">this one<\/a> if you prefer a simpler explanation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Summing it up, our exploration of randomness, entropy, and cryptography offers a glimpse into Noone&#8217;s security commitment. Equipped with this insight, you can engage with blockchain services fearlessly, confident that your transactions and digital assets are locked behind state-of-the-art security measures.<\/p>\n\n\n\n<p>Unlock the power of Noone White-Label Wallet for your business. Get your own custom crypto wallet today at <a href=\"https:\/\/noone.io\/blog\/\">Noone.io<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As highlighted by a recent breach, attackers made off with more than $900,000 in crypto due to a flawed key generation mechanism in the Libbitcoin Explorer library. The implications of overlooking the trifecta of random numbers, entropy, and cryptography can be severe. Aware of the dangers of limited randomness, this article takes a simple approach [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":181,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-intermediate"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Blockchain Security: Random Numbers, Entropy, and Cryptography - Noone Wallet Blog<\/title>\n<meta name=\"description\" content=\"Learn how random numbers and entropy safeguard the integrity of cryptocurrency wallets and protect your digital assets in Noone Wallet Blog.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Blockchain Security: Random Numbers, Entropy, and Cryptography - Noone Wallet Blog\" \/>\n<meta property=\"og:description\" content=\"Learn how random numbers and entropy safeguard the integrity of cryptocurrency wallets and protect your digital assets in Noone Wallet Blog.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/\" \/>\n<meta property=\"og:site_name\" content=\"Noone Wallet Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-08T16:07:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-30T14:06:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Noone Wallet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@NooneWallet\" \/>\n<meta name=\"twitter:site\" content=\"@NooneWallet\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noone Wallet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/\"},\"author\":{\"name\":\"Noone Wallet\",\"@id\":\"https:\/\/noone.io\/blog\/#\/schema\/person\/6ef62da9c659f0174fb94b62723c3a51\"},\"headline\":\"Blockchain Security: Random Numbers, Entropy, and Cryptography\",\"datePublished\":\"2023-09-08T16:07:10+00:00\",\"dateModified\":\"2025-06-30T14:06:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/\"},\"wordCount\":1894,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/noone.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png\",\"articleSection\":[\"Intermediate\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/\",\"url\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/\",\"name\":\"Blockchain Security: Random Numbers, Entropy, and Cryptography - Noone Wallet Blog\",\"isPartOf\":{\"@id\":\"https:\/\/noone.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png\",\"datePublished\":\"2023-09-08T16:07:10+00:00\",\"dateModified\":\"2025-06-30T14:06:43+00:00\",\"description\":\"Learn how random numbers and entropy safeguard the integrity of cryptocurrency wallets and protect your digital assets in Noone Wallet Blog.\",\"breadcrumb\":{\"@id\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage\",\"url\":\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png\",\"contentUrl\":\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png\",\"width\":1600,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/noone.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blockchain Security: Random Numbers, Entropy, and Cryptography\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/noone.io\/blog\/#website\",\"url\":\"https:\/\/noone.io\/blog\/\",\"name\":\"Noone\",\"description\":\"Updates, stories, and announcements\",\"publisher\":{\"@id\":\"https:\/\/noone.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/noone.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/noone.io\/blog\/#organization\",\"name\":\"Noone\",\"url\":\"https:\/\/noone.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noone.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/07\/logo-black.svg\",\"contentUrl\":\"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/07\/logo-black.svg\",\"caption\":\"Noone\"},\"image\":{\"@id\":\"https:\/\/noone.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NooneWallet\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/noone.io\/blog\/#\/schema\/person\/6ef62da9c659f0174fb94b62723c3a51\",\"name\":\"Noone Wallet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/noone.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/23b60ad07ab3c1a2eeac06ac960cbc25b44f0271734f8d6e04103f31934afcfe?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/23b60ad07ab3c1a2eeac06ac960cbc25b44f0271734f8d6e04103f31934afcfe?s=96&d=mm&r=g\",\"caption\":\"Noone Wallet\"},\"sameAs\":[\"https:\/\/noone.io\/\"],\"url\":\"https:\/\/noone.io\/blog\/author\/amministratore\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Blockchain Security: Random Numbers, Entropy, and Cryptography - Noone Wallet Blog","description":"Learn how random numbers and entropy safeguard the integrity of cryptocurrency wallets and protect your digital assets in Noone Wallet Blog.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/","og_locale":"en_US","og_type":"article","og_title":"Blockchain Security: Random Numbers, Entropy, and Cryptography - Noone Wallet Blog","og_description":"Learn how random numbers and entropy safeguard the integrity of cryptocurrency wallets and protect your digital assets in Noone Wallet Blog.","og_url":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/","og_site_name":"Noone Wallet Blog","article_published_time":"2023-09-08T16:07:10+00:00","article_modified_time":"2025-06-30T14:06:43+00:00","og_image":[{"width":1600,"height":900,"url":"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png","type":"image\/png"}],"author":"Noone Wallet","twitter_card":"summary_large_image","twitter_creator":"@NooneWallet","twitter_site":"@NooneWallet","twitter_misc":{"Written by":"Noone Wallet","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#article","isPartOf":{"@id":"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/"},"author":{"name":"Noone Wallet","@id":"https:\/\/noone.io\/blog\/#\/schema\/person\/6ef62da9c659f0174fb94b62723c3a51"},"headline":"Blockchain Security: Random Numbers, Entropy, and Cryptography","datePublished":"2023-09-08T16:07:10+00:00","dateModified":"2025-06-30T14:06:43+00:00","mainEntityOfPage":{"@id":"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/"},"wordCount":1894,"commentCount":0,"publisher":{"@id":"https:\/\/noone.io\/blog\/#organization"},"image":{"@id":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage"},"thumbnailUrl":"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png","articleSection":["Intermediate"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/noone.io\/blog\/blockchain-security-random-numbers-entropy-cryptography\/","url":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/","name":"Blockchain Security: Random Numbers, Entropy, and Cryptography - Noone Wallet Blog","isPartOf":{"@id":"https:\/\/noone.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage"},"image":{"@id":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage"},"thumbnailUrl":"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png","datePublished":"2023-09-08T16:07:10+00:00","dateModified":"2025-06-30T14:06:43+00:00","description":"Learn how random numbers and entropy safeguard the integrity of cryptocurrency wallets and protect your digital assets in Noone Wallet Blog.","breadcrumb":{"@id":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#primaryimage","url":"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png","contentUrl":"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/09\/Main.png","width":1600,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/noone.io\/blockchain-security-random-numbers-entropy-cryptography\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/noone.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Blockchain Security: Random Numbers, Entropy, and Cryptography"}]},{"@type":"WebSite","@id":"https:\/\/noone.io\/blog\/#website","url":"https:\/\/noone.io\/blog\/","name":"Noone","description":"Updates, stories, and announcements","publisher":{"@id":"https:\/\/noone.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/noone.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/noone.io\/blog\/#organization","name":"Noone","url":"https:\/\/noone.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noone.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/07\/logo-black.svg","contentUrl":"https:\/\/noone.io\/blog\/wp-content\/uploads\/2023\/07\/logo-black.svg","caption":"Noone"},"image":{"@id":"https:\/\/noone.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NooneWallet"]},{"@type":"Person","@id":"https:\/\/noone.io\/blog\/#\/schema\/person\/6ef62da9c659f0174fb94b62723c3a51","name":"Noone Wallet","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noone.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/23b60ad07ab3c1a2eeac06ac960cbc25b44f0271734f8d6e04103f31934afcfe?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/23b60ad07ab3c1a2eeac06ac960cbc25b44f0271734f8d6e04103f31934afcfe?s=96&d=mm&r=g","caption":"Noone Wallet"},"sameAs":["https:\/\/noone.io\/"],"url":"https:\/\/noone.io\/blog\/author\/amministratore\/"}]}},"_links":{"self":[{"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":1,"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":414,"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/posts\/164\/revisions\/414"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/media\/181"}],"wp:attachment":[{"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/noone.io\/blog\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}