पीबीकेडीएफ2: Difference between revisions

From Vigyanwiki
m (Deepak moved page मैं गर्म हूं to पीबीकेडीएफ2 without leaving a redirect)
No edit summary
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{short description|Standard for a password-based key derivation function}}
{{short description|Standard for a password-based key derivation function}}
{{use mdy dates|date=May 2022}}
[[क्रिप्टोग्राफी]] में, '''पीबीकेडीएफ1 और पीबीकेडीएफ2 (पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 1 और 2)''' स्लाइडिंग कम्प्यूटेशनल लागत के साथ प्रमुख व्युत्पत्ति फ़ंक्शन हैं, जिनका उपयोग ब्रूट-फ़ोर्स आक्षेप की भेद्यता को कम करने के लिए किया जाता है।<ref name="RFC3962" />
 
[[क्रिप्टोग्राफी]] में, PBKDF1 और PBKDF2 (पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 1 और 2) एक स्लाइडिंग कम्प्यूटेशनल लागत के साथ प्रमुख व्युत्पत्ति कार्य हैं, जिनका उपयोग ब्रूट-फ़ोर्स हमलों की भेद्यता को कम करने के लिए किया जाता है।<ref name="RFC3962"/>
 
पीबीकेडीएफ2 [[आरएसए प्रयोगशालाओं]] की सार्वजनिक-कुंजी क्रिप्टोग्राफ़ी मानक (पीकेसीएस) श्रृंखला का हिस्सा है, विशेष रूप से पीकेसीएस{{nbsp}}#5 v2.0, [[इंटरनेट इंजीनियरिंग टास्क फोर्स]] के RFC के रूप में भी प्रकाशित{{nbsp}2898. यह PBKDF1 का स्थान लेता है, जो केवल 160 बिट तक की व्युत्पन्न कुंजी का उत्पादन कर सकता है।<ref>{{Cite journal|title = PKCS{{nbsp}}#5: Password-Based Cryptography Specification, Version 2.0 |url=http://tools.ietf.org/html/rfc2898#section-5.2 |id=RFC{{nbsp}}2898 |website = tools.ietf.org |access-date = 2015-10-23|first = Burt|last = Kaliski|year=2000 |doi=10.17487/RFC2898 |author-link=Burt Kaliski|doi-access=free }}</ref> आरएफसी{{nbsp}}8018 (पीकेसीएस{{nbsp}}#5 v2.1), 2017 में प्रकाशित, पासवर्ड हैशिंग के लिए PBKDF2 की अनुशंसा करता है।<ref>{{cite journal |id=RFC{{nbsp}}8018 |title=PKCS{{nbsp}}#5: Password-Based Cryptography Specification, Version 2.1 |first=Kathleen |last=Moriarty |editor-first1=K |editor-last1=Moriarty |display-authors=etal |url=https://tools.ietf.org/html/rfc8018 |website = tools.ietf.org|year=2017 |doi=10.17487/RFC8018 }}</ref>
 


पीबीकेडीएफ2 [[आरएसए प्रयोगशालाओं]] की सार्वजनिक-कुंजी क्रिप्टोग्राफ़ी मानक (पीकेसीएस) श्रृंखला का हिस्सा है, विशेष रूप से पीकेसीएस#5 v2.0, [[इंटरनेट इंजीनियरिंग टास्क फोर्स]] के आरएफसी 2898 के रूप में भी प्रकाशित किया गया है। यह पीबीकेडीएफ1 का अधिक्रमण करता है, जो केवल 160 बिट तक लंबी व्युत्पन्न कुंजी का उत्पादन कर सकता है।<ref>{{Cite journal|title = PKCS{{nbsp}}#5: Password-Based Cryptography Specification, Version 2.0 |url=http://tools.ietf.org/html/rfc2898#section-5.2 |id=RFC{{nbsp}}2898 |website = tools.ietf.org |access-date = 2015-10-23|first = Burt|last = Kaliski|year=2000 |doi=10.17487/RFC2898 |author-link=Burt Kaliski|doi-access=free }}</ref> आरएफसी 8018 (पीकेसीएस#5 v2.1), 2017 में प्रकाशित, पासवर्ड हैशिंग के लिए पीबीकेडीएफ2 की अनुशंसा करता है।<ref>{{cite journal |id=RFC{{nbsp}}8018 |title=PKCS{{nbsp}}#5: Password-Based Cryptography Specification, Version 2.1 |first=Kathleen |last=Moriarty |editor-first1=K |editor-last1=Moriarty |display-authors=etal |url=https://tools.ietf.org/html/rfc8018 |website = tools.ietf.org|year=2017 |doi=10.17487/RFC8018 }}</ref>
== उद्देश्य और संचालन ==
== उद्देश्य और संचालन ==
PBKDF2 [[नमक (क्रिप्टोग्राफी)]] मान के साथ इनपुट [[पासवर्ड]] या [[पदबंध]] के लिए [[हैश-आधारित संदेश प्रमाणीकरण कोड]] (HMAC) जैसे छद्म-यादृच्छिक फ़ंक्शन को लागू करता है और एक व्युत्पन्न कुंजी उत्पन्न करने के लिए प्रक्रिया को कई बार दोहराता है, जिसे तब उपयोग किया जा सकता है बाद के कार्यों में एक [[कुंजी (क्रिप्टोग्राफी)]]। जोड़ा गया कम्प्यूटेशनल कार्य [[पासवर्ड क्रैकिंग]] को और अधिक कठिन बना देता है, और इसे [[कुंजी खींचना]] के रूप में जाना जाता है।
पीबीकेडीएफ2 [[नमक (क्रिप्टोग्राफी)|साल्ट (क्रिप्टोग्राफी)]] मान के साथ इनपुट [[पासवर्ड]] या [[पदबंध|पासफ़्रेज़]] के लिए [[हैश-आधारित संदेश प्रमाणीकरण कोड]] (एचएमएसी) जैसे छद्म-यादृच्छिक फ़ंक्शन को लागू करता है और व्युत्पन्न कुंजी उत्पन्न करने के लिए प्रक्रिया को कई बार दोहराता है, जिसे बाद के फ़ंक्शन में तब क्रिप्टोग्राफ़िक कुंजी के रूप में उपयोग किया जा सकता है। जोड़ा गया कम्प्यूटेशनल फ़ंक्शन [[पासवर्ड क्रैकिंग]] को और अधिक कठिन बना देता है, और इसे [[कुंजी खींचना|स्ट्रेचिंग]] के रूप में जाना जाता है।
 
जब मानक वर्ष 2000 में लिखा गया था, तो पुनरावृत्तियों की अनुशंसित न्यूनतम संख्या 1,000 थी, लेकिन सीपीयू की गति में वृद्धि के साथ पैरामीटर को समय के साथ बढ़ाने का इरादा है। 2005 में एक करबरोस (प्रोटोकॉल) मानक ने 4,096 पुनरावृत्तियों की सिफारिश की;<ref name="RFC3962">{{Cite journal|title = Advanced Encryption Standard (AES) Encryption for Kerberos 5|url = http://tools.ietf.org/html/rfc3962|website = tools.ietf.org|access-date = 2015-10-23 |first=Kenneth |last=Raeburn | year=2005 | doi=10.17487/RFC3962 |id=RFC{{nbsp}}3962|doi-access=free }}</ref> Apple Inc. ने कथित तौर पर [[iOS 3]] के लिए 2,000 और [[iOS 4]] के लिए 10,000 का उपयोग किया;<ref>{{Cite web|title = Smartphone Forensics: Cracking BlackBerry Backup Passwords |work=Advanced Password Cracking – Insight |publisher=ElcomSoft |date=30 September 2010 |url=http://blog.elcomsoft.com/2010/09/smartphone-forensics-cracking-blackberry-backup-passwords/ |access-date=2015-10-23}}</ref> जबकि 2011 में [[ लास्ट पास ]] ने [[जावास्क्रिप्ट]] क्लाइंट के लिए 5,000 पुनरावृत्तियों और सर्वर-साइड हैशिंग के लिए 100,000 पुनरावृत्तियों का उपयोग किया।<ref>{{Cite web |title = लास्टपास सुरक्षा अधिसूचना|url=https://blog.lastpass.com/2011/05/lastpass-security-notification/|website = The LastPass Blog|date = 5 May 2011|access-date = 2023-01-31}}</ref> 2023 में, [[OWASP]] ने PBKDF2-HMAC-SHA256 के लिए 600,000 पुनरावृत्तियों और PBKDF2-HMAC-SHA512 के लिए 210,000 पुनरावृत्तियों का उपयोग करने की अनुशंसा की।<ref>{{Cite web |date=15 August 2021 |title=पासवर्ड स्टोरेज चीट शीट|url=https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#pbkdf2 |url-status=live |archive-url=https://web.archive.org/web/20230123232056/https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html |archive-date=23 January 2023 |access-date=2023-01-23 |website=OWASP Cheat Sheet Series}}</ref>
 
[[File:Pbkdf2 nist.png|thumb|पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 2 की पुनरावृत्ति प्रक्रिया का एल्गोरिथम प्रतिनिधित्व।]]पासवर्ड में नमक मिलाने से हमलों के लिए प्रीकंप्यूटेड हैश ([[इंद्रधनुष टेबल]]) का उपयोग करने की क्षमता कम हो जाती है, और इसका मतलब है कि कई पासवर्डों का अलग-अलग परीक्षण किया जाना चाहिए, एक बार में नहीं। सार्वजनिक कुंजी क्रिप्टोग्राफी मानक कम से कम 64 बिट्स की नमक लंबाई की सिफारिश करता है।<ref name="RFC8018s4">{{Cite journal |id=RFC{{nbsp}}8018 |title=PKCS{{nbsp}}#5: Password-Based Cryptography Specification, Version 2.1: Section 4. Salt and Iteration Count |url = https://tools.ietf.org/html/rfc8018#section-4 |website = tools.ietf.org|access-date = 2018-01-24 |first=Kathleen |last=Moriarty |editor-first1=K |editor-last1=Moriarty |year=2017 |doi=10.17487/RFC8018 |display-authors=etal}}</ref> यूएस [[मानक और प्रौद्योगिकी का राष्ट्रीय संस्थान]] 128 बिट्स की नमक लंबाई की सिफारिश करता है।<ref>{{Cite web |id=SP{{nbsp}}800-132 |title=Recommendation for Password-Based Key Derivation Part 1: Storage Applications |url=https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf |website=NIST |access-date = 2018-12-20 |first1=Meltem |last1=Sönmez Turan |first2=Elaine |last2=Barker |first3=William |last3=Burr |first4=Lily |last4=Chen}}</ref>


जब मानक वर्ष 2000 में लिखा गया था, तो पुनरावृत्तियों की अनुशंसित न्यूनतम संख्या 1,000 थी, लेकिन सीपीयू की गति में वृद्धि के साथ पैरामीटर को समय के साथ बढ़ाने का इरादा है। 2005 में करबरोस (प्रोटोकॉल) मानक ने 4,096 पुनरावृत्तियों की अनुशंसा की;<ref name="RFC3962">{{Cite journal|title = Advanced Encryption Standard (AES) Encryption for Kerberos 5|url = http://tools.ietf.org/html/rfc3962|website = tools.ietf.org|access-date = 2015-10-23 |first=Kenneth |last=Raeburn | year=2005 | doi=10.17487/RFC3962 |id=RFC{{nbsp}}3962|doi-access=free }}</ref>एप्पल ने कथित तौर पर [[iOS 3]] के लिए 2,000 और [[iOS 4]] के लिए 10,000 का उपयोग किया;<ref>{{Cite web|title = Smartphone Forensics: Cracking BlackBerry Backup Passwords |work=Advanced Password Cracking – Insight |publisher=ElcomSoft |date=30 September 2010 |url=http://blog.elcomsoft.com/2010/09/smartphone-forensics-cracking-blackberry-backup-passwords/ |access-date=2015-10-23}}</ref> जबकि 2011 में [[ लास्ट पास |लास्ट पास]] ने [[जावास्क्रिप्ट]] क्लाइंट के लिए 5,000 पुनरावृत्तियों और सर्वर-साइड हैशिंग के लिए 100,000 पुनरावृत्तियों का उपयोग किया है।<ref>{{Cite web |title = लास्टपास सुरक्षा अधिसूचना|url=https://blog.lastpass.com/2011/05/lastpass-security-notification/|website = The LastPass Blog|date = 5 May 2011|access-date = 2023-01-31}}</ref> 2023 में, [[OWASP|ओडब्ल्यूएएसपी]] ने पीबीकेडीएफ2-एचएमएसी-एसएचए256 के लिए 600,000 पुनरावृत्तियों और पीबीकेडीएफ2-एचएमएसी-एसएचए512 के लिए 210,000 पुनरावृत्तियों का उपयोग करने की अनुशंसा की है।<ref>{{Cite web |date=15 August 2021 |title=पासवर्ड स्टोरेज चीट शीट|url=https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html#pbkdf2 |url-status=live |archive-url=https://web.archive.org/web/20230123232056/https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html |archive-date=23 January 2023 |access-date=2023-01-23 |website=OWASP Cheat Sheet Series}}</ref>


[[File:Pbkdf2 nist.png|thumb|पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 2 की पुनरावृत्ति प्रक्रिया का एल्गोरिथम प्रतिनिधित्व।]]पासवर्ड में साल्ट से आक्षेप के लिए प्रीकंप्यूटेड हैश ([[इंद्रधनुष टेबल|रेनबो टेबल]]) का उपयोग करने की क्षमता कम हो जाती है, और इसका मतलब है कि एक बार में नहीं कई पासवर्डों का अलग-अलग परीक्षण किया जाना चाहिए। सार्वजनिक कुंजी क्रिप्टोग्राफी मानक कम से कम 64 बिट्स की साल्ट लंबाई की अनुशंसा करता है।<ref name="RFC8018s4">{{Cite journal |id=RFC{{nbsp}}8018 |title=PKCS{{nbsp}}#5: Password-Based Cryptography Specification, Version 2.1: Section 4. Salt and Iteration Count |url = https://tools.ietf.org/html/rfc8018#section-4 |website = tools.ietf.org|access-date = 2018-01-24 |first=Kathleen |last=Moriarty |editor-first1=K |editor-last1=Moriarty |year=2017 |doi=10.17487/RFC8018 |display-authors=etal}}</ref> यूएस [[मानक और प्रौद्योगिकी का राष्ट्रीय संस्थान|के राष्ट्रीय मानक और प्रौद्योगिकी का राष्ट्रीय संस्थान]] 128 बिट्स की साल्ट लंबाई की अनुशंसा की है।<ref>{{Cite web |id=SP{{nbsp}}800-132 |title=Recommendation for Password-Based Key Derivation Part 1: Storage Applications |url=https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf |website=NIST |access-date = 2018-12-20 |first1=Meltem |last1=Sönmez Turan |first2=Elaine |last2=Barker |first3=William |last3=Burr |first4=Lily |last4=Chen}}</ref>
== कुंजी व्युत्पत्ति प्रक्रिया ==
== कुंजी व्युत्पत्ति प्रक्रिया ==
PBKDF2 कुंजी व्युत्पत्ति फ़ंक्शन में पाँच इनपुट पैरामीटर हैं:<ref name=rfc2898>Password-Based Cryptography Specification {{IETF RFC|2898}}</ref>
पीबीकेडीएफ2 कुंजी व्युत्पत्ति फ़ंक्शन में पाँच इनपुट पैरामीटर हैं:<ref name=rfc2898>Password-Based Cryptography Specification {{IETF RFC|2898}}</ref>
:{{math|1=DK = PBKDF2(PRF, {{var|Password}}, {{var|Salt}}, {{var|c}}, {{var|dkLen}})}}
:{{math|1=DK = PBKDF2(PRF, {{var|Password}}, {{var|Salt}}, {{var|c}}, {{var| dkLen}})}}


कहाँ:
जहाँ:
* {{math|PRF}} आउटपुट लंबाई के साथ दो पैरामीटर का छद्म यादृच्छिक कार्य है {{var|hLen}} (उदा., एक बंद HMAC)
* {{math|पीआरएफ}} आउटपुट लंबाई {{var|hLen}} (उदाहरण के लिए, बंद एचएमएसी) के साथ दो मापदंडों का छद्म यादृच्छिक कार्य है।
* {{var|Password}} मास्टर पासवर्ड है जिससे व्युत्पन्न कुंजी उत्पन्न होती है
* {{var|पासवर्ड}} मास्टर पासवर्ड है जिससे व्युत्पन्न कुंजी उत्पन्न होती है
* {{var|Salt}} बिट्स का अनुक्रम है, जिसे नमक (क्रिप्टोग्राफी) के रूप में जाना जाता है
* {{var|साल्ट}} बिट्स का अनुक्रम है, जिसे साल्ट (क्रिप्टोग्राफी) के रूप में जाना जाता है
* {{var|c}} वांछित पुनरावृत्तियों की संख्या है
* {{var|c}} वांछित पुनरावृत्तियों की संख्या है
* {{var|dkLen}} व्युत्पन्न कुंजी की वांछित बिट-लंबाई है
* {{var|डीकेलेन}} व्युत्पन्न कुंजी की वांछित बिट-लंबाई है
* {{var|DK}} उत्पन्न व्युत्पन्न कुंजी है
* {{var|डीके}} उत्पन्न व्युत्पन्न कुंजी है


प्रत्येक {{var|hLen}}-बिट ब्लॉक {{math|T{{sub|{{var|i}}}}}व्युत्पन्न कुंजी का } {{var|DK}}, की गणना निम्नानुसार की जाती है (के साथ {{math|+}} अंकन स्ट्रिंग संयोजन):
व्युत्पन्न कुंजी डीके के प्रत्येक {{var|hLen}}-बिट ब्लॉक {{math|T{{sub|{{var|i}}}}} की गणना निम्नानुसार की जाती है (के साथ {{math|+}} अंकन स्ट्रिंग संयोजन):


:{{math|1={{var|DK}} = T{{sub|1}} + T{{sub|2}} + ⋯ + T{{sub|{{var|dklen}}/{{var|hlen}}}}}}
:{{math|1={{var|DK}} = T{{sub|1}} + T{{sub|2}} + ⋯ + T{{sub|{{var|dklen}}/{{var|hlen}}}}}}
:{{math|1=T{{sub|i}} = F({{var|Password}}, {{var|Salt}}, {{var|c}}, {{var|i}})}}
:{{math|1=T{{sub|i}} = F({{var|Password}}, {{var|Salt}}, {{var|c}}, {{var|i}})}}


कार्यक्रम {{math|F}} [[xor]] है ({{math|^}}) श्रृंखलित PRFs के पुनरावृत्तियों का। PRF का पहला पुनरावृत्ति PRF कुंजी के रूप में पासवर्ड का उपयोग करता है और नमक के साथ जुड़ा हुआ है {{var|i}} इनपुट के रूप में बिग-एंडियन 32-बिट पूर्णांक के रूप में एन्कोड किया गया। (ध्यान दें कि i एक 1-आधारित इंडेक्स है।) PRF के बाद के पुनरावृत्तियों में PRF कुंजी के रूप में पासवर्ड का उपयोग किया जाता है और इनपुट के रूप में पिछले PRF गणना का आउटपुट:
फ़ंक्शन {{math|F}} श्रृंखलित पीआरएफ के {{var|c}} पुनरावृत्तियों का [[xor]] ({{math|^}}) है। पीआरएफ का पहला पुनरावृत्ति पीआरएफ कुंजी के रूप में पासवर्ड का उपयोग करता है और और इनपुट के रूप बिग-एंडियन 32-बिट पूर्णांक के रूप में {{var|i}} एन्कोड साल्ट के साथ जुड़ा हुआ है।(ध्यान दें कि i एक 1-आधारित इंडेक्स है।) पीआरएफ के बाद के पुनरावृत्तियों में पीआरएफ कुंजी के रूप में पासवर्ड का उपयोग किया जाता है और इनपुट के रूप में पिछले पीआरएफ गणना का आउटपुट:


:{{math|1=F({{var|Password}}, {{var|Salt}}, {{var|c}}, {{var|i}}) = U{{sub|1}} ^ U{{sub|2}} ^ ⋯ ^ U{{sub|{{var|c}}}}}}
:{{math|1=F({{var|Password}}, {{var|Salt}}, {{var|c}}, {{var|i}}) = U{{sub|1}} ^ U{{sub|2}} ^ ⋯ ^ U{{sub|{{var|c}}}}}}


कहाँ:
जहाँ:
:{{math|1=U{{sub|1}} = PRF({{var|Password}}, {{var|Salt}} + INT_32_BE({{var|i}}))}}
:{{math|1=U{{sub|1}} = PRF({{var|Password}}, {{var|Salt}} + INT_32_BE({{var|i}}))}}
:{{math|1=U{{sub|2}} = PRF({{var|Password}}, U{{sub|1}})}}
:{{math|1=U{{sub|2}} = PRF({{var|Password}}, U{{sub|1}})}}
Line 46: Line 40:
:{{math|1=DK = PBKDF2(HMAC−SHA1, {{var|passphrase}}, {{var|ssid}}, 4096, 256)}}
:{{math|1=DK = PBKDF2(HMAC−SHA1, {{var|passphrase}}, {{var|ssid}}, 4096, 256)}}


PBKDF1 की एक सरल प्रक्रिया थी: प्रारंभिक U (इस संस्करण में T कहा जाता है) द्वारा बनाया गया है {{math|PRF({{var|Password}} + {{var|Salt}})}}, और निम्नलिखित बस हैं {{math|PRF({{var|U}}{{sub|previous}})}}. कुंजी को अंतिम हैश के पहले dkLen बिट्स के रूप में निकाला जाता है, यही कारण है कि आकार सीमा होती है।<ref name=rfc2898/>
पीबीकेडीएफ1 की सरल प्रक्रिया थी: प्रारंभिक U (इस संस्करण में T कहा जाता है) {{math|PRF({{var|Password}} + {{var|Salt}})}} द्वारा बनाया गया है और निम्नलिखित बस हैं {{math|PRF({{var|U}}{{sub|previous}})}}. कुंजी को अंतिम हैश के पहले dkLen बिट्स के रूप में निकाला जाता है, यही कारण है कि आकार सीमा होती है।<ref name=rfc2898/>
 
== एचएमएसी संघट्ट ==
 
एचएमएसी को अपने छद्म-यादृच्छिक फ़ंक्शन के रूप में उपयोग करते समय पीबीकेडीएफ 2 का रोचक गुण है। प्रत्येक युग्म के भीतर संघट्ट के साथ कई अलग-अलग पासवर्ड युग्म को तुच्छ रूप से बनाना संभव है।<ref>{{Cite web |url=https://mathiasbynens.be/notes/pbkdf2-hmac |title=PBKDF2+HMAC hash collisions explained |first=Mathias |last=Bynens |website=mathiasbynens.be}}</ref> यदि आपूर्ति किया गया पासवर्ड अंतर्निहित एचएमएसी हैश फ़ंक्शन के ब्लॉक आकार से अधिक लंबा है, तो पासवर्ड को पहले डाइजेस्ट में प्री-हैश किया जाता है, और उस डाइजेस्ट को पासवर्ड के रूप में उपयोग किया जाता है। उदाहरण के लिए, निम्न पासवर्ड बहुत लंबा है:
== एचएमएसी टकराव ==
एचएमएसी को अपने छद्म-यादृच्छिक फ़ंक्शन के रूप में उपयोग करते समय पीबीकेडीएफ 2 की एक दिलचस्प संपत्ति है। प्रत्येक जोड़ी के भीतर टकराव के साथ कई अलग-अलग पासवर्ड जोड़े को तुच्छ रूप से बनाना संभव है।<ref>{{Cite web |url=https://mathiasbynens.be/notes/pbkdf2-hmac |title=PBKDF2+HMAC hash collisions explained |first=Mathias |last=Bynens |website=mathiasbynens.be}}</ref> यदि आपूर्ति किया गया पासवर्ड अंतर्निहित HMAC हैश फ़ंक्शन के ब्लॉक आकार से अधिक लंबा है, तो पासवर्ड को पहले डाइजेस्ट में प्री-हैश किया जाता है, और उस डाइजेस्ट को पासवर्ड के रूप में उपयोग किया जाता है। उदाहरण के लिए, निम्न पासवर्ड बहुत लंबा है:


* पासवर्ड: <code>{{not a typo|plnlrtfpijpuhqylxbgqiiyipieyxvfsavzgxbbcfusqkozwpngsyejqlmjsytrmd}}</code>
* '''पासवर्ड:''' <code>{{not a typo|plnlrtfpijpuhqylxbgqiiyipieyxvfsavzgxbbcfusqkozwpngsyejqlmjsytrmd}}</code>
इसलिए, HMAC-SHA1 का उपयोग करते समय, इसे SHA-1 का उपयोग करके प्री-हैश किया जाता है:
इसलिए, एचएमएसी-एसएचए1 का उपयोग करते समय, इसे एसएचए-1 का उपयोग करके प्री-हैश किया जाता है:


* SHA1 (हेक्स): <code>65426b585154667542717027635463617226672a</code>
* '''एसएचए1''' (हेक्स): <code>65426b585154667542717027635463617226672a</code>
ASCII में किसका प्रतिनिधित्व किया जा सकता है:
ASCII में किसका प्रतिनिधित्व किया जा सकता है:


* SHA1 (ASCII): <code>eBkXQTfuBqp'cTcar&g*</code>
* '''एसएचए1''' (ASCII): <code>eBkXQTfuBqp'cTcar&g*</code>
इसका मतलब है कि नमक या पुनरावृत्तियों की परवाह किए बिना, PBKDF2-HMAC-SHA1 पासवर्ड के लिए समान कुंजी बाइट उत्पन्न करेगा:
इसका मतलब है कि साल्ट या पुनरावृत्तियों की परवाह किए बिना, पीबीकेडीएफ2-एचएमएसी-एसएचए1 पासवर्ड के लिए समान कुंजी बाइट उत्पन्न करेगा:


* plnlrtfpijpuhqylxbgqiiyipeyxvfsavzgxbbcfusqkozwpngsyjqlmjsytrmd
* plnlrtfpijpuhqylxbgqiiyipeyxvfsavzgxbbcfusqkozwpngsyjqlmjsytrmd
Line 66: Line 58:
उदाहरण के लिए, का उपयोग कर:
उदाहरण के लिए, का उपयोग कर:


* पीआरएफ: HMAC-SHA1
* '''पीआरएफ''': एचएमएसी-SHA1
* नमक: A009C1A485912C6AE630D3E744240B04
* '''साल्ट''': A009C1A485912C6AE630D3E744240B04
* पुनरावृत्तियाँ: 1,000
* '''पुनरावृत्तियाँ''': 1,000
* व्युत्पन्न कुंजी लंबाई: 16 बाइट्स
* '''व्युत्पन्न कुंजी लंबाई''': 16 बाइट्स


निम्नलिखित दो फ़ंक्शन कॉल:
निम्नलिखित दो फ़ंक्शन कॉल:
Line 76: Line 68:
  PBKDF2-HMAC-SHA1(eBkXQTfuBqp'cTcar&g* , ...)
  PBKDF2-HMAC-SHA1(eBkXQTfuBqp'cTcar&g* , ...)


समान व्युत्पन्न कुंजी बाइट उत्पन्न करेगा (<code>17EB4014C8C461C300E9B61518B9A18B</code>). ये व्युत्पन्न कुंजी टकराव एक सुरक्षा भेद्यता का प्रतिनिधित्व नहीं करते हैं - क्योंकि पासवर्ड का हैश उत्पन्न करने के लिए किसी को अभी भी मूल पासवर्ड पता होना चाहिए।<ref>{{Cite web|url=https://crypto.stackexchange.com/questions/26510/why-is-hmac-sha1-still-considered-secure|title = Collision resistance - Why is HMAC-SHA1 still considered secure? |website=crypto.stackexchange.com}}</ref>
समान व्युत्पन्न कुंजी बाइट (<code>17EB4014C8C461C300E9B61518B9A18B</code>) उत्पन्न करेगा। ये व्युत्पन्न कुंजी संघट्ट सुरक्षा भेद्यता का प्रतिनिधित्व नहीं करते हैं - क्योंकि पासवर्ड का हैश उत्पन्न करने के लिए किसी को अभी भी मूल पासवर्ड पता होना चाहिए।<ref>{{Cite web|url=https://crypto.stackexchange.com/questions/26510/why-is-hmac-sha1-still-considered-secure|title = Collision resistance - Why is HMAC-SHA1 still considered secure? |website=crypto.stackexchange.com}}</ref>
 
 
== पीबीकेडीएफ2 == के विकल्प
PBKDF2 की एक कमजोरी यह है कि जबकि इसकी पुनरावृत्तियों की संख्या को समायोजित किया जा सकता है ताकि यह मनमाने ढंग से बड़ी मात्रा में कंप्यूटिंग समय ले सके, इसे एक छोटे सर्किट और बहुत कम रैम के साथ लागू किया जा सकता है, जो एप्लिकेशन-विशिष्ट एकीकृत का उपयोग करके क्रूर-बल हमले करता है। सर्किट या [[ ग्राफ़िक्स प्रोसेसिंग युनिट ]] अपेक्षाकृत सस्ते।<ref name="percival2009">[[Colin Percival]]. [http://www.tarsnap.com/scrypt.html scrypt]. As presented in [http://www.tarsnap.com/scrypt/scrypt.pdf "Stronger Key Derivation via Sequential Memory-Hard Functions"]. presented at BSDCan'09, May 2009.</ref> [[bcrypt]] पासवर्ड हैशिंग फ़ंक्शन के लिए बड़ी मात्रा में RAM की आवश्यकता होती है (लेकिन अभी भी अलग से ट्यून करने योग्य नहीं है, यानी CPU समय की दी गई राशि के लिए निश्चित है) और इस तरह के हमलों के खिलाफ थोड़ा मजबूत है,<ref>{{cite web|url=http://securityledger.com/new-25-gpu-monster-devours-passwords-in-seconds |title=New 25 GPU Monster Devours Passwords In Seconds |publisher=The Security Ledger |date=2012-12-04 |access-date=2013-09-07}}</ref> जबकि अधिक आधुनिक [[लिखी हुई कहानी]] कुंजी व्युत्पन्न कार्य मनमाने ढंग से बड़ी मात्रा में मेमोरी का उपयोग कर सकता है और इसलिए एएसआईसी और जीपीयू हमलों के लिए अधिक प्रतिरोधी है।<ref name="percival2009" />


2013 में, अधिक प्रतिरोधी दृष्टिकोण विकसित करने के लिए [[पासवर्ड हैशिंग प्रतियोगिता]] (PHC) आयोजित की गई थी। 20 जुलाई 2015 को [[Argon2]] को अंतिम PHC विजेता के रूप में चुना गया था, जिसमें चार अन्य पासवर्ड हैशिंग योजनाओं को विशेष मान्यता दी गई थी: Catena, [[Lyra2]], Yescrypt और Makwa।<ref>[https://password-hashing.net "Password Hashing Competition"]</ref> एक अन्य विकल्प [[ गुब्बारा हैशिंग ]] है, जिसकी पासवर्ड नीति#NIST दिशानिर्देशों में अनुशंसा की गई है।<ref>{{cite web|website=NIST |id=SP{{nbsp}}800-63B |title=Digital Identity Guidelines Authentication and Lifecycle Management Section 5.1.1.2 |url=https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63b.pdf|access-date=June 18, 2021}}</ref>
'''<big>पीबीकेडीएफ2 के विकल्प</big>'''


पीबीकेडीएफ2 की कमजोरी यह है कि इसकी पुनरावृत्तियों की संख्या को समायोजित किया जा सकता है जिससे कि यह मनमाने ढंग से बड़ी मात्रा में कंप्यूटिंग समय ले सके, इसे एक छोटे सर्किट और बहुत कम रैम के साथ लागू किया जा सकता है, जो एप्लिकेशन-विशिष्ट एकीकृत का उपयोग करके मनमानीबल आक्षेप करता है। सर्किट या [[ ग्राफ़िक्स प्रोसेसिंग युनिट |ग्राफ़िक्स प्रोसेसिंग युनिट]]अपेक्षाकृत सस्ते हैं।<ref name="percival2009">[[Colin Percival]]. [http://www.tarsnap.com/scrypt.html scrypt]. As presented in [http://www.tarsnap.com/scrypt/scrypt.pdf "Stronger Key Derivation via Sequential Memory-Hard Functions"]. presented at BSDCan'09, May 2009.</ref> [[bcrypt]] पासवर्ड हैशिंग फ़ंक्शन के लिए बड़ी मात्रा में रैम की आवश्यकता होती है (लेकिन अभी भी अलग से ट्यून करने योग्य नहीं है, अर्थात सीपीयू समय की दी गई परिमाण के लिए निश्चित है) और इस तरह के आक्षेप के खिलाफ थोड़ा मजबूत है,<ref>{{cite web|url=http://securityledger.com/new-25-gpu-monster-devours-passwords-in-seconds |title=New 25 GPU Monster Devours Passwords In Seconds |publisher=The Security Ledger |date=2012-12-04 |access-date=2013-09-07}}</ref> जबकि अधिक आधुनिक [[लिखी हुई कहानी|स्क्रीप्ट]] कुंजी व्युत्पन्न फ़ंक्शन मनमाने ढंग से बड़ी मात्रा में मेमोरी का उपयोग कर सकता है और इसलिए एएसआईसी और जीपीयू आक्षेप के लिए अधिक प्रतिरोधी है।<ref name="percival2009" />


2013 में, अधिक प्रतिरोधी दृष्टिकोण विकसित करने के लिए [[पासवर्ड हैशिंग प्रतियोगिता]] (पीएचसी) आयोजित की गई थी। 20 जुलाई 2015 को [[Argon2]] को अंतिम पीएचसी विजेता के रूप में चुना गया था, जिसमें चार अन्य पासवर्ड हैशिंग योजनाओं को विशेष मान्यता दी गई थी: Catena, [[Lyra2]], Yescrypt और Makwa।<ref>[https://password-hashing.net "Password Hashing Competition"]</ref> अन्य विकल्प [[ गुब्बारा हैशिंग |बैलून हैशिंग]] है, जिसकी एनआईएसटी पासवर्ड दिशानिर्देशों में अनुशंसा की गई है।<ref>{{cite web|website=NIST |id=SP{{nbsp}}800-63B |title=Digital Identity Guidelines Authentication and Lifecycle Management Section 5.1.1.2 |url=https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63b.pdf|access-date=June 18, 2021}}</ref>
== यह भी देखें ==
== यह भी देखें ==
* [[पीबीकेडीएफ2 कार्यान्वयन की सूची]]
* [[पीबीकेडीएफ2 कार्यान्वयन की सूची]]
Line 90: Line 80:
==संदर्भ==
==संदर्भ==
{{reflist|30em}}
{{reflist|30em}}
== बाहरी संबंध==
== बाहरी संबंध==
*{{cite web |url=https://www.emc.com/collateral/white-papers/h11302-pkcs5v2-1-password-based-cryptography-standard-wp.pdf |archiveurl=https://web.archive.org/web/20170411220929/https://www.emc.com/collateral/white-papers/h11302-pkcs5v2-1-password-based-cryptography-standard-wp.pdf |archivedate=2017-04-11 |website=RSA Laboratories |title=PKCS{{nbsp}}#5 v2.1}}
*{{cite web |url=https://www.emc.com/collateral/white-papers/h11302-pkcs5v2-1-password-based-cryptography-standard-wp.pdf |archiveurl=https://web.archive.org/web/20170411220929/https://www.emc.com/collateral/white-papers/h11302-pkcs5v2-1-password-based-cryptography-standard-wp.pdf |archivedate=2017-04-11 |website=RSA Laboratories |title=PKCS{{nbsp}}#5 v2.1}}
*{{IETF RFC|2898|link=no}} – Specification of PKCS{{nbsp}}#5 v2.0.
*{{IETF RFC|2898|link=no}} – Specification of PKCS{{nbsp}}#5 v2.0.
*{{IETF RFC|6070|link=no}} – Test vectors for PBKDF2 with HMAC-SHA1.
*{{IETF RFC|6070|link=no}} – Test vectors for पीबीकेडीएफ2 with एचएमएसी-SHA1.
*[http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf NIST Special Publication 800-132 Recommendation for Password-Based Key Derivation]
*[http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf NIST Special Publication 800-132 Recommendation for Password-Based Key Derivation]


{{Cryptography navbox | hash}}
[[Category: पासवर्ड प्रमाणीकरण]] [[Category: क्रिप्टोग्राफी मानक]] [[Category: प्रमुख व्युत्पत्ति कार्य]]
[[Category: Machine Translated Page]]
[[Category:Created On 11/05/2023]]
[[Category:Created On 11/05/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:क्रिप्टोग्राफी मानक]]
[[Category:पासवर्ड प्रमाणीकरण]]
[[Category:प्रमुख व्युत्पत्ति कार्य]]

Latest revision as of 09:05, 15 June 2023

क्रिप्टोग्राफी में, पीबीकेडीएफ1 और पीबीकेडीएफ2 (पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 1 और 2) स्लाइडिंग कम्प्यूटेशनल लागत के साथ प्रमुख व्युत्पत्ति फ़ंक्शन हैं, जिनका उपयोग ब्रूट-फ़ोर्स आक्षेप की भेद्यता को कम करने के लिए किया जाता है।[1]

पीबीकेडीएफ2 आरएसए प्रयोगशालाओं की सार्वजनिक-कुंजी क्रिप्टोग्राफ़ी मानक (पीकेसीएस) श्रृंखला का हिस्सा है, विशेष रूप से पीकेसीएस#5 v2.0, इंटरनेट इंजीनियरिंग टास्क फोर्स के आरएफसी 2898 के रूप में भी प्रकाशित किया गया है। यह पीबीकेडीएफ1 का अधिक्रमण करता है, जो केवल 160 बिट तक लंबी व्युत्पन्न कुंजी का उत्पादन कर सकता है।[2] आरएफसी 8018 (पीकेसीएस#5 v2.1), 2017 में प्रकाशित, पासवर्ड हैशिंग के लिए पीबीकेडीएफ2 की अनुशंसा करता है।[3]

उद्देश्य और संचालन

पीबीकेडीएफ2 साल्ट (क्रिप्टोग्राफी) मान के साथ इनपुट पासवर्ड या पासफ़्रेज़ के लिए हैश-आधारित संदेश प्रमाणीकरण कोड (एचएमएसी) जैसे छद्म-यादृच्छिक फ़ंक्शन को लागू करता है और व्युत्पन्न कुंजी उत्पन्न करने के लिए प्रक्रिया को कई बार दोहराता है, जिसे बाद के फ़ंक्शन में तब क्रिप्टोग्राफ़िक कुंजी के रूप में उपयोग किया जा सकता है। जोड़ा गया कम्प्यूटेशनल फ़ंक्शन पासवर्ड क्रैकिंग को और अधिक कठिन बना देता है, और इसे स्ट्रेचिंग के रूप में जाना जाता है।

जब मानक वर्ष 2000 में लिखा गया था, तो पुनरावृत्तियों की अनुशंसित न्यूनतम संख्या 1,000 थी, लेकिन सीपीयू की गति में वृद्धि के साथ पैरामीटर को समय के साथ बढ़ाने का इरादा है। 2005 में करबरोस (प्रोटोकॉल) मानक ने 4,096 पुनरावृत्तियों की अनुशंसा की;[1]एप्पल ने कथित तौर पर iOS 3 के लिए 2,000 और iOS 4 के लिए 10,000 का उपयोग किया;[4] जबकि 2011 में लास्ट पास ने जावास्क्रिप्ट क्लाइंट के लिए 5,000 पुनरावृत्तियों और सर्वर-साइड हैशिंग के लिए 100,000 पुनरावृत्तियों का उपयोग किया है।[5] 2023 में, ओडब्ल्यूएएसपी ने पीबीकेडीएफ2-एचएमएसी-एसएचए256 के लिए 600,000 पुनरावृत्तियों और पीबीकेडीएफ2-एचएमएसी-एसएचए512 के लिए 210,000 पुनरावृत्तियों का उपयोग करने की अनुशंसा की है।[6]

पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 2 की पुनरावृत्ति प्रक्रिया का एल्गोरिथम प्रतिनिधित्व।

पासवर्ड में साल्ट से आक्षेप के लिए प्रीकंप्यूटेड हैश (रेनबो टेबल) का उपयोग करने की क्षमता कम हो जाती है, और इसका मतलब है कि एक बार में नहीं कई पासवर्डों का अलग-अलग परीक्षण किया जाना चाहिए। सार्वजनिक कुंजी क्रिप्टोग्राफी मानक कम से कम 64 बिट्स की साल्ट लंबाई की अनुशंसा करता है।[7] यूएस के राष्ट्रीय मानक और प्रौद्योगिकी का राष्ट्रीय संस्थान 128 बिट्स की साल्ट लंबाई की अनुशंसा की है।[8]

कुंजी व्युत्पत्ति प्रक्रिया

पीबीकेडीएफ2 कुंजी व्युत्पत्ति फ़ंक्शन में पाँच इनपुट पैरामीटर हैं:[9]

DK = PBKDF2(PRF, Password, Salt, c, dkLen)

जहाँ:

  • पीआरएफ आउटपुट लंबाई hLen (उदाहरण के लिए, बंद एचएमएसी) के साथ दो मापदंडों का छद्म यादृच्छिक कार्य है।
  • पासवर्ड मास्टर पासवर्ड है जिससे व्युत्पन्न कुंजी उत्पन्न होती है
  • साल्ट बिट्स का अनुक्रम है, जिसे साल्ट (क्रिप्टोग्राफी) के रूप में जाना जाता है
  • c वांछित पुनरावृत्तियों की संख्या है
  • डीकेलेन व्युत्पन्न कुंजी की वांछित बिट-लंबाई है
  • डीके उत्पन्न व्युत्पन्न कुंजी है

व्युत्पन्न कुंजी डीके के प्रत्येक hLen-बिट ब्लॉक {{math|Ti} की गणना निम्नानुसार की जाती है (के साथ + अंकन स्ट्रिंग संयोजन):

DK = T1 + T2 + ⋯ + Tdklen/hlen
Ti = F(Password, Salt, c, i)

फ़ंक्शन F श्रृंखलित पीआरएफ के c पुनरावृत्तियों का xor (^) है। पीआरएफ का पहला पुनरावृत्ति पीआरएफ कुंजी के रूप में पासवर्ड का उपयोग करता है और और इनपुट के रूप बिग-एंडियन 32-बिट पूर्णांक के रूप में i एन्कोड साल्ट के साथ जुड़ा हुआ है।(ध्यान दें कि i एक 1-आधारित इंडेक्स है।) पीआरएफ के बाद के पुनरावृत्तियों में पीआरएफ कुंजी के रूप में पासवर्ड का उपयोग किया जाता है और इनपुट के रूप में पिछले पीआरएफ गणना का आउटपुट:

F(Password, Salt, c, i) = U1 ^ U2 ^ ⋯ ^ Uc

जहाँ:

U1 = PRF(Password, Salt + INT_32_BE(i))
U2 = PRF(Password, U1)
Uc = PRF(Password, Uc−1)

उदाहरण के लिए, WPA2 उपयोग करता है:

DK = PBKDF2(HMAC−SHA1, passphrase, ssid, 4096, 256)

पीबीकेडीएफ1 की सरल प्रक्रिया थी: प्रारंभिक U (इस संस्करण में T कहा जाता है) PRF(Password + Salt) द्वारा बनाया गया है और निम्नलिखित बस हैं PRF(Uprevious). कुंजी को अंतिम हैश के पहले dkLen बिट्स के रूप में निकाला जाता है, यही कारण है कि आकार सीमा होती है।[9]

एचएमएसी संघट्ट

एचएमएसी को अपने छद्म-यादृच्छिक फ़ंक्शन के रूप में उपयोग करते समय पीबीकेडीएफ 2 का रोचक गुण है। प्रत्येक युग्म के भीतर संघट्ट के साथ कई अलग-अलग पासवर्ड युग्म को तुच्छ रूप से बनाना संभव है।[10] यदि आपूर्ति किया गया पासवर्ड अंतर्निहित एचएमएसी हैश फ़ंक्शन के ब्लॉक आकार से अधिक लंबा है, तो पासवर्ड को पहले डाइजेस्ट में प्री-हैश किया जाता है, और उस डाइजेस्ट को पासवर्ड के रूप में उपयोग किया जाता है। उदाहरण के लिए, निम्न पासवर्ड बहुत लंबा है:

  • पासवर्ड: plnlrtfpijpuhqylxbgqiiyipieyxvfsavzgxbbcfusqkozwpngsyejqlmjsytrmd

इसलिए, एचएमएसी-एसएचए1 का उपयोग करते समय, इसे एसएचए-1 का उपयोग करके प्री-हैश किया जाता है:

  • एसएचए1 (हेक्स): 65426b585154667542717027635463617226672a

ASCII में किसका प्रतिनिधित्व किया जा सकता है:

  • एसएचए1 (ASCII): eBkXQTfuBqp'cTcar&g*

इसका मतलब है कि साल्ट या पुनरावृत्तियों की परवाह किए बिना, पीबीकेडीएफ2-एचएमएसी-एसएचए1 पासवर्ड के लिए समान कुंजी बाइट उत्पन्न करेगा:

  • plnlrtfpijpuhqylxbgqiiyipeyxvfsavzgxbbcfusqkozwpngsyjqlmjsytrmd
  • eBkXQTfuBqp'cTcar&g*

उदाहरण के लिए, का उपयोग कर:

  • पीआरएफ: एचएमएसी-SHA1
  • साल्ट: A009C1A485912C6AE630D3E744240B04
  • पुनरावृत्तियाँ: 1,000
  • व्युत्पन्न कुंजी लंबाई: 16 बाइट्स

निम्नलिखित दो फ़ंक्शन कॉल:

PBKDF2-HMAC-SHA1( plnlrtfpijpuhqylxbgqiiyipieyxvfsavzgxbbcfusqkozwpngsyejqlmjsytrmd , ...)
PBKDF2-HMAC-SHA1(eBkXQTfuBqp'cTcar&g* , ...)

समान व्युत्पन्न कुंजी बाइट (17EB4014C8C461C300E9B61518B9A18B) उत्पन्न करेगा। ये व्युत्पन्न कुंजी संघट्ट सुरक्षा भेद्यता का प्रतिनिधित्व नहीं करते हैं - क्योंकि पासवर्ड का हैश उत्पन्न करने के लिए किसी को अभी भी मूल पासवर्ड पता होना चाहिए।[11]

पीबीकेडीएफ2 के विकल्प

पीबीकेडीएफ2 की कमजोरी यह है कि इसकी पुनरावृत्तियों की संख्या को समायोजित किया जा सकता है जिससे कि यह मनमाने ढंग से बड़ी मात्रा में कंप्यूटिंग समय ले सके, इसे एक छोटे सर्किट और बहुत कम रैम के साथ लागू किया जा सकता है, जो एप्लिकेशन-विशिष्ट एकीकृत का उपयोग करके मनमानीबल आक्षेप करता है। सर्किट या ग्राफ़िक्स प्रोसेसिंग युनिटअपेक्षाकृत सस्ते हैं।[12] bcrypt पासवर्ड हैशिंग फ़ंक्शन के लिए बड़ी मात्रा में रैम की आवश्यकता होती है (लेकिन अभी भी अलग से ट्यून करने योग्य नहीं है, अर्थात सीपीयू समय की दी गई परिमाण के लिए निश्चित है) और इस तरह के आक्षेप के खिलाफ थोड़ा मजबूत है,[13] जबकि अधिक आधुनिक स्क्रीप्ट कुंजी व्युत्पन्न फ़ंक्शन मनमाने ढंग से बड़ी मात्रा में मेमोरी का उपयोग कर सकता है और इसलिए एएसआईसी और जीपीयू आक्षेप के लिए अधिक प्रतिरोधी है।[12]

2013 में, अधिक प्रतिरोधी दृष्टिकोण विकसित करने के लिए पासवर्ड हैशिंग प्रतियोगिता (पीएचसी) आयोजित की गई थी। 20 जुलाई 2015 को Argon2 को अंतिम पीएचसी विजेता के रूप में चुना गया था, जिसमें चार अन्य पासवर्ड हैशिंग योजनाओं को विशेष मान्यता दी गई थी: Catena, Lyra2, Yescrypt और Makwa।[14] अन्य विकल्प बैलून हैशिंग है, जिसकी एनआईएसटी पासवर्ड दिशानिर्देशों में अनुशंसा की गई है।[15]

यह भी देखें

संदर्भ

  1. 1.0 1.1 Raeburn, Kenneth (2005). "Advanced Encryption Standard (AES) Encryption for Kerberos 5". tools.ietf.org. doi:10.17487/RFC3962. RFC 3962. Retrieved 2015-10-23.
  2. Kaliski, Burt (2000). "PKCS #5: Password-Based Cryptography Specification, Version 2.0". tools.ietf.org. doi:10.17487/RFC2898. RFC 2898. Retrieved 2015-10-23.
  3. Moriarty, Kathleen; et al. (2017). Moriarty, K (ed.). "PKCS #5: Password-Based Cryptography Specification, Version 2.1". tools.ietf.org. doi:10.17487/RFC8018. RFC 8018.
  4. "Smartphone Forensics: Cracking BlackBerry Backup Passwords". Advanced Password Cracking – Insight. ElcomSoft. 30 September 2010. Retrieved 2015-10-23.
  5. "लास्टपास सुरक्षा अधिसूचना". The LastPass Blog. 5 May 2011. Retrieved 2023-01-31.
  6. "पासवर्ड स्टोरेज चीट शीट". OWASP Cheat Sheet Series. 15 August 2021. Archived from the original on 23 January 2023. Retrieved 2023-01-23.
  7. Moriarty, Kathleen; et al. (2017). Moriarty, K (ed.). "PKCS #5: Password-Based Cryptography Specification, Version 2.1: Section 4. Salt and Iteration Count". tools.ietf.org. doi:10.17487/RFC8018. RFC 8018. Retrieved 2018-01-24.
  8. Sönmez Turan, Meltem; Barker, Elaine; Burr, William; Chen, Lily. "Recommendation for Password-Based Key Derivation Part 1: Storage Applications" (PDF). NIST. SP 800-132. Retrieved 2018-12-20.
  9. 9.0 9.1 Password-Based Cryptography Specification RFC 2898
  10. Bynens, Mathias. "PBKDF2+HMAC hash collisions explained". mathiasbynens.be.
  11. "Collision resistance - Why is HMAC-SHA1 still considered secure?". crypto.stackexchange.com.
  12. 12.0 12.1 Colin Percival. scrypt. As presented in "Stronger Key Derivation via Sequential Memory-Hard Functions". presented at BSDCan'09, May 2009.
  13. "New 25 GPU Monster Devours Passwords In Seconds". The Security Ledger. 2012-12-04. Retrieved 2013-09-07.
  14. "Password Hashing Competition"
  15. "Digital Identity Guidelines Authentication and Lifecycle Management Section 5.1.1.2" (PDF). NIST. SP 800-63B. Retrieved June 18, 2021.

बाहरी संबंध