सत्यापित संगणना (वेरिफिएबल कंप्यूटिंग): Difference between revisions
(Created page with "क्रिप्टोग्राफी में, प्रारूप-संरक्षण एन्क्रिप्शन (FPE), इस तरह से एन...") |
No edit summary |
||
Line 1: | Line 1: | ||
[[क्रिप्टोग्राफी]] में, प्रारूप-संरक्षण एन्क्रिप्शन (FPE), इस तरह से एन्क्रिप्ट करने को संदर्भित करता है कि आउटपुट ([[सिफर]]टेक्स्ट) इनपुट ([[सादे पाठ]]) के समान प्रारूप में है। प्रारूप का अर्थ भिन्न होता है। विशिष्ट रूप से वर्णों के केवल परिमित समुच्चय का उपयोग किया जाता है; संख्यात्मक, अक्षरात्मक या अक्षरांकीय। उदाहरण के लिए: | [[क्रिप्टोग्राफी]] में, प्रारूप-संरक्षण एन्क्रिप्शन (FPE), इस तरह से एन्क्रिप्ट करने को संदर्भित करता है कि आउटपुट ([[सिफर]]टेक्स्ट) इनपुट ([[सादे पाठ]]) के समान प्रारूप में है। प्रारूप का अर्थ भिन्न होता है। विशिष्ट रूप से वर्णों के केवल परिमित समुच्चय का उपयोग किया जाता है; संख्यात्मक, अक्षरात्मक या अक्षरांकीय। उदाहरण के लिए: | ||
* 16 अंकों के क्रेडिट कार्ड नंबर को एन्क्रिप्ट करना | * 16 अंकों के क्रेडिट कार्ड नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट 16 अंकों की एक और संख्या हो। | ||
* एक अंग्रेजी शब्द को एन्क्रिप्ट करना | * एक अंग्रेजी शब्द को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट एक और अंग्रेजी शब्द हो। | ||
* एक ''एन''-बिट नंबर को एन्क्रिप्ट करना | * एक ''एन''-बिट नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट एक और ''एन''-बिट नंबर हो (यह ''एन''-बिट ब्लॉक सिफर की परिभाषा है)। | ||
ऐसे परिमित डोमेन के लिए, और नीचे चर्चा के प्रयोजनों के लिए, सिफर 'एन' पूर्णांकों के क्रमचय के बराबर है {{math|{0, ... , ''N''−1}}} जहां N डोमेन का आकार है। | ऐसे परिमित डोमेन के लिए, और नीचे चर्चा के प्रयोजनों के लिए, सिफर 'एन' पूर्णांकों के क्रमचय के बराबर है {{math|{0, ... , ''N''−1}}} जहां N डोमेन का आकार है। | ||
Line 10: | Line 10: | ||
===प्रतिबंधित फ़ील्ड लंबाई या प्रारूप === | ===प्रतिबंधित फ़ील्ड लंबाई या प्रारूप === | ||
एफपीई का उपयोग करने के लिए एक प्रेरणा अच्छी तरह से परिभाषित डेटा मॉडल के साथ | एफपीई का उपयोग करने के लिए एक प्रेरणा अच्छी तरह से परिभाषित डेटा मॉडल के साथ उपस्तिथा अनुप्रयोगों में एन्क्रिप्शन को एकीकृत करने से जुड़ी समस्याओं से आती है। एक विशिष्ट उदाहरण एक [[क्रेडिट कार्ड नंबर]] होगा, जैसे <code>1234567812345670</code> (16 बाइट लंबी, केवल अंक)। | ||
यदि डेटा मॉडल को बदलना है तो ऐसे अनुप्रयोगों में एन्क्रिप्शन जोड़ना चुनौतीपूर्ण हो सकता है, क्योंकि इसमें | यदि डेटा मॉडल को बदलना है तो ऐसे अनुप्रयोगों में एन्क्रिप्शन जोड़ना चुनौतीपूर्ण हो सकता है, क्योंकि इसमें सामान्यतः फ़ील्ड लंबाई सीमा या डेटा प्रकार बदलना सम्मिलित होता है। उदाहरण के लिए, एक विशिष्ट [[ब्लॉक सिफर]] से आउटपुट क्रेडिट कार्ड नंबर को [[हेक्साडेसिमल]] में बदल देगा (उदा।<code>0x96a45cbcf9c2a9425cde9e274948cb67</code>, 34 बाइट्स, हेक्साडेसिमल अंक) या बेस64 मान (उदा. <code>lqRcvPnCqUJc3p4nSUjLZw==</code>, 24 बाइट्स, अल्फ़ान्यूमेरिक और विशेष वर्ण), जो क्रेडिट कार्ड नंबर के 16-अंकीय नंबर होने की अपेक्षा करने वाले किसी भी उपस्तिथा एप्लिकेशन को तोड़ देगा। | ||
सरल स्वरूपण समस्याओं के | सरल स्वरूपण समस्याओं के अतिरिक्त, AES-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>-बिट ब्लॉक सिफर तकनीकी रूप से सेट पर एक FPE है {{math|{0, ..., 2<sup><var>n</var></sup>-1}}}. यदि इन मानक आकार के सेटों में से किसी एक पर FPE की आवश्यकता है (उदाहरण के लिए, [[डेटा एन्क्रिप्शन मानक]] के लिए <var>n</var> = 64 और AES के लिए <var>n</var> = 128) दाईं ओर का एक ब्लॉक सिफर आकार का उपयोग किया जा सकता है। | ||
चूंकि, विशिष्ट उपयोग में, एक ब्लॉक सिफर का उपयोग ऑपरेशन के ब्लॉक सिफर मोड में किया जाता है जो इसे मनमाने ढंग से लंबे संदेशों को एन्क्रिप्ट करने की अनुमति देता है, और जैसा कि ऊपर चर्चा की गई है, प्रारंभिक वेक्टर के साथ। इस मोड में, एक ब्लॉक सिफर एक एफपीई नहीं है। | |||
== सुरक्षा की परिभाषा == | == सुरक्षा की परिभाषा == | ||
Line 30: | Line 30: | ||
== एल्गोरिदम == | == एल्गोरिदम == | ||
यहां सूचीबद्ध अधिकांश दृष्टिकोणों में, एक अच्छी तरह से समझा जाने वाला ब्लॉक सिफर (जैसे उन्नत एन्क्रिप्शन मानक) एक आदर्श यादृच्छिक फ़ंक्शन की जगह लेने के लिए आदिम के रूप में उपयोग किया जाता है। इसका यह फायदा है कि एल्गोरिथम में एक गुप्त कुंजी को | यहां सूचीबद्ध अधिकांश दृष्टिकोणों में, एक अच्छी तरह से समझा जाने वाला ब्लॉक सिफर (जैसे उन्नत एन्क्रिप्शन मानक) एक आदर्श यादृच्छिक फ़ंक्शन की जगह लेने के लिए आदिम के रूप में उपयोग किया जाता है। इसका यह फायदा है कि एल्गोरिथम में एक गुप्त कुंजी को सम्मिलित करना आसान है। जहां एईएस का उल्लेख निम्नलिखित चर्चा में किया गया है, कोई अन्य अच्छा ब्लॉक सिफर भी काम करेगा। | ||
=== ब्लैक एंड रोगवे === का एफपीई निर्माण | === ब्लैक एंड रोगवे === का एफपीई निर्माण | ||
अंतर्निहित ब्लॉक सिफर से संबंधित सुरक्षा के साथ एफपीई को लागू करना सबसे पहले क्रिप्टोग्राफर [[जॉन ब्लैक (क्रिप्टोग्राफर)]] और [[फिलिप रोगवे]] द्वारा एक पेपर में किया गया था।<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 एक उपसर्ग सिफर से ==== | ==== FPE एक उपसर्ग सिफर से ==== | ||
एफपीई एल्गोरिथम बनाने का एक आसान | एफपीई एल्गोरिथम बनाने का एक आसान विधि {{math|{0, ..., <var>N</var>-1} }} प्रत्येक पूर्णांक के लिए एक छद्म आयामी भार निर्दिष्ट करना है, फिर भार के आधार पर छाँटना है। प्रत्येक पूर्णांक में उपस्तिथा ब्लॉक सिफर को लागू करके वजन को परिभाषित किया जाता है। ब्लैक और रोगवे इस तकनीक को एक उपसर्ग सिफर कहते हैं और यह दिखाते हैं कि यह संभवतः उतना ही अच्छा है जितना कि ब्लॉक सिफर का उपयोग किया जाता है। | ||
इस प्रकार, डोमेन {0,1,2,3} पर एक एफपीई बनाने के लिए, एक कुंजी <var>K</var> दी गई है, प्रत्येक पूर्णांक पर AES(<var>K</var>) लागू करें, उदाहरण के लिए , | इस प्रकार, डोमेन {0,1,2,3} पर एक एफपीई बनाने के लिए, एक कुंजी <var>K</var> दी गई है, प्रत्येक पूर्णांक पर AES(<var>K</var>) लागू करें, उदाहरण के लिए , | ||
Line 58: | Line 58: | ||
साइकिलवॉकिंग एफपीई (एक्स) { | साइकिलवॉकिंग एफपीई (एक्स) { | ||
' | 'यदि' पी (एक्स) एम 'तो' का एक तत्व है | ||
'वापसी' पी (एक्स) | 'वापसी' पी (एक्स) | ||
'अन्य' | 'अन्य' | ||
Line 64: | Line 64: | ||
} | } | ||
रिकर्सन को समाप्त करने की गारंटी है। (क्योंकि P एक-से-एक है और डोमेन परिमित है, P का बार-बार उपयोग एक चक्र बनाता है, इसलिए M में एक बिंदु से | रिकर्सन को समाप्त करने की गारंटी है। (क्योंकि P एक-से-एक है और डोमेन परिमित है, P का बार-बार उपयोग एक चक्र बनाता है, इसलिए M में एक बिंदु से प्रारंभ होकर चक्र अंततः M में समाप्त हो जाएगा।) | ||
इसका यह लाभ है कि M के तत्वों को पूर्णांकों के लगातार क्रम {0,...,N-1} में मैप करने की आवश्यकता नहीं है। इसका नुकसान यह है कि जब M <var>P</var> के डोमेन से बहुत छोटा होता है, तो प्रत्येक ऑपरेशन के लिए बहुत अधिक पुनरावृत्तियों की आवश्यकता हो सकती है। यदि <var>P</var> एक निश्चित आकार का ब्लॉक सिफर है, जैसे एईएस, यह एम के आकार पर एक गंभीर प्रतिबंध है जिसके लिए यह विधि कुशल है। | इसका यह लाभ है कि M के तत्वों को पूर्णांकों के लगातार क्रम {0,...,N-1} में मैप करने की आवश्यकता नहीं है। इसका नुकसान यह है कि जब M <var>P</var> के डोमेन से बहुत छोटा होता है, तो प्रत्येक ऑपरेशन के लिए बहुत अधिक पुनरावृत्तियों की आवश्यकता हो सकती है। यदि <var>P</var> एक निश्चित आकार का ब्लॉक सिफर है, जैसे एईएस, यह एम के आकार पर एक गंभीर प्रतिबंध है जिसके लिए यह विधि कुशल है। | ||
Line 72: | Line 72: | ||
=FPE एक Feistel नेटवर्क से === | =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> | 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> | ||
एईएस और एक Feistel नेटवर्क का उपयोग करके एक FPE एल्गोरिथ्म को लागू करने का एक | एईएस और एक Feistel नेटवर्क का उपयोग करके एक FPE एल्गोरिथ्म को लागू करने का एक विधि एईएस आउटपुट के कई बिट्स का उपयोग करना है, जो कि Feistel नेटवर्क के बाएं या दाएं हिस्सों की लंबाई के बराबर करने के लिए आवश्यक है। यदि उप-कुंजी के रूप में 24-बिट मान की आवश्यकता है, उदाहरण के लिए, इस मान के लिए एईएस के आउटपुट के निम्नतम 24 बिट्स का उपयोग करना संभव है। | ||
इसका परिणाम इनपुट के प्रारूप को संरक्षित करने वाले Feistel नेटवर्क के आउटपुट में नहीं हो सकता है, | इसका परिणाम इनपुट के प्रारूप को संरक्षित करने वाले Feistel नेटवर्क के आउटपुट में नहीं हो सकता है, किन्तु Feistel नेटवर्क को उसी तरह से पुनरावृत्त करना संभव है, जिस तरह से चक्र-चलने की तकनीक यह सुनिश्चित करने के लिए करती है कि प्रारूप को संरक्षित किया जा सके। क्योंकि इनपुट के आकार को एक Feistel नेटवर्क में समायोजित करना संभव है, यह बहुत संभव है कि यह पुनरावृत्ति औसतन बहुत जल्दी समाप्त हो जाए। क्रेडिट कार्ड नंबरों के स्थिति में, उदाहरण के लिए, 10 हैं<sup>15</sup> संभावित 16-अंकीय क्रेडिट कार्ड नंबर (अनावश्यक Luhn एल्गोरिथम के लिए लेखांकन), और क्योंकि 10<sup>15</sup> ≈ 2<sup>49.8</sup>, साइकल वॉकिंग के साथ-साथ 50-बिट वाइड Feistel नेटवर्क का उपयोग करने से एक FPE एल्गोरिदम तैयार होगा जो औसतन अधिक तेज़ी से एन्क्रिप्ट करता है। | ||
=== थोरो शफल === | === थोरो शफल === | ||
एक थोरप शफल एक आदर्श कार्ड-शफल की तरह है, या समकक्ष एक अधिकतम-असंतुलित फिस्टल सिफर है जहां एक तरफ एक बिट है। असंतुलित फिस्टल सिफर के लिए संतुलित सिफर की तुलना में सुरक्षा | एक थोरप शफल एक आदर्श कार्ड-शफल की तरह है, या समकक्ष एक अधिकतम-असंतुलित फिस्टल सिफर है जहां एक तरफ एक बिट है। असंतुलित फिस्टल सिफर के लिए संतुलित सिफर की तुलना में सुरक्षा सिद्ध करना आसान है।<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> | ||
=== जल्दबाजी का हलवा सिफर === | === जल्दबाजी का हलवा सिफर === | ||
[[हस्टी पुडिंग सिफर]] मनमाना परिमित छोटे डोमेन को एन्क्रिप्ट करने के लिए कस्टम निर्माण ( | [[हस्टी पुडिंग सिफर]] मनमाना परिमित छोटे डोमेन को एन्क्रिप्ट करने के लिए कस्टम निर्माण (उपस्तिथा ब्लॉक सिफर पर आदिम के रूप में निर्भर नहीं) का उपयोग करता है। | ||
===एईएस === का एफएफएसईएम/एफएफएक्स मोड | ===एईएस === का एफएफएसईएम/एफएफएक्स मोड | ||
एईएस का एफएफएसईएम मोड (विनिर्देशन<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 द्वारा विचार के लिए स्वीकार किया गया है, ऊपर वर्णित ब्लैक एंड रोगवे के Feistel नेटवर्क निर्माण का उपयोग करता है, AES के साथ राउंड फ़ंक्शन के लिए, एक साधारण संशोधन के साथ: एक एकल कुंजी का उपयोग किया जाता है और प्रत्येक राउंड के लिए थोड़ा ट्वीक किया जाता है। | ||
फरवरी 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 को [[मिहिर लड़ने के लिए]], फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित 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 }}). | ||
=== [[जेपीईजी 2000]] एन्क्रिप्शन के लिए एफपीई === | === [[जेपीईजी 2000]] एन्क्रिप्शन के लिए एफपीई === | ||
JPEG 2000 मानक में, मार्कर कोड (0xFF90 से 0xFFFF तक की श्रेणी में) प्लेनटेक्स्ट और सिफरटेक्स्ट में नहीं दिखना चाहिए। जेपीईजी 2000 एन्क्रिप्शन समस्या को हल करने के लिए सरल मॉड्यूलर-0xFF90 तकनीक को लागू नहीं किया जा सकता है। उदाहरण के लिए, सिफरटेक्स्ट शब्द 0x23FF और 0x9832 मान्य हैं, | 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, एनबीएस डेटा एन्क्रिप्शन स्टैंडर्ड को लागू करने और | [[संघीय सूचना प्रसंस्करण मानक]] 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> जो फिर से परिणाम को एक समान बनाने के लिए कुछ समायोजन के साथ किसी भी सिफर पर मोडुलो-एन जोड़ देता है, जिसके परिणामस्वरूप एन्क्रिप्शन उतना ही मजबूत होता है जितना कि अंतर्निहित एन्क्रिप्शन एल्गोरिथम जिस पर यह आधारित होता है। | ||
Line 115: | Line 115: | ||
== मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति == | == मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति == | ||
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-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> | ||
* FF1 FFX [मूलांक] प्रारूप-संरक्षित Feistel- आधारित एन्क्रिप्शन मोड है जो ANSI X9 के | * 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) होना आवश्यक है। | ||
* 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 वोल्टेज उत्पाद], | * 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> | ||
* FF3-1 (ड्राफ्ट SP 800-38G Rev 1) <ref name=SP800-38G-r1-draft />FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है। | * FF3-1 (ड्राफ्ट SP 800-38G Rev 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> जो एनआईएसटी द्वारा सक्रिय रूप से विचाराधीन है। | * 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> जो एनआईएसटी द्वारा सक्रिय रूप से विचाराधीन है। |
Revision as of 11:35, 15 May 2023
क्रिप्टोग्राफी में, प्रारूप-संरक्षण एन्क्रिप्शन (FPE), इस तरह से एन्क्रिप्ट करने को संदर्भित करता है कि आउटपुट (सिफरटेक्स्ट) इनपुट (सादे पाठ) के समान प्रारूप में है। प्रारूप का अर्थ भिन्न होता है। विशिष्ट रूप से वर्णों के केवल परिमित समुच्चय का उपयोग किया जाता है; संख्यात्मक, अक्षरात्मक या अक्षरांकीय। उदाहरण के लिए:
- 16 अंकों के क्रेडिट कार्ड नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट 16 अंकों की एक और संख्या हो।
- एक अंग्रेजी शब्द को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट एक और अंग्रेजी शब्द हो।
- एक एन-बिट नंबर को एन्क्रिप्ट करना जिससे कि सिफरटेक्स्ट एक और एन-बिट नंबर हो (यह एन-बिट ब्लॉक सिफर की परिभाषा है)।
ऐसे परिमित डोमेन के लिए, और नीचे चर्चा के प्रयोजनों के लिए, सिफर 'एन' पूर्णांकों के क्रमचय के बराबर है {0, ... , N−1} जहां N डोमेन का आकार है।
प्रेरणा
प्रतिबंधित फ़ील्ड लंबाई या प्रारूप
एफपीई का उपयोग करने के लिए एक प्रेरणा अच्छी तरह से परिभाषित डेटा मॉडल के साथ उपस्तिथा अनुप्रयोगों में एन्क्रिप्शन को एकीकृत करने से जुड़ी समस्याओं से आती है। एक विशिष्ट उदाहरण एक क्रेडिट कार्ड नंबर होगा, जैसे 1234567812345670
(16 बाइट लंबी, केवल अंक)।
यदि डेटा मॉडल को बदलना है तो ऐसे अनुप्रयोगों में एन्क्रिप्शन जोड़ना चुनौतीपूर्ण हो सकता है, क्योंकि इसमें सामान्यतः फ़ील्ड लंबाई सीमा या डेटा प्रकार बदलना सम्मिलित होता है। उदाहरण के लिए, एक विशिष्ट ब्लॉक सिफर से आउटपुट क्रेडिट कार्ड नंबर को हेक्साडेसिमल में बदल देगा (उदा।0x96a45cbcf9c2a9425cde9e274948cb67
, 34 बाइट्स, हेक्साडेसिमल अंक) या बेस64 मान (उदा. lqRcvPnCqUJc3p4nSUjLZw==
, 24 बाइट्स, अल्फ़ान्यूमेरिक और विशेष वर्ण), जो क्रेडिट कार्ड नंबर के 16-अंकीय नंबर होने की अपेक्षा करने वाले किसी भी उपस्तिथा एप्लिकेशन को तोड़ देगा।
सरल स्वरूपण समस्याओं के अतिरिक्त, AES-128-CBC का उपयोग करते हुए, यह क्रेडिट कार्ड नंबर हेक्साडेसिमल मान में एन्क्रिप्ट किया जा सकता है 0xde015724b081ea7003de4593d792fd8b695b39e095c98f3a220ff43522a2df02
. अमान्य वर्ण बनाने और डेटा के आकार में वृद्धि के कारण होने वाली समस्याओं के अतिरिक्त, एन्क्रिप्शन एल्गोरिथम के CBC मोड का उपयोग करके एन्क्रिप्ट किया गया डेटा भी इसके मान को बदल देता है जब इसे डिक्रिप्ट और फिर से एन्क्रिप्ट किया जाता है। ऐसा इसलिए होता है क्योंकि प्रारंभिक वेक्टर जिसका उपयोग एन्क्रिप्शन एल्गोरिथम को इनिशियलाइज़ करने के लिए किया जाता है और एन्क्रिप्टेड वैल्यू के हिस्से के रूप में सम्मिलित किया जाता है, प्रत्येक एन्क्रिप्शन ऑपरेशन के लिए अलग होता है। इस वजह से, डेटाबेस में एक पंक्ति की पहचान करने के लिए प्राथमिक कुंजी के रूप में सीबीसी मोड के साथ एन्क्रिप्ट किए गए डेटा का उपयोग करना असंभव है।
एफपीई मूल डेटा के स्वरूपण और लंबाई को संरक्षित करके संक्रमण प्रक्रिया को सरल बनाने का प्रयास करता है, जिससे लीगेसी अनुप्रयोगों में उनके सिफरटेक्स्ट के साथ प्लेनटेक्स्ट मानों के ड्रॉप-इन प्रतिस्थापन की अनुमति मिलती है।
== वास्तव में यादृच्छिक क्रमपरिवर्तन == की तुलना चूंकि वास्तव में एक यादृच्छिक क्रमचय आदर्श एफपीई सिफर है, बड़े डोमेन के लिए वास्तव में यादृच्छिक क्रमचय को पूर्व-उत्पन्न करना और याद रखना संभव नहीं है। तो एफपीई की समस्या एक गुप्त कुंजी से छद्म यादृच्छिक क्रमपरिवर्तन उत्पन्न करना है, इस तरह से कि एक मूल्य के लिए गणना समय छोटा है (आदर्श रूप से स्थिर है, किन्तु सबसे महत्वपूर्ण रूप से ओ (एन) से छोटा है)।
सिफर ब्लॉक करने की तुलना
एक n-बिट ब्लॉक सिफर तकनीकी रूप से सेट पर एक FPE है {0, ..., 2n-1}. यदि इन मानक आकार के सेटों में से किसी एक पर FPE की आवश्यकता है (उदाहरण के लिए, डेटा एन्क्रिप्शन मानक के लिए n = 64 और AES के लिए n = 128) दाईं ओर का एक ब्लॉक सिफर आकार का उपयोग किया जा सकता है।
चूंकि, विशिष्ट उपयोग में, एक ब्लॉक सिफर का उपयोग ऑपरेशन के ब्लॉक सिफर मोड में किया जाता है जो इसे मनमाने ढंग से लंबे संदेशों को एन्क्रिप्ट करने की अनुमति देता है, और जैसा कि ऊपर चर्चा की गई है, प्रारंभिक वेक्टर के साथ। इस मोड में, एक ब्लॉक सिफर एक एफपीई नहीं है।
सुरक्षा की परिभाषा
क्रिप्टोग्राफ़िक साहित्य में (नीचे अधिकांश संदर्भ देखें), एक अच्छे एफपीई का माप यह है कि क्या हमलावर एफपीई को वास्तव में यादृच्छिक क्रमपरिवर्तन से अलग कर सकता है। विभिन्न प्रकार के हमलावरों को पोस्ट किया जाता है, यह इस बात पर निर्भर करता है कि क्या उनके पास ऑरेकल या ज्ञात सिफरटेक्स्ट/प्लेनटेक्स्ट जोड़े तक पहुंच है।
एल्गोरिदम
यहां सूचीबद्ध अधिकांश दृष्टिकोणों में, एक अच्छी तरह से समझा जाने वाला ब्लॉक सिफर (जैसे उन्नत एन्क्रिप्शन मानक) एक आदर्श यादृच्छिक फ़ंक्शन की जगह लेने के लिए आदिम के रूप में उपयोग किया जाता है। इसका यह फायदा है कि एल्गोरिथम में एक गुप्त कुंजी को सम्मिलित करना आसान है। जहां एईएस का उल्लेख निम्नलिखित चर्चा में किया गया है, कोई अन्य अच्छा ब्लॉक सिफर भी काम करेगा।
=== ब्लैक एंड रोगवे === का एफपीई निर्माण अंतर्निहित ब्लॉक सिफर से संबंधित सुरक्षा के साथ एफपीई को लागू करना सबसे पहले क्रिप्टोग्राफर जॉन ब्लैक (क्रिप्टोग्राफर) और फिलिप रोगवे द्वारा एक पेपर में किया गया था।[1] जिसमें इसके तीन तरीके बताए गए हैं। उन्होंने सिद्ध किया कि इनमें से प्रत्येक तकनीक उतनी ही सुरक्षित है जितनी कि इसे बनाने के लिए उपयोग किए जाने वाले ब्लॉक सिफर। इसका मतलब यह है कि यदि एईएस एल्गोरिदम का उपयोग एफपीई एल्गोरिदम बनाने के लिए किया जाता है, तो परिणामी एफपीई एल्गोरिदम एईएस जितना सुरक्षित होता है क्योंकि एफपीई एल्गोरिदम को पराजित करने में सक्षम विरोधी भी एईएस एल्गोरिदम को हरा सकता है। इसलिए, यदि एईएस सुरक्षित है, तो इससे निर्मित एफपीई एल्गोरिदम भी सुरक्षित हैं। निम्नलिखित सभी में, ई एईएस एन्क्रिप्शन ऑपरेशन को दर्शाता है जिसका उपयोग एफपीई एल्गोरिदम बनाने के लिए किया जाता है और एफ एफपीई एन्क्रिप्शन ऑपरेशन को दर्शाता है।
FPE एक उपसर्ग सिफर से
एफपीई एल्गोरिथम बनाने का एक आसान विधि {0, ..., N-1} प्रत्येक पूर्णांक के लिए एक छद्म आयामी भार निर्दिष्ट करना है, फिर भार के आधार पर छाँटना है। प्रत्येक पूर्णांक में उपस्तिथा ब्लॉक सिफर को लागू करके वजन को परिभाषित किया जाता है। ब्लैक और रोगवे इस तकनीक को एक उपसर्ग सिफर कहते हैं और यह दिखाते हैं कि यह संभवतः उतना ही अच्छा है जितना कि ब्लॉक सिफर का उपयोग किया जाता है।
इस प्रकार, डोमेन {0,1,2,3} पर एक एफपीई बनाने के लिए, एक कुंजी K दी गई है, प्रत्येक पूर्णांक पर AES(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 के डोमेन के भीतर अनुमत मानों का एक सेट M है (उदाहरण के लिए P AES की तरह एक ब्लॉक सिफर हो सकता है), एक FPE एल्गोरिथम बनाया जा सकता है ब्लॉक सिफर से ब्लॉक सिफर को बार-बार लागू करके जब तक कि परिणाम अनुमत मानों में से एक न हो (एम के भीतर)।
साइकिलवॉकिंग एफपीई (एक्स) { 'यदि' पी (एक्स) एम 'तो' का एक तत्व है 'वापसी' पी (एक्स) 'अन्य' 'वापसी' CycleWalkingFPE(P(x)) }
रिकर्सन को समाप्त करने की गारंटी है। (क्योंकि P एक-से-एक है और डोमेन परिमित है, P का बार-बार उपयोग एक चक्र बनाता है, इसलिए M में एक बिंदु से प्रारंभ होकर चक्र अंततः M में समाप्त हो जाएगा।)
इसका यह लाभ है कि M के तत्वों को पूर्णांकों के लगातार क्रम {0,...,N-1} में मैप करने की आवश्यकता नहीं है। इसका नुकसान यह है कि जब M P के डोमेन से बहुत छोटा होता है, तो प्रत्येक ऑपरेशन के लिए बहुत अधिक पुनरावृत्तियों की आवश्यकता हो सकती है। यदि P एक निश्चित आकार का ब्लॉक सिफर है, जैसे एईएस, यह एम के आकार पर एक गंभीर प्रतिबंध है जिसके लिए यह विधि कुशल है।
उदाहरण के लिए, एक एप्लिकेशन एईएस के साथ 100-बिट मानों को एन्क्रिप्ट करना चाहता है जो एक और 100-बिट मान बनाता है। इस तकनीक के साथ, AES-128-ECB एन्क्रिप्शन को तब तक लागू किया जा सकता है जब तक कि यह उस मान तक नहीं पहुंच जाता है, जिसके सभी 28 उच्चतम बिट 0 पर सेट होते हैं, जो औसतन 2 का समय लेगा28 पुनरावृत्तियाँ होने वाली हैं।
FPE एक Feistel नेटवर्क से ==
Feistel सिफर का उपयोग करके FPE एल्गोरिथम बनाना भी संभव है। एक Feistel नेटवर्क को प्रत्येक दौर के लिए उप-कुंजियों के लिए छद्म-यादृच्छिक मानों के स्रोत की आवश्यकता होती है, और एईएस एल्गोरिदम के आउटपुट को इन छद्म-यादृच्छिक मानों के रूप में उपयोग किया जा सकता है। जब यह किया जाता है, तो परिणामी Feistel निर्माण अच्छा होता है यदि पर्याप्त राउंड का उपयोग किया जाता है।[2] एईएस और एक Feistel नेटवर्क का उपयोग करके एक FPE एल्गोरिथ्म को लागू करने का एक विधि एईएस आउटपुट के कई बिट्स का उपयोग करना है, जो कि Feistel नेटवर्क के बाएं या दाएं हिस्सों की लंबाई के बराबर करने के लिए आवश्यक है। यदि उप-कुंजी के रूप में 24-बिट मान की आवश्यकता है, उदाहरण के लिए, इस मान के लिए एईएस के आउटपुट के निम्नतम 24 बिट्स का उपयोग करना संभव है।
इसका परिणाम इनपुट के प्रारूप को संरक्षित करने वाले Feistel नेटवर्क के आउटपुट में नहीं हो सकता है, किन्तु Feistel नेटवर्क को उसी तरह से पुनरावृत्त करना संभव है, जिस तरह से चक्र-चलने की तकनीक यह सुनिश्चित करने के लिए करती है कि प्रारूप को संरक्षित किया जा सके। क्योंकि इनपुट के आकार को एक Feistel नेटवर्क में समायोजित करना संभव है, यह बहुत संभव है कि यह पुनरावृत्ति औसतन बहुत जल्दी समाप्त हो जाए। क्रेडिट कार्ड नंबरों के स्थिति में, उदाहरण के लिए, 10 हैं15 संभावित 16-अंकीय क्रेडिट कार्ड नंबर (अनावश्यक Luhn एल्गोरिथम के लिए लेखांकन), और क्योंकि 1015 ≈ 249.8, साइकल वॉकिंग के साथ-साथ 50-बिट वाइड Feistel नेटवर्क का उपयोग करने से एक FPE एल्गोरिदम तैयार होगा जो औसतन अधिक तेज़ी से एन्क्रिप्ट करता है।
थोरो शफल
एक थोरप शफल एक आदर्श कार्ड-शफल की तरह है, या समकक्ष एक अधिकतम-असंतुलित फिस्टल सिफर है जहां एक तरफ एक बिट है। असंतुलित फिस्टल सिफर के लिए संतुलित सिफर की तुलना में सुरक्षा सिद्ध करना आसान है।[3]
वीआईएल मोड
डोमेन आकार के लिए जो दो की शक्ति है, और एक छोटे ब्लॉक आकार के साथ एक उपस्तिथा ब्लॉक सिफर, बेलारे, रोगवे द्वारा वर्णित VIL मोड का उपयोग करके एक नया सिफर बनाया जा सकता है।[4]
जल्दबाजी का हलवा सिफर
हस्टी पुडिंग सिफर मनमाना परिमित छोटे डोमेन को एन्क्रिप्ट करने के लिए कस्टम निर्माण (उपस्तिथा ब्लॉक सिफर पर आदिम के रूप में निर्भर नहीं) का उपयोग करता है।
===एईएस === का एफएफएसईएम/एफएफएक्स मोड एईएस का एफएफएसईएम मोड (विनिर्देशन[5]) जिसे NIST द्वारा विचार के लिए स्वीकार किया गया है, ऊपर वर्णित ब्लैक एंड रोगवे के Feistel नेटवर्क निर्माण का उपयोग करता है, AES के साथ राउंड फ़ंक्शन के लिए, एक साधारण संशोधन के साथ: एक एकल कुंजी का उपयोग किया जाता है और प्रत्येक राउंड के लिए थोड़ा ट्वीक किया जाता है।
फरवरी 2010 तक, FFSEM को मिहिर लड़ने के लिए, फिलिप रोगवे और टेरेंस जासूसों द्वारा लिखित FFX मोड द्वारा अधिक्रमित कर दिया गया है। (विनिर्देश,[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 द्वारा FPE एल्गोरिदम बनाने के अन्य तरीकों का वर्णन किया गया है।
एफपीई एल्गोरिदम का एक उदाहरण एफएनआर (फ्लेक्सिबल नाओर और रींगोल्ड) है।[14]
मानक अधिकारियों द्वारा एफपीई एल्गोरिदम की स्वीकृति
NIST विशेष प्रकाशन 800-38G, ऑपरेशन के ब्लॉक सिफर मोड के लिए सिफारिश: प्रारूप-संरक्षण एन्क्रिप्शन के लिए तरीके[15] दो विधियों को निर्दिष्ट करता है: FF1 और FF3। प्रत्येक के लिए प्रस्तुत प्रस्तावों पर विवरण एनआईएसटी ब्लॉक सिफर मोड्स डेवलपमेंट साइट पर पाया जा सकता है।[16] पेटेंट और टेस्ट वेक्टर जानकारी सहित। नमूना मान FF1 और FF3 दोनों के लिए उपलब्ध हैं।[17]
- FF1 FFX [मूलांक] प्रारूप-संरक्षित Feistel- आधारित एन्क्रिप्शन मोड है जो ANSI X9 के अनुसार X9.119 और X9.124 के रूप में मानक प्रक्रियाओं में भी है। इसे कैलिफोर्निया विश्वविद्यालय, सैन डिएगो के मिहिर बेलारे, कैलिफोर्निया विश्वविद्यालय, डेविस के फिलिप रोगवे और वोल्टेज सिक्योरिटी इंक के टेरेंस जासूसों द्वारा एनआईएसटी को प्रस्तुत किया गया था। टेस्ट वैक्टर की आपूर्ति की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। (ड्राफ्ट एसपी 800-38जी रेव 1) [18] एन्क्रिप्ट किए जा रहे डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।
- FF3 BPS है जिसका नाम लेखकों के नाम पर रखा गया है। यह एनआईएसटी को एरिक बैरियर, थॉमस पाइरिन और इंजेनिको, फ्रांस के जैक्स स्टर्न द्वारा प्रस्तुत किया गया था। लेखकों ने एनआईएसटी को घोषित किया कि उनके एल्गोरिथ्म का पेटेंट नहीं कराया गया है।[19] CyberRes वोल्टेज उत्पाद, चूंकि BPS मोड के लिए भी खुद के पेटेंट का प्रामाणित करता है।[20][21] 12 अप्रैल 2017 को, NIST ने निष्कर्ष निकाला कि FF3 अब एक सामान्य-उद्देश्य FPE पद्धति के रूप में उपयुक्त नहीं है क्योंकि शोधकर्ताओं ने एक भेद्यता पाई है।[22]
- FF3-1 (ड्राफ्ट SP 800-38G Rev 1) [18]FF3 को प्रतिस्थापित करता है और एन्क्रिप्ट किए जाने वाले डेटा का न्यूनतम डोमेन आकार 1 मिलियन (पहले 100) होना आवश्यक है।
एक अन्य मोड एनआईएसटी मार्गदर्शन के मसौदे में सम्मिलित किया गया था किन्तु अंतिम प्रकाशन से पहले हटा दिया गया था।
- FF2 FFX के लिए VAES3 योजना है: एन्क्रिप्शन को संरक्षित करने के लिए ऑपरेशन के FFX मोड के लिए एक परिशिष्ट: एन्क्रिफ़रिंग कुंजी के जीवन को लंबा करने के लिए उपकुंजी ऑपरेशन के साथ मनमाना रेडिक्स के एन्सिफ़र स्ट्रिंग्स के लिए एक पैरामीटर संग्रह। यह NIST को VeriFone Systems Inc. के Joachim Vance द्वारा सबमिट किया गया था। टेस्ट वैक्टर को FF1 से अलग से आपूर्ति नहीं की जाती है और इसके कुछ हिस्सों का पेटेंट कराया जाता है। लेखकों ने डीएफएफ के रूप में एक संशोधित एल्गोरिथम प्रस्तुत किया है[23] जो एनआईएसटी द्वारा सक्रिय रूप से विचाराधीन है।
कोरिया ने एक FPE मानक, FEA-1 और FEA-2 भी विकसित किया है।
कार्यान्वयन
FF1 और FF3 के ओपन सोर्स कार्यान्वयन सार्वजनिक रूप से में उपलब्ध हैं सी भाषा, गो भाषा, Java, Node.js, Python, C#/.Net और जंग
संदर्भ
- ↑ 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)
- ↑ 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
- ↑ Morris, Ben; Rogaway, Phillip; Stegers, Till (2009), "How to Encipher Messages on a Small Domain" (PDF), CRYPTO
- ↑ Bellare, Mihir; Rogaway, Phillip (1999), On the construction of Variable-Input-Length Ciphers (PDF)
- ↑ Terence Spies, Feistel Finite Set Encryption Mode http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ffsem/ffsem-spec.pdf
- ↑ Mihir Bellare, Phillip Rogaway, Terence Spies: The FFX Mode of Operation for Format-Preserving Encryption (PDF), 2010
- ↑ Mihir Bellare, Phillip Rogaway, Terence Spies: Addendum to "The FFX Mode of Operation for Format-Preserving Encryption" (PDF), 2010
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ 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
- ↑ Mihir Bellare and Thomas Ristenpart, Format-Preserving Encryption http://eprint.iacr.org/2009/251
- ↑ Ulf Mattsson, Format Controlling Encryption Using Datatype Preserving Encryption http://eprint.iacr.org/2009/257
- ↑ Sashank Dara, Scott Fluhrer. "फ्लेक्सिबल नोर और रींगोल्ड". Cisco Systems Inc.
- ↑ 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
- ↑ NIST Block Cipher Modes Development, 4 January 2017
- ↑ NIST Cryptographic Toolkit Example Algorithms, 29 December 2016
- ↑ 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.
- ↑ BPS Authors Patent Declaration (PDF), 4 January 2017
- ↑ HPE Voltage patent claims
- ↑ Revised letter of assurance for essential patent claims FFX Mode of Operation for Format-Preserving Encryption (PDF)
- ↑ "Recent Cryptanalysis of FF3". NIST. 12 April 2017. Retrieved 5 May 2020.
- ↑ FF2 Addendum DFF (PDF)