ऑप्टीमल असिमेट्रिक एन्क्रिप्शन: Difference between revisions
No edit summary |
No edit summary |
||
(9 intermediate revisions by 5 users not shown) | |||
Line 2: | Line 2: | ||
{{redirect|ओएईपी|थाईलैंड के विज्ञान प्रौद्योगिकी और पर्यावरण मंत्रालय के विभाजन को पूर्व शांति के लिए परमाणु ऊर्जा के कार्यालय के रूप में जाना जाता था|शांति के लिए परमाणुओं का कार्यालय}} | {{redirect|ओएईपी|थाईलैंड के विज्ञान प्रौद्योगिकी और पर्यावरण मंत्रालय के विभाजन को पूर्व शांति के लिए परमाणु ऊर्जा के कार्यालय के रूप में जाना जाता था|शांति के लिए परमाणुओं का कार्यालय}} | ||
[[क्रिप्टोग्राफी]] में, | [[क्रिप्टोग्राफी]] में, '''ऑप्टीमल असिमेट्रिक एन्क्रिप्शन''' (ओएईपी) [[पैडिंग (क्रिप्टोग्राफी)|पैडिंग योजना (क्रिप्टोग्राफी)]] है जिसे अधिकांशतः [[आरएसए (क्रिप्टोसिस्टम)]] एन्क्रिप्शन के साथ प्रयोग किया जाता है। ओएईपी [[मिहिर लड़ने के लिए|बेलारे]] और [[फिलिप रोगवे]] द्वारा प्रस्तुत किया गया था,<ref>[[Mihir Bellare|M. Bellare]], [[Phillip Rogaway|P. Rogaway]]. ''Optimal Asymmetric Encryption -- How to encrypt with RSA''. Extended abstract in Advances in Cryptology - [[Eurocrypt]] '94 Proceedings, [[Lecture Notes in Computer Science]] Vol. 950, A. De Santis ed, [[Springer-Verlag]], 1995. [http://www-cse.ucsd.edu/users/mihir/papers/oaep.pdf full version (pdf)]</ref> और तत्पश्चात इसे पीकेसीएस1 वी2 और [rfc:2437 आरएफसी 2437] में मानकीकृत किया गया। | ||
ओएईपी एल्गोरिथम फिस्टेल नेटवर्क का रूप है जो [[असममित एन्क्रिप्शन]] से पूर्व प्लेनटेक्स्ट को संसाधित करने के लिए | ओएईपी एल्गोरिथम फिस्टेल नेटवर्क का रूप है जो [[असममित एन्क्रिप्शन|ऑप्टीमल एन्क्रिप्शन]] से पूर्व प्लेनटेक्स्ट को संसाधित करने के लिए रैंडम ओरेक्लेस G और H की जोड़ी का उपयोग करता है। जब किसी सुरक्षित [[ट्रैपडोर वन-वे फंक्शन]] <math>f</math> के साथ ऐड किया जाता है, तो यह वर्ज़न रैंडम ऑरेकल मॉडल में सिद्ध होता है, जिसके परिणामस्वरूप कंबाइंड स्कीम होती है, जो सेलेक्ट किये गए [[चुना सादा पाठ हमला|प्लेनटेक्स्ट अटैक]] ([[सिफरटेक्स्ट अप्रभेद्यता|आईएनडी-सीपीए]]) के अंतर्गत सिमेंटिक सुरक्षा है। जब ट्रैपडोर क्रमपरिवर्तन (जैसे, आरएसए) के साथ कार्यान्वित किया जाता है, तो ओएईपी भी चयनित सिफरटेक्स्ट अटैक के विरुद्ध सुरक्षित सिद्ध होता है। ओएईपी का उपयोग [[सभी या कुछ भी रूपांतरित नहीं होता है|आल-और-नथिंग ट्रांसफॉर्म]] बनाने के लिए किया जा सकता है। | ||
ओएईपी निम्नलिखित दो लक्ष्यों को पूर्ण करता है: | ओएईपी निम्नलिखित दो लक्ष्यों को पूर्ण करता है: | ||
# | # रैंडम का तत्व जोड़ें, जिसका उपयोग [[नियतात्मक एन्क्रिप्शन|डेटर्मिनिस्टिक एन्क्रिप्शन]] योजना (जैसे,[[आरएसए (एल्गोरिदम)]]) को [[संभाव्य एन्क्रिप्शन]] योजना में परिवर्तित करने के लिए किया जा सकता है। | ||
# यह सुनिश्चित करके सिफरटेक्स्ट (या अन्य सूचना रिसाव) के आंशिक डिक्रिप्शन को अवरोधित करें कि विरोधी ट्रैपडोर वन-वे क्रमचय <math>f</math> | # यह सुनिश्चित करके सिफरटेक्स्ट (या अन्य सूचना रिसाव) के आंशिक डिक्रिप्शन को अवरोधित करें कि विरोधी ट्रैपडोर वन-वे क्रमचय <math>f</math> के विपरीत में सक्षम हुए बिना प्लेन टेक्स्ट के किसी भी अंश को पुनर्प्राप्त नहीं कर सकता है। | ||
ओएईपी के मूल | ओएईपी के मूल वर्ज़न (बेल्लारे/रोगावे, 1994) ने रैंडम ऑरेकल मॉडल में "[[सादा पाठ-जागरूक एन्क्रिप्शन|प्लेनटेक्स्ट अवेयरनेस]]" (जिस पर उन्होंने आशय किया कि चयनित सिफरटेक्स्ट अटैक के विरुद्ध सुरक्षा का तात्पर्य है) का रूप दिखाया जब ओएईपी का उपयोग किसी ट्रैपडोर क्रमपरिवर्तन के साथ किया जाता है। पश्चात के परिणामों ने इस आशय का खंडन किया कि ओएईपी केवल आईएनडी-सीसीए1 सुरक्षित था। चूँकि, मूल योजना यादृच्छिक ऑरेकल मॉडल में आईएनडी-सीसीए2 सुरक्षित सिद्ध हुई थी, जब ओएईपी का उपयोग आरएसए क्रमचय के साथ आरएसए-ओएईपी की स्तिथि में मानक एन्क्रिप्शन एक्सपोनेंट्स का उपयोग करके किया जाता है।<ref> | ||
Eiichiro Fujisaki, Tatsuaki Okamoto, David Pointcheval, and [[Jacques Stern]]. ''RSA-- OAEP is secure under the RSA assumption''. In J. Kilian, ed., Advances in Cryptology -- [[CRYPTO]] 2001, vol. 2139 of Lecture Notes in Computer Science, SpringerVerlag, 2001. [http://eprint.iacr.org/2000/061.pdf full version (pdf)]</ref> | Eiichiro Fujisaki, Tatsuaki Okamoto, David Pointcheval, and [[Jacques Stern]]. ''RSA-- OAEP is secure under the RSA assumption''. In J. Kilian, ed., Advances in Cryptology -- [[CRYPTO]] 2001, vol. 2139 of Lecture Notes in Computer Science, SpringerVerlag, 2001. [http://eprint.iacr.org/2000/061.pdf full version (pdf)]</ref> | ||
उत्तम योजना (ओएईपी+ कहलाती है) जो इस प्रॉब्लम को सॉल्व करने के लिए [[विक्टर शौप]] द्वारा किसी भी ट्रैपडोर वन-वे क्रमचय के साथ कार्य करती है।<ref> | |||
Victor Shoup. ''OAEP Reconsidered''. IBM Zurich Research Lab, Saumerstr. 4, 8803 Ruschlikon, Switzerland. September 18, 2001. [http://www.shoup.net/papers/oaep.pdf full version (pdf)]</ref> | Victor Shoup. ''OAEP Reconsidered''. IBM Zurich Research Lab, Saumerstr. 4, 8803 Ruschlikon, Switzerland. September 18, 2001. [http://www.shoup.net/papers/oaep.pdf full version (pdf)]</ref> | ||
नए कार्य ने दर्शाया है कि [[मानक मॉडल (क्रिप्टोग्राफी)|स्टैण्डर्ड मॉडल (क्रिप्टोग्राफी)]] में (अर्थात, जब हैश फ़ंक्शंस को रैंडम ऑरेकल के रूप में मॉडल नहीं किया जाता है) आरएसए प्रॉब्लम की अनुमानित कठोरता के अंतर्गत आरएसए-ओएईपी की आईएनडी-सीसीए 2 सुरक्षा को प्रमाणित करना असंभव है।<ref> | |||
P. Paillier and J. Villar, ''Trading One-Wayness against Chosen-Ciphertext Security in Factoring-Based Encryption'', Advances in Cryptology -- [[Asiacrypt]] 2006.</ref><ref> | P. Paillier and J. Villar, ''Trading One-Wayness against Chosen-Ciphertext Security in Factoring-Based Encryption'', Advances in Cryptology -- [[Asiacrypt]] 2006.</ref><ref> | ||
D. Brown, [http://eprint.iacr.org/2006/223 ''What Hashes Make RSA-OAEP Secure?''], IACR ePrint 2006/233.</ref> | D. Brown, [http://eprint.iacr.org/2006/223 ''What Hashes Make RSA-OAEP Secure?''], IACR ePrint 2006/233.</ref> | ||
== एल्गोरिथम == | == एल्गोरिथम == | ||
[[File:OAEP encoding schema.svg|410x410px|अंगूठा|दायां|RFC 8017 के अनुसार OAEP एन्कोडिंग स्कीमा]]आरेख में, | [[File:OAEP encoding schema.svg|410x410px|अंगूठा|दायां|RFC 8017 के अनुसार OAEP एन्कोडिंग स्कीमा]] आरेख में, | ||
* | * एमजीएफ [[मास्क जनरेशन फंक्शन]] है, सामान्यतः एमजीएफ1, | ||
* हैश | * हैश चयनित [[क्रिप्टोग्राफ़िक हैश फ़ंक्शन]] है, | ||
* hLen बाइट्स में हैश फ़ंक्शन के आउटपुट की लंबाई है, | * hLen बाइट्स में हैश फ़ंक्शन के आउटपुट की लंबाई है, | ||
* k बाइट्स में | * k बाइट्स में आरएसए (क्रिप्टोसिस्टम) मापांक n की लंबाई है, | ||
* M | * M पैडेड मैसेज है (अधिकतम <math>k - 2 \cdot \mathrm{hLen} - 2</math> बाइट्स), | ||
* | * L मैसेज से जुड़ा वैकल्पिक लेबल है (लेबल डिफ़ॉल्ट रूप से रिक्त स्ट्रिंग है और एन्क्रिप्शन की आवश्यकता के अतिरिक्त डेटा को प्रमाणित करने के लिए उपयोग किया जा सकता है), | ||
* | * पीएस <math>k - \mathrm{mLen} - 2 \cdot \mathrm{hLen} - 2</math> नल-बाइट्स का बाइट स्ट्रिंग है। | ||
* ⊕ | * ⊕ [[Exclusive or|एक्सओआर]]-संचालन है। | ||
=== एन्कोडिंग === | === एन्कोडिंग === | ||
आरएफसी 8017<ref>{{cite IETF|title=PKCS #1: RSA Cryptography Specifications Version 2.2|rfc=8017|sectionname=Encryption Operation|section=7.1.1|page=22|last=|first=|author-link=|date=November 2016|publisher=[[Internet Engineering Task Force|IETF]]|access-date=2022-06-04|doi=10.17487/RFC8017}}</ref> पीकेसीएस#1 | आरएफसी 8017<ref>{{cite IETF|title=PKCS #1: RSA Cryptography Specifications Version 2.2|rfc=8017|sectionname=Encryption Operation|section=7.1.1|page=22|last=|first=|author-link=|date=November 2016|publisher=[[Internet Engineering Task Force|IETF]]|access-date=2022-06-04|doi=10.17487/RFC8017}}</ref> पीकेसीएस#1 वी 2.2 की एन्कोडिंग के लिए निम्नानुसार ओएईपी योजना निर्दिष्ट करता है- | ||
# | # चयनित हैश फ़ंक्शन का उपयोग करके लेबल L को हैश करें: <math>\mathrm{lHash} = \mathrm{Hash}(L)</math> | ||
# | # 0x00 मान के साथ <math>k - \mathrm{mLen} - 2 \cdot \mathrm{hLen} - 2</math> बाइट्स वाला पैडिंग स्ट्रिंग पीएस उत्पन्न करें। | ||
# डेटा ब्लॉक | # डेटा ब्लॉक डीबी बनाने के लिए एल हैश, पीएस, सिंगल बाइट 0x01, और मैसेज एम को सम्मिलित करें: <math>\mathrm{DB} = \mathrm{lHash} || \mathrm{PS} || \mathrm{0x01} || \mathrm{M}</math>. इस डेटा ब्लॉक की लंबाई <math>k - \mathrm{hLen} - 1</math> बाइट्स है। | ||
# लंबाई hLen का | # लंबाई hLen का यादृच्छिक सीड उत्पन्न करें। | ||
# डेटा ब्लॉक के लिए उपयुक्त लंबाई का मास्क बनाने के लिए मास्क जनरेटिंग फंक्शन का उपयोग करें: <math>\mathrm{dbMask} = \mathrm{MGF}(\mathrm{seed}, k - \mathrm{hLen} - 1)</math> | # डेटा ब्लॉक के लिए उपयुक्त लंबाई का मास्क बनाने के लिए मास्क जनरेटिंग फंक्शन का उपयोग करें: <math>\mathrm{dbMask} = \mathrm{MGF}(\mathrm{seed}, k - \mathrm{hLen} - 1)</math> | ||
# जनरेट किए गए मास्क के साथ डेटा ब्लॉक को मास्क करें: <math>\mathrm{maskedDB} = \mathrm{DB} \oplus \mathrm{dbMask}</math> | # जनरेट किए गए मास्क के साथ डेटा ब्लॉक को मास्क करें: <math>\mathrm{maskedDB} = \mathrm{DB} \oplus \mathrm{dbMask}</math> | ||
# | # सीड के लिए लंबाई hLen का मास्क बनाने के लिए मास्क जनरेटिंग फ़ंक्शन का उपयोग करें: <math>\mathrm{seedMask} = \mathrm{MGF}(\mathrm{maskedDB}, \mathrm{hLen})</math> | ||
# | # सीड को उत्पन्न मास्क से मास्क करें: <math>\mathrm{maskedSeed} = \mathrm{seed} \oplus \mathrm{seedMask}</math> | ||
# एन्कोडेड ( | # एन्कोडेड (पैडेड) मैसेज बाइट 0x00 है जो मास्क्डसीड और मास्क्डडीबी के साथ जुड़ा हुआ है: <math>\mathrm{EM} = \mathrm{0x00} || \mathrm{maskedSeed} || \mathrm{maskedDB}</math> | ||
=== डिकोडिंग === | === डिकोडिंग === | ||
डिकोडिंग एल्गोरिथम में उठाए गए कदमों को उलट कर | डिकोडिंग एल्गोरिथम में उठाए गए कदमों को उलट कर कार्य करता है: | ||
# | # चयनित हैश फ़ंक्शन का उपयोग करके लेबल L को हैश करें: <math>\mathrm{lHash} = \mathrm{Hash}(L)</math> | ||
# चरण 9 को | # चरण 9 को परिवर्तित करने के लिए, एन्कोडेड मैसेज EM को बाइट 0x00, मास्कडसीड (लंबाई hLen के साथ) और मास्कडडीबी में विभाजित करें: <math>\mathrm{EM} = \mathrm{0x00} || \mathrm{maskedSeed} || \mathrm{maskedDB}</math> | ||
# सीडमास्क उत्पन्न करें जिसका उपयोग | # सीडमास्क उत्पन्न करें जिसका उपयोग सीड को ढकने के लिए किया गया था: <math>\mathrm{seedMask} = \mathrm{MGF}(\mathrm{maskedDB}, \mathrm{hLen})</math> | ||
# चरण 8 को | # चरण 8 को परिवर्तित करने के लिए, सीड को सीडमास्क से पुनर्प्राप्त करें: <math>\mathrm{seed} = \mathrm{maskedSeed} \oplus \mathrm{seedMask}</math> | ||
# | # डीबी मास्क उत्पन्न करें जिसका उपयोग डेटा ब्लॉक को मास्क करने के लिए किया गया था: <math>\mathrm{dbMask} = \mathrm{MGF}(\mathrm{seed}, k - \mathrm{hLen} - 1)</math> | ||
# चरण 6 को | # चरण 6 को परिवर्तित करने के लिए, डेटा ब्लॉक डीबी को पुनर्प्राप्त करें: <math>\mathrm{DB} = \mathrm{maskedDB} \oplus \mathrm{dbMask}</math> | ||
# चरण 3 को | # चरण 3 को परिवर्तित करने के लिए, डेटा ब्लॉक को उसके भागों में विभाजित करें: <math>\mathrm{DB} = \mathrm{lHash'} || \mathrm{PS} || \mathrm{0x01} || \mathrm{M}</math>. | ||
## सत्यापित करें कि: | ## सत्यापित करें कि: | ||
##* lHash' परिकलित lHash के | ##* lHash' परिकलित lHash के समान है | ||
##* | ##* पीएस में केवल बाइट 0x00 होते हैं | ||
##* | ##* पीएस और एम को 0x01 बाइट द्वारा पृथक किया जाता है और | ||
##* ईएम की | ##* ईएम की प्रथम बाइट 0x00 है। | ||
## यदि इनमें से कोई भी | ## यदि इनमें से कोई भी स्तिथि पूर्ण नहीं होती है, तो पैडिंग अमान्य है। | ||
आरएसए में उपयोग: एन्कोडेड | आरएसए में उपयोग: एन्कोडेड मैसेज को पुनः आरएसए के साथ एन्क्रिप्ट किया जा सकता है। आरएसए के नियतात्मक गुण को अब ओएईपी एन्कोडिंग का उपयोग करके टाला जाता है क्योंकि सीड निरुद्देश्यता से उत्पन्न होता है और पूर्ण एन्कोडेड मैसेज को प्रभावित करता है। | ||
=== | === सिक्योरिटी === | ||
ऑल-ऑर-नथिंग | ऑल-ऑर-नथिंग, सिक्योरिटी इस तथ्य से है कि एम को रिकवर करने के लिए, पूर्ण मास्कडडीबी और पूर्ण मास्कडसीड को पुनर्प्राप्त करना होगा; मास्कडडीबी से सीड को पुनर्प्राप्त करने के लिए मास्कडडीबी की आवश्यकता होती है, और मास्कडडीबी से डेटा ब्लॉक डीबी को पुनर्प्राप्त करने के लिए सीड की आवश्यकता होती है। चूंकि क्रिप्टोग्राफ़िक हैश का कोई भी परिवर्तित बिट परिणाम को पूर्ण रूप से परिवर्तित कर देता है, पूर्ण मास्कडडीबी और पूर्ण मास्कसीड दोनों को पूर्ण रूप से पुनर्प्राप्त किया जाना चाहिए। | ||
=== कार्यान्वयन === | === कार्यान्वयन === | ||
पीकेसीएस#1 मानक में, | पीकेसीएस#1 मानक में, रैंडम ऑरेकल समान हैं। पीकेसीएस#1 मानक के लिए रैंडम ऑरेकल उचित हैश फ़ंक्शन के साथ [[MGF1|एमजीएफ1]] आवश्यक है।<ref>{{Cite journal|url=https://eprint.iacr.org/2006/223.pdf| title=What Hashes Make RSA-OAEP Secure?|journal = IACR Cryptology ePrint Archive| last=Brown |first=Daniel R. L.| date=2006| language=en|access-date=2019-04-03}}</ref> | ||
== यह भी देखें == | == यह भी देखें == | ||
* [[कुंजी एनकैप्सुलेशन]] | * [[कुंजी एनकैप्सुलेशन]] | ||
Line 78: | Line 74: | ||
<references/> | <references/> | ||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category: | [[Category:CS1 English-language sources (en)]] | ||
[[Category:Collapse templates]] | |||
[[Category: | |||
[[Category:Created On 11/05/2023]] | [[Category:Created On 11/05/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Missing redirects]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:पैडिंग एल्गोरिदम]] | |||
[[Category:सार्वजनिक-कुंजी एन्क्रिप्शन योजनाएं]] |
Latest revision as of 12:48, 31 October 2023
क्रिप्टोग्राफी में, ऑप्टीमल असिमेट्रिक एन्क्रिप्शन (ओएईपी) पैडिंग योजना (क्रिप्टोग्राफी) है जिसे अधिकांशतः आरएसए (क्रिप्टोसिस्टम) एन्क्रिप्शन के साथ प्रयोग किया जाता है। ओएईपी बेलारे और फिलिप रोगवे द्वारा प्रस्तुत किया गया था,[1] और तत्पश्चात इसे पीकेसीएस1 वी2 और [rfc:2437 आरएफसी 2437] में मानकीकृत किया गया।
ओएईपी एल्गोरिथम फिस्टेल नेटवर्क का रूप है जो ऑप्टीमल एन्क्रिप्शन से पूर्व प्लेनटेक्स्ट को संसाधित करने के लिए रैंडम ओरेक्लेस G और H की जोड़ी का उपयोग करता है। जब किसी सुरक्षित ट्रैपडोर वन-वे फंक्शन के साथ ऐड किया जाता है, तो यह वर्ज़न रैंडम ऑरेकल मॉडल में सिद्ध होता है, जिसके परिणामस्वरूप कंबाइंड स्कीम होती है, जो सेलेक्ट किये गए प्लेनटेक्स्ट अटैक (आईएनडी-सीपीए) के अंतर्गत सिमेंटिक सुरक्षा है। जब ट्रैपडोर क्रमपरिवर्तन (जैसे, आरएसए) के साथ कार्यान्वित किया जाता है, तो ओएईपी भी चयनित सिफरटेक्स्ट अटैक के विरुद्ध सुरक्षित सिद्ध होता है। ओएईपी का उपयोग आल-और-नथिंग ट्रांसफॉर्म बनाने के लिए किया जा सकता है।
ओएईपी निम्नलिखित दो लक्ष्यों को पूर्ण करता है:
- रैंडम का तत्व जोड़ें, जिसका उपयोग डेटर्मिनिस्टिक एन्क्रिप्शन योजना (जैसे,आरएसए (एल्गोरिदम)) को संभाव्य एन्क्रिप्शन योजना में परिवर्तित करने के लिए किया जा सकता है।
- यह सुनिश्चित करके सिफरटेक्स्ट (या अन्य सूचना रिसाव) के आंशिक डिक्रिप्शन को अवरोधित करें कि विरोधी ट्रैपडोर वन-वे क्रमचय के विपरीत में सक्षम हुए बिना प्लेन टेक्स्ट के किसी भी अंश को पुनर्प्राप्त नहीं कर सकता है।
ओएईपी के मूल वर्ज़न (बेल्लारे/रोगावे, 1994) ने रैंडम ऑरेकल मॉडल में "प्लेनटेक्स्ट अवेयरनेस" (जिस पर उन्होंने आशय किया कि चयनित सिफरटेक्स्ट अटैक के विरुद्ध सुरक्षा का तात्पर्य है) का रूप दिखाया जब ओएईपी का उपयोग किसी ट्रैपडोर क्रमपरिवर्तन के साथ किया जाता है। पश्चात के परिणामों ने इस आशय का खंडन किया कि ओएईपी केवल आईएनडी-सीसीए1 सुरक्षित था। चूँकि, मूल योजना यादृच्छिक ऑरेकल मॉडल में आईएनडी-सीसीए2 सुरक्षित सिद्ध हुई थी, जब ओएईपी का उपयोग आरएसए क्रमचय के साथ आरएसए-ओएईपी की स्तिथि में मानक एन्क्रिप्शन एक्सपोनेंट्स का उपयोग करके किया जाता है।[2]
उत्तम योजना (ओएईपी+ कहलाती है) जो इस प्रॉब्लम को सॉल्व करने के लिए विक्टर शौप द्वारा किसी भी ट्रैपडोर वन-वे क्रमचय के साथ कार्य करती है।[3]
नए कार्य ने दर्शाया है कि स्टैण्डर्ड मॉडल (क्रिप्टोग्राफी) में (अर्थात, जब हैश फ़ंक्शंस को रैंडम ऑरेकल के रूप में मॉडल नहीं किया जाता है) आरएसए प्रॉब्लम की अनुमानित कठोरता के अंतर्गत आरएसए-ओएईपी की आईएनडी-सीसीए 2 सुरक्षा को प्रमाणित करना असंभव है।[4][5]
एल्गोरिथम
- एमजीएफ मास्क जनरेशन फंक्शन है, सामान्यतः एमजीएफ1,
- हैश चयनित क्रिप्टोग्राफ़िक हैश फ़ंक्शन है,
- hLen बाइट्स में हैश फ़ंक्शन के आउटपुट की लंबाई है,
- k बाइट्स में आरएसए (क्रिप्टोसिस्टम) मापांक n की लंबाई है,
- M पैडेड मैसेज है (अधिकतम बाइट्स),
- L मैसेज से जुड़ा वैकल्पिक लेबल है (लेबल डिफ़ॉल्ट रूप से रिक्त स्ट्रिंग है और एन्क्रिप्शन की आवश्यकता के अतिरिक्त डेटा को प्रमाणित करने के लिए उपयोग किया जा सकता है),
- पीएस नल-बाइट्स का बाइट स्ट्रिंग है।
- ⊕ एक्सओआर-संचालन है।
एन्कोडिंग
आरएफसी 8017[6] पीकेसीएस#1 वी 2.2 की एन्कोडिंग के लिए निम्नानुसार ओएईपी योजना निर्दिष्ट करता है-
- चयनित हैश फ़ंक्शन का उपयोग करके लेबल L को हैश करें:
- 0x00 मान के साथ बाइट्स वाला पैडिंग स्ट्रिंग पीएस उत्पन्न करें।
- डेटा ब्लॉक डीबी बनाने के लिए एल हैश, पीएस, सिंगल बाइट 0x01, और मैसेज एम को सम्मिलित करें: . इस डेटा ब्लॉक की लंबाई बाइट्स है।
- लंबाई hLen का यादृच्छिक सीड उत्पन्न करें।
- डेटा ब्लॉक के लिए उपयुक्त लंबाई का मास्क बनाने के लिए मास्क जनरेटिंग फंक्शन का उपयोग करें:
- जनरेट किए गए मास्क के साथ डेटा ब्लॉक को मास्क करें:
- सीड के लिए लंबाई hLen का मास्क बनाने के लिए मास्क जनरेटिंग फ़ंक्शन का उपयोग करें:
- सीड को उत्पन्न मास्क से मास्क करें:
- एन्कोडेड (पैडेड) मैसेज बाइट 0x00 है जो मास्क्डसीड और मास्क्डडीबी के साथ जुड़ा हुआ है:
डिकोडिंग
डिकोडिंग एल्गोरिथम में उठाए गए कदमों को उलट कर कार्य करता है:
- चयनित हैश फ़ंक्शन का उपयोग करके लेबल L को हैश करें:
- चरण 9 को परिवर्तित करने के लिए, एन्कोडेड मैसेज EM को बाइट 0x00, मास्कडसीड (लंबाई hLen के साथ) और मास्कडडीबी में विभाजित करें:
- सीडमास्क उत्पन्न करें जिसका उपयोग सीड को ढकने के लिए किया गया था:
- चरण 8 को परिवर्तित करने के लिए, सीड को सीडमास्क से पुनर्प्राप्त करें:
- डीबी मास्क उत्पन्न करें जिसका उपयोग डेटा ब्लॉक को मास्क करने के लिए किया गया था:
- चरण 6 को परिवर्तित करने के लिए, डेटा ब्लॉक डीबी को पुनर्प्राप्त करें:
- चरण 3 को परिवर्तित करने के लिए, डेटा ब्लॉक को उसके भागों में विभाजित करें: .
- सत्यापित करें कि:
- lHash' परिकलित lHash के समान है
- पीएस में केवल बाइट 0x00 होते हैं
- पीएस और एम को 0x01 बाइट द्वारा पृथक किया जाता है और
- ईएम की प्रथम बाइट 0x00 है।
- यदि इनमें से कोई भी स्तिथि पूर्ण नहीं होती है, तो पैडिंग अमान्य है।
- सत्यापित करें कि:
आरएसए में उपयोग: एन्कोडेड मैसेज को पुनः आरएसए के साथ एन्क्रिप्ट किया जा सकता है। आरएसए के नियतात्मक गुण को अब ओएईपी एन्कोडिंग का उपयोग करके टाला जाता है क्योंकि सीड निरुद्देश्यता से उत्पन्न होता है और पूर्ण एन्कोडेड मैसेज को प्रभावित करता है।
सिक्योरिटी
ऑल-ऑर-नथिंग, सिक्योरिटी इस तथ्य से है कि एम को रिकवर करने के लिए, पूर्ण मास्कडडीबी और पूर्ण मास्कडसीड को पुनर्प्राप्त करना होगा; मास्कडडीबी से सीड को पुनर्प्राप्त करने के लिए मास्कडडीबी की आवश्यकता होती है, और मास्कडडीबी से डेटा ब्लॉक डीबी को पुनर्प्राप्त करने के लिए सीड की आवश्यकता होती है। चूंकि क्रिप्टोग्राफ़िक हैश का कोई भी परिवर्तित बिट परिणाम को पूर्ण रूप से परिवर्तित कर देता है, पूर्ण मास्कडडीबी और पूर्ण मास्कसीड दोनों को पूर्ण रूप से पुनर्प्राप्त किया जाना चाहिए।
कार्यान्वयन
पीकेसीएस#1 मानक में, रैंडम ऑरेकल समान हैं। पीकेसीएस#1 मानक के लिए रैंडम ऑरेकल उचित हैश फ़ंक्शन के साथ एमजीएफ1 आवश्यक है।[7]
यह भी देखें
संदर्भ
- ↑ M. Bellare, P. Rogaway. Optimal Asymmetric Encryption -- How to encrypt with RSA. Extended abstract in Advances in Cryptology - Eurocrypt '94 Proceedings, Lecture Notes in Computer Science Vol. 950, A. De Santis ed, Springer-Verlag, 1995. full version (pdf)
- ↑ Eiichiro Fujisaki, Tatsuaki Okamoto, David Pointcheval, and Jacques Stern. RSA-- OAEP is secure under the RSA assumption. In J. Kilian, ed., Advances in Cryptology -- CRYPTO 2001, vol. 2139 of Lecture Notes in Computer Science, SpringerVerlag, 2001. full version (pdf)
- ↑ Victor Shoup. OAEP Reconsidered. IBM Zurich Research Lab, Saumerstr. 4, 8803 Ruschlikon, Switzerland. September 18, 2001. full version (pdf)
- ↑ P. Paillier and J. Villar, Trading One-Wayness against Chosen-Ciphertext Security in Factoring-Based Encryption, Advances in Cryptology -- Asiacrypt 2006.
- ↑ D. Brown, What Hashes Make RSA-OAEP Secure?, IACR ePrint 2006/233.
- ↑ "Encryption Operation". PKCS #1: RSA Cryptography Specifications Version 2.2. IETF. November 2016. p. 22. sec. 7.1.1. doi:10.17487/RFC8017. RFC 8017. Retrieved 2022-06-04.
- ↑ Brown, Daniel R. L. (2006). "What Hashes Make RSA-OAEP Secure?" (PDF). IACR Cryptology ePrint Archive (in English). Retrieved 2019-04-03.