सत्यापित संगणना (वेरिफिएबल कंप्यूटिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 1: Line 1:
[[क्रिप्टोग्राफी]] में, प्रारूप-संरक्षण एन्क्रिप्शन (FPE), इस तरह से एन्क्रिप्ट करने को संदर्भित करता है कि आउटपुट ([[सिफर]]टेक्स्ट) इनपुट ([[सादे पाठ]]) के समान प्रारूप में है। प्रारूप का अर्थ भिन्न होता है। विशिष्ट रूप से वर्णों के केवल परिमित समुच्चय का उपयोग किया जाता है; संख्यात्मक, अक्षरात्मक या अक्षरांकीय। उदाहरण के लिए:
[[क्रिप्टोग्राफी]] में, '''प्रारूप-संरक्षण एन्क्रिप्शन''' '''(एफपीई)''', इस प्रकार से एन्क्रिप्ट करने को संदर्भित करता है कि आउटपुट ([[सिफर]]टेक्स्ट) इनपुट ([[सादे पाठ]]) के समान प्रारूप में है। प्रारूप का अर्थ भिन्न होता है। विशिष्ट रूप से वर्णों के केवल परिमित समुच्चय का उपयोग किया जाता है; संख्यात्मक, अक्षरात्मक या अक्षरांकीय। उदाहरण के लिए:


* 16 अंकों के क्रेडिट कार्ड नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट 16 अंकों की एक और संख्या हो।
* 16 अंकों के क्रेडिट कार्ड नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट 16 अंकों की एक और संख्या हो।
Line 10: Line 10:


===प्रतिबंधित फ़ील्ड लंबाई या प्रारूप ===
===प्रतिबंधित फ़ील्ड लंबाई या प्रारूप ===
एफपीई का उपयोग करने के लिए एक प्रेरणा अच्छी तरह से परिभाषित डेटा मॉडल के साथ उपस्तिथा अनुप्रयोगों में एन्क्रिप्शन को एकीकृत करने से जुड़ी समस्याओं से आती है। एक विशिष्ट उदाहरण एक [[क्रेडिट कार्ड नंबर]] होगा, जैसे <code>1234567812345670</code> (16 बाइट लंबी, केवल अंक)।
एफपीई का उपयोग करने के लिए एक प्रेरणा उचित प्रकार से परिभाषित डेटा मॉडल के साथ उपस्तिथा अनुप्रयोगों में एन्क्रिप्शन को एकीकृत करने से जुड़ी समस्याओं से आती है। एक विशिष्ट उदाहरण एक [[क्रेडिट कार्ड नंबर]] होगा, जैसे <code>1234567812345670</code> (16 बाइट लंबी, केवल अंक)।


यदि डेटा मॉडल को बदलना है तो ऐसे अनुप्रयोगों में एन्क्रिप्शन जोड़ना चुनौतीपूर्ण हो सकता है, क्योंकि इसमें सामान्यतः फ़ील्ड लंबाई सीमा या डेटा प्रकार बदलना सम्मिलित होता है। उदाहरण के लिए, एक विशिष्ट [[ब्लॉक सिफर]] से आउटपुट क्रेडिट कार्ड नंबर को [[हेक्साडेसिमल]] में बदल देगा (उदा।<code>0x96a45cbcf9c2a9425cde9e274948cb67</code>, 34 बाइट्स, हेक्साडेसिमल अंक) या बेस64 मान (उदा. <code>lqRcvPnCqUJc3p4nSUjLZw==</code>, 24 बाइट्स, अल्फ़ान्यूमेरिक और विशेष वर्ण), जो क्रेडिट कार्ड नंबर के 16-अंकीय नंबर होने की अपेक्षा करने वाले किसी भी उपस्तिथा एप्लिकेशन को तोड़ देगा।
यदि डेटा मॉडल को बदलना है तो ऐसे अनुप्रयोगों में एन्क्रिप्शन जोड़ना चुनौतीपूर्ण हो सकता है, जिससे कि इसमें सामान्यतः फ़ील्ड लंबाई सीमा या डेटा प्रकार बदलना सम्मिलित होता है। उदाहरण के लिए, एक विशिष्ट [[ब्लॉक सिफर]] से आउटपुट क्रेडिट कार्ड नंबर को [[हेक्साडेसिमल]] में बदल देगा (उदा।<code>0x96a45cbcf9c2a9425cde9e274948cb67</code>, 34 बाइट्स, हेक्साडेसिमल अंक) या बेस64 मान (उदा. <code>lqRcvPnCqUJc3p4nSUjLZw==</code>, 24 बाइट्स, अल्फ़ान्यूमेरिक और विशेष वर्ण), जो क्रेडिट कार्ड नंबर के 16-अंकीय नंबर होने की अपेक्षा करने वाले किसी भी उपस्तिथा एप्लिकेशन को तोड़ देगा।


सरल स्वरूपण समस्याओं के अतिरिक्त, AES-128-CBC का उपयोग करते हुए, यह क्रेडिट कार्ड नंबर हेक्साडेसिमल मान में एन्क्रिप्ट किया जा सकता है <code>0xde015724b081ea7003de4593d792fd8b695b39e095c98f3a220ff43522a2df02</code>. अमान्य वर्ण बनाने और डेटा के आकार में वृद्धि के कारण होने वाली समस्याओं के अतिरिक्त, एन्क्रिप्शन एल्गोरिथम के CBC मोड का उपयोग करके एन्क्रिप्ट किया गया डेटा भी इसके मान को बदल देता है जब इसे डिक्रिप्ट और फिर से एन्क्रिप्ट किया जाता है। ऐसा इसलिए होता है क्योंकि [[प्रारंभिक वेक्टर]] जिसका उपयोग एन्क्रिप्शन एल्गोरिथम को इनिशियलाइज़ करने के लिए किया जाता है और एन्क्रिप्टेड वैल्यू के हिस्से के रूप में सम्मिलित किया जाता है, प्रत्येक एन्क्रिप्शन ऑपरेशन के लिए अलग होता है। इस वजह से, डेटाबेस में एक पंक्ति की पहचान करने के लिए [[प्राथमिक कुंजी]] के रूप में सीबीसी मोड के साथ एन्क्रिप्ट किए गए डेटा का उपयोग करना असंभव है।
सरल स्वरूपण समस्याओं के अतिरिक्त, एईएस-128-CBC का उपयोग करते हुए, यह क्रेडिट कार्ड नंबर हेक्साडेसिमल मान में एन्क्रिप्ट किया जा सकता है <code>0xde015724b081ea7003de4593d792fd8b695b39e095c98f3a220ff43522a2df02</code>. अमान्य वर्ण बनाने और डेटा के आकार में वृद्धि के कारण होने वाली समस्याओं के अतिरिक्त, एन्क्रिप्शन एल्गोरिथम के CBC मोड का उपयोग करके एन्क्रिप्ट किया गया डेटा भी इसके मान को बदल देता है जब इसे डिक्रिप्ट और फिर से एन्क्रिप्ट किया जाता है। ऐसा इसलिए होता है जिससे कि [[प्रारंभिक वेक्टर|प्रारंभिक सदिश]] जिसका उपयोग एन्क्रिप्शन एल्गोरिथम को इनिशियलाइज़ करने के लिए किया जाता है और एन्क्रिप्टेड वैल्यू के हिस्से के रूप में सम्मिलित किया जाता है, प्रत्येक एन्क्रिप्शन ऑपरेशन के लिए भिन्न होता है। इस वजह से, डेटाबेस में एक पंक्ति की पहचान करने के लिए [[प्राथमिक कुंजी]] के रूप में सीबीसी मोड के साथ एन्क्रिप्ट किए गए डेटा का उपयोग करना असंभव है।


एफपीई मूल डेटा के स्वरूपण और लंबाई को संरक्षित करके संक्रमण प्रक्रिया को सरल बनाने का प्रयास करता है, जिससे लीगेसी अनुप्रयोगों में उनके सिफरटेक्स्ट के साथ प्लेनटेक्स्ट मानों के ड्रॉप-इन प्रतिस्थापन की अनुमति मिलती है।
एफपीई मूल डेटा के स्वरूपण और लंबाई को संरक्षित करके संक्रमण प्रक्रिया को सरल बनाने का प्रयास करता है, जिससे लीगेसी अनुप्रयोगों में उनके सिफरटेक्स्ट के साथ प्लेनटेक्स्ट मानों के ड्रॉप-इन प्रतिस्थापन की अनुमति मिलती है।


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


== सिफर ब्लॉक करने की तुलना ==
== सिफर ब्लॉक करने की तुलना ==
एक <var>n</var>-बिट ब्लॉक सिफर तकनीकी रूप से सेट पर एक FPE है {{math|{0, ..., 2<sup><var>n</var></sup>-1}}}. यदि इन मानक आकार के सेटों में से किसी एक पर FPE की आवश्यकता है (उदाहरण के लिए, [[डेटा एन्क्रिप्शन मानक]] के लिए <var>n</var> = 64 और AES के लिए <var>n</var> = 128) दाईं ओर का एक ब्लॉक सिफर आकार का उपयोग किया जा सकता है।
एक <var>n</var>-बिट ब्लॉक सिफर विधिक रूप से समूह पर एक एफपीई है {{math|{0, ..., 2<sup><var>n</var></sup>-1}}}. यदि इन मानक आकार के समूहों में से किसी एक पर एफपीई की आवश्यकता है (उदाहरण के लिए, [[डेटा एन्क्रिप्शन मानक]] के लिए <var>n</var> = 64 और एईएस के लिए <var>n</var> = 128) दाईं ओर का एक ब्लॉक सिफर आकार का उपयोग किया जा सकता है।


चूंकि, विशिष्ट उपयोग में, एक ब्लॉक सिफर का उपयोग ऑपरेशन के ब्लॉक सिफर मोड में किया जाता है जो इसे मनमाने ढंग से लंबे संदेशों को एन्क्रिप्ट करने की अनुमति देता है, और जैसा कि ऊपर चर्चा की गई है, प्रारंभिक वेक्टर के साथ। इस मोड में, एक ब्लॉक सिफर एक एफपीई नहीं है।
चूंकि, विशिष्ट उपयोग में, एक ब्लॉक सिफर का उपयोग ऑपरेशन के ब्लॉक सिफर मोड में किया जाता है जो इसे अनैतिक रूप से लंबे संदेशों को एन्क्रिप्ट करने की अनुमति देता है, और जैसा कि ऊपर चर्चा की गई है, प्रारंभिक सदिश के साथ। इस मोड में, एक ब्लॉक सिफर एक एफपीई नहीं है।


== सुरक्षा की परिभाषा ==
== सुरक्षा की परिभाषा ==
क्रिप्टोग्राफ़िक साहित्य में (नीचे अधिकांश संदर्भ देखें), एक अच्छे एफपीई का माप यह है कि क्या हमलावर एफपीई को वास्तव में यादृच्छिक क्रमपरिवर्तन से अलग कर सकता है। विभिन्न प्रकार के हमलावरों को पोस्ट किया जाता है, यह इस बात पर निर्भर करता है कि क्या उनके पास ऑरेकल या ज्ञात सिफरटेक्स्ट/प्लेनटेक्स्ट जोड़े तक पहुंच है।
क्रिप्टोग्राफ़िक साहित्य में (नीचे अधिकांश संदर्भ देखें), एक उचित एफपीई का माप यह है कि क्या हमलावर एफपीई को वास्तव में यादृच्छिक क्रमपरिवर्तन से भिन्न कर सकता है। विभिन्न प्रकार के हमलावरों को पोस्ट किया जाता है, यह इस बात पर निर्भर करता है कि क्या उनके पास ऑरेकल या ज्ञात सिफरटेक्स्ट/प्लेनटेक्स्ट जोड़े तक पहुंच है।


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


=== ब्लैक एंड रोगवे === का एफपीई निर्माण
=== ब्लैक एंड रोगवे === का एफपीई निर्माण
अंतर्निहित ब्लॉक सिफर से संबंधित सुरक्षा के साथ एफपीई को लागू करना सबसे पहले क्रिप्टोग्राफर [[जॉन ब्लैक (क्रिप्टोग्राफर)]] और [[फिलिप रोगवे]] द्वारा एक पेपर में किया गया था।<ref>John Black and Philip Rogaway, Ciphers with Arbitrary Domains, Proceedings RSA-CT, 2002, pp. 114–130. http://citeseer.ist.psu.edu/old/black00ciphers.html (http://www.cs.ucdavis.edu/~rogaway/papers/subset.pdf)</ref> जिसमें इसके तीन तरीके बताए गए हैं। उन्होंने सिद्ध किया कि इनमें से प्रत्येक तकनीक उतनी ही सुरक्षित है जितनी कि इसे बनाने के लिए उपयोग किए जाने वाले ब्लॉक सिफर। इसका मतलब यह है कि यदि एईएस एल्गोरिदम का उपयोग एफपीई एल्गोरिदम बनाने के लिए किया जाता है, तो परिणामी एफपीई एल्गोरिदम एईएस जितना सुरक्षित होता है क्योंकि एफपीई एल्गोरिदम को पराजित करने में सक्षम विरोधी भी एईएस एल्गोरिदम को हरा सकता है। इसलिए, यदि एईएस सुरक्षित है, तो इससे निर्मित एफपीई एल्गोरिदम भी सुरक्षित हैं। निम्नलिखित सभी में, ई एईएस एन्क्रिप्शन ऑपरेशन को दर्शाता है जिसका उपयोग एफपीई एल्गोरिदम बनाने के लिए किया जाता है और एफ एफपीई एन्क्रिप्शन ऑपरेशन को दर्शाता है।
अंतर्निहित ब्लॉक सिफर से संबंधित सुरक्षा के साथ एफपीई को प्रयुक्त करना सबसे पहले क्रिप्टोग्राफर [[जॉन ब्लैक (क्रिप्टोग्राफर)]] और [[फिलिप रोगवे]] द्वारा एक पेपर में किया गया था।<ref>John Black and Philip Rogaway, Ciphers with Arbitrary Domains, Proceedings RSA-CT, 2002, pp. 114–130. http://citeseer.ist.psu.edu/old/black00ciphers.html (http://www.cs.ucdavis.edu/~rogaway/papers/subset.pdf)</ref> जिसमें इसके तीन विधि बताए गए हैं। उन्होंने सिद्ध किया कि इनमें से प्रत्येक विधि उतनी ही सुरक्षित है जितनी कि इसे बनाने के लिए उपयोग किए जाने वाले ब्लॉक सिफर। इसका तात्पर्य यह है कि यदि एईएस एल्गोरिदम का उपयोग एफपीई एल्गोरिदम बनाने के लिए किया जाता है, तो परिणामी एफपीई एल्गोरिदम एईएस जितना सुरक्षित होता है जिससे कि एफपीई एल्गोरिदम को पराजित करने में सक्षम विरोधी भी एईएस एल्गोरिदम को हरा सकता है। इसलिए, यदि एईएस सुरक्षित है, तो इससे निर्मित एफपीई एल्गोरिदम भी सुरक्षित हैं। निम्नलिखित सभी में, ई एईएस एन्क्रिप्शन ऑपरेशन को दर्शाता है जिसका उपयोग एफपीई एल्गोरिदम बनाने के लिए किया जाता है और एफ एफपीई एन्क्रिप्शन ऑपरेशन को दर्शाता है।


==== FPE एक उपसर्ग सिफर से ====
==== एफपीई एक उपसर्ग सिफर से ====
एफपीई एल्गोरिथम बनाने का एक आसान विधि {{math|{0, ..., <var>N</var>-1} }} प्रत्येक पूर्णांक के लिए एक छद्म आयामी भार निर्दिष्ट करना है, फिर भार के आधार पर छाँटना है। प्रत्येक पूर्णांक में उपस्तिथा ब्लॉक सिफर को लागू करके वजन को परिभाषित किया जाता है। ब्लैक और रोगवे इस तकनीक को एक उपसर्ग सिफर कहते हैं और यह दिखाते हैं कि यह संभवतः उतना ही अच्छा है जितना कि ब्लॉक सिफर का उपयोग किया जाता है।
एफपीई एल्गोरिथम बनाने का एक सरल विधि {{math|{0, ..., <var>N</var>-1} }} प्रत्येक पूर्णांक के लिए एक छद्म आयामी भार निर्दिष्ट करना है, फिर भार के आधार पर छाँटना है। प्रत्येक पूर्णांक में उपस्तिथा ब्लॉक सिफर को प्रयुक्त करके वजन को परिभाषित किया जाता है। ब्लैक और रोगवे इस विधि को एक उपसर्ग सिफर कहते हैं और यह दिखाते हैं कि यह संभवतः उतना ही उचित है जितना कि ब्लॉक सिफर का उपयोग किया जाता है।


इस प्रकार, डोमेन {0,1,2,3} पर एक एफपीई बनाने के लिए, एक कुंजी <var>K</var> दी गई है, प्रत्येक पूर्णांक पर AES(<var>K</var>) लागू करें, उदाहरण के लिए ,
इस प्रकार, डोमेन {0,1,2,3} पर एक एफपीई बनाने के लिए, एक कुंजी <var>K</var> दी गई है, प्रत्येक पूर्णांक पर एईएस(<var>K</var>) प्रयुक्त करें, उदाहरण के लिए ,


  वजन (0) = 0x56c644080098fc5570f2b329323dbf62
  वजन (0) = 0x56c644080098fc5570f2b329323dbf62
Line 52: Line 52:
  एफ (3) = 0
  एफ (3) = 0


यह विधि केवल <var>N</var> के छोटे मानों के लिए उपयोगी है। बड़े मूल्यों के लिए, लुकअप तालिका का आकार और तालिका को आरंभ करने के लिए आवश्यक संख्या में एन्क्रिप्शन व्यावहारिक होने के लिए बहुत बड़ा हो जाता है।
यह विधि केवल <var>N</var> के छोटे मानों के लिए उपयोगी है। बड़े मूल्यों के लिए, लुकअप तालिका का आकार और तालिका को आरंभ करने के लिए आवश्यक संख्या में एन्क्रिप्शन व्यावहारिक होने के लिए अधिक बड़ा हो जाता है।


====साइकिल चलने से एफपीई====
====साइकिल चलने से एफपीई====
यदि छद्म यादृच्छिक क्रमचय <var>P</var> के डोमेन के भीतर अनुमत मानों का एक सेट M है (उदाहरण के लिए <var>P</var> AES की तरह एक ब्लॉक सिफर हो सकता है), एक FPE एल्गोरिथम बनाया जा सकता है ब्लॉक सिफर से ब्लॉक सिफर को बार-बार लागू करके जब तक कि परिणाम अनुमत मानों में से एक न हो (एम के भीतर)।
यदि छद्म यादृच्छिक क्रमचय <var>P</var> के डोमेन के भीतर अनुमत मानों का एक समूह एम है (उदाहरण के लिए <var>P</var> एईएस की प्रकार एक ब्लॉक सिफर हो सकता है), एक एफपीई एल्गोरिथम बनाया जा सकता है ब्लॉक सिफर से ब्लॉक सिफर को बार-बार प्रयुक्त करके जब तक कि परिणाम अनुमत मानों में से एक न हो (एम के भीतर)।


  साइकिलवॉकिंग एफपीई (एक्स) {
  साइकिलवॉकिंग एफपीई (एक्स) {
    'यदि' पी (एक्स) एम 'तो' का एक तत्व है
  'यदि' पी (एक्स) एम 'तो' का एक तत्व है
        'वापसी' पी (एक्स)
  'वापसी' पी (एक्स)
    'अन्य'
  'अन्य'
        'वापसी' CycleWalkingFPE(P(x))
  'वापसी' CycleWalkingएफपीई(P(x))
  }
  }


रिकर्सन को समाप्त करने की गारंटी है। (क्योंकि P एक-से-एक है और डोमेन परिमित है, P का बार-बार उपयोग एक चक्र बनाता है, इसलिए M में एक बिंदु से प्रारंभ होकर चक्र अंततः M में समाप्त हो जाएगा।)
रिकर्सन को समाप्त करने की गारंटी है। (जिससे कि पी एक-से-एक है और डोमेन परिमित है, पी का बार-बार उपयोग एक चक्र बनाता है, इसलिए एम में एक बिंदु से प्रारंभ होकर चक्र अंततः एम में समाप्त हो जाएगा।)


इसका यह लाभ है कि M के तत्वों को पूर्णांकों के लगातार क्रम {0,...,N-1} में मैप करने की आवश्यकता नहीं है। इसका नुकसान यह है कि जब M <var>P</var> के डोमेन से बहुत छोटा होता है, तो प्रत्येक ऑपरेशन के लिए बहुत अधिक पुनरावृत्तियों की आवश्यकता हो सकती है। यदि <var>P</var> एक निश्चित आकार का ब्लॉक सिफर है, जैसे एईएस, यह एम के आकार पर एक गंभीर प्रतिबंध है जिसके लिए यह विधि कुशल है।
इसका यह लाभ है कि एम के तत्वों को पूर्णांकों के लगातार क्रम {0,...,एन-1} में मैप करने की आवश्यकता नहीं है। इसका नुकसान यह है कि जब एम पी के डोमेन से अधिक छोटा होता है, तो प्रत्येक ऑपरेशन के लिए अधिक अधिक पुनरावृत्तियों की आवश्यकता हो सकती है। यदि पी एक निश्चित आकार का ब्लॉक सिफर है, जैसे एईएस, यह एम के आकार पर एक गंभीर प्रतिबंध है जिसके लिए यह विधि कुशल है।


उदाहरण के लिए, एक एप्लिकेशन एईएस के साथ 100-बिट मानों को एन्क्रिप्ट करना चाहता है जो एक और 100-बिट मान बनाता है। इस तकनीक के साथ, AES-128-ECB एन्क्रिप्शन को तब तक लागू किया जा सकता है जब तक कि यह उस मान तक नहीं पहुंच जाता है, जिसके सभी 28 उच्चतम बिट 0 पर सेट होते हैं, जो औसतन 2 का समय लेगा<sup>28</sup> पुनरावृत्तियाँ होने वाली हैं।
उदाहरण के लिए, एक एप्लिकेशन एईएस के साथ 100-बिट मानों को एन्क्रिप्ट करना चाहता है जो एक और 100-बिट मान बनाता है। इस विधि के साथ, एईएस-128-ईसीबी एन्क्रिप्शन को तब तक प्रयुक्त किया जा सकता है जब तक कि यह उस मान तक नहीं पहुंच जाता है, जिसके सभी 28 उच्चतम बिट 0 पर समूह होते हैं, जो औसतन 2 का समय लेगा<sup>28</sup> पुनरावृत्तियाँ होने वाली हैं।


=FPE एक Feistel नेटवर्क से ===
=एफपीई एक फ़िस्टेल नेटवर्क से ===
Feistel सिफर का उपयोग करके FPE एल्गोरिथम बनाना भी संभव है। एक Feistel नेटवर्क को प्रत्येक दौर के लिए उप-कुंजियों के लिए छद्म-यादृच्छिक मानों के स्रोत की आवश्यकता होती है, और एईएस एल्गोरिदम के आउटपुट को इन छद्म-यादृच्छिक मानों के रूप में उपयोग किया जा सकता है। जब यह किया जाता है, तो परिणामी Feistel निर्माण अच्छा होता है यदि पर्याप्त राउंड का उपयोग किया जाता है।<ref>Jacques Patarin, Luby-Rackoff: 7 Rounds Are Enough for 2<sup>n(1-epsilon)</sup> Security, Proceedings of CRYPTO 2003, Lecture Notes in Computer Science, Volume 2729, Oct 2003, pp. 513–529. https://www.iacr.org/archive/crypto2003/27290510/27290510.pdf; also Jaques Patrin: Security of Random Feistel Schemes with 5 or more Rounds. https://www.iacr.org/archive/crypto2004/31520105/Version%20courte%20Format%20Springer.pdf</ref>
फ़िस्टेल सिफर का उपयोग करके एफपीई एल्गोरिथम बनाना भी संभव है। एक फ़िस्टेल नेटवर्क को प्रत्येक दौर के लिए उप-कुंजियों के लिए छद्म-यादृच्छिक मानों के स्रोत की आवश्यकता होती है, और एईएस एल्गोरिदम के आउटपुट को इन छद्म-यादृच्छिक मानों के रूप में उपयोग किया जा सकता है। जब यह किया जाता है, तो परिणामी फ़िस्टेल निर्माण उचित होता है यदि पर्याप्त राउंड का उपयोग किया जाता है।<ref>Jacques Patarin, Luby-Rackoff: 7 Rounds Are Enough for 2<sup>n(1-epsilon)</sup> Security, Proceedings of CRYPTO 2003, Lecture Notes in Computer Science, Volume 2729, Oct 2003, pp. 513–529. https://www.iacr.org/archive/crypto2003/27290510/27290510.pdf; also Jaques Patrin: Security of Random Feistel Schemes with 5 or more Rounds. https://www.iacr.org/archive/crypto2004/31520105/Version%20courte%20Format%20Springer.pdf</ref>
एईएस और एक Feistel नेटवर्क का उपयोग करके एक FPE एल्गोरिथ्म को लागू करने का एक विधि एईएस आउटपुट के कई बिट्स का उपयोग करना है, जो कि Feistel नेटवर्क के बाएं या दाएं हिस्सों की लंबाई के बराबर करने के लिए आवश्यक है। यदि उप-कुंजी के रूप में 24-बिट मान की आवश्यकता है, उदाहरण के लिए, इस मान के लिए एईएस के आउटपुट के निम्नतम 24 बिट्स का उपयोग करना संभव है।
एईएस और एक फ़िस्टेल नेटवर्क का उपयोग करके एक एफपीई एल्गोरिथ्म को प्रयुक्त करने का एक विधि एईएस आउटपुट के कई बिट्स का उपयोग करना है, जो कि फ़िस्टेल नेटवर्क के बाएं या दाएं हिस्सों की लंबाई के बराबर करने के लिए आवश्यक है। यदि उप-कुंजी के रूप में 24-बिट मान की आवश्यकता है, उदाहरण के लिए, इस मान के लिए एईएस के आउटपुट के निम्नतम 24 बिट्स का उपयोग करना संभव है।


इसका परिणाम इनपुट के प्रारूप को संरक्षित करने वाले Feistel नेटवर्क के आउटपुट में नहीं हो सकता है, किन्तु Feistel नेटवर्क को उसी तरह से पुनरावृत्त करना संभव है, जिस तरह से चक्र-चलने की तकनीक यह सुनिश्चित करने के लिए करती है कि प्रारूप को संरक्षित किया जा सके। क्योंकि इनपुट के आकार को एक Feistel नेटवर्क में समायोजित करना संभव है, यह बहुत संभव है कि यह पुनरावृत्ति औसतन बहुत जल्दी समाप्त हो जाए। क्रेडिट कार्ड नंबरों के स्थिति में, उदाहरण के लिए, 10 हैं<sup>15</sup> संभावित 16-अंकीय क्रेडिट कार्ड नंबर (अनावश्यक Luhn एल्गोरिथम के लिए लेखांकन), और क्योंकि 10<sup>15</sup> ≈ 2<sup>49.8</sup>, साइकल वॉकिंग के साथ-साथ 50-बिट वाइड Feistel नेटवर्क का उपयोग करने से एक FPE एल्गोरिदम तैयार होगा जो औसतन अधिक तेज़ी से एन्क्रिप्ट करता है।
इसका परिणाम इनपुट के प्रारूप को संरक्षित करने वाले फ़िस्टेल नेटवर्क के आउटपुट में नहीं हो सकता है, किन्तु फ़िस्टेल नेटवर्क को उसी प्रकार से पुनरावृत्त करना संभव है, जिस प्रकार से चक्र-चलने की विधि यह सुनिश्चित करने के लिए करती है कि प्रारूप को संरक्षित किया जा सके। जिससे कि इनपुट के आकार को एक फ़िस्टेल नेटवर्क में समायोजित करना संभव है, यह अधिक संभव है कि यह पुनरावृत्ति औसतन अधिक जल्दी समाप्त हो जाए। क्रेडिट कार्ड नंबरों के स्थिति में, उदाहरण के लिए, 10 हैं<sup>15</sup> संभावित 16-अंकीय क्रेडिट कार्ड नंबर (अनावश्यक लुह्न एल्गोरिथम के लिए लेखांकन), और जिससे कि 10<sup>15</sup> ≈ 2<sup>49.8</sup>, साइकल वॉकिंग के साथ-साथ 50-बिट वाइड फ़िस्टेल नेटवर्क का उपयोग करने से एक एफपीई एल्गोरिदम तैयार होगा जो औसतन अधिक तेज़ी से एन्क्रिप्ट करता है।


=== थोरो शफल ===
=== थोरो शफल ===
एक थोरप शफल एक आदर्श कार्ड-शफल की तरह है, या समकक्ष एक अधिकतम-असंतुलित फिस्टल सिफर है जहां एक तरफ एक बिट है। असंतुलित फिस्टल सिफर के लिए संतुलित सिफर की तुलना में सुरक्षा सिद्ध करना आसान है।<ref name=thorp>{{Citation |first1=Ben |last1=Morris |first2=Phillip |last2=Rogaway |first3=Till |last3=Stegers |title=How to Encipher Messages on a Small Domain |url=http://www.cs.ucdavis.edu/~rogaway/papers/thorp.pdf |journal=CRYPTO |year=2009}}</ref>
एक थोरप शफल एक आदर्श कार्ड-शफल की प्रकार है, या समकक्ष एक अधिकतम-असंतुलित फिस्टल सिफर है जहां एक तरफ एक बिट है। असंतुलित फिस्टल सिफर के लिए संतुलित सिफर की तुलना में सुरक्षा सिद्ध करना सरल है।<ref name=thorp>{{Citation |first1=Ben |last1=Morris |first2=Phillip |last2=Rogaway |first3=Till |last3=Stegers |title=How to Encipher Messages on a Small Domain |url=http://www.cs.ucdavis.edu/~rogaway/papers/thorp.pdf |journal=CRYPTO |year=2009}}</ref>
 
 
=== वीआईएल मोड ===
=== वीआईएल मोड ===
डोमेन आकार के लिए जो दो की शक्ति है, और एक छोटे ब्लॉक आकार के साथ एक उपस्तिथा ब्लॉक सिफर, बेलारे, रोगवे द्वारा वर्णित VIL मोड का उपयोग करके एक नया सिफर बनाया जा सकता है।<ref name=vil>{{Citation |first1=Mihir |last1=Bellare | first2=Phillip | last2=Rogaway |title=On the construction of Variable-Input-Length Ciphers |url=http://cseweb.ucsd.edu/~mihir/papers/lpe.pdf |year=1999 }}</ref>
डोमेन आकार के लिए जो दो की शक्ति है, और एक छोटे ब्लॉक आकार के साथ एक उपस्तिथा ब्लॉक सिफर, बेलारे, रोगवे द्वारा वर्णित VIL मोड का उपयोग करके एक नया सिफर बनाया जा सकता है।<ref name=vil>{{Citation |first1=Mihir |last1=Bellare | first2=Phillip | last2=Rogaway |title=On the construction of Variable-Input-Length Ciphers |url=http://cseweb.ucsd.edu/~mihir/papers/lpe.pdf |year=1999 }}</ref>
=== जल्दबाजी का हलवा सिफर ===
=== जल्दबाजी का हलवा सिफर ===
[[हस्टी पुडिंग सिफर]] मनमाना परिमित छोटे डोमेन को एन्क्रिप्ट करने के लिए कस्टम निर्माण (उपस्तिथा ब्लॉक सिफर पर आदिम के रूप में निर्भर नहीं) का उपयोग करता है।
[[हस्टी पुडिंग सिफर]] अनैतिक परिमित छोटे डोमेन को एन्क्रिप्ट करने के लिए कस्टम निर्माण (उपस्तिथा ब्लॉक सिफर पर आदिम के रूप में निर्भर नहीं) का उपयोग करता है।


===एईएस === का एफएफएसईएम/एफएफएक्स मोड
===एईएस === का एफएफएसईएम/एफएफएक्स मोड
एईएस का एफएफएसईएम मोड (विनिर्देशन<ref name=ffsem-spec>Terence Spies, Feistel Finite Set Encryption Mode http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffsem/ffsem-spec.pdf</ref>) जिसे NIST द्वारा विचार के लिए स्वीकार किया गया है, ऊपर वर्णित ब्लैक एंड रोगवे के Feistel नेटवर्क निर्माण का उपयोग करता है, AES के साथ राउंड फ़ंक्शन के लिए, एक साधारण संशोधन के साथ: एक एकल कुंजी का उपयोग किया जाता है और प्रत्येक राउंड के लिए थोड़ा ट्वीक किया जाता है।
एईएस का एफएफएसईएम मोड (विनिर्देशन<ref name=ffsem-spec>Terence Spies, Feistel Finite Set Encryption Mode http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffsem/ffsem-spec.pdf</ref>) जिसे NIST द्वारा विचार के लिए स्वीकार किया गया है, ऊपर वर्णित ब्लैक एंड रोगवे के फ़िस्टेल नेटवर्क निर्माण का उपयोग करता है, एईएस के साथ राउंड फ़ंक्शन के लिए, एक साधारण संशोधन के साथ: एक एकल कुंजी का उपयोग किया जाता है और प्रत्येक राउंड के लिए थोड़ा ट्वीक किया जाता है।


फरवरी 2010 तक, FFSEM को [[मिहिर लड़ने के लिए]], फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित FFX मोड द्वारा अधिक्रमित कर दिया गया है। (विनिर्देश,<ref name=ffx-spec>Mihir Bellare, Phillip Rogaway, Terence Spies: {{Citation |title=The FFX Mode of Operation for Format-Preserving Encryption |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffx/ffx-spec.pdf |year=2010 }}</ref><ref name=ffx-spec2>Mihir Bellare, Phillip Rogaway, Terence Spies: {{Citation |title=Addendum to "The FFX Mode of Operation for Format-Preserving Encryption" |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffx/ffx-spec2.pdf |year=2010 }}</ref> {{Citation |title=NIST Block Cipher Modes Development |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html |year=2010 }}).
फरवरी 2010 तक, FFSEM को [[मिहिर लड़ने के लिए]], फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित एफएफएक्स मोड द्वारा अधिक्रमित कर दिया गया है। (विनिर्देश,<ref name=ffx-spec>Mihir Bellare, Phillip Rogaway, Terence Spies: {{Citation |title=The FFX Mode of Operation for Format-Preserving Encryption |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffx/ffx-spec.pdf |year=2010 }}</ref><ref name=ffx-spec2>Mihir Bellare, Phillip Rogaway, Terence Spies: {{Citation |title=Addendum to "The FFX Mode of Operation for Format-Preserving Encryption" |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffx/ffx-spec2.pdf |year=2010 }}</ref> {{Citation |title=NIST Block Cipher Modes Development |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html |year=2010 }}).


=== [[जेपीईजी 2000]] एन्क्रिप्शन के लिए एफपीई ===
=== [[जेपीईजी 2000]] एन्क्रिप्शन के लिए एफपीई ===
JPEG 2000 मानक में, मार्कर कोड (0xFF90 से 0xFFFF तक की श्रेणी में) प्लेनटेक्स्ट और सिफरटेक्स्ट में नहीं दिखना चाहिए। जेपीईजी 2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल मॉड्यूलर-0xFF90 तकनीक को लागू नहीं किया जा सकता है। उदाहरण के लिए, सिफरटेक्स्ट शब्द 0x23FF और 0x9832 मान्य हैं, किन्तु उनका संयोजन 0x23FF9832 अमान्य हो जाता है क्योंकि यह मार्कर कोड 0xFF98 का ​​परिचय देता है। इसी तरह, JPEG2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल चक्र-चलने की तकनीक को लागू नहीं किया जा सकता है क्योंकि दो मान्य सिफरटेक्स्ट ब्लॉक संयुक्त होने पर अमान्य सिफरटेक्स्ट दे सकते हैं। उदाहरण के लिए, यदि पहला सिफरटेक्स्ट ब्लॉक बाइट्स ...30FF के साथ समाप्त होता है और दूसरा सिफरटेक्स्ट ब्लॉक बाइट्स 9832... के साथ प्रारंभ होता है, तो सिफरटेक्स्ट में मार्कर कोड 0xFF98 दिखाई देगा।
JPEG 2000 मानक में, मार्कर कोड (0xFF90 से 0xFFFF तक की श्रेणी में) प्लेनटेक्स्ट और सिफरटेक्स्ट में नहीं दिखना चाहिए। जेपीईजी 2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल मॉड्यूलर-0xFF90 विधि को प्रयुक्त नहीं किया जा सकता है। उदाहरण के लिए, सिफरटेक्स्ट शब्द 0x23FF और 0x9832 मान्य हैं, किन्तु उनका संयोजन 0x23FF9832 अमान्य हो जाता है जिससे कि यह मार्कर कोड 0xFF98 का ​​परिचय देता है। इसी प्रकार, JPEG2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल चक्र-चलने की विधि को प्रयुक्त नहीं किया जा सकता है जिससे कि दो मान्य सिफरटेक्स्ट ब्लॉक संयुक्त होने पर अमान्य सिफरटेक्स्ट दे सकते हैं। उदाहरण के लिए, यदि पहला सिफरटेक्स्ट ब्लॉक बाइट्स ...30FF के साथ समाप्त होता है और दूसरा सिफरटेक्स्ट ब्लॉक बाइट्स 9832... के साथ प्रारंभ होता है, तो सिफरटेक्स्ट में मार्कर कोड 0xFF98 दिखाई देगा।


जेपीईजी 2000 के लिए कुशल और सुरक्षित एन्क्रिप्शन योजनाओं में जेपीईजी 2000 के प्रारूप-संरक्षण एन्क्रिप्शन के लिए दो तंत्र दिए गए थे।<ref>Hongjun Wu, Di Ma, "Efficient and Secure Encryption Schemes for JPEG2000", International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2004). MSP-L 1.6, Vol. V, pp. 869–872. http://www3.ntu.edu.sg/home/wuhj/research/publications/2004_ICASSP_JPEG2000.pdf</ref> होंगजुन वू और डि मा द्वारा। जेपीईजी 2000 के प्रारूप-संरक्षण एन्क्रिप्शन को करने के लिए, तकनीक एन्क्रिप्शन और डिक्रिप्शन में बाइट 0xFF को बाहर करना है। फिर एक जेपीईजी 2000 एन्क्रिप्शन तंत्र स्ट्रीम सिफर के साथ मोडुलो-एन जोड़ करता है; एक और जेपीईजी 2000 एन्क्रिप्शन तंत्र ब्लॉक सिफर के साथ चक्र-चलने की तकनीक करता है।
जेपीईजी 2000 के लिए कुशल और सुरक्षित एन्क्रिप्शन योजनाओं में जेपीईजी 2000 के प्रारूप-संरक्षण एन्क्रिप्शन के लिए दो तंत्र दिए गए थे।<ref>Hongjun Wu, Di Ma, "Efficient and Secure Encryption Schemes for JPEG2000", International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2004). MSP-L 1.6, Vol. V, pp. 869–872. http://www3.ntu.edu.sg/home/wuhj/research/publications/2004_ICASSP_JPEG2000.pdf</ref> होंगजुन वू और डि मा द्वारा। जेपीईजी 2000 के प्रारूप-संरक्षण एन्क्रिप्शन को करने के लिए, विधि एन्क्रिप्शन और डिक्रिप्शन में बाइट 0xFF को बाहर करना है। फिर एक जेपीईजी 2000 एन्क्रिप्शन तंत्र स्ट्रीम सिफर के साथ मोडुलो-एन जोड़ करता है; एक और जेपीईजी 2000 एन्क्रिप्शन तंत्र ब्लॉक सिफर के साथ चक्र-चलने की विधि करता है।


=== अन्य एफपीई निर्माण ===
=== अन्य एफपीई निर्माण ===
कई एफपीई निर्माण परिणाम को निष्पक्ष करने के विभिन्न तरीकों के साथ एन्क्रिप्ट किए जाने वाले डेटा के लिए एक मानक सिफर, मॉड्यूलो एन के आउटपुट को जोड़ने पर आधारित हैं। कई निर्माणों द्वारा साझा किया गया मॉडुलो-एन जोड़ एफपीई समस्या का तुरंत स्पष्ट समाधान है (इस प्रकार कई स्थितियों में इसका उपयोग), जिसमें मुख्य अंतर निष्पक्ष तंत्र का उपयोग किया जाता है।
कई एफपीई निर्माण परिणाम को निष्पक्ष करने के विभिन्न विधियों के साथ एन्क्रिप्ट किए जाने वाले डेटा के लिए एक मानक सिफर, मॉड्यूलो एन के आउटपुट को जोड़ने पर आधारित हैं। कई निर्माणों द्वारा साझा किया गया मॉडुलो-एन जोड़ एफपीई समस्या का तुरंत स्पष्ट समाधान है (इस प्रकार कई स्थितियों में इसका उपयोग), जिसमें मुख्य अंतर निष्पक्ष तंत्र का उपयोग किया जाता है।


[[संघीय सूचना प्रसंस्करण मानक]] 74 का सेक्शन 8, एनबीएस डेटा एन्क्रिप्शन स्टैंडर्ड को लागू करने और उपयोग करने के लिए फेडरल इंफॉर्मेशन प्रोसेसिंग स्टैंडर्ड्स पब्लिकेशन 1981 गाइडलाइंस,<ref>FIPS 74, Federal Information Processing Standards Publication 1981 Guidelines for Implementing and Using the NBS Data Encryption Standard http://www.itl.nist.gov/fipspubs/fip74.htm {{Webarchive|url=https://web.archive.org/web/20140103013152/http://www.itl.nist.gov/fipspubs/fip74.htm |date=2014-01-03 }}</ref> डीईएस एन्क्रिप्शन एल्गोरिथ्म का उपयोग करने के तरीके का वर्णन करता है जो एक निष्पक्ष ऑपरेशन के बाद मॉड्यूलो-एन जोड़ के माध्यम से डेटा के प्रारूप को संरक्षित करता है। यह मानक 19 मई, 2005 को वापस ले लिया गया था, इसलिए तकनीक को औपचारिक मानक होने के संदर्भ में अप्रचलित माना जाना चाहिए।
[[संघीय सूचना प्रसंस्करण मानक]] 74 का सेक्शन 8, एनबीएस डेटा एन्क्रिप्शन स्टैंडर्ड को प्रयुक्त करने और उपयोग करने के लिए फेडरल इंफॉर्मेशन प्रोसेसिंग स्टैंडर्ड्स पब्लिकेशन 1981 गाइडलाइंस,<ref>FIPS 74, Federal Information Processing Standards Publication 1981 Guidelines for Implementing and Using the NBS Data Encryption Standard http://www.itl.nist.gov/fipspubs/fip74.htm {{Webarchive|url=https://web.archive.org/web/20140103013152/http://www.itl.nist.gov/fipspubs/fip74.htm |date=2014-01-03 }}</ref> डीईएस एन्क्रिप्शन एल्गोरिथ्म का उपयोग करने के विधि का वर्णन करता है जो एक निष्पक्ष ऑपरेशन के बाद मॉड्यूलो-एन जोड़ के माध्यम से डेटा के प्रारूप को संरक्षित करता है। यह मानक 19 मई, 2005 को वापस ले लिया गया था, इसलिए विधि को औपचारिक मानक होने के संदर्भ में अप्रचलित माना जाना चाहिए।


प्रारूप-संरक्षण एन्क्रिप्शन के लिए एक अन्य प्रारंभिक तंत्र [[पीटर गुटमैन (कंप्यूटर वैज्ञानिक)]] का डेटा को मूल्यों की सीमित सीमा के साथ एन्क्रिप्ट करना था।<ref>Peter Gutmann, "Encrypting data with a restricted range of values", 23 January 1997, https://groups.google.com/group/sci.crypt/browse_thread/thread/6caf26496782e359/e576d7196b6cdb48</ref> जो फिर से परिणाम को एक समान बनाने के लिए कुछ समायोजन के साथ किसी भी सिफर पर मोडुलो-एन जोड़ देता है, जिसके परिणामस्वरूप एन्क्रिप्शन उतना ही मजबूत होता है जितना कि अंतर्निहित एन्क्रिप्शन एल्गोरिथम जिस पर यह आधारित होता है।
प्रारूप-संरक्षण एन्क्रिप्शन के लिए एक अन्य प्रारंभिक तंत्र [[पीटर गुटमैन (कंप्यूटर वैज्ञानिक)]] का डेटा को मूल्यों की सीमित सीमा के साथ एन्क्रिप्ट करना था।<ref>Peter Gutmann, "Encrypting data with a restricted range of values", 23 January 1997, https://groups.google.com/group/sci.crypt/browse_thread/thread/6caf26496782e359/e576d7196b6cdb48</ref> जो फिर से परिणाम को एक समान बनाने के लिए कुछ समायोजन के साथ किसी भी सिफर पर मोडुलो-एन जोड़ देता है, जिसके परिणामस्वरूप एन्क्रिप्शन उतना ही मजबूत होता है जितना कि अंतर्निहित एन्क्रिप्शन एल्गोरिथम जिस पर यह आधारित होता है।


डेटा वेयरहाउस सुरक्षा बढ़ाने के लिए डेटाटाइप-संरक्षण एन्क्रिप्शन का उपयोग करने वाला पेपर<ref>Michael Brightwell and Harry Smith, "Using Datatype-Preserving Encryption to Enhance Data Warehouse Security, Proceedings of the 1997 National Information Systems Security Conference https://portfolio.du.edu/portfolio/getportfoliofile?uid=135556 {{Webarchive|url=https://web.archive.org/web/20110719191243/https://portfolio.du.edu/portfolio/getportfoliofile?uid=135556 |date=2011-07-19 }}</ref> माइकल ब्राइटवेल और हैरी स्मिथ द्वारा डेटा एन्क्रिप्शन मानक एन्क्रिप्शन एल्गोरिथ्म का उपयोग करने के तरीके का वर्णन किया गया है जो सादे पाठ के प्रारूप को संरक्षित करता है। यह तकनीक एक निष्पक्ष कदम को लागू करने के लिए प्रकट नहीं होती है जैसा कि यहां संदर्भित अन्य मॉडुलो-एन तकनीकें करती हैं।
डेटा वेयरहाउस सुरक्षा बढ़ाने के लिए डेटाटाइप-संरक्षण एन्क्रिप्शन का उपयोग करने वाला पेपर<ref>Michael Brightwell and Harry Smith, "Using Datatype-Preserving Encryption to Enhance Data Warehouse Security, Proceedings of the 1997 National Information Systems Security Conference https://portfolio.du.edu/portfolio/getportfoliofile?uid=135556 {{Webarchive|url=https://web.archive.org/web/20110719191243/https://portfolio.du.edu/portfolio/getportfoliofile?uid=135556 |date=2011-07-19 }}</ref> माइकल ब्राइटवेल और हैरी स्मिथ द्वारा डेटा एन्क्रिप्शन मानक एन्क्रिप्शन एल्गोरिथ्म का उपयोग करने के विधि का वर्णन किया गया है जो सादे पाठ के प्रारूप को संरक्षित करता है। यह विधि एक निष्पक्ष कदम को प्रयुक्त करने के लिए प्रकट नहीं होती है जैसा कि यहां संदर्भित अन्य मॉडुलो-एन विधिें करती हैं।


कागज प्रारूप-संरक्षण एन्क्रिप्शन<ref>Mihir Bellare and Thomas Ristenpart, Format-Preserving Encryption http://eprint.iacr.org/2009/251</ref> मिहिर बेलारे और थॉमस रिस्टेनपार्ट द्वारा सुरक्षित एफपीई एल्गोरिदम बनाने के लिए लगभग संतुलित फिस्टल नेटवर्क का उपयोग करने का वर्णन किया गया है।
कागज प्रारूप-संरक्षण एन्क्रिप्शन<ref>Mihir Bellare and Thomas Ristenpart, Format-Preserving Encryption http://eprint.iacr.org/2009/251</ref> मिहिर बेलारे और थॉमस रिस्टेनपार्ट द्वारा सुरक्षित एफपीई एल्गोरिदम बनाने के लिए लगभग संतुलित फिस्टल नेटवर्क का उपयोग करने का वर्णन किया गया है।


डेटाटाइप संरक्षित एन्क्रिप्शन का उपयोग करके एन्क्रिप्शन को नियंत्रित करने वाला कागजी प्रारूप<ref>Ulf Mattsson, Format Controlling Encryption Using Datatype Preserving Encryption http://eprint.iacr.org/2009/257</ref> Ulf Mattsson द्वारा FPE एल्गोरिदम बनाने के अन्य तरीकों का वर्णन किया गया है।
डेटाटाइप संरक्षित एन्क्रिप्शन का उपयोग करके एन्क्रिप्शन को नियंत्रित करने वाला कागजी प्रारूप<ref>Ulf Mattsson, Format Controlling Encryption Using Datatype Preserving Encryption http://eprint.iacr.org/2009/257</ref> Ulf Mattsson द्वारा एफपीई एल्गोरिदम बनाने के अन्य विधियों का वर्णन किया गया है।


एफपीई एल्गोरिदम का एक उदाहरण एफएनआर (फ्लेक्सिबल नाओर और रींगोल्ड) है।<ref>{{cite web|url=https://github.com/sashank/libfnr |title=फ्लेक्सिबल नोर और रींगोल्ड|publisher=Cisco Systems Inc|author=Sashank Dara, Scott Fluhrer }}</ref>
एफपीई एल्गोरिदम का एक उदाहरण एफएनआर (फ्लेक्सिबल नाओर और रींगोल्ड) है।<ref>{{cite web|url=https://github.com/sashank/libfnr |title=फ्लेक्सिबल नोर और रींगोल्ड|publisher=Cisco Systems Inc|author=Sashank Dara, Scott Fluhrer }}</ref>
Line 114: Line 110:


== मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति ==
== मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति ==
NIST विशेष प्रकाशन 800-38G, ऑपरेशन के ब्लॉक सिफर मोड के लिए सिफारिश: प्रारूप-संरक्षण एन्क्रिप्शन के लिए तरीके<ref>{{Citation |title=NIST Special Publication 800-38G, Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption |doi=10.6028/NIST.SP.800-38G |year=2016 |last1=Dworkin |first1=Morris |doi-access=free }}</ref> दो विधियों को निर्दिष्ट करता है: FF1 और FF3। प्रत्येक के लिए प्रस्तुत प्रस्तावों पर विवरण एनआईएसटी ब्लॉक सिफर मोड्स डेवलपमेंट साइट पर पाया जा सकता है।<ref>{{Citation |title=NIST Block Cipher Modes Development |date=4 January 2017 |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html}}</ref> पेटेंट और टेस्ट वेक्टर जानकारी सहित। नमूना मान FF1 और FF3 दोनों के लिए उपलब्ध हैं।<ref>{{Citation |title=NIST Cryptographic Toolkit Example Algorithms |date=29 December 2016 |url=http://csrc.nist.gov/groups/ST/toolkit/examples.html}}</ref>
NIST विशेष प्रकाशन 800-38जी, ऑपरेशन के ब्लॉक सिफर मोड के लिए सिफारिश: प्रारूप-संरक्षण एन्क्रिप्शन के लिए विधि<ref>{{Citation |title=NIST Special Publication 800-38G, Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption |doi=10.6028/NIST.SP.800-38G |year=2016 |last1=Dworkin |first1=Morris |doi-access=free }}</ref> दो विधियों को निर्दिष्ट करता है: एफएफ1 और एफएफ3। प्रत्येक के लिए प्रस्तुत प्रस्तावों पर विवरण एनआईएसटी ब्लॉक सिफर मोड्स डेवलपमेंट साइट पर पाया जा सकता है।<ref>{{Citation |title=NIST Block Cipher Modes Development |date=4 January 2017 |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html}}</ref> पेटेंट और टेस्ट सदिश जानकारी सहित। नमूना मान एफएफ1 और एफएफ3 दोनों के लिए उपलब्ध हैं।<ref>{{Citation |title=NIST Cryptographic Toolkit Example Algorithms |date=29 December 2016 |url=http://csrc.nist.gov/groups/ST/toolkit/examples.html}}</ref>
* FF1 FFX [मूलांक] प्रारूप-संरक्षित Feistel- आधारित एन्क्रिप्शन मोड है जो ANSI X9 के अनुसार X9.119 और X9.124 के रूप में मानक प्रक्रियाओं में भी है। इसे कैलिफोर्निया विश्वविद्यालय, सैन डिएगो के मिहिर बेलारे, कैलिफोर्निया विश्वविद्यालय, डेविस के फिलिप रोगवे और वोल्टेज सिक्योरिटी इंक के टेरेंस जासूसों द्वारा एनआईएसटी को प्रस्तुत किया गया था। टेस्ट वैक्टर की आपूर्ति की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। (ड्राफ्ट एसपी 800-38जी रेव 1) <ref name=SP800-38G-r1-draft>{{Cite web|url=https://csrc.nist.gov/publications/detail/sp/800-38g/rev-1/draft|title=SP 800-38G Rev. 1 (DRAFT) Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption|date=Feb 2019|website=NIST|access-date=1 April 2019}}</ref> एन्क्रिप्ट किए जा रहे डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।
* एफएफ1 एफएफएक्स [मूलांक] प्रारूप-संरक्षित फ़िस्टेल- आधारित एन्क्रिप्शन मोड है जो एएनएसआई एक्स9 के अनुसार एक्स9.119 और एक्स9.124 के रूप में मानक प्रक्रियाओं में भी है। इसे कैलिफोर्निया विश्वविद्यालय, सैन डिएगो के मिहिर बेलारे, कैलिफोर्निया विश्वविद्यालय, डेविस के फिलिप रोगवे और वोल्टेज सिक्योरिटी इंक के टेरेंस जासूसों द्वारा एनआईएसटी को प्रस्तुत किया गया था। टेस्ट वैक्टर की आपूर्ति की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। (ड्राफ्ट एसपी 800-38जी रेव 1) <ref name=SP800-38G-r1-draft>{{Cite web|url=https://csrc.nist.gov/publications/detail/sp/800-38g/rev-1/draft|title=SP 800-38G Rev. 1 (DRAFT) Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption|date=Feb 2019|website=NIST|access-date=1 April 2019}}</ref> एन्क्रिप्ट किए जा रहे डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।


* FF3 BPS है जिसका नाम लेखकों के नाम पर रखा गया है। यह एनआईएसटी को एरिक बैरियर, थॉमस पाइरिन और इंजेनिको, फ्रांस के जैक्स स्टर्न द्वारा प्रस्तुत किया गया था। लेखकों ने एनआईएसटी को घोषित किया कि उनके एल्गोरिथ्म का पेटेंट नहीं कराया गया है।<ref>{{Citation|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/bps/bps-ip.pdf|title=BPS Authors Patent Declaration|date=4 January 2017 }}</ref> [https://www.microfocus.com/en-us/cyberres/data-privacy-protection CyberRes वोल्टेज उत्पाद], चूंकि BPS मोड के लिए भी खुद के पेटेंट का प्रामाणित करता है।<ref>{{Citation|url=https://www.voltage.com/technology/standards/patents-and-research/|title=HPE Voltage patent claims}}</ref><ref>{{Citation|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffx/ffx-voltage-ip.pdf|title=Revised letter of assurance for essential patent claims FFX Mode of Operation for Format-Preserving Encryption}}</ref> 12 अप्रैल 2017 को, NIST ने निष्कर्ष निकाला कि FF3 अब एक सामान्य-उद्देश्य FPE पद्धति के रूप में उपयुक्त नहीं है क्योंकि शोधकर्ताओं ने एक भेद्यता पाई है।<ref>{{Cite web|url=https://csrc.nist.gov/news/2017/recent-cryptanalysis-of-ff3|title=Recent Cryptanalysis of FF3|date=12 April 2017|website=NIST|access-date=5 May 2020}}</ref>
* एफएफ3 बीपीएस है जिसका नाम लेखकों के नाम पर रखा गया है। यह एनआईएसटी को एरिक बैरियर, थॉमस पाइरिन और इंजेनिको, फ्रांस के जैक्स स्टर्न द्वारा प्रस्तुत किया गया था। लेखकों ने एनआईएसटी को घोषित किया कि उनके एल्गोरिथ्म का पेटेंट नहीं कराया गया है।<ref>{{Citation|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/bps/bps-ip.pdf|title=BPS Authors Patent Declaration|date=4 January 2017 }}</ref> [https://www.microfocus.com/en-us/cyberres/data-privacy-protection साइबर रेस वोल्टेज उत्पाद], चूंकि बीपीएस मोड के लिए भी खुद के पेटेंट का प्रामाणित करता है।<ref>{{Citation|url=https://www.voltage.com/technology/standards/patents-and-research/|title=HPE Voltage patent claims}}</ref><ref>{{Citation|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffx/ffx-voltage-ip.pdf|title=Revised letter of assurance for essential patent claims FFX Mode of Operation for Format-Preserving Encryption}}</ref> 12 अप्रैल 2017 को, NIST ने निष्कर्ष निकाला कि एफएफ3 अब एक सामान्य-उद्देश्य एफपीई पद्धति के रूप में उपयुक्त नहीं है जिससे कि शोधकर्ताओं ने एक भेद्यता पाई है।<ref>{{Cite web|url=https://csrc.nist.gov/news/2017/recent-cryptanalysis-of-ff3|title=Recent Cryptanalysis of FF3|date=12 April 2017|website=NIST|access-date=5 May 2020}}</ref>
* FF3-1 (ड्राफ्ट SP 800-38G Rev 1) <ref name=SP800-38G-r1-draft />FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।
* एफएफ3-1 (ड्राफ्ट एसपी 800-38जी धूमना 1) <ref name=SP800-38G-r1-draft />FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।


एक अन्य मोड एनआईएसटी मार्गदर्शन के मसौदे में सम्मिलित किया गया था किन्तु अंतिम प्रकाशन से पहले हटा दिया गया था।
एक अन्य मोड एनआईएसटी मार्गदर्शन के मसौदे में सम्मिलित किया गया था किन्तु अंतिम प्रकाशन से पहले हटा दिया गया था।


* FF2 FFX के लिए VAES3 योजना है: एन्क्रिप्शन को संरक्षित करने के लिए ऑपरेशन के FFX मोड के लिए एक परिशिष्ट: एन्क्रिफ़रिंग कुंजी के जीवन को लंबा करने के लिए उपकुंजी ऑपरेशन के साथ मनमाना रेडिक्स के एन्सिफ़र स्ट्रिंग्स के लिए एक पैरामीटर संग्रह। यह NIST को VeriFone Systems Inc. के Joachim Vance द्वारा सबमिट किया गया था। टेस्ट वैक्टर को FF1 से अलग से आपूर्ति नहीं की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। लेखकों ने डीएफएफ के रूप में एक संशोधित एल्गोरिथम प्रस्तुत किया है<ref>{{Citation|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/dff/dff-ff2-fpe-scheme-update.pdf|title=FF2 Addendum DFF}}</ref> जो एनआईएसटी द्वारा सक्रिय रूप से विचाराधीन है।
* एफएफ2 एफएफएक्स के लिए वीएईएस3 योजना है: एन्क्रिप्शन को संरक्षित करने के लिए ऑपरेशन के एफएफएक्स मोड के लिए एक परिशिष्ट: एन्क्रिफ़रिंग कुंजी के जीवन को लंबा करने के लिए उपकुंजी ऑपरेशन के साथ अनैतिक रेडिक्स के एन्सिफ़र स्ट्रिंग्स के लिए एक पैरामीटर संग्रह। यह NIST को VeriFone Systems Inc. के Joachim Vance द्वारा सबमिट किया गया था। टेस्ट वैक्टर को FF1 से भिन्न से आपूर्ति नहीं की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। लेखकों ने डीएफएफ के रूप में एक संशोधित एल्गोरिथम प्रस्तुत किया है<ref>{{Citation|url=http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/dff/dff-ff2-fpe-scheme-update.pdf|title=FF2 Addendum DFF}}</ref> जो एनआईएसटी द्वारा सक्रिय रूप से विचाराधीन है।


कोरिया ने एक FPE मानक, FEA-1 और FEA-2 भी विकसित किया है।
कोरिया ने एक एफपीई मानक, एफईए-1 और एफईए-2 भी विकसित किया है।


=== कार्यान्वयन ===
=== कार्यान्वयन ===
FF1 और FF3 के ओपन सोर्स कार्यान्वयन सार्वजनिक रूप से में उपलब्ध हैं
एफएफ1 और एफएफ3 के ओपन सोर्स कार्यान्वयन सार्वजनिक रूप से में उपलब्ध हैं
[https://github.com/mysto/clang-fpe सी भाषा],
[https://github.com/mysto/clang-fpe सी भाषा],
[https://github.com/capitalone/fpe गो भाषा],
[https://github.com/capitalone/fpe गो भाषा],

Revision as of 12:01, 15 May 2023

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

  • 16 अंकों के क्रेडिट कार्ड नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट 16 अंकों की एक और संख्या हो।
  • एक अंग्रेजी शब्द को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट एक और अंग्रेजी शब्द हो।
  • एक एन-बिट नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट एक और एन-बिट नंबर हो (यह एन-बिट ब्लॉक सिफर की परिभाषा है)।

ऐसे परिमित डोमेन के लिए, और नीचे चर्चा के प्रयोजनों के लिए, सिफर 'एन' पूर्णांकों के क्रमचय के बराबर है {0, ... , N−1} जहां N डोमेन का आकार है।

प्रेरणा

प्रतिबंधित फ़ील्ड लंबाई या प्रारूप

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

यदि डेटा मॉडल को बदलना है तो ऐसे अनुप्रयोगों में एन्क्रिप्शन जोड़ना चुनौतीपूर्ण हो सकता है, जिससे कि इसमें सामान्यतः फ़ील्ड लंबाई सीमा या डेटा प्रकार बदलना सम्मिलित होता है। उदाहरण के लिए, एक विशिष्ट ब्लॉक सिफर से आउटपुट क्रेडिट कार्ड नंबर को हेक्साडेसिमल में बदल देगा (उदा।0x96a45cbcf9c2a9425cde9e274948cb67, 34 बाइट्स, हेक्साडेसिमल अंक) या बेस64 मान (उदा. lqRcvPnCqUJc3p4nSUjLZw==, 24 बाइट्स, अल्फ़ान्यूमेरिक और विशेष वर्ण), जो क्रेडिट कार्ड नंबर के 16-अंकीय नंबर होने की अपेक्षा करने वाले किसी भी उपस्तिथा एप्लिकेशन को तोड़ देगा।

सरल स्वरूपण समस्याओं के अतिरिक्त, एईएस-128-CBC का उपयोग करते हुए, यह क्रेडिट कार्ड नंबर हेक्साडेसिमल मान में एन्क्रिप्ट किया जा सकता है 0xde015724b081ea7003de4593d792fd8b695b39e095c98f3a220ff43522a2df02. अमान्य वर्ण बनाने और डेटा के आकार में वृद्धि के कारण होने वाली समस्याओं के अतिरिक्त, एन्क्रिप्शन एल्गोरिथम के CBC मोड का उपयोग करके एन्क्रिप्ट किया गया डेटा भी इसके मान को बदल देता है जब इसे डिक्रिप्ट और फिर से एन्क्रिप्ट किया जाता है। ऐसा इसलिए होता है जिससे कि प्रारंभिक सदिश जिसका उपयोग एन्क्रिप्शन एल्गोरिथम को इनिशियलाइज़ करने के लिए किया जाता है और एन्क्रिप्टेड वैल्यू के हिस्से के रूप में सम्मिलित किया जाता है, प्रत्येक एन्क्रिप्शन ऑपरेशन के लिए भिन्न होता है। इस वजह से, डेटाबेस में एक पंक्ति की पहचान करने के लिए प्राथमिक कुंजी के रूप में सीबीसी मोड के साथ एन्क्रिप्ट किए गए डेटा का उपयोग करना असंभव है।

एफपीई मूल डेटा के स्वरूपण और लंबाई को संरक्षित करके संक्रमण प्रक्रिया को सरल बनाने का प्रयास करता है, जिससे लीगेसी अनुप्रयोगों में उनके सिफरटेक्स्ट के साथ प्लेनटेक्स्ट मानों के ड्रॉप-इन प्रतिस्थापन की अनुमति मिलती है।

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

सिफर ब्लॉक करने की तुलना

एक n-बिट ब्लॉक सिफर विधिक रूप से समूह पर एक एफपीई है {0, ..., 2n-1}. यदि इन मानक आकार के समूहों में से किसी एक पर एफपीई की आवश्यकता है (उदाहरण के लिए, डेटा एन्क्रिप्शन मानक के लिए n = 64 और एईएस के लिए n = 128) दाईं ओर का एक ब्लॉक सिफर आकार का उपयोग किया जा सकता है।

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

सुरक्षा की परिभाषा

क्रिप्टोग्राफ़िक साहित्य में (नीचे अधिकांश संदर्भ देखें), एक उचित एफपीई का माप यह है कि क्या हमलावर एफपीई को वास्तव में यादृच्छिक क्रमपरिवर्तन से भिन्न कर सकता है। विभिन्न प्रकार के हमलावरों को पोस्ट किया जाता है, यह इस बात पर निर्भर करता है कि क्या उनके पास ऑरेकल या ज्ञात सिफरटेक्स्ट/प्लेनटेक्स्ट जोड़े तक पहुंच है।

एल्गोरिदम

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

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

एफपीई एक उपसर्ग सिफर से

एफपीई एल्गोरिथम बनाने का एक सरल विधि {0, ..., N-1} प्रत्येक पूर्णांक के लिए एक छद्म आयामी भार निर्दिष्ट करना है, फिर भार के आधार पर छाँटना है। प्रत्येक पूर्णांक में उपस्तिथा ब्लॉक सिफर को प्रयुक्त करके वजन को परिभाषित किया जाता है। ब्लैक और रोगवे इस विधि को एक उपसर्ग सिफर कहते हैं और यह दिखाते हैं कि यह संभवतः उतना ही उचित है जितना कि ब्लॉक सिफर का उपयोग किया जाता है।

इस प्रकार, डोमेन {0,1,2,3} पर एक एफपीई बनाने के लिए, एक कुंजी K दी गई है, प्रत्येक पूर्णांक पर एईएस(K) प्रयुक्त करें, उदाहरण के लिए ,

वजन (0) = 0x56c644080098fc5570f2b329323dbf62
वजन (1) = 0x08ee98c0d05e3dad3eb3d6236f23e7b7
वजन (2) = 0x47d2e1bf72264fa01fb274465e56ba20
वजन(3) = 0x077de40941c93774857961a8a772650d

वजन से [0,1,2,3] सॉर्टिंग [3,1,2,0] देता है, इसलिए सिफर है

एफ (0) = 3
एफ (1) = 1
एफ (2) = 2
एफ (3) = 0

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

साइकिल चलने से एफपीई

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

साइकिलवॉकिंग एफपीई (एक्स) {
 'यदि' पी (एक्स) एम 'तो' का एक तत्व है
 'वापसी' पी (एक्स)
 'अन्य'
 'वापसी' CycleWalkingएफपीई(P(x))
}

रिकर्सन को समाप्त करने की गारंटी है। (जिससे कि पी एक-से-एक है और डोमेन परिमित है, पी का बार-बार उपयोग एक चक्र बनाता है, इसलिए एम में एक बिंदु से प्रारंभ होकर चक्र अंततः एम में समाप्त हो जाएगा।)

इसका यह लाभ है कि एम के तत्वों को पूर्णांकों के लगातार क्रम {0,...,एन-1} में मैप करने की आवश्यकता नहीं है। इसका नुकसान यह है कि जब एम पी के डोमेन से अधिक छोटा होता है, तो प्रत्येक ऑपरेशन के लिए अधिक अधिक पुनरावृत्तियों की आवश्यकता हो सकती है। यदि पी एक निश्चित आकार का ब्लॉक सिफर है, जैसे एईएस, यह एम के आकार पर एक गंभीर प्रतिबंध है जिसके लिए यह विधि कुशल है।

उदाहरण के लिए, एक एप्लिकेशन एईएस के साथ 100-बिट मानों को एन्क्रिप्ट करना चाहता है जो एक और 100-बिट मान बनाता है। इस विधि के साथ, एईएस-128-ईसीबी एन्क्रिप्शन को तब तक प्रयुक्त किया जा सकता है जब तक कि यह उस मान तक नहीं पहुंच जाता है, जिसके सभी 28 उच्चतम बिट 0 पर समूह होते हैं, जो औसतन 2 का समय लेगा28 पुनरावृत्तियाँ होने वाली हैं।

एफपीई एक फ़िस्टेल नेटवर्क से ==

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

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

थोरो शफल

एक थोरप शफल एक आदर्श कार्ड-शफल की प्रकार है, या समकक्ष एक अधिकतम-असंतुलित फिस्टल सिफर है जहां एक तरफ एक बिट है। असंतुलित फिस्टल सिफर के लिए संतुलित सिफर की तुलना में सुरक्षा सिद्ध करना सरल है।[3]

वीआईएल मोड

डोमेन आकार के लिए जो दो की शक्ति है, और एक छोटे ब्लॉक आकार के साथ एक उपस्तिथा ब्लॉक सिफर, बेलारे, रोगवे द्वारा वर्णित VIL मोड का उपयोग करके एक नया सिफर बनाया जा सकता है।[4]

जल्दबाजी का हलवा सिफर

हस्टी पुडिंग सिफर अनैतिक परिमित छोटे डोमेन को एन्क्रिप्ट करने के लिए कस्टम निर्माण (उपस्तिथा ब्लॉक सिफर पर आदिम के रूप में निर्भर नहीं) का उपयोग करता है।

===एईएस === का एफएफएसईएम/एफएफएक्स मोड एईएस का एफएफएसईएम मोड (विनिर्देशन[5]) जिसे NIST द्वारा विचार के लिए स्वीकार किया गया है, ऊपर वर्णित ब्लैक एंड रोगवे के फ़िस्टेल नेटवर्क निर्माण का उपयोग करता है, एईएस के साथ राउंड फ़ंक्शन के लिए, एक साधारण संशोधन के साथ: एक एकल कुंजी का उपयोग किया जाता है और प्रत्येक राउंड के लिए थोड़ा ट्वीक किया जाता है।

फरवरी 2010 तक, FFSEM को मिहिर लड़ने के लिए, फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित एफएफएक्स मोड द्वारा अधिक्रमित कर दिया गया है। (विनिर्देश,[6][7] NIST Block Cipher Modes Development, 2010).

जेपीईजी 2000 एन्क्रिप्शन के लिए एफपीई

JPEG 2000 मानक में, मार्कर कोड (0xFF90 से 0xFFFF तक की श्रेणी में) प्लेनटेक्स्ट और सिफरटेक्स्ट में नहीं दिखना चाहिए। जेपीईजी 2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल मॉड्यूलर-0xFF90 विधि को प्रयुक्त नहीं किया जा सकता है। उदाहरण के लिए, सिफरटेक्स्ट शब्द 0x23FF और 0x9832 मान्य हैं, किन्तु उनका संयोजन 0x23FF9832 अमान्य हो जाता है जिससे कि यह मार्कर कोड 0xFF98 का ​​परिचय देता है। इसी प्रकार, JPEG2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल चक्र-चलने की विधि को प्रयुक्त नहीं किया जा सकता है जिससे कि दो मान्य सिफरटेक्स्ट ब्लॉक संयुक्त होने पर अमान्य सिफरटेक्स्ट दे सकते हैं। उदाहरण के लिए, यदि पहला सिफरटेक्स्ट ब्लॉक बाइट्स ...30FF के साथ समाप्त होता है और दूसरा सिफरटेक्स्ट ब्लॉक बाइट्स 9832... के साथ प्रारंभ होता है, तो सिफरटेक्स्ट में मार्कर कोड 0xFF98 दिखाई देगा।

जेपीईजी 2000 के लिए कुशल और सुरक्षित एन्क्रिप्शन योजनाओं में जेपीईजी 2000 के प्रारूप-संरक्षण एन्क्रिप्शन के लिए दो तंत्र दिए गए थे।[8] होंगजुन वू और डि मा द्वारा। जेपीईजी 2000 के प्रारूप-संरक्षण एन्क्रिप्शन को करने के लिए, विधि एन्क्रिप्शन और डिक्रिप्शन में बाइट 0xFF को बाहर करना है। फिर एक जेपीईजी 2000 एन्क्रिप्शन तंत्र स्ट्रीम सिफर के साथ मोडुलो-एन जोड़ करता है; एक और जेपीईजी 2000 एन्क्रिप्शन तंत्र ब्लॉक सिफर के साथ चक्र-चलने की विधि करता है।

अन्य एफपीई निर्माण

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

संघीय सूचना प्रसंस्करण मानक 74 का सेक्शन 8, एनबीएस डेटा एन्क्रिप्शन स्टैंडर्ड को प्रयुक्त करने और उपयोग करने के लिए फेडरल इंफॉर्मेशन प्रोसेसिंग स्टैंडर्ड्स पब्लिकेशन 1981 गाइडलाइंस,[9] डीईएस एन्क्रिप्शन एल्गोरिथ्म का उपयोग करने के विधि का वर्णन करता है जो एक निष्पक्ष ऑपरेशन के बाद मॉड्यूलो-एन जोड़ के माध्यम से डेटा के प्रारूप को संरक्षित करता है। यह मानक 19 मई, 2005 को वापस ले लिया गया था, इसलिए विधि को औपचारिक मानक होने के संदर्भ में अप्रचलित माना जाना चाहिए।

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

डेटा वेयरहाउस सुरक्षा बढ़ाने के लिए डेटाटाइप-संरक्षण एन्क्रिप्शन का उपयोग करने वाला पेपर[11] माइकल ब्राइटवेल और हैरी स्मिथ द्वारा डेटा एन्क्रिप्शन मानक एन्क्रिप्शन एल्गोरिथ्म का उपयोग करने के विधि का वर्णन किया गया है जो सादे पाठ के प्रारूप को संरक्षित करता है। यह विधि एक निष्पक्ष कदम को प्रयुक्त करने के लिए प्रकट नहीं होती है जैसा कि यहां संदर्भित अन्य मॉडुलो-एन विधिें करती हैं।

कागज प्रारूप-संरक्षण एन्क्रिप्शन[12] मिहिर बेलारे और थॉमस रिस्टेनपार्ट द्वारा सुरक्षित एफपीई एल्गोरिदम बनाने के लिए लगभग संतुलित फिस्टल नेटवर्क का उपयोग करने का वर्णन किया गया है।

डेटाटाइप संरक्षित एन्क्रिप्शन का उपयोग करके एन्क्रिप्शन को नियंत्रित करने वाला कागजी प्रारूप[13] Ulf Mattsson द्वारा एफपीई एल्गोरिदम बनाने के अन्य विधियों का वर्णन किया गया है।

एफपीई एल्गोरिदम का एक उदाहरण एफएनआर (फ्लेक्सिबल नाओर और रींगोल्ड) है।[14]


मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति

NIST विशेष प्रकाशन 800-38जी, ऑपरेशन के ब्लॉक सिफर मोड के लिए सिफारिश: प्रारूप-संरक्षण एन्क्रिप्शन के लिए विधि[15] दो विधियों को निर्दिष्ट करता है: एफएफ1 और एफएफ3। प्रत्येक के लिए प्रस्तुत प्रस्तावों पर विवरण एनआईएसटी ब्लॉक सिफर मोड्स डेवलपमेंट साइट पर पाया जा सकता है।[16] पेटेंट और टेस्ट सदिश जानकारी सहित। नमूना मान एफएफ1 और एफएफ3 दोनों के लिए उपलब्ध हैं।[17]

  • एफएफ1 एफएफएक्स [मूलांक] प्रारूप-संरक्षित फ़िस्टेल- आधारित एन्क्रिप्शन मोड है जो एएनएसआई एक्स9 के अनुसार एक्स9.119 और एक्स9.124 के रूप में मानक प्रक्रियाओं में भी है। इसे कैलिफोर्निया विश्वविद्यालय, सैन डिएगो के मिहिर बेलारे, कैलिफोर्निया विश्वविद्यालय, डेविस के फिलिप रोगवे और वोल्टेज सिक्योरिटी इंक के टेरेंस जासूसों द्वारा एनआईएसटी को प्रस्तुत किया गया था। टेस्ट वैक्टर की आपूर्ति की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। (ड्राफ्ट एसपी 800-38जी रेव 1) [18] एन्क्रिप्ट किए जा रहे डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।
  • एफएफ3 बीपीएस है जिसका नाम लेखकों के नाम पर रखा गया है। यह एनआईएसटी को एरिक बैरियर, थॉमस पाइरिन और इंजेनिको, फ्रांस के जैक्स स्टर्न द्वारा प्रस्तुत किया गया था। लेखकों ने एनआईएसटी को घोषित किया कि उनके एल्गोरिथ्म का पेटेंट नहीं कराया गया है।[19] साइबर रेस वोल्टेज उत्पाद, चूंकि बीपीएस मोड के लिए भी खुद के पेटेंट का प्रामाणित करता है।[20][21] 12 अप्रैल 2017 को, NIST ने निष्कर्ष निकाला कि एफएफ3 अब एक सामान्य-उद्देश्य एफपीई पद्धति के रूप में उपयुक्त नहीं है जिससे कि शोधकर्ताओं ने एक भेद्यता पाई है।[22]
  • एफएफ3-1 (ड्राफ्ट एसपी 800-38जी धूमना 1) [18]FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।

एक अन्य मोड एनआईएसटी मार्गदर्शन के मसौदे में सम्मिलित किया गया था किन्तु अंतिम प्रकाशन से पहले हटा दिया गया था।

  • एफएफ2 एफएफएक्स के लिए वीएईएस3 योजना है: एन्क्रिप्शन को संरक्षित करने के लिए ऑपरेशन के एफएफएक्स मोड के लिए एक परिशिष्ट: एन्क्रिफ़रिंग कुंजी के जीवन को लंबा करने के लिए उपकुंजी ऑपरेशन के साथ अनैतिक रेडिक्स के एन्सिफ़र स्ट्रिंग्स के लिए एक पैरामीटर संग्रह। यह NIST को VeriFone Systems Inc. के Joachim Vance द्वारा सबमिट किया गया था। टेस्ट वैक्टर को FF1 से भिन्न से आपूर्ति नहीं की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। लेखकों ने डीएफएफ के रूप में एक संशोधित एल्गोरिथम प्रस्तुत किया है[23] जो एनआईएसटी द्वारा सक्रिय रूप से विचाराधीन है।

कोरिया ने एक एफपीई मानक, एफईए-1 और एफईए-2 भी विकसित किया है।

कार्यान्वयन

एफएफ1 और एफएफ3 के ओपन सोर्स कार्यान्वयन सार्वजनिक रूप से में उपलब्ध हैं सी भाषा, गो भाषा, Java, Node.js, Python, C#/.Net और जंग

संदर्भ

  1. John Black and Philip Rogaway, Ciphers with Arbitrary Domains, Proceedings RSA-CT, 2002, pp. 114–130. http://citeseer.ist.psu.edu/old/black00ciphers.html (http://www.cs.ucdavis.edu/~rogaway/papers/subset.pdf)
  2. Jacques Patarin, Luby-Rackoff: 7 Rounds Are Enough for 2n(1-epsilon) Security, Proceedings of CRYPTO 2003, Lecture Notes in Computer Science, Volume 2729, Oct 2003, pp. 513–529. https://www.iacr.org/archive/crypto2003/27290510/27290510.pdf; also Jaques Patrin: Security of Random Feistel Schemes with 5 or more Rounds. https://www.iacr.org/archive/crypto2004/31520105/Version%20courte%20Format%20Springer.pdf
  3. Morris, Ben; Rogaway, Phillip; Stegers, Till (2009), "How to Encipher Messages on a Small Domain" (PDF), CRYPTO
  4. Bellare, Mihir; Rogaway, Phillip (1999), On the construction of Variable-Input-Length Ciphers (PDF)
  5. Terence Spies, Feistel Finite Set Encryption Mode http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffsem/ffsem-spec.pdf
  6. Mihir Bellare, Phillip Rogaway, Terence Spies: The FFX Mode of Operation for Format-Preserving Encryption (PDF), 2010
  7. Mihir Bellare, Phillip Rogaway, Terence Spies: Addendum to "The FFX Mode of Operation for Format-Preserving Encryption" (PDF), 2010
  8. Hongjun Wu, Di Ma, "Efficient and Secure Encryption Schemes for JPEG2000", International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2004). MSP-L 1.6, Vol. V, pp. 869–872. http://www3.ntu.edu.sg/home/wuhj/research/publications/2004_ICASSP_JPEG2000.pdf
  9. FIPS 74, Federal Information Processing Standards Publication 1981 Guidelines for Implementing and Using the NBS Data Encryption Standard http://www.itl.nist.gov/fipspubs/fip74.htm Archived 2014-01-03 at the Wayback Machine
  10. Peter Gutmann, "Encrypting data with a restricted range of values", 23 January 1997, https://groups.google.com/group/sci.crypt/browse_thread/thread/6caf26496782e359/e576d7196b6cdb48
  11. Michael Brightwell and Harry Smith, "Using Datatype-Preserving Encryption to Enhance Data Warehouse Security, Proceedings of the 1997 National Information Systems Security Conference https://portfolio.du.edu/portfolio/getportfoliofile?uid=135556 Archived 2011-07-19 at the Wayback Machine
  12. Mihir Bellare and Thomas Ristenpart, Format-Preserving Encryption http://eprint.iacr.org/2009/251
  13. Ulf Mattsson, Format Controlling Encryption Using Datatype Preserving Encryption http://eprint.iacr.org/2009/257
  14. Sashank Dara, Scott Fluhrer. "फ्लेक्सिबल नोर और रींगोल्ड". Cisco Systems Inc.
  15. Dworkin, Morris (2016), NIST Special Publication 800-38G, Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption, doi:10.6028/NIST.SP.800-38G
  16. NIST Block Cipher Modes Development, 4 January 2017
  17. NIST Cryptographic Toolkit Example Algorithms, 29 December 2016
  18. 18.0 18.1 "SP 800-38G Rev. 1 (DRAFT) Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption". NIST. Feb 2019. Retrieved 1 April 2019.
  19. BPS Authors Patent Declaration (PDF), 4 January 2017
  20. HPE Voltage patent claims
  21. Revised letter of assurance for essential patent claims FFX Mode of Operation for Format-Preserving Encryption (PDF)
  22. "Recent Cryptanalysis of FF3". NIST. 12 April 2017. Retrieved 5 May 2020.
  23. FF2 Addendum DFF (PDF)