पैडिंग (क्रिप्टोग्राफी): Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Adding data to a message prior to encryption to hide its length}} {{About|cryptography|other uses of the term|Padding (disambiguation)}} क्रिप...")
 
No edit summary
Line 1: Line 1:
{{Short description|Adding data to a message prior to encryption to hide its length}}
[[क्रिप्टोग्राफी]] में, पैडिंग कई अलग-अलग प्रथाओं में से एक है जिसमें सभी को एन्क्रिप्शन से पहले संदेश की शुरुआत, मध्य या अंत में डेटा जोड़ना शामिल है। शास्त्रीय क्रिप्टोग्राफी में, पैडिंग में एक संदेश में बकवास वाक्यांश जोड़ना शामिल हो सकता है ताकि इस तथ्य को अस्पष्ट किया जा सके कि कई संदेश पूर्वानुमेय तरीके से समाप्त होते हैं।
{{About|cryptography|other uses of the term|Padding (disambiguation)}}
[[क्रिप्टोग्राफी]] में, पैडिंग कई अलग-अलग प्रथाओं में से एक है जिसमें सभी को एन्क्रिप्शन से पहले संदेश की शुरुआत, मध्य या अंत में डेटा जोड़ना शामिल है। शास्त्रीय क्रिप्टोग्राफी में, पैडिंग में एक संदेश में बकवास वाक्यांश जोड़ना शामिल हो सकता है ताकि इस तथ्य को अस्पष्ट किया जा सके कि कई संदेश पूर्वानुमेय तरीके से समाप्त होते हैं, उदा। ''आपका''।


== शास्त्रीय क्रिप्टोग्राफी ==
== शास्त्रीय क्रिप्टोग्राफी ==
Line 21: Line 19:


कई शास्त्रीय सिफर सादे पाठ को विशेष पैटर्न (जैसे, वर्ग, आयत, आदि) में व्यवस्थित करते हैं और यदि सादा पाठ बिल्कुल फिट नहीं होता है, तो पैटर्न को भरने के लिए अतिरिक्त अक्षरों की आपूर्ति करना अक्सर आवश्यक होता है। इस उद्देश्य के लिए बकवास अक्षरों का उपयोग करने से कुछ प्रकार के क्रिप्ट विश्लेषण को और अधिक कठिन बनाने का एक साइड बेनिफिट होता है।
कई शास्त्रीय सिफर सादे पाठ को विशेष पैटर्न (जैसे, वर्ग, आयत, आदि) में व्यवस्थित करते हैं और यदि सादा पाठ बिल्कुल फिट नहीं होता है, तो पैटर्न को भरने के लिए अतिरिक्त अक्षरों की आपूर्ति करना अक्सर आवश्यक होता है। इस उद्देश्य के लिए बकवास अक्षरों का उपयोग करने से कुछ प्रकार के क्रिप्ट विश्लेषण को और अधिक कठिन बनाने का एक साइड बेनिफिट होता है।
<!--Such padding is not used in modern cryptography, because modern ciphers are designed to be secure even when the cryptanalyst chooses the message to encrypt.-->
== सममित क्रिप्टोग्राफी ==
== सममित क्रिप्टोग्राफी ==


Line 59: Line 53:
== एएनएसआई X9.23 ==
== एएनएसआई X9.23 ==


ANSI X9.23 में, 1 और 8 बाइट्स के बीच हमेशा पैडिंग के रूप में जोड़े जाते हैं। ब्लॉक यादृच्छिक बाइट्स के साथ गद्देदार है (हालांकि कई कार्यान्वयन 00 का उपयोग करते हैं) और ब्लॉक का अंतिम बाइट जोड़े गए बाइट्स की संख्या पर सेट है।<ref>{{cite web |title=ANSI X9.23 cipher block chaining |url=https://www.ibm.com/support/knowledgecenter/en/linuxonibm/com.ibm.linux.z.wskc.doc/wskc_c_l0wskc58.html |website=IBM Knowledge Center |publisher=IBM |access-date=31 December 2018}}</ref>
ANSI X9.23 में, 1 और 8 बाइट्स के बीच हमेशा पैडिंग के रूप में जोड़े जाते हैं। ब्लॉक यादृच्छिक बाइट्स के साथ गद्देदार है (हालांकि कई कार्यान्वयन 00 का उपयोग करते हैं) और ब्लॉक का अंतिम बाइट जोड़े गए बाइट्स की संख्या पर सेट है।<ref>{{cite web |title=ANSI X9.23 cipher block chaining |url=https://www.ibm.com/support/knowledgecenter/en/linuxonibm/com.ibm.linux.z.wskc.doc/wskc_c_l0wskc58.html |website=IBM Knowledge Center |publisher=IBM |access-date=31 December 2018}}</ref>उदाहरण:
उदाहरण:
निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है, और 4 बाइट्स के लिए पैडिंग आवश्यक है (हेक्साडेसिमल प्रारूप में)
निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है, और 4 बाइट्स के लिए पैडिंग आवश्यक है (हेक्साडेसिमल प्रारूप में)


Line 117: Line 110:
==== जीरो पैडिंग ====
==== जीरो पैडिंग ====


पैडेड होने के लिए आवश्यक सभी बाइट्स शून्य के साथ पैडेड हैं। एन्क्रिप्शन के लिए जीरो पैडिंग स्कीम को मानकीकृत नहीं किया गया है,{{citation needed|date=August 2013}} हालांकि यह ISO/IEC 10118-1 में पैडिंग विधि 1 के रूप में हैश और MACs के लिए निर्दिष्ट है<ref>[https://www.iso.org/standard/64213.html ISO/IEC 10118-1:2016 ''Information technology – Security techniques – Hash-functions – Part 1: General'']</ref> और आईएसओ/आईईसी 9797-1।<ref>[https://www.iso.org/standard/50375.html ISO/IEC 9797-1:2011 ''Information technology – Security techniques – Message Authentication Codes (MACs) – Part 1: Mechanisms using a block cipher'']</ref>
पैडेड होने के लिए आवश्यक सभी बाइट्स शून्य के साथ पैडेड हैं। एन्क्रिप्शन के लिए जीरो पैडिंग स्कीम को मानकीकृत नहीं किया गया है, हालांकि यह ISO/IEC 10118-1 में पैडिंग विधि 1 के रूप में हैश और MACs के लिए निर्दिष्ट है<ref>[https://www.iso.org/standard/64213.html ISO/IEC 10118-1:2016 ''Information technology – Security techniques – Hash-functions – Part 1: General'']</ref> और आईएसओ/आईईसी 9797-1।<ref>[https://www.iso.org/standard/50375.html ISO/IEC 9797-1:2011 ''Information technology – Security techniques – Message Authentication Codes (MACs) – Part 1: Mechanisms using a block cipher'']</ref>
उदाहरण:
उदाहरण:
निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है और 4 बाइट्स के लिए पैडिंग आवश्यक है
निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है और 4 बाइट्स के लिए पैडिंग आवश्यक है
Line 123: Line 116:
  ... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी 00 00 00 00 |
  ... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी 00 00 00 00 |


यदि मूल फ़ाइल एक या अधिक शून्य बाइट्स के साथ समाप्त होती है, तो शून्य पैडिंग प्रतिवर्ती नहीं हो सकती है, जिससे प्लेनटेक्स्ट डेटा बाइट्स और पैडिंग बाइट्स के बीच अंतर करना असंभव हो जाता है। इसका उपयोग तब किया जा सकता है जब संदेश की लंबाई आउट-ऑफ़-बैंड डेटा | आउट-ऑफ़-बैंड प्राप्त की जा सकती है। यह अक्सर बाइनरी एन्कोडेड पर लागू होता है{{clarify |date=March 2020 |reason= What other kind of string is there, other than binary encoded?}} [[ स्ट्रिंग (कंप्यूटर विज्ञान) ]] ([[ अशक्त-समाप्त स्ट्रिंग ]]) को अशक्त वर्ण के रूप में आमतौर पर [[व्हाइटस्पेस चरित्र]] के रूप में अलग किया जा सकता है।
यदि मूल फ़ाइल एक या अधिक शून्य बाइट्स के साथ समाप्त होती है, तो शून्य पैडिंग प्रतिवर्ती नहीं हो सकती है, जिससे प्लेनटेक्स्ट डेटा बाइट्स और पैडिंग बाइट्स के बीच अंतर करना असंभव हो जाता है। इसका उपयोग तब किया जा सकता है जब संदेश की लंबाई आउट-ऑफ़-बैंड डेटा | आउट-ऑफ़-बैंड प्राप्त की जा सकती है। यह अक्सर बाइनरी एन्कोडेड पर लागू होता है [[ स्ट्रिंग (कंप्यूटर विज्ञान) ]] ([[ अशक्त-समाप्त स्ट्रिंग ]]) को अशक्त वर्ण के रूप में आमतौर पर [[व्हाइटस्पेस चरित्र]] के रूप में अलग किया जा सकता है।


शून्य पैडिंग को कभी-कभी शून्य पैडिंग या शून्य बाइट पैडिंग भी कहा जाता है। कुछ कार्यान्वयन शून्य बाइट्स का एक अतिरिक्त ब्लॉक जोड़ सकते हैं यदि प्लेनटेक्स्ट पहले से ही ब्लॉक आकार से विभाज्य है।{{citation needed|date=August 2013}}
शून्य पैडिंग को कभी-कभी शून्य पैडिंग या शून्य बाइट पैडिंग भी कहा जाता है। कुछ कार्यान्वयन शून्य बाइट्स का एक अतिरिक्त ब्लॉक जोड़ सकते हैं यदि प्लेनटेक्स्ट पहले से ही ब्लॉक आकार से विभाज्य है।


== [[सार्वजनिक कुंजी क्रिप्टोग्राफी]] ==
== [[सार्वजनिक कुंजी क्रिप्टोग्राफी]] ==

Revision as of 01:49, 22 May 2023

क्रिप्टोग्राफी में, पैडिंग कई अलग-अलग प्रथाओं में से एक है जिसमें सभी को एन्क्रिप्शन से पहले संदेश की शुरुआत, मध्य या अंत में डेटा जोड़ना शामिल है। शास्त्रीय क्रिप्टोग्राफी में, पैडिंग में एक संदेश में बकवास वाक्यांश जोड़ना शामिल हो सकता है ताकि इस तथ्य को अस्पष्ट किया जा सके कि कई संदेश पूर्वानुमेय तरीके से समाप्त होते हैं।

शास्त्रीय क्रिप्टोग्राफी

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

क्लासिकल पैडिंग का एक प्रसिद्ध उदाहरण जिसने एक बड़ी गलतफहमी पैदा की, दुनिया हैरान है घटना है, जिसने लेटे गल्फ की बड़ी लड़ाई का हिस्सा, समर से WWII युद्ध में मित्र राष्ट्रों को लगभग नुकसान पहुंचाया। उस उदाहरण में, एडमिरल चेस्टर निमित्ज़, CINCPACFLT|द्वितीय विश्व युद्ध में यूएस पैसिफिक फ्लीट के कमांडर इन चीफ, ने लेटे गल्फ की लड़ाई में टास्क फोर्स थर्टी फोर (मुख्य सहयोगी बेड़े) के कमांडर एडमिरल बुल हैल्सी को निम्नलिखित संदेश भेजा , 25 अक्टूबर, 1944 को:[2]

Where is, repeat, where is Task Force Thirty Four?[3]

पैडिंग (बोल्ड) और मेटा डेटा जोड़ने के साथ, संदेश बन गया:

TURKEY TROTS TO WATER GG FROM CINCPAC ACTION COM THIRD FLEET INFO COMINCH CTF SEVENTY-SEVEN X WHERE IS RPT WHERE IS TASK FORCE THIRTY FOUR RR THE WORLD WONDERS[3]

हैल्सी के रेडियो ऑपरेटर ने संदेश के लिए कुछ पैडिंग को गलत समझा, इसलिए एडमिरल हैल्से ने निम्नलिखित संदेश को पढ़ना समाप्त कर दिया:

Where is, repeat, where is Task Force Thirty Four? The world wonders[3]

एडमिरल हैल्सी ने पैडिंग वाक्यांश द वर्ल्ड वंडर्स की एक व्यंग्यात्मक फटकार के रूप में व्याख्या की, जिससे वह भावनात्मक रूप से भड़क उठे और फिर अपने पुल में खुद को बंद कर लिया और समर से युद्ध में सहायता करने के लिए अपनी सेना को स्थानांतरित करने से पहले एक घंटे के लिए डूब गए।[2]हैल्सी के रेडियो ऑपरेटर को आरआर पत्रों द्वारा इत्तला दे दी जानी चाहिए थी कि दुनिया के अजूबे पैडिंग कर रहे थे; एडमिरल निमित्ज़ का संदेश प्राप्त करने वाले अन्य सभी रेडियो ऑपरेटरों ने दोनों पैडिंग वाक्यांशों को सही ढंग से हटा दिया।[2]

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

सममित क्रिप्टोग्राफी

हैश फ़ंक्शन

अधिकांश आधुनिक क्रिप्टोग्राफ़िक हैश फ़ंक्शन निश्चित-लंबाई वाले ब्लॉकों में संदेशों को संसाधित करते हैं; शुरुआती हैश कार्यों को छोड़कर सभी में कुछ प्रकार की पैडिंग योजना शामिल है। क्रिप्टोग्राफ़िक हैश फ़ंक्शंस के लिए समाप्ति योजनाओं को नियोजित करना महत्वपूर्ण है जो हैश को लंबाई विस्तार के हमलों के प्रति संवेदनशील होने से रोकते हैं।

कई पैडिंग योजनाएँ अंतिम ब्लॉक में अनुमानित डेटा को जोड़ने पर आधारित हैं। उदाहरण के लिए, संदेश की कुल लंबाई से पैड प्राप्त किया जा सकता है। इस तरह की पैडिंग स्कीम आमतौर पर हैश एल्गोरिदम पर लागू होती है जो मर्कल-डैमगार्ड निर्माण का उपयोग करती है जैसे MD5|MD-5, SHA-1, और SHA-2|SHA-2 परिवार जैसे SHA-224, SHA-256, SHA -384, SHA-512, SHA-512/224, और SHA-512/256Cite error: Closing </ref> missing for <ref> tag संचालन के स्ट्रीमिंग मोड किसी भी आकार के संदेशों को एन्क्रिप्ट और डिक्रिप्ट कर सकते हैं और इसलिए पैडिंग की आवश्यकता नहीं होती है। किसी संदेश को समाप्त करने के अधिक जटिल तरीके जैसे कि सिफरटेक्स्ट चोरी या अवशिष्ट ब्लॉक समाप्ति पैडिंग की आवश्यकता से बचती है।

पैडिंग का एक नुकसान यह है कि यह संदेश के सादे पाठ को पैडिंग ऑरेकल हमलों के लिए अतिसंवेदनशील बनाता है। पैडिंग ऑरेकल हमलों से हमलावर को ब्लॉक सिफर आदिम पर हमला किए बिना सादे पाठ का ज्ञान प्राप्त करने की अनुमति मिलती है। पैडिंग ऑरैकल हमलों से यह सुनिश्चित करके बचा जा सकता है कि हमलावर पैडिंग बाइट्स को हटाने के बारे में ज्ञान प्राप्त नहीं कर सकता है। पैडिंग बाइट्स को हटाने से पहले संदेश प्रमाणीकरण कोड | संदेश प्रमाणीकरण कोड (मैक) या डिजिटल हस्ताक्षर की पुष्टि करके, या संचालन के स्ट्रीमिंग मोड में स्विच करके इसे पूरा किया जा सकता है।

बिट पैडिंग

बिट पैडिंग को किसी भी आकार के संदेशों पर लागू किया जा सकता है।

संदेश में एक एकल सेट ('1') बिट जोड़ा जाता है और फिर आवश्यकतानुसार कई रीसेट ('0') बिट्स जोड़े जाते हैं (संभवतः कोई नहीं)। जोड़े गए रीसेट ('0') बिट्स की संख्या उस ब्लॉक सीमा पर निर्भर करेगी जिस तक संदेश को विस्तारित करने की आवश्यकता है। थोड़े शब्दों में यह 1000 ... 0000 है।

इस पद्धति का उपयोग उन संदेशों को पैड करने के लिए किया जा सकता है जो कितने भी लंबे हों, जरूरी नहीं कि पूरी संख्या में बाइट्स हों। उदाहरण के लिए, 23 बिट्स का एक संदेश जो 32-बिट ब्लॉक को भरने के लिए 9 बिट्स के साथ पैडेड है:

... | 1011 1001 1101 0100 0010 0111 0000 0000 |

यह पैडिंग MD5 और सुरक्षित हैश एल्गोरिथ्म (बहुविकल्पी)बहुविकल्पी) सहित कई हैश कार्य करता है में उपयोग की जाने वाली दो-चरणीय पैडिंग योजना का पहला चरण है। इस संदर्भ में, यह RFC1321 चरण 3.1 द्वारा निर्दिष्ट किया गया है।

इस पैडिंग योजना को ISO/IEC 9797-1 द्वारा पैडिंग विधि 2 के रूप में परिभाषित किया गया है।

बाइट पैडिंग

बाइट पैडिंग को उन संदेशों पर लागू किया जा सकता है जिन्हें बाइट्स की एक अभिन्न संख्या के रूप में एन्कोड किया जा सकता है।

एएनएसआई X9.23

ANSI X9.23 में, 1 और 8 बाइट्स के बीच हमेशा पैडिंग के रूप में जोड़े जाते हैं। ब्लॉक यादृच्छिक बाइट्स के साथ गद्देदार है (हालांकि कई कार्यान्वयन 00 का उपयोग करते हैं) और ब्लॉक का अंतिम बाइट जोड़े गए बाइट्स की संख्या पर सेट है।[4]उदाहरण: निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है, और 4 बाइट्स के लिए पैडिंग आवश्यक है (हेक्साडेसिमल प्रारूप में)

... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी 00 00 00 04 |

आईएसओ 10126

आईएसओ 10126 (वापस ले लिया, 2007[5][6]) निर्दिष्ट करता है कि पैडिंग उस अंतिम ब्लॉक के अंत में यादृच्छिक बाइट्स के साथ की जानी चाहिए, और पैडिंग सीमा को अंतिम बाइट द्वारा निर्दिष्ट किया जाना चाहिए।

उदाहरण: निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है और 4 बाइट्स के लिए पैडिंग आवश्यक है

... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी 81 ए6 23 04 |

पीकेसीएस#5 और पीकेसीएस#7

PKCS|PKCS#7 RFC 5652 में वर्णित है।

पैडिंग पूरे बाइट्स में है। प्रत्येक जोड़े गए बाइट का मान जोड़े गए बाइट्स की संख्या है, अर्थात। N बाइट्स, प्रत्येक मान N जुड़ गए है। जोड़े गए बाइट्स की संख्या उस ब्लॉक सीमा पर निर्भर करेगी जिस पर संदेश को विस्तारित करने की आवश्यकता है।

गद्दी इनमें से एक होगी:

01
02 02
03 03 03
04 04 04 04
05 05 05 05 05
06 06 06 06 06 06
वगैरह।

यह पैडिंग विधि (साथ ही पिछले दो) अच्छी तरह से परिभाषित है अगर और केवल अगर N 256 से कम है।

उदाहरण: निम्नलिखित उदाहरण में, ब्लॉक का आकार 8 बाइट्स है और 4 बाइट्स के लिए पैडिंग आवश्यक है

... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी 04 04 04 04 |

यदि मूल डेटा की लंबाई ब्लॉक आकार का एक पूर्णांक गुणक है B, फिर मान के साथ बाइट्स का एक अतिरिक्त ब्लॉक B जोड़ दिया गया है। यह आवश्यक है इसलिए डिक्रिफ़रिंग एल्गोरिथ्म निश्चित रूप से निर्धारित कर सकता है कि क्या अंतिम ब्लॉक का अंतिम बाइट एक पैड बाइट है जो जोड़े गए पैडिंग बाइट्स की संख्या या सादे पाठ संदेश का हिस्सा दर्शाता है। एक सादा पाठ संदेश पर विचार करें जो एक पूर्णांक एकाधिक है B बाइट जिसमें प्लेनटेक्स्ट की अंतिम बाइट 01 है। बिना किसी अतिरिक्त जानकारी के, डिक्रिफ़रिंग एल्गोरिथ्म यह निर्धारित करने में सक्षम नहीं होगा कि अंतिम बाइट प्लेनटेक्स्ट बाइट है या पैड बाइट। हालाँकि, जोड़कर B प्रत्येक मान को बाइट करता है B 01 प्लेनटेक्स्ट बाइट के बाद, डिक्रिफ़रिंग एल्गोरिथम हमेशा अंतिम बाइट को पैड बाइट के रूप में मान सकता है और सिफरटेक्स्ट के अंत से उचित संख्या में पैड बाइट्स को हटा सकता है; अंतिम बाइट के मान के आधार पर छीनी जाने वाली बाइट्स की संख्या।

PKCS#5 पैडिंग PKCS#7 पैडिंग के समान है, सिवाय इसके कि इसे केवल 64-बिट (8-बाइट) ब्लॉक आकार का उपयोग करने वाले ब्लॉक सिफर के लिए परिभाषित किया गया है। व्यवहार में, दोनों का परस्पर उपयोग किया जा सकता है।

अधिकतम ब्लॉक आकार 255 है, क्योंकि यह एक बाइट में समाहित सबसे बड़ी संख्या है।

आईएसओ/आईईसी 7816-4

आईएसओ/आईईसी 7816-4:2005[7] बिट पैडिंग योजना के समान है, जो एन बाइट्स के सादे पाठ पर लागू होती है। व्यवहार में इसका मतलब यह है कि पहली बाइट एक अनिवार्य बाइट है जिसका मान '80' (हेक्साडेसिमल) है, इसके बाद, यदि आवश्यक हो, 0 से N − 1 बाइट्स को '00' पर सेट किया जाता है, जब तक कि ब्लॉक के अंत तक नहीं पहुंच जाता। ISO/IEC 7816-4 स्वयं फ़ाइल सिस्टम वाले स्मार्ट कार्ड के लिए एक संचार मानक है, और अपने आप में कोई क्रिप्टोग्राफ़िक विनिर्देश शामिल नहीं करता है।

उदाहरण: निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है और 4 बाइट्स के लिए पैडिंग आवश्यक है

... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी '80 00 00 00' |

अगला उदाहरण केवल एक बाइट की पैडिंग दिखाता है

... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी डीडी डीडी डीडी '80' |

जीरो पैडिंग

पैडेड होने के लिए आवश्यक सभी बाइट्स शून्य के साथ पैडेड हैं। एन्क्रिप्शन के लिए जीरो पैडिंग स्कीम को मानकीकृत नहीं किया गया है, हालांकि यह ISO/IEC 10118-1 में पैडिंग विधि 1 के रूप में हैश और MACs के लिए निर्दिष्ट है[8] और आईएसओ/आईईसी 9797-1।[9] उदाहरण: निम्नलिखित उदाहरण में ब्लॉक का आकार 8 बाइट्स है और 4 बाइट्स के लिए पैडिंग आवश्यक है

... | डीडी डीडी डीडी डीडी डीडी डीडी डीडी डीडी | डीडी डीडी डीडी डीडी 00 00 00 00 |

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

शून्य पैडिंग को कभी-कभी शून्य पैडिंग या शून्य बाइट पैडिंग भी कहा जाता है। कुछ कार्यान्वयन शून्य बाइट्स का एक अतिरिक्त ब्लॉक जोड़ सकते हैं यदि प्लेनटेक्स्ट पहले से ही ब्लॉक आकार से विभाज्य है।

सार्वजनिक कुंजी क्रिप्टोग्राफी

सार्वजनिक कुंजी क्रिप्टोग्राफी में, पैडिंग एन्क्रिप्शन के लिए एक संदेश तैयार करने या किसी विनिर्देश या योजना जैसे PKCS1|PKCS#1 v2.2, OAEP, संभाव्य हस्ताक्षर योजना, PSSR, IEEE P1363 EMSA2 और EMSA5 का उपयोग करने की प्रक्रिया है। असममित आदिम के लिए पैडिंग का एक आधुनिक रूप आरएसए (एल्गोरिदम) पर लागू इष्टतम असममित एन्क्रिप्शन पैडिंग है, जब इसका उपयोग सीमित संख्या में बाइट्स को एन्क्रिप्ट करने के लिए किया जाता है।

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

ट्रैफिक विश्लेषण और पैडिंग के माध्यम से सुरक्षा

यहां तक ​​कि अगर सही क्रिप्टोग्राफ़िक रूटीन का उपयोग किया जाता है, तो हमलावर उत्पन्न होने वाले ट्रैफ़िक की मात्रा का ज्ञान प्राप्त कर सकता है। हमलावर को पता नहीं हो सकता है कि ऐलिस और बॉब किस बारे में बात कर रहे थे, लेकिन यह जान सकते हैं कि वे बात कर रहे थे और उन्होंने कितनी बात की थी। कुछ परिस्थितियों में यह रिसाव अत्यधिक समझौताकारी हो सकता है। उदाहरण के लिए विचार करें जब एक सेना दूसरे राष्ट्र के खिलाफ एक गुप्त हमले का आयोजन कर रही है: यह दूसरे राष्ट्र को केवल यह जानने के लिए सचेत करने के लिए पर्याप्त हो सकता है कि बहुत सी गुप्त गतिविधि चल रही है।

एक अन्य उदाहरण के रूप में, वीओआइपी धाराओं को एन्क्रिप्ट करते समय जो चर बिट दर एन्कोडिंग का उपयोग करते हैं, समय की प्रति यूनिट बिट्स की संख्या अस्पष्ट नहीं होती है, और बोले गए वाक्यांशों का अनुमान लगाने के लिए इसका फायदा उठाया जा सकता है।[10] इसी तरह, सामान्य वीडियो एन्कोडर द्वारा उत्पादित बर्स्ट पैटर्न अक्सर उस स्ट्रीमिंग वीडियो की पहचान करने के लिए पर्याप्त होते हैं जिसे उपयोगकर्ता विशिष्ट रूप से देख रहा है।[11] यहां तक ​​कि किसी वस्तु का कुल आकार, जैसे कि वेबसाइट, फ़ाइल, सॉफ्टवेयर पैकेज डाउनलोड, या ऑनलाइन वीडियो, किसी वस्तु की विशिष्ट पहचान कर सकता है, यदि हमलावर जानता है या उस ज्ञात सेट का अनुमान लगा सकता है जिससे वस्तु आती है।[12][13][14] जाने-माने CRIME और BREACH हमलों में HTTPS संचार से पासवर्ड निकालने के लिए एन्क्रिप्टेड सामग्री लंबाई के साइड-चैनल हमला |साइड-चैनल का उपयोग किया गया था।[15] एक एन्क्रिप्टेड संदेश को पैड करने से उसके पेलोड की सही लंबाई को अस्पष्ट करके ट्रैफ़िक विश्लेषण कठिन हो सकता है। किसी संदेश को पैड करने के लिए लंबाई का चुनाव या तो निश्चित रूप से या यादृच्छिक रूप से किया जा सकता है; प्रत्येक दृष्टिकोण में ताकत और कमजोरियां होती हैं जो विभिन्न संदर्भों में लागू होती हैं।

यादृच्छिक पैडिंग

एक संदेश के अंत में अतिरिक्त पैडिंग बिट्स या बाइट्स की एक यादृच्छिक संख्या जोड़ी जा सकती है, अंत में एक संकेत के साथ कि कितना पैडिंग जोड़ा गया था। यदि पैडिंग की मात्रा को 0 और कुछ अधिकतम एम के बीच एक समान यादृच्छिक संख्या के रूप में चुना जाता है, उदाहरण के लिए, तो एक ईव्सड्रॉपर उस सीमा के भीतर संदेश की लंबाई निर्धारित करने में असमर्थ होगा। यदि संदेश के कुल आकार की तुलना में अधिकतम पैडिंग एम छोटा है, तो यह पैडिंग अधिक ओवरहेड (कंप्यूटिंग) नहीं जोड़ेगी, लेकिन पैडिंग ऑब्जेक्ट की कुल लंबाई के केवल सबसे कम-महत्वपूर्ण बिट्स को अस्पष्ट करेगी, बड़ी वस्तुओं की अनुमानित लंबाई को छोड़कर आसानी से देखा जा सकता है और इसलिए अभी भी संभावित रूप से उनकी लंबाई से विशिष्ट रूप से पहचाना जा सकता है। यदि अधिकतम पैडिंग एम पेलोड के आकार के बराबर है, तो इसके विपरीत, संदेश के वास्तविक पेलोड आकार के बारे में एक प्रच्छन्न व्यक्ति की अनिश्चितता बहुत बड़ी है, इस कीमत पर कि पैडिंग 100% ओवरहेड तक जोड़ सकती है ( ब्लो-अप) संदेश के लिए।

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

नियतात्मक पैडिंग

एक निर्धारक पैडिंग योजना हमेशा एक निश्चित लंबाई के संदेश पेलोड को एक विशेष संबंधित आउटपुट लंबाई के एन्क्रिप्टेड संदेश बनाने के लिए पैड करती है। जब कई पेलोड की लंबाई एक ही गद्देदार आउटपुट लंबाई के लिए मैप की जाती है, तो एक समान-लंबाई वाले संदेशों के प्रसारित होने के कई अवलोकनों के बाद भी एक ईव्सड्रॉपर पेलोड की वास्तविक लंबाई के बारे में कोई जानकारी नहीं सीख सकता है। इस संबंध में, नियतात्मक पैडिंग योजनाओं में समान पेलोड आकार के प्रत्येक क्रमिक संदेश के साथ कोई अतिरिक्त जानकारी लीक न करने का लाभ है।

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

सामान्य नियतात्मक पैडिंग विधियों में एक स्थिर ब्लॉक आकार के लिए पैडिंग और दो की अगली-बड़ी शक्ति के लिए पैडिंग शामिल है। एक छोटी अधिकतम राशि एम के साथ यादृच्छिक पैडिंग की तरह, हालांकि, संदेश पेलोड की तुलना में बहुत छोटे ब्लॉक आकार के लिए निश्चित रूप से पैडिंग संदेशों की वास्तविक लंबाई के केवल सबसे कम-महत्वपूर्ण बिट्स को अस्पष्ट करती है, जिससे संदेशों की वास्तविक अनुमानित लंबाई काफी हद तक असुरक्षित हो जाती है। संदेशों को दो (या किसी अन्य निश्चित आधार) की शक्ति में पैडिंग करने से एंट्रॉपी (सूचना सिद्धांत) की अधिकतम मात्रा कम हो जाती है जिससे संदेश इसकी लंबाई से लीक हो सकता है O(log M) को O(log log M). दो की शक्ति के लिए पैडिंग संदेश आकार ओवरहेड को 100% तक बढ़ा देता है, हालांकि, और बड़े पूर्णांक आधारों की शक्तियों के लिए पैडिंग अधिकतम ओवरहेड को और बढ़ा देती है।

PADMÉ योजना, PURB (क्रिप्टोग्राफी) के लिए प्रस्तावित, निश्चित रूप से IEEE 754 के रूप में प्रतिनिधित्व करने योग्य लंबाई के संदेशों को पैड करती है, जिसका मंटिसा अब इसके प्रतिपादक की तुलना में नहीं है (यानी, इसमें अधिक महत्वपूर्ण बिट्स नहीं हैं)।[14] यह लंबाई बाधा सुनिश्चित करती है कि एक संदेश अधिक से अधिक लीक हो O(log log M) इसकी लंबाई के माध्यम से जानकारी के बिट्स, जैसे दो की शक्ति के लिए पैडिंग, लेकिन छोटे संदेशों के लिए अधिक से अधिक 12% का ओवरहेड और संदेश आकार के साथ धीरे-धीरे घटता है।

यह भी देखें

  • भूनना और फटकना, भेजने से पहले बड़ी मात्रा में बकवास मिलाना
  • सिफरटेक्स्ट चोरी, संदेशों से निपटने के लिए एक और तरीका जो ब्लॉक की लंबाई के गुणक नहीं हैं
  • प्रारंभिक वेक्टर, सॉल्ट (क्रिप्टोग्राफी), जिसे कभी-कभी पैडिंग समझ लिया जाता है
  • कुंजी एनकैप्सुलेशन, सममित कुंजियों का आदान-प्रदान करने के लिए उपयोग की जाने वाली सार्वजनिक कुंजी प्रणालियों के लिए पैडिंग का विकल्प
  • PURB (क्रिप्टोग्राफी) या पैडेड यूनिफॉर्म रैंडम ब्लॉब, एक एन्क्रिप्शन अनुशासन जो मेटाडेटा या लंबाई से रिसाव को कम करता है
  • रूसी मैथुन, पालना रोकने की एक और तकनीक

संदर्भ

  1. Gordon Welchman, The Hut Six Story: Breaking the Enigma Codes, p. 78.
  2. 2.0 2.1 2.2 Willmott, H. P. (19 August 2005). "The Great Day of Wrath: 25 October 1944". The Battle of Leyte Gulf: The Last Fleet Action. Indiana University Press. ISBN 9780253003515.
  3. 3.0 3.1 3.2 Tuohy, William (2007). America's Fighting Admirals: Winning the War at Sea in World War II. MBI Publishing Company. ISBN 9780760329856.
  4. "ANSI X9.23 cipher block chaining". IBM Knowledge Center. IBM. Retrieved 31 December 2018.
  5. ISO catalog, ISO 10126-1:1991
  6. ISO catalog, ISO 10126-2:1991
  7. ISO catalog, ISO/IEC 7816-4:2005
  8. ISO/IEC 10118-1:2016 Information technology – Security techniques – Hash-functions – Part 1: General
  9. ISO/IEC 9797-1:2011 Information technology – Security techniques – Message Authentication Codes (MACs) – Part 1: Mechanisms using a block cipher
  10. Wright, Charles V.; Ballard, Lucas; Coull, Scott E.; Monrose, Fabian; Masson, Gerald M. (1 December 2010). "आईपी ​​​​वार्तालापों पर एन्क्रिप्टेड वॉयस में बोले गए वाक्यांशों को उजागर करना". ACM Transactions on Information and System Security. 13 (4): 35. CiteSeerX 10.1.1.363.1973. doi:10.1145/1880022.1880029. S2CID 9622722. {{cite journal}}: zero width space character in |title= at position 6 (help)
  11. Schuster, Roei; Shmatikov, Vitaly; Tromer, Eran (August 2017). Beauty and the Burst: Remote Identification of Encrypted Video Streams. USENIX Security Symposium.
  12. Hintz, Andrew (April 2002). "Fingerprinting Websites Using Traffic Analysis". गोपनीयता बढ़ाने वाली तकनीकें. International Workshop on Privacy Enhancing Technologies. Lecture Notes in Computer Science. Vol. 2482. pp. 171–178. doi:10.1007/3-540-36467-6_13. ISBN 978-3-540-00565-0.
  13. Sun, Qixiang; Simon, D.R.; Wang, Yi-Min; Russell, W.; Padmanabhan, V.N.; Qiu, Lili (May 2002). "Statistical Identification of Encrypted Web Browsing Traffic". Proceedings 2002 IEEE Symposium on Security and Privacy. IEEE Symposium on Security and Privacy. pp. 19–30. doi:10.1109/SECPRI.2002.1004359. ISBN 0-7695-1543-6.
  14. 14.0 14.1 Nikitin, Kirill; Barman, Ludovic; Lueks, Wouter; Underwood, Matthew; Hubaux, Jean-Pierre; Ford, Bryan (2019). "एन्क्रिप्टेड फाइलों से मेटाडेटा रिसाव को कम करना और PURBs के साथ संचार" (PDF). Proceedings on Privacy Enhancing Technologies (PoPETS). 2019 (4): 6–33. arXiv:1806.03160. doi:10.2478/popets-2019-0056. S2CID 47011059.
  15. Sheffer, Y.; Holz, R.; Saint-Andre, P. (February 2015). ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) और डेटाग्राम TLS (DTLS) पर ज्ञात हमलों का सारांश (Report).


अग्रिम पठन