为什么会有口臭| 梦见亲人哭是什么征兆| 女性尿频繁是什么原因| 杨枝甘露是什么做的| 7月30日什么星座| 下面流出发黄的液体是什么原因| 血色素低是什么原因| 低压太低是什么原因| 烦恼千千是什么生肖| 慰藉是什么意思| 三下乡是什么意思| hpv53阳性是什么意思| 跨界是什么意思| b站是什么| 甯是什么意思| 西瓜跟什么不能一起吃| 前是什么偏旁| 领养孩子需要什么条件| 手掌纹路多且杂乱是为什么| 乙亥日五行属什么| 喉咙疼吃什么水果好| 大腿抽筋是什么原因引起的| 瑞舒伐他汀什么时候吃最好| 经常肚子疼是什么原因| 听佛歌有什么好处| landrover是什么车| dxm是什么药| 脱发补充什么维生素| 上嘴角有痣代表什么| 额头反复长痘是什么原因| 1996年五行属什么| 属相鸡与什么属相相合| 不停的打嗝是什么原因| 子宫肌瘤吃什么能消除| 柠檬泡水喝有什么功效| 无聊的反义词是什么| 桂附地黄丸治什么病| 宝宝为什么吐奶| 1月29日是什么星座| 鸡胗炒什么菜好吃| 周期长度什么意思| 偏光眼镜是什么意思| 绿色痰液是什么感染| 精神分裂症吃什么药| 经济危机是什么意思| 梦见游泳是什么预兆| 什么学步成语| 玉米须煮水喝有什么好处| 牙膏洗脸有什么好处| 石英表是什么意思| 维生素e和维生素c一起吃有什么效果| 喝黑苦荞茶有什么好处和坏处| 鸡鸡长什么样| category是什么意思| 月经为什么叫大姨妈| 布洛芬的副作用是什么| 马刺是什么意思| 中耳炎吃什么药好| 什么的嘴巴| 菌丝是什么| 香蕉皮擦脸有什么作用与功效| 老爹是什么意思| 老年痴呆症是什么原因引起的| 宽宽的什么填空| 梦见殡仪馆是什么意思| 奥特曼有什么| adl是什么意思| 争奇斗艳是什么意思| 安乐死是什么意思| 96195是什么电话| 梦见吃桃子是什么预兆| 吃什么补孕酮| 急性扁桃体发炎吃什么药| 4pcs是什么意思| 什么情况下需要做肠镜检查| 文旦是什么| gmp什么意思| 最贵的烟是什么牌子| 缺铁性贫血吃什么药| 大腿酸软无力是什么原因| 爻辞是什么意思| 血压测不出来什么原因| 什么时候跑步最好| 蘑菇炒什么好吃| 肌肉抽筋是什么原因| 有什么聚会玩的游戏| 过度紧张会有什么症状| 饿得快是什么原因| 孕妇梦见猫是什么意思| 上朝是什么意思| 风平浪静是什么生肖| 萨瓦迪卡什么意思| 比目鱼是什么鱼| 警察两杠一星是什么级别| 肾结石为什么会疼| 容易出汗是什么原因| 阙是什么意思| 一什么圆月| 什么的羊圈| 五月十二号是什么日子| 舌自心念什么| 佛是什么意思| 什么是佛教什么是道教| 滑膜炎是什么病| 南京有什么好玩的| 客串是什么意思| 用盐水泡脚有什么好处| 一字之师是什么意思| 辛属什么五行| 刘邦是汉什么帝| 白板是什么意思| 龟头发红是什么原因| 阴阳屏是什么意思| 狗狗冠状是什么症状| 官杀是什么| 福寿螺有什么寄生虫| 兰州人为什么要戴头巾| 为什么会长卵巢畸胎瘤| br是什么意思| 淋病挂什么科| 什么食用油最好最健康| 流弹是什么意思| 禄是什么意思| 丢包是什么意思| 经常扁桃体发炎是什么原因| 银屑病吃什么食物最好| 麦冬什么时候种植| 不怕流氓什么就怕流氓有文化| 脾肾阳虚吃什么中成药最好| 1月12号是什么星座| 杨梅用什么酒泡最好| 急性心肌炎有什么症状| 丑未戌三刑会发生什么| degaia是什么牌子| 吃什么健脾胃除湿气| 右侧附件区囊性回声是什么意思| 金丝雀是什么意思| 张牙舞爪的张是什么意思| hpv亚型是什么意思| 奶油奶酪可以做什么| 结婚十年是什么婚| 口腹蜜剑什么意思| 阴道炎吃什么消炎药| 砚是什么意思| 微博会员有什么功能| 三点水一个金读什么| 104岁属什么生肖| 脚老是抽筋是什么原因| 病案号是什么意思| 嘴巴里长水泡是什么原因| 1963属什么生肖| 时年是什么意思| 肝实质弥漫性回声改变什么意思| 血清蛋白是什么| 什么花晚上开| 碱水是什么| cos是什么意思啊| 小孩积食发烧吃什么药| 萝卜不能和什么一起吃| 教学相长是什么意思| 钙化结节是什么意思| 黄鼠狼是什么科| 什么渐渐什么| ps医学上是什么意思| 吃什么可以祛痘排毒| 中药用什么锅熬效果最佳| 什么是地中海饮食| 胳膊出汗是什么原因| 如何知道自己适合什么发型| 刘少奇属什么生肖| 湖北属于什么地区| 什么是间质瘤| 8月15号是什么日子| 黄龙玉产地在什么地方| 青蛙吃什么| 脚底发凉是什么原因| 上皮内低度病变是什么意思| 小腿疼痛挂什么科| 阴差阳错代表什么生肖| 神经性皮炎用什么药膏效果最好| 一什么星星| 一边脸大一边脸小是什么原因| 脂质是什么| 什么桃子| 九个月的宝宝吃什么辅食食谱| 玫瑰花的花语是什么| 长白头发了吃什么才能把头发变黑| a4纸可以折什么| 什么逼人| 三叉神经吃什么药好| 北京为什么是首都| 慢性病都包括什么病| 胃不好能吃什么| 长是什么意思| 幽门螺旋杆菌阳性什么症状| 目鱼和墨鱼有什么区别| 五台山是什么菩萨的道场| 政委什么级别| 整个后背疼是什么原因| 油嘴滑舌是什么意思| 约法三章什么意思| 吃饭咬舌头是什么原因| 丑时是什么时辰| 正常头皮是什么颜色的| 硕字五行属什么| 亚蒂息肉是什么意思| hg是什么元素| 后背中心疼是什么原因| 农历4月14日是什么星座| 肌酐是什么意思| 天线宝宝都叫什么名字| 白细胞偏低是什么意思| hrv是什么病毒| 肺部硬结灶是什么意思| 宅男是什么意思| 冷淡是什么意思| 公务员是什么编制| 双抗是什么意思| 心脏早博是什么意思| array是什么意思| 立羽读什么| 认干妈有什么讲究| 慢性阑尾炎吃什么药好| 堂哥的女儿叫什么| 偷什么不犯法| 五险一金和社保有什么区别| 白腊金是什么意思| 02年的属什么| 黑白颠倒是什么意思| 谈婚论嫁什么意思| 宵夜吃什么好| 失足妇女是什么意思| 浪琴名匠系列什么档次| 清明节在什么时候| 柠檬水喝了有什么好处| 甲钴胺片治什么病| 隋朝之前是什么朝代| 做b超挂什么科| 古着店是什么意思| 黄粉虫吃什么| 肠息肉是什么| 消防队属于什么编制| 什么蛋不能吃脑筋急转弯| 什么叫无产阶级| 826是什么星座| 汗蒸有什么好处和功效| 男人喜欢什么| 柠檬和什么一起泡减肥| 提高免疫力吃什么食物| 妇科腺肌症是什么病| 为什么叫智齿| hpv阴性什么意思| 何德何能是什么意思| 吃什么促进腺样体萎缩| 犟嘴是什么意思| 幼字五行属什么| 阳痿吃什么药效果好| 心律失常是什么意思| 文盲是什么意思| 梦见捡到钱是什么预兆| 自卑的人有什么表现| 红景天是什么| 盆底脱垂有什么症状| 军士长是什么级别| 百度Jump to content

新疆:让思政教育受欢迎

From Wikipedia, the free encyclopedia
百度 我愿意利用这个机会和大家一起分享一下我工作中的体会和思路。

A cryptographically secure pseudorandom number generator (CSPRNG) or cryptographic pseudorandom number generator (CPRNG) is a pseudorandom number generator (PRNG) with properties that make it suitable for use in cryptography. It is also referred to as a cryptographic random number generator (CRNG).

Background

[edit]

Most cryptographic applications require random numbers, for example:

The "quality" of the randomness required for these applications varies. For example, creating a nonce in some protocols needs only uniqueness. On the other hand, the generation of a master key requires a higher quality, such as more entropy. And in the case of one-time pads, the information-theoretic guarantee of perfect secrecy only holds if the key material comes from a true random source with high entropy, and thus just any kind of pseudorandom number generator is insufficient.

Ideally, the generation of random numbers in CSPRNGs uses entropy obtained from a high-quality source, generally the operating system's randomness API. However, unexpected correlations have been found in several such ostensibly independent processes. From an information-theoretic point of view, the amount of randomness, the entropy that can be generated, is equal to the entropy provided by the system. But sometimes, in practical situations, numbers are needed with more randomness than the available entropy can provide. Also, the processes to extract randomness from a running system are slow in actual practice. In such instances, a CSPRNG can sometimes be used. A CSPRNG can "stretch" the available entropy over more bits.

Requirements

[edit]

The requirements of an ordinary PRNG are also satisfied by a cryptographically secure PRNG, but the reverse is not true. CSPRNG requirements fall into two groups:

  1. They pass statistical randomness tests:
    • Every CSPRNG should satisfy the next-bit test. That is, given the first k bits of a random sequence, there is no polynomial-time algorithm that can predict the (k+1)th bit with probability of success non-negligibly better than 50%.[1] Andrew Yao proved in 1982 that a generator passing the next-bit test will pass all other polynomial-time statistical tests for randomness.[2]
  2. They hold up well under serious attack, even when part of their initial or running state becomes available to an attacker:[3]
    • Every CSPRNG should withstand "state compromise extension attacks".[3]:?4? In the event that part or all of its state has been revealed (or guessed correctly), it should be impossible to reconstruct the stream of random numbers prior to the revelation. Additionally, if there is an entropy input while running, it should be infeasible to use knowledge of the input's state to predict future conditions of the CSPRNG state.

For instance, if the PRNG under consideration produces output by computing bits of pi in sequence, starting from some unknown point in the binary expansion, it may well satisfy the next-bit test and thus be statistically random, as pi is conjectured to be a normal number. However, this algorithm is not cryptographically secure; an attacker who determines which bit of pi is currently in use (i.e. the state of the algorithm) will be able to calculate all preceding bits as well.

Most PRNGs are not suitable for use as CSPRNGs and will fail on both counts. First, while most PRNGs' outputs appear random to assorted statistical tests, they do not resist determined reverse engineering. Specialized statistical tests may be found specially tuned to such a PRNG that shows the random numbers not to be truly random. Second, for most PRNGs, when their state has been revealed, all past random numbers can be retrodicted, allowing an attacker to read all past messages, as well as future ones.

CSPRNGs are designed explicitly to resist this type of cryptanalysis.

Definitions

[edit]

In the asymptotic setting, a family of deterministic polynomial time computable functions for some polynomial p, is a pseudorandom number generator (PRNG, or PRG in some references), if it stretches the length of its input ( for any k), and if its output is computationally indistinguishable from true randomness, i.e. for any probabilistic polynomial time algorithm A, which outputs 1 or 0 as a distinguisher,

for some negligible function .[4] (The notation means that x is chosen uniformly at random from the set X.)

There is an equivalent characterization: For any function family , G is a PRNG if and only if the next output bit of G cannot be predicted by a polynomial time algorithm.[5]

A forward-secure PRNG with block length is a PRNG , where the input string with length k is the current state at period i, and the output (, ) consists of the next state and the pseudorandom output block of period i, that withstands state compromise extensions in the following sense. If the initial state is chosen uniformly at random from , then for any i, the sequence must be computationally indistinguishable from , in which the are chosen uniformly at random from .[6]

Any PRNG can be turned into a forward secure PRNG with block length by splitting its output into the next state and the actual output. This is done by setting , in which and ; then G is a forward secure PRNG with as the next state and as the pseudorandom output block of the current period.

Entropy extraction

[edit]

Santha and Vazirani proved that several bit streams with weak randomness can be combined to produce a higher-quality, quasi-random bit stream.[7] Even earlier, John von Neumann proved that a simple algorithm can remove a considerable amount of the bias in any bit stream,[8] which should be applied to each bit stream before using any variation of the Santha–Vazirani design.

Designs

[edit]

CSPRNG designs are divided into two classes:

  1. Designs based on cryptographic primitives such as ciphers and cryptographic hashes
  2. Designs based on mathematical problems thought to be hard

Designs based on cryptographic primitives

[edit]
  • A secure block cipher can be converted into a CSPRNG by running it in counter mode using, for example, a special construct that the NIST in SP 800-90A calls CTR DRBG. CTR_DBRG typically uses Advanced Encryption Standard (AES).
    • AES-CTR_DRBG is often used as a random number generator in systems that use AES encryption.[9][10]
    • The NIST CTR_DRBG scheme erases the key after the requested randomness is output by running additional cycles. This is wasteful from a performance perspective, but does not immediately cause issues with forward secrecy. However, realizing the performance implications, the NIST recommends an "extended AES-CTR-DRBG interface" for its Post-Quantum Cryptography Project submissions. This interface allows multiple sets of randomness to be generated without intervening erasure, only erasing when the user explicitly signals the end of requests. As a result, the key could remain in memory for an extended time if the "extended interface" is misused. Newer "fast-key-erasure" RNGs erase the key with randomness as soon as randomness is requested.[11]
  • A stream cipher can be converted into a CSPRNG. This has been done with RC4, ISAAC, and ChaCha20, to name a few.
  • A cryptographically secure hash might also be a base of a good CSPRNG, using, for example, a construct that NIST calls Hash DRBG.
  • An HMAC primitive can be used as a base of a CSPRNG, for example, as part of the construct that NIST calls HMAC DRBG.

Number-theoretic designs

[edit]
  • The Blum Blum Shub algorithm has a security proof based on the difficulty of the quadratic residuosity problem. Since the only known way to solve that problem is to factor the modulus, it is generally regarded that the difficulty of integer factorization provides a conditional security proof for the Blum Blum Shub algorithm. However the algorithm is very inefficient and therefore impractical unless extreme security is needed.
  • The Blum–Micali algorithm has a security proof based on the difficulty of the discrete logarithm problem but is also very inefficient.
  • Daniel Brown of Certicom wrote a 2006 security proof for Dual EC DRBG, based on the assumed hardness of the Decisional Diffie–Hellman assumption, the x-logarithm problem, and the truncated point problem. The 2006 proof explicitly assumes a lower outlen (amount of bits provided per iteration) than in the Dual_EC_DRBG standard, and that the P and Q in the Dual_EC_DRBG standard (which were revealed in 2013 to be probably backdoored by NSA) are replaced with non-backdoored values.

Practical schemes

[edit]

"Practical" CSPRNG schemes not only include an CSPRNG algorithm, but also a way to initialize ("seed") it while keeping the seed secret. A number of such schemes have been defined, including:

  • Implementations of /dev/random in Unix-like systems.
    • Yarrow, which attempts to evaluate the entropic quality of its seeding inputs, and uses SHA-1 and 3DES internally. Yarrow was used in macOS and other Apple OS' up until about December 2019, after which it switched to Fortuna.
    • Fortuna, the successor to Yarrow, which does not attempt to evaluate the entropic quality of its inputs; it uses SHA-256 and "any good block cipher". Fortuna is used in FreeBSD. Apple changed to Fortuna for most or all Apple OSs beginning around Dec. 2019.
    • The Linux kernel CSPRNG, which uses ChaCha20 to generate data,[12] and BLAKE2s to ingest entropy.[13]
  • arc4random, a CSPRNG in Unix-like systems that seeds from /dev/random. It originally is based on RC4, but all main implementations now use ChaCha20.[14][15][16]
  • CryptGenRandom, part of Microsoft's CryptoAPI, offered on Windows. Different versions of Windows use different implementations.
  • ANSI X9.17 standard (Financial Institution Key Management (wholesale)), which has been adopted as a FIPS standard as well. It takes as input a TDEA (keying option 2) key bundle k and (the initial value of) a 64-bit random seed s.[17] Each time a random number is required, it executes the following steps:
    1. Obtain the current date/time D to the maximum resolution possible.
    2. Compute a temporary value t = TDEAk(D).
    3. Compute the random value x = TDEAk(st), where ⊕ denotes bitwise exclusive or.
    4. Update the seed s = TDEAk(xt).

Obviously, the technique is easily generalized to any block cipher; AES has been suggested.[18] If the key k is leaked, the entire X9.17 stream can be predicted; this weakness is cited as a reason for creating Yarrow.[19]

All these above-mentioned schemes, save for X9.17, also mix the state of a CSPRNG with an additional source of entropy. They are therefore not "pure" pseudorandom number generators, in the sense that the output is not completely determined by their initial state. This addition aims to prevent attacks even if the initial state is compromised.[a]

Standards

[edit]

Several CSPRNGs have been standardized. For example:

This withdrawn standard has four PRNGs. Two of them are uncontroversial and proven: CSPRNGs named Hash_DRBG[22] and HMAC_DRBG.[23]

The third PRNG in this standard, CTR DRBG, is based on a block cipher running in counter mode. It has an uncontroversial design but has been proven to be weaker in terms of distinguishing attack, than the security level of the underlying block cipher when the number of bits output from this PRNG is greater than two to the power of the underlying block cipher's block size in bits.[24]

When the maximum number of bits output from this PRNG is equal to the 2blocksize, the resulting output delivers the mathematically expected security level that the key size would be expected to generate, but the output is shown to not be indistinguishable from a true random number generator.[24] When the maximum number of bits output from this PRNG is less than it, the expected security level is delivered and the output appears to be indistinguishable from a true random number generator.[24]

It is noted in the next revision that the claimed security strength for CTR_DRBG depends on limiting the total number of generate requests and the bits provided per generate request.

The fourth and final PRNG in this standard is named Dual EC DRBG. It has been shown to not be cryptographically secure and is believed to have a kleptographic NSA backdoor.[25]

  • NIST SP 800-90A Rev.1
This is essentially NIST SP 800-90A with Dual_EC_DRBG removed, and is the withdrawn standard's replacement.
  • ANSI X9.17-1985 Appendix C
  • ANSI X9.31-1998 Appendix A.2.4
  • ANSI X9.62-1998 Annex A.4, obsoleted by ANSI X9.62-2005, Annex D (HMAC_DRBG)

A good reference is maintained by NIST.[26]

There are also standards for statistical testing of new CSPRNG designs:

  • A Statistical Test Suite for Random and Pseudorandom Number Generators, NIST Special Publication 800-22.[27]

Security flaws

[edit]

NSA kleptographic backdoor in the Dual_EC_DRBG PRNG

[edit]

The Guardian and The New York Times reported in 2013 that the National Security Agency (NSA) inserted a backdoor into a pseudorandom number generator (PRNG) of NIST SP 800-90A, which allows the NSA to readily decrypt material that was encrypted with the aid of Dual EC DRBG. Both papers reported[28][29] that, as independent security experts long suspected,[30] the NSA had been introducing weaknesses into CSPRNG standard 800-90; this being confirmed for the first time by one of the top-secret documents leaked to The Guardian by Edward Snowden. The NSA worked covertly to get its own version of the NIST draft security standard approved for worldwide use in 2006. The leaked document states that "eventually, NSA became the sole editor". In spite of the known potential for a kleptographic backdoor and other known significant deficiencies with Dual_EC_DRBG, several companies such as RSA Security continued using Dual_EC_DRBG until the backdoor was confirmed in 2013.[31] RSA Security received a $10 million payment from the NSA to do so.[32]

DUHK attack

[edit]

On October 23, 2017, Shaanan Cohney, Matthew Green, and Nadia Heninger, cryptographers at the University of Pennsylvania and Johns Hopkins University, released details of the DUHK (Don't Use Hard-coded Keys) attack on WPA2 where hardware vendors use a hardcoded seed key for the ANSI X9.31 RNG algorithm, stating "an attacker can brute-force encrypted data to discover the rest of the encryption parameters and deduce the master encryption key used to encrypt web sessions or virtual private network (VPN) connections."[33][34]

Japanese PURPLE cipher machine

[edit]

During World War II, Japan used a cipher machine for diplomatic communications; the United States was able to crack it and read its messages, mostly because the "key values" used were insufficiently random.

References

[edit]
  1. ^ The use of entropy-mixing after CSPRNG initialization has been question by Daniel J. Bernstein.[20]
  1. ^ Katz, Jonathan; Lindell, Yehuda (2008). Introduction to Modern Cryptography. CRC press. p. 70. ISBN 978-1584885511.
  2. ^ Andrew Chi-Chih Yao. Theory and applications of trapdoor functions. In Proceedings of the 23rd IEEE Symposium on Foundations of Computer Science, 1982.
  3. ^ a b Kelsey, John; Schneier, Bruce; Wagner, David; Hall, Chris (1998). "Cryptanalytic Attacks on Pseudorandom Number Generators". Fast Software Encryption (PDF). Berlin, Heidelberg: Springer Berlin Heidelberg. doi:10.1007/3-540-69710-1_12. ISBN 978-3-540-64265-7. ISSN 0302-9743.
  4. ^ Goldreich, Oded (2001), Foundations of cryptography I: Basic Tools, Cambridge: Cambridge University Press, ISBN 978-0-511-54689-1, def 3.3.1.
  5. ^ Goldreich, Oded (2001), Foundations of cryptography I: Basic Tools, Cambridge: Cambridge University Press, ISBN 978-0-511-54689-1, Theorem 3.3.7.
  6. ^ Dodis, Yevgeniy, Lecture 5 Notes of Introduction to Cryptography (PDF), retrieved 3 January 2016, def 4.
  7. ^ Miklos Santha, Umesh V. Vazirani (2025-08-04). "Generating quasi-random sequences from slightly-random sources" (PDF). Proceedings of the 25th IEEE Symposium on Foundations of Computer Science. University of California. pp. 434–440. ISBN 0-8186-0591-X. Retrieved 2025-08-04.
  8. ^ John von Neumann (2025-08-04). "Various techniques for use in connection with random digits". The Collected Works of John von Neumann. Pergamon Press. pp. 768–770. ISBN 0-08-009566-6. {{cite book}}: ISBN / Date incompatibility (help)
  9. ^ Kleidermacher, David; Kleidermacher, Mike (2012). Embedded Systems Security: Practical Methods for Safe and Secure Software and Systems Development. Elsevier. p. 256. ISBN 9780123868862.
  10. ^ Cox, George; Dike, Charles; Johnston, DJ (2011). "Intel's Digital Random Number Generator (DRNG)" (PDF).
  11. ^ Bernstein, Daniel J. "2017.07.23: Fast-key-erasure random-number generators: An effort to clean up several messes simultaneously. #rng #forwardsecrecy #urandom #cascade #hmac #rekeying #proofs".
  12. ^ "Github commit of random.c". Github. July 2, 2016.
  13. ^ "Linux 5.17 Random Number Generator Seeing Speed-Ups, Switching From SHA1 To BLAKE2s - Phoronix". www.phoronix.com.
  14. ^ "CVS log of arc4random.c". CVS. October 1, 2013.
  15. ^ "CVS log of arc4random.c". CVS. November 16, 2014.
  16. ^ "FreeBSD 12.0-RELEASE Release Notes: Runtime Libraries and API". FreeBSD.org. 5 March 2019. Retrieved 24 August 2019.
  17. ^ Menezes, Alfred; van Oorschot, Paul; Vanstone, Scott (1996). "Chapter 5: Pseudorandom Bits and Sequences" (PDF). Handbook of Applied Cryptography. CRC Press.
  18. ^ Young, Adam; Yung, Moti (2025-08-04). Malicious Cryptography: Exposing Cryptovirology. John Wiley & Sons. sect 3.5.1. ISBN 978-0-7645-4975-5.
  19. ^ Kelsey, John; Schneier, Bruce; Ferguson, Niels (August 1999). "Yarrow-160: Notes on the Design and Analysis of the Yarrow Cryptographic Pseudorandom Number Generator" (PDF). Sixth Annual Workshop on Selected Areas in Cryptography. Lecture Notes in Computer Science. Vol. 1758. pp. 13–33. doi:10.1007/3-540-46513-8_2. ISBN 978-3-540-67185-5.
  20. ^ Daniel J. Bernstein (2025-08-04). "cr.yp.to: 2014.02.05: Entropy Attacks!". Is there any serious argument that adding new entropy all the time is a good thing? The Linux /dev/urandom manual page claims that without new entropy the user is "theoretically vulnerable to a cryptographic attack", but (as I've mentioned in various venues) this is a ludicrous argument
  21. ^ "FIPS 186-4" (PDF).
  22. ^ Kan, Wilson (September 4, 2007). "Analysis of Underlying Assumptions in NIST DRBGs" (PDF). Retrieved November 19, 2016.
  23. ^ Ye, Katherine Qinru (April 2016). "The Notorious PRG: Formal verification of the HMAC-DRBG pseudorandom number generator" (PDF). Retrieved November 19, 2016.
  24. ^ a b c Campagna, Matthew J. (November 1, 2006). "Security Bounds for the NIST Codebook-based Deterministic Random Bit Generator" (PDF). Retrieved November 19, 2016.
  25. ^ Perlroth, Nicole (September 10, 2013). "Government Announces Steps to Restore Confidence on Encryption Standards". The New York Times. Retrieved November 19, 2016.
  26. ^ Computer Security Division, Information Technology Laboratory (24 May 2016). "Random Number". CSRC | NIST.
  27. ^ Rukhin, Andrew; Soto, Juan; Nechvatal, James; Smid, Miles; Barker, Elaine; Leigh, Stefan; Levenson, Mark; Vangel, Mark; Banks, David; Heckert, N.; Dray, James; Vo, San; Bassham, Lawrence (April 30, 2010). "A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications". NIST. doi:10.6028/NIST.SP.800-22r1a – via csrc.nist.gov.
  28. ^ James Borger; Glenn Greenwald (6 September 2013). "Revealed: how US and UK spy agencies defeat internet privacy and security". The Guardian. Retrieved 7 September 2013.
  29. ^ Nicole Perlroth (5 September 2013). "N.S.A. Able to Foil Basic Safeguards of Privacy on Web". The New York Times. Retrieved 7 September 2013.
  30. ^ Bruce Schneier (15 November 2007). "Did NSA Put a Secret Backdoor in New Encryption Standard?". Wired. Retrieved 7 September 2013.
  31. ^ Matthew Green (20 September 2013). "RSA warns developers not to use RSA products".
  32. ^ Joseph Menn (20 December 2013). "Exclusive: Secret contract tied NSA and security industry pioneer". Reuters.
  33. ^ Shaanan Cohney; Matthew D. Green; Nadia Heninger. "Practical state recovery attacks against legacy RNG implementations" (PDF). duhkattack.com.
  34. ^ "DUHK Crypto Attack Recovers Encryption Keys, Exposes VPN Connections". slashdot.org. 25 October 2017. Retrieved 25 October 2017.
[edit]
5月26号是什么日子 外甥女是什么关系 嘴唇上有痣代表什么 下嘴唇跳动是什么原因 猪心炖什么补气补血
hbv是什么病毒 全麦是什么意思 咳嗽恶心干呕是什么原因引起的 补中益气丸治什么病 例假推迟是什么原因引起的
早上吃玉米有什么好处 清五行属什么 福建岩茶属于什么茶 什么是双减 什么不安
股癣是什么样子的图片 升是什么意思 吃什么能让月经快点来 2019年是什么生肖 扁桃体挂什么科
胎梦梦见蛇是什么意思hcv7jop7ns3r.cn 男朋友昵称叫什么好听hcv9jop0ns0r.cn 瑶浴spa是什么意思hcv8jop7ns7r.cn 刺五加配什么药治失眠hcv8jop0ns7r.cn 24是什么生肖huizhijixie.com
介意是什么意思hcv7jop6ns7r.cn 阿昔洛韦是什么药hcv9jop1ns5r.cn 火花是什么意思hcv9jop0ns3r.cn 扁桃体发炎挂什么科baiqunet.com 恐龙为什么叫恐龙hcv9jop4ns4r.cn
10月是什么月hcv8jop1ns8r.cn 摩羯座女和什么星座最配hcv8jop4ns8r.cn 支气管炎改变什么意思hcv9jop6ns9r.cn 金字旁目字读什么hcv9jop0ns5r.cn 水潴留是什么意思hcv7jop5ns2r.cn
4月19是什么星座hcv8jop3ns3r.cn 黄瓜什么时候种hcv8jop7ns5r.cn 股癣用什么药膏好得快hcv8jop5ns2r.cn e是什么hcv8jop0ns8r.cn 贫血的人来姨妈会有什么症状hcv8jop7ns2r.cn
百度