प्रारूप-संरक्षण एन्क्रिप्शन: Difference between revisions

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


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


ऐसे परिमित डोमेन के लिए और नीचे चर्चा के प्रयोजनों के लिए सिफर 'एन' पूर्णांकों के क्रमचय के समान्तर है {{math|{0, ... , ''एन''−1}}} जहां एन डोमेन का आकार होता है।
ऐसे परिमित डोमेन के लिए और नीचे चर्चा के प्रयोजनों के लिए सिफर 'एन' पूर्णांकों के क्रमचय के समान्तर है {{math|{0, ... , ''एन''−1}}} जहां एन डोमेन का आकार होता है।
Line 12: Line 12:
एफपीई का उपयोग करने के लिए विशेष प्रेरणा उचित प्रकार से परिभाषित डेटा मॉडल के साथ उपस्तिथ अनुप्रयोगों में एन्क्रिप्शन को एकीकृत करने से जुड़ी समस्याओं से आती है। इस प्रकार विशिष्ट उदाहरण [[क्रेडिट कार्ड नंबर|क्रेडिट कार्ड संख्या]] होती है, जैसे <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-अंकीय संख्या होने की अपेक्षा करने वाले किसी भी उपस्तिथ एप्लिकेशन को तोड़ देता है।


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


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


== वास्तव में यादृच्छिक क्रमपरिवर्तन की तुलना ==
== वास्तव में यादृच्छिक क्रमपरिवर्तन की तुलना ==
Line 27: Line 27:


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


== एल्गोरिदम ==
== एल्गोरिदम ==
Line 36: Line 36:


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


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


  वजन (0) = 0x56c644080098fc5570f2b329323dbf62
  वजन (0) = 0x56c644080098fc5570f2b329323dbf62
Line 45: Line 45:
  वजन(3) = 0x077de40941c93774857961a8a772650d
  वजन(3) = 0x077de40941c93774857961a8a772650d


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


  एफ (0) = 3
  एफ (0) = 3
Line 52: Line 52:
  एफ (3) = 0
  एफ (3) = 0


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


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


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


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


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


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


=एफपीई फ़िस्टेल नेटवर्क से ===
=एफपीई फ़िस्टेल नेटवर्क से=
फ़िस्टेल सिफर का उपयोग करके एफपीई एल्गोरिथम बनाना भी संभव है। फ़िस्टेल नेटवर्क को प्रत्येक दौर के लिए उप-कुंजियों के लिए छद्म-यादृच्छिक मानों के स्रोत की आवश्यकता होती है, और एईएस एल्गोरिदम के आउटपुट को इन छद्म-यादृच्छिक मानों के रूप में उपयोग किया जा सकता है। जब यह किया जाता है, तो परिणामी फ़िस्टेल निर्माण उचित होता है यदि पर्याप्त राउंड का उपयोग किया जाता है।<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>


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


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


फरवरी 2010 तक, एफएफएसईएम को [[मिहिर लड़ने के लिए]], फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित एफएफएक्स मोड द्वारा अधिक्रमित कर दिया गया है। (विनिर्देश,<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=एनआईएसटी ब्लॉक सिफर मोड डेवलपमेंट |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html |year=2010 }}).
फरवरी, सन्न 2010 तक, एफएफएसईएम को [[मिहिर लड़ने के लिए|मिहिर बेलारे]], फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित एफएफएक्स मोड द्वारा अधिक्रमित कर दिया गया है। (विनिर्देश,<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=एनआईएसटी ब्लॉक सिफर मोड विकास |url=http://csrc.nist.gov/groups/ST/toolkit/BCM/modes_development.html |year=2010 }}).


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


जेपीईजी 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 के प्रारूप-संरक्षण एन्क्रिप्शन को करने के लिए, विधि एन्क्रिप्शन और डिक्रिप्शन में बाइट "0एक्सएफएफ" को बाहर करना होता है। अतः फिर जेपीईजी 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 द्वारा एफपीई एल्गोरिदम बनाने के अन्य विधियों का वर्णन किया गया है।
 
एफपीई एल्गोरिदम का उदाहरण एफएनआर (फ्लेक्सिबल नाओर और रींगोल्ड) है।<ref>{{cite web|url=https://github.com/sashank/libfnr |title=फ्लेक्सिबल नोर और रींगोल्ड|publisher=Cisco Systems Inc|author=Sashank Dara, Scott Fluhrer }}</ref>


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


एफपीई एल्गोरिदम का उदाहरण एफएनआर (लचीला नाओर और रींगोल्ड) होता है।<ref>{{cite web|url=https://github.com/sashank/libfnr |title=फ्लेक्सिबल नोर और रींगोल्ड|publisher=Cisco Systems Inc|author=Sashank Dara, Scott Fluhrer }}</ref>
== मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति ==
== मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति ==
एनआईएसटी विशेष प्रकाशन 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>
एनआईएसटी विशेष प्रकाशन 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>
* एफएफ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) होना आवश्यक है।
* एफएफ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) होना आवश्यक है।


* एफएफ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 को, एनआईएसटी ने निष्कर्ष निकाला कि एफएफ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>
* एफएफ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 को, एनआईएसटी ने निष्कर्ष निकाला कि "एफएफ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>
* एफएफ3-1 (ड्राफ्ट एसपी 800-38जी धूमना 1) <ref name=SP800-38G-r1-draft />FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।
* एफएफ3-1 (ड्राफ्ट एसपी 800-38जी धूमना 1) <ref name=SP800-38G-r1-draft /> FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।


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


* एफएफ2 एफएफएक्स के लिए वीएईएस3 योजना है: एन्क्रिप्शन को संरक्षित करने के लिए ऑपरेशन के एफएफएक्स मोड के लिए परिशिष्ट: एन्क्रिफ़रिंग कुंजी के जीवन को लंबा करने के लिए उपकुंजी ऑपरेशन के साथ अनैतिक रेडिक्स के एन्सिफ़र स्ट्रिंग्स के लिए पैरामीटर संग्रह। यह एनआईएसटी को 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 योजना है, "एन्क्रिप्शन को संरक्षित करने के लिए ऑपरेशन के एफएफएक्स मोड" के लिए परिशिष्ट: एन्क्रिफ़रिंग कुंजी के जीवन को लंबा करने के लिए उपकुंजी ऑपरेशन के साथ अनैतिक मूलांक के एन्सिफ़र स्ट्रिंग्स के लिए पैरामीटर संग्रह होता है। यह एनआईएसटी को वेरिफोन प्रणाली इंक. के जोआचिम वेंस द्वारा संगृहीत किया गया था। इस प्रकार परीक्षण सदिश को एफएफ1 से भिन्न की आपूर्ति नहीं की जाती है और इसके कुछ भागों का स्पष्ट कराया जाता है। अतः लेखकों ने डीएफएफ के रूप में संशोधित एल्गोरिथम प्रस्तुत किया है<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> जो एनआईएसटी द्वारा सक्रिय रूप से विचाराधीन है।


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


=== कार्यान्वयन ===
=== कार्यान्वयन ===
एफएफ1 और एफएफ3 के ओपन सोर्स कार्यान्वयन सार्वजनिक रूप से में उपलब्ध हैं
एफएफ1 और एफएफ3 के खुला स्त्रोत कार्यान्वयन सार्वजनिक रूप से में उपलब्ध हैं। [https://github.com/mysto/clang-fpe सी भाषा], [https://github.com/capitalone/fpe गो भाषा], [https://github.com/mysto/java-fpe जावा], [https://github.com/mysto/node-fpe नोड.जेएस], [https://github.com/mysto/python-fpe पाइथन], [https://github.com/a-tze/FPE.Net सी#/.नेटt] और [https://github.com/str4d/fpe जंग] में उपलब्ध हैं।
[https://github.com/mysto/clang-fpe सी भाषा],
[https://github.com/capitalone/fpe गो भाषा],
[https://github.com/mysto/java-fpe Java],
[https://github.com/mysto/node-fpe Node.js],
[https://github.com/mysto/python-fpe Python],
[https://github.com/a-tze/FPE.Net C#/.Net] और
[https://github.com/str4d/fpe जंग]


==संदर्भ==
==संदर्भ==
{{reflist}}
{{reflist}}
[[Category: ब्लॉक सिफर]] [[Category: क्रिप्टोग्राफी]]


[[Category: Machine Translated Page]]
[[Category:Created On 11/05/2023]]
[[Category:Created On 11/05/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Webarchive template wayback links]]
[[Category:क्रिप्टोग्राफी]]
[[Category:ब्लॉक सिफर]]

Latest revision as of 17:22, 25 May 2023

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

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

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

प्रेरणा

प्रतिबंधित क्षेत्र लंबाई या प्रारूप

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

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

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

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

वास्तव में यादृच्छिक क्रमपरिवर्तन की तुलना

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

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

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

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

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

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

एल्गोरिदम

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

ब्लैक एंड रोगवे का एफपीई निर्माण

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

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

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

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

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

वजन से [0,1,2,3] श्रेणीकरण [3,1,2,0] देता है, इसलिए सिफर है।

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

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

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

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

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

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

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

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

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

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

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

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

थोरो शफल

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

वीआईएल मोड

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

हस्टी पुडिंग सिफर

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

एईएस का एफएफएसईएम/एफएफएक्स मोड

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

फरवरी, सन्न 2010 तक, एफएफएसईएम को मिहिर बेलारे, फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित एफएफएक्स मोड द्वारा अधिक्रमित कर दिया गया है। (विनिर्देश,[6][7] एनआईएसटी ब्लॉक सिफर मोड विकास, 2010).

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

जेपीईजी 2000 मानक में, मार्कर कोड (0एक्सएफएफ90 से 0एक्सएफएफएफएफ तक की श्रेणी में) प्लेन पाठ और सिफर पाठ में नहीं दिखाई देते है। सामान्यतः जेपीईजी 2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल मॉड्यूलर-0एक्सएफएफ90 विधि को प्रयुक्त नहीं किया जाता है। उदाहरण के लिए, सिफर पाठ शब्द 0एक्स23एफएफ और 0एक्स9832 मान्य हैं, किन्तु उनका संयोजन 0एक्स23एफएफ9832 अमान्य हो जाता है जिससे कि यह मार्कर कोड 0एक्सएफएफ98 का ​​परिचय देता है। इसी प्रकार, जेपीईजी2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल चक्र-चलने की विधि को प्रयुक्त नहीं किया जा सकता है जिससे कि दो मान्य सिफर पाठ ब्लॉक संयुक्त होने पर अमान्य सिफर पाठ दे सकते हैं। उदाहरण के लिए, यदि प्रथम सिफर पाठ ब्लॉक बाइट्स "...30एफएफ" के साथ समाप्त होता है और दूसरा सिफर पाठ ब्लॉक बाइट्स "9832..." के साथ प्रारंभ होता है, तब सिफर पाठ में मार्कर कोड 0एक्सएफएफ98 दिखाई देता है।

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

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

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

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

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

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

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

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

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

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

एनआईएसटी विशेष प्रकाशन 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 को, एनआईएसटी ने निष्कर्ष निकाला कि "एफएफ3 अब सामान्य-उद्देश्य एफपीई पद्धति के रूप में उपयुक्त नहीं है" जिससे कि शोधकर्ताओं ने भेद्यता पाई है।[22]
  • एफएफ3-1 (ड्राफ्ट एसपी 800-38जी धूमना 1) [18] FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।

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

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

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

कार्यान्वयन

एफएफ1 और एफएफ3 के खुला स्त्रोत कार्यान्वयन सार्वजनिक रूप से में उपलब्ध हैं। सी भाषा, गो भाषा, जावा, नोड.जेएस, पाइथन, सी#/.नेटt और जंग में उपलब्ध हैं।

संदर्भ

  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)