RDRAND

From alpha
Jump to navigation Jump to search

RDRAND(रैंडम पढ़ने के लिए; इंटेल सिक्योर की टेक्नोलॉजी के रूप में जाना जाता है,[1] कोडनेम बुल माउंटेन[2]) एक इंटेल ऑन-चिप हार्डवेयर यादृच्छिक संख्या जनरेटर से यादृच्छिक संख्याएं लौटाने के लिए एक निर्देश (कंप्यूटर विज्ञान) है जिसे ऑन-चिप एन्ट्रॉपी स्रोत द्वारा सीड किया गया है।[3] इंटेल ने 2012 के आसपास यह सुविधा पेश की, और एएमडी ने जून 2015 में निर्देश के लिए समर्थन जोड़ा।RDRAND आइवी ब्रिज (माइक्रोआर्किटेक्चर) प्रोसेसर में उपलब्ध है[lower-alpha 1] और Intel 64 और IA-32 निर्देश सेट का हिस्सा है।) [5]

यादृच्छिक संख्या जनरेटर सुरक्षा और क्रिप्टोग्राफ़िक मानकों जैसे NIST SP 800-90A के अनुरूप है।[6] FIPS 140-2, और ANSI X9.82।[3]इंटेल ने 2012 में क्रिप्टोग्राफी रिसर्च इंक से रैंडम नंबर जेनरेटर की समीक्षा करने का भी अनुरोध किया, जिसके परिणामस्वरूप इंटेल के आइवी ब्रिज डिजिटल रैंडम नंबर जेनरेटर का पेपर विश्लेषण सामने आया।[7]

RDSEEDके समान है RDRAND और एन्ट्रापी-जनरेटिंग हार्डवेयर तक निचले स्तर की पहुंच प्रदान करता है। RDSEED ई> जनरेटर और प्रोसेसर निर्देश rdseed ब्रॉडवेल (माइक्रोआर्किटेक्चर) के साथ उपलब्ध हैं[8] और ज़ेन (माइक्रोआर्किटेक्चर)[9]


== सिंहावलोकन == CPUID ई> निर्देश का उपयोग एएमडी और इंटेल सेंट्रल प्रोसेसिंग यूनिट दोनों पर यह जांचने के लिए किया जा सकता है कि क्या RDRAND अनुदेश समर्थित है. यदि ऐसा है, तो CPUID मानक फ़ंक्शन को कॉल करने के बाद ECX रजिस्टर का बिट 30 सेट किया जाता है 01H.[10] एएमडी प्रोसेसर को उसी परीक्षण का उपयोग करके फीचर के लिए जांचा जाता है।[11] RDSEED इंटेल सीपीयू पर उपलब्धता की जांच इसी तरीके से की जा सकती है। अगर RDSEED समर्थित है, EBX रजिस्टर का बिट 18 CPUID मानक फ़ंक्शन को कॉल करने के बाद सेट किया गया है 07H.[12] के लिए ऑपकोड RDRAND है 0x0F 0xC7, उसके बाद एक ModRM बाइट होती है जो गंतव्य रजिस्टर को निर्दिष्ट करती है और वैकल्पिक रूप से 64-बिट मोड में REX उपसर्ग के साथ संयुक्त होती है।[13] इंटेल सिक्योर की दोनों के लिए इंटेल का नाम है RDRAND निर्देश और अंतर्निहित यादृच्छिक संख्या जनरेटर (आरएनजी) हार्डवेयर कार्यान्वयन,[3]जिसे विकास के दौरान बुल माउंटेन नाम दिया गया था।[14]इंटेल अपने RNG को डिजिटल रैंडम नंबर जनरेटर या DRNG कहता है। जनरेटर हार्डवेयर एन्ट्रापी स्रोत द्वारा उत्पन्न 256-बिट कच्चे एन्ट्रापी नमूनों के जोड़े लेता है और उन्हें एक उन्नत एन्क्रिप्शन मानक (एईएस) (सीबीसी-मैक मोड में) कंडीशनर पर लागू करता है जो उन्हें एकल 256-बिट वातानुकूलित एन्ट्रापी नमूने में बदल देता है। एनआईएसटी एसपी 800-90ए में परिभाषित सीटीआर डीआरबीजी नामक एक नियतात्मक यादृच्छिक-बिट जनरेटर को कंडीशनर से आउटपुट द्वारा सीड किया जाता है, जो उनके माध्यम से अनुरोध करने वाले अनुप्रयोगों को क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्या प्रदान करता है। RDRAND निर्देश।[3][14] बीज मूल्य बदलने से पहले हार्डवेयर अधिकतम 511 128-बिट नमूने जारी करेगा। का उपयोग RDSEED ऑपरेशन एईएस-सीबीसी-मैक से वातानुकूलित 256-बिट नमूनों तक पहुंच प्रदान करता है। RDSEED ई> अन्य छद्म यादृच्छिक संख्या जनरेटर को सीडिंग करने के लिए इंटेल सिक्योर कुंजी में निर्देश जोड़ा गया था,[15] ब्रॉडवेल (माइक्रोआर्किटेक्चर) सीपीयू में उपलब्ध है। के लिए एन्ट्रापी स्रोत RDSEED निर्देश स्व-समयबद्ध सर्किट पर अतुल्यकालिक रूप से चलता है और 3 गीगाहर्ट्ज़ की दर से बिट्स की यादृच्छिक स्ट्रीम आउटपुट करने के लिए सिलिकॉन के भीतर थर्मल शोर का उपयोग करता है,[16] से प्राप्त होने वाले प्रभावी 6.4 Gbit/s से धीमा RDRAND (दोनों दरें सभी मल्टी-कोर प्रोसेसर और थ्रेड (कंप्यूटिंग) के बीच साझा की जाती हैं)।[17] RDSEED ई> निर्देश का उद्देश्य मनमानी चौड़ाई के एक सॉफ्टवेयर पीआरएनजी को सीड करना है, जबकि RDRAND यह उन अनुप्रयोगों के लिए है जिनके लिए केवल उच्च-गुणवत्ता वाले यादृच्छिक संख्याओं की आवश्यकता होती है। यदि क्रिप्टोग्राफ़िक सुरक्षा की आवश्यकता नहीं है, तो Xorshift जैसा सॉफ़्टवेयर PRNG आमतौर पर तेज़ होता है।[18]


प्रदर्शन

इंटेल कोर i7-7700K, 4500 मेगाहर्ट्ज (45 × 100 मेगाहर्ट्ज) प्रोसेसर (केबी लेक-एस माइक्रोआर्किटेक्चर) पर, एक एकल RDRAND या RDSEED ऑपरेंड आकार (16/32/64 बिट्स) की परवाह किए बिना निर्देश में 110 एनएस या 463 घड़ी चक्र लगते हैं। घड़ी चक्रों की यह संख्या स्काईलेक (माइक्रोआर्किटेक्चर) या केबी झील माइक्रोआर्किटेक्चर वाले सभी प्रोसेसर पर लागू होती है। सिल्वरमोंट माइक्रोआर्किटेक्चर प्रोसेसर पर, ऑपरेंड आकार की परवाह किए बिना, प्रत्येक निर्देश लगभग 1472 घड़ी चक्र लेता है; और आइवी ब्रिज (माइक्रोआर्किटेक्चर) प्रोसेसर पर RDRAND 117 घड़ी चक्र तक का समय लगता है।[19] AMD Ryzen CPU पर, प्रत्येक निर्देश 16-बिट या 32-बिट ऑपरेंड के लिए लगभग 1200 घड़ी चक्र और 64-बिट ऑपरेंड के लिए लगभग 2500 घड़ी चक्र लेता है।[19]

एक खगोल भौतिकी मोंटे कार्लो सिम्युलेटर ने 10 उत्पन्न करने के लिए समय की जांच की764-बिट यादृच्छिक संख्याओं का उपयोग करना RDRAND क्वाड-कोर इंटेल i7-3740 QM प्रोसेसर पर। उन्होंने पाया कि C का कार्यान्वयन RDRAND C में डिफ़ॉल्ट यादृच्छिक संख्या जनरेटर की तुलना में लगभग 2× धीमा चला, और मेर्सन ट्विस्टर की तुलना में लगभग 20× धीमा चला। हालाँकि का एक पायथन मॉड्यूल RDRAND का निर्माण किया गया है, यह पायथन में डिफ़ॉल्ट यादृच्छिक संख्या जनरेटर की तुलना में 20× धीमा पाया गया,[20] हालाँकि छद्म यादृच्छिक संख्या जनरेटर और सीएसपीआरएनजी के बीच प्रदर्शन की तुलना नहीं की जा सकती है।

जून 2020 में इंटेल द्वारा जारी एक माइक्रोकोड अपडेट, जिसे क्रॉसटॉक भेद्यता को कम करने के लिए डिज़ाइन किया गया है (नीचे # सुरक्षा समस्या अनुभाग देखें), प्रदर्शन पर नकारात्मक प्रभाव डालता है RDRAND और RDSEED अतिरिक्त सुरक्षा नियंत्रणों के कारण. लागू किए गए शमन वाले प्रोसेसर पर, प्रत्येक प्रभावित निर्देश अतिरिक्त विलंबता और साथ ही निष्पादन को लागू करता है RDRAND या RDSEED कोर के पार प्रभावी ढंग से क्रमबद्ध है। इंटेल ने इन सुरक्षा जांचों में ढील देने के लिए एक तंत्र पेश किया, जिससे अधिकांश परिदृश्यों में प्रदर्शन प्रभाव कम हो गया, लेकिन इंटेल प्रोसेसर डिफ़ॉल्ट रूप से इस सुरक्षा छूट को लागू नहीं करते हैं।[21]


संकलक

विज़ुअल C++ 2015 इसके लिए आंतरिक रैपर समर्थन प्रदान करता है RDRAND और RDSEED कार्य करता है।[22] जीएनयू संकलक संग्रह 4.6+ और बजना 3.2+ के लिए आंतरिक कार्य प्रदान करते हैं RDRAND कब -mrdrnd CFLAGS में निर्दिष्ट है,[23] सेटिंग भी __RDRND__ सशर्त संकलन की अनुमति देने के लिए. नए संस्करण अतिरिक्त रूप से प्रदान करते हैं immintrin.h इन बिल्ट-इन को इंटेल के सी कंपाइलर के संस्करण 12.1+ के साथ संगत कार्यों में लपेटने के लिए। ये फ़ंक्शन अपने पैरामीटर द्वारा बताए गए स्थान पर यादृच्छिक डेटा लिखते हैं, और सफलता पर 1 लौटाते हैं।[24]


अनुप्रयोग

इसका उपयोग करके क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्याएँ उत्पन्न करने का एक विकल्प है RDRAND और RDSEED ओपनएसएसएल में, सुरक्षित संचार में सहायता के लिए।

का वैज्ञानिक अनुप्रयोग RDRAND मोंटे कार्लो विधि में सिम्युलेटर का मूल्यांकन अन्य यादृच्छिक संख्या जनरेटर की तुलना में प्रदर्शन और प्रतिलिपि प्रस्तुत करने योग्यता पर ध्यान केंद्रित करते हुए किया गया था। इससे यह निष्कर्ष निकला कि उपयोग करना RDRAND मेर्सन के विपरीत ट्विस्टर अलग-अलग परिणाम नहीं देता है, बल्कि खराब प्रदर्शन और प्रतिलिपि प्रस्तुत करने योग्यता प्रदान करता है।[25][20]


रिसेप्शन

सितंबर 2013 मेंदी न्यू यौर्क टाइम्स के लेख ग्लोबल सर्विलांस डिस्क्लोजर (2013-वर्तमान)#सितंबर|के जवाब में एनएसए के एन्क्रिप्शन को कमजोर करने के प्रयास का खुलासा हुआ,[26] थियोडोर त्सो ने सार्वजनिक रूप से इसके उपयोग के संबंध में पोस्ट किया RDRAND के लिए /dev/random लिनक्स कर्नेल में:[27]

I am so glad I resisted pressure from Intel engineers to let /dev/random rely only on the RDRAND instruction. To quote from the [New York Times article[26]]: "By this year, the Sigint Enabling Project had found ways inside some of the encryption chips that scramble information for businesses and governments, either by working with chipmakers to insert back doors..." Relying solely on the hardware random number generator which is using an implementation sealed inside a chip which is impossible to audit is a BAD idea.

लिनस टोरवाल्ड्स ने के उपयोग के बारे में चिंताओं को खारिज कर दिया RDRAND लिनक्स कर्नेल में और बताया कि इसका उपयोग एन्ट्रापी के एकमात्र स्रोत के रूप में नहीं किया जाता है /dev/random, बल्कि इससे प्राप्त मूल्यों को संयोजित करके एन्ट्रापी में सुधार करने के लिए उपयोग किया जाता है RDRAND यादृच्छिकता के अन्य स्रोतों के साथ.[28][29] हालाँकि, डिफ्यूज़ सिक्योरिटी के टेलर हॉर्बी ने प्रदर्शित किया कि यदि पिछले दरवाजे को लिनक्स में पेश किया जाता है तो लिनक्स यादृच्छिक संख्या जनरेटर असुरक्षित हो सकता है। RDRAND निर्देश जो विशेष रूप से इसका उपयोग करने वाले कोड को लक्षित करता है। हॉर्नबी का प्रूफ़-ऑफ़-कॉन्सेप्ट कार्यान्वयन संस्करण 3.13 से पहले एक असंशोधित लिनक्स कर्नेल पर काम करता है।[30][31][32] 2013 में लिनक्स कर्नेल में समस्या को कम कर दिया गया था।[33] डेवलपर्स ने फ्रीबीएसडी कर्नेल को उपयोग से दूर कर दिया RDRAND और वीआईए पैडलॉक सीधे फ्रीबीएसडी 10 के लिए टिप्पणी के साथ, हम पीछे हटने और हटाने जा रहे हैं RDRAND और पैडलॉक बैकएंड करता है और अपने आउटपुट को सीधे /dev/random पर वितरित करने के बजाय उन्हें यारो एल्गोरिथ्म में फ़ीड करता है। हार्डवेयर यादृच्छिक संख्या जनरेटर तक पहुंच अभी भी संभव होगी, अर्थात, RDRAND, पैडलॉक इत्यादि, सीधे इनलाइन असेंबली द्वारा या यदि आवश्यक हो तो यूजरलैंड से ओपनएसएसएल का उपयोग करके, लेकिन हम अब उन पर भरोसा नहीं कर सकते हैं।[28][34] FreeBSD /dev/random Fortona (PRNG) और RDRAND का उपयोग FreeBSD 11 से शुरू हुआ।[35]


सुरक्षा मुद्दे

9 जून 2020 को, व्रीजे यूनिवर्सिटिट एम्स्टर्डम के शोधकर्ताओं ने क्रॉसटॉक नामक एक साइड-चैनल हमला प्रकाशित किया (CVE-2020-0543 ) जिसका प्रभाव पड़ा RDRAND कई इंटेल प्रोसेसर पर।[36] उन्होंने पाया कि हार्डवेयर डिजिटल रैंडम नंबर जेनरेटर (डीआरएनजी) से आउटपुट एक स्टेजिंग बफर में संग्रहीत किए गए थे जो सभी कोर में साझा किए गए थे। भेद्यता ने प्रभावित प्रोसेसर पर चल रहे दुर्भावनापूर्ण कोड को पढ़ने की अनुमति दी RDRAND और RDSEED निर्देश उसी प्रोसेसर के किसी अन्य कोर पर चलने वाले पीड़ित एप्लिकेशन से प्राप्त होता है, जिसमें सॉफ्टवेयर गार्ड एक्सटेंशन के अंदर चलने वाले एप्लिकेशन भी शामिल हैं।[36]शोधकर्ताओं ने एक प्रूफ-ऑफ-कॉन्सेप्ट शोषण विकसित किया[37] जिसने केवल एक सिग्नेचर ऑपरेशन के बाद एक अलग सीपीयू कोर पर चलने वाले एसजीएक्स एन्क्लेव से एक पूर्ण अण्डाकार वक्र डिजिटल हस्ताक्षर एल्गोरिदम कुंजी निकाली।[36]भेद्यता उन परिदृश्यों को प्रभावित करती है जहां अविश्वसनीय कोड एक ही प्रोसेसर पर विश्वसनीय कोड के साथ चलता है, जैसे कि साझा होस्टिंग वातावरण में।

इंटेल क्रॉसटॉक भेद्यता को विशेष रजिस्टर बफर डेटा सैंपलिंग (एसआरबीडीएस) के रूप में संदर्भित करता है। शोध के जवाब में, इंटेल ने समस्या को कम करने के लिए माइक्रोकोड अपडेट जारी किया। अद्यतन माइक्रोकोड यह सुनिश्चित करता है कि संवेदनशील संचालन तक ऑफ-कोर एक्सेस में देरी हो – विशेष रूप से RDRAND, RDSEED, और EGETKEY निर्देश – पूर्ण हो गए हैं और स्टेजिंग बफ़र को अधिलेखित कर दिया गया है।[21] एसआरबीडीएस हमला अन्य निर्देशों को भी प्रभावित करता है, जैसे कि वे जो मॉडल-विशिष्ट रजिस्टर पढ़ते हैं, लेकिन प्रदर्शन संबंधी चिंताओं और उन निर्देशों के परिणामों की गोपनीयता की कम आवश्यकता के कारण इंटेल ने उन पर अतिरिक्त सुरक्षा सुरक्षा लागू नहीं की।[21]2012 और 2019 के बीच जारी इंटेल प्रोसेसर की एक विस्तृत श्रृंखला प्रभावित हुई, जिसमें डेस्कटॉप, मोबाइल और सर्वर प्रोसेसर शामिल हैं।[38] प्रभावित निर्देशों का उपयोग करते समय शमन के परिणामस्वरूप नकारात्मक प्रदर्शन प्रभाव पड़ता है, खासकर जब बहु-थ्रेडेड अनुप्रयोगों द्वारा समानांतर में निष्पादित किया जाता है, सुरक्षा जांच द्वारा शुरू की गई विलंबता में वृद्धि और कोर में प्रभावित निर्देशों के प्रभावी क्रमबद्धता के कारण। इंटेल ने एक ऑप्ट-आउट विकल्प पेश किया, जिसे इसके माध्यम से कॉन्फ़िगर किया जा सकता है IA32_MCU_OPT_CTRL प्रत्येक लॉजिकल प्रोसेसर पर एमएसआर, जो एसजीएक्स एन्क्लेव के बाहर निष्पादित निर्देशों के लिए अतिरिक्त सुरक्षा जांच को अक्षम करके प्रदर्शन में सुधार करता है।[21]


यह भी देखें

टिप्पणियाँ

  1. In some Ivy Bridge versions, due to a bug, the RDRAND instruction causes an Illegal Instruction exception.[4]


संदर्भ

  1. "What is Intel® Secure Key Technology?". Intel. Retrieved 2020-09-23.
  2. Hofemeier, Gael (2011-06-22). "Find out about Intel's new RDRAND Instruction". Intel Developer Zone Blogs. Retrieved 30 December 2013.
  3. 3.0 3.1 3.2 3.3 "Intel Digital Random Number Generator (DRNG): Software Implementation Guide, Revision 1.1" (PDF). Intel Corporation. 2012-08-07. Retrieved 2012-11-25.
  4. Desktop 3rd Generation Intel Core Processor Family, Specification Update (PDF). Intel Corporation. January 2013.
  5. "AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions" (PDF). AMD Developer Guides, Manuals & ISA Documents. June 2015. Retrieved 16 October 2015.
  6. Barker, Elaine; Kelsey, John (January 2012). "नियतात्मक यादृच्छिक बिट जनरेटर का उपयोग करके यादृच्छिक संख्या सृजन के लिए अनुशंसा" (PDF). National Institute of Standards and Technology. doi:10.6028/NIST.SP.800-90A. Retrieved September 16, 2013. {{cite journal}}: Cite journal requires |journal= (help)
  7. Hamburg, Mike; Kocher, Paul; Marson, Mark (2012-03-12). "Analysis of Intel's Ivy Bridge Digital Random Number Generator" (PDF). Cryptography Research, Inc. Archived from the original (PDF) on 2014-12-30. Retrieved 2015-08-21.
  8. Hofemeier, Gael (2012-07-26). "Introduction to Intel AES-NI and Intel SecureKey Instructions". Intel Developer Zone. Intel. Retrieved 2015-10-24.
  9. "एएमडी ने नेक्स्ट-जेन "ज़ेन" आर्किटेक्चर पर लिनक्स इनेबलमेंट शुरू किया - फोरोनिक्स". www.phoronix.com. Retrieved 2015-10-25.
  10. "Volume 1, Section 7.3.17, 'Random Number Generator Instruction'" (PDF). Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B and 3C. Intel Corporation. June 2013. p. 177. Retrieved 24 June 2013. All Intel processors that support the RDRAND instruction indicate the availability of the RDRAND instruction via reporting CPUID.01H:ECX.RDRAND[bit 30] = 1
  11. "AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions" (PDF). AMD. June 2015. p. 278. Retrieved 15 October 2015. Support for the RDRAND instruction is optional. On processors that support the instruction, CPUID Fn0000_0001_ECX[RDRAND] = 1
  12. "Volume 1, Section 7.3.17, 'Random Number Generator Instruction'" (PDF). Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 3A, 3B and 3C. Intel Corporation. June 2013. p. 177. Retrieved 25 October 2015. All Intel processors that support the RDSEED instruction indicate the availability of the RDSEED instruction via reporting CPUID.(EAX=07H, ECX=0H):EBX.RDSEED[bit 18] = 1
  13. "Intel® Digital Random Number Generator (DRNG) Software Implementation Guide". Software.intel.com. Retrieved 2014-01-30.
  14. 14.0 14.1 Taylor, Greg; Cox, George (September 2011). "इंटेल के नए रैंडम-नंबर जेनरेटर के पीछे". IEEE Spectrum.
  15. John Mechalas (November 2012). "RDRAND और RDSEED के बीच अंतर". software.intel.com. Intel Corporation. Retrieved 1 January 2014.
  16. Mechalas, John. "Intel Digital Random Number Generator (DRNG) Software Implementation Guide, Section 3.2.1 Entropy Source (ES)". Intel Software. Intel. Retrieved 18 February 2015.
  17. https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide says 800 megabytes, which is 6.4 gigabits per second.
  18. The simplest 64-bit implementation of Xorshift has 3 XORs and 3 shifts; if these are executed in a tight loop on 4 cores at 2 GHz, the throughput is 80 Gb/s. In practice it will be less due to load/store overheads etc, but is still likely to exceed the 6.4 Gb/s of RDRAND. On the other hand, the quality of RDRAND's numbers should be higher than that of a software PRNG like Xorshift.
  19. 19.0 19.1 http://www.agner.org/optimize/instruction_tables.pdf[bare URL PDF]
  20. 20.0 20.1 Route, Matthew (August 10, 2017). "रेडियो-फ्लेयरिंग अल्ट्राकूल बौना जनसंख्या संश्लेषण". The Astrophysical Journal. 845 (1): 66. arXiv:1707.02212. Bibcode:2017ApJ...845...66R. doi:10.3847/1538-4357/aa7ede. S2CID 118895524.
  21. 21.0 21.1 21.2 21.3 "विशेष रजिस्टर बफ़र डेटा नमूनाकरण". Intel. Retrieved 26 December 2020.
  22. "x86 intrinsics list". docs.microsoft.com. 2020-02-28. Retrieved 2020-05-07.
  23. "X86 Built-in Functions - Using the GNU Compiler Collection (GCC)".
  24. "Intel® C++ Compiler 19.1 Developer Guide and Reference". 2019-12-23.
  25. Route, Matthew (2019). "इंटेल सिक्योर की-पावर्ड रेडियो-फ्लेयरिंग अल्ट्राकूल ड्वार्फ पॉपुलेशन सिंथेसिस". American Astronomical Society Meeting Abstracts #234. American Astronomical Society Meeting #234, id. 207.01. Bulletin of the American Astronomical Society, Vol. 51, No. 4. 234. Bibcode:2019AAS...23420701R.
  26. 26.0 26.1 Perlroth, Nicole; Larson, Jeff; Shane, Scott (September 5, 2013). "N.S.A. Able to Foil Basic Safeguards of Privacy on Web". The New York Times. Retrieved November 15, 2017.
  27. Ts'o, Theodore (September 6, 2013). "I am so glad I resisted pressure from Intel engineers to let /dev/random rely..." Archived from the original on 2018-06-11.
  28. 28.0 28.1 Richard Chirgwin (2013-12-09). "फ्रीबीएसडी हार्डवेयर यादृच्छिकता को त्याग रहा है". The Register.
  29. Gavin Clarke (10 September 2013). "टोरवाल्ड्स ने लिनक्स क्रिप्टो में 'बैकडोर' इंटेल RDRAND को हटाने के लिए कॉल को खारिज कर दिया". theregister.co.uk. Retrieved 12 March 2014.
  30. Taylor Hornby (6 December 2013). "RDRAND backdoor proof of concept is working! Stock kernel (3.8.13), only the RDRAND instruction is modified". Retrieved 9 April 2015.
  31. Taylor Hornby [@DefuseSec] (10 September 2013). "I wrote a short dialogue explaining why Linux's use of RDRAND is problematic. http://pastebin.com/A07q3nL3 /cc @kaepora @voodooKobra" (Tweet). Retrieved 11 January 2016 – via Twitter.
  32. Daniel J. Bernstein; Tanja Lange (16 May 2014). "यादृच्छिकता पीढ़ी" (PDF). Retrieved 9 April 2015.
  33. Ts'o, Theodore (2013-10-10). "random: mix in architectural randomness earlier in extract_buf()". GitHub. Retrieved 30 July 2021.
  34. "फ्रीबीएसडी त्रैमासिक स्थिति रिपोर्ट". Freebsd.org. Retrieved 2014-01-30.
  35. "random(4)". www.freebsd.org. Retrieved 2020-09-25.
  36. 36.0 36.1 36.2 Ragab, Hany; Milburn, Alyssa; Razavi, Kaveh; Bos, Herbert; Giuffrida, Cristiano. "CrossTalk: Speculative Data Leaks Across Cores Are Real" (PDF). Systems and Network Security Group, Vrije Universiteit Amsterdam (VUSec). Retrieved 26 December 2020.
  37. "VUSec RIDL cpuid_leak PoC, modified to leak rdrand output". GitHub. Retrieved 26 December 2020.
  38. "Processors Affected: Special Register Buffer Data Sampling". Intel Developer Zone. Retrieved 26 December 2020.


बाहरी संबंध