Threefish
थ्रीफिश एक सममित-कुंजी ट्विकेबल ब्लॉक साइफर है जिसे स्कीन हैश फ़ंक्शन के हिस्से के रूप में डिज़ाइन किया गया है, जो एन. आई. एस. टी हैश फ़ंक्शन प्रतियोगिता में एक प्रविष्टि है। कैश टाइमिंग हमलों से बचने के लिए थ्रीफिश कोई एस-बॉक्स या अन्य टेबल लुकअप का उपयोग नहीं करता है; इसकी गैर-रैखिकता विशिष्ट ओआर के साथ बारी-बारी से जोड़ से आती है। इस संबंध में, यह साल्सा20, टी. ई. ए. और एस. एच. ए.-3 उम्मीदवारों क्यूबहैश और ब्लेक के समान है। थ्रीफिश और स्कीन हैश फंक्शन को ब्रूस श्नेयर, नील्स फर्ग्यूसन, स्टीफन लक्स, डग व्हाइटिंग, मिहिर बेलारे, तादायोशी कोहनो, जॉन कैलास और जेसी वॉकर द्वारा डिजाइन किया गया था। साइफर थ्रीफिश का विवरण 64 बिट (अहस्ताक्षरित लिटिल एंडियन पूर्णांक) के शब्दों पर काम करता है। यह सादे पाठ के शब्दों की संख्या है और मुख्य शब्दों की भी। ट्वीक में दो शब्द होते हैं। सभी जोड़ों और घटावों को मॉड्यूलो में परिभाषित किया गया है। कुंजी अनुसूची थ्रीफिश राउंड में एन्क्रिप्ट करता है और विभिन्न गोल कुंजियों का उपयोग करता है। हर चार दौर के बाद, और पहले दौर से पहले, गोल प्रमुख शब्दों को डेटा शब्दों में जोड़ा जाता है। गोल कुंजी की गणना करने के लिए मूल कुंजी शब्दों के साथ एक अतिरिक्त कुंजी शब्द जोड़ा जाता है। इसके अलावा, एक अतिरिक्त ट्वीक शब्द ट्वीक शब्दों के साथ जोड़ा जाता है। प्रतीत होने वाले मनमाने स्थिरांक का उद्देश्य कुछ हमलों को विफल करना है जो और अन्य मुख्य शब्दों के बीच संबंधों का लाभ उठाते हैं। गोल कुंजी शब्दों को अब इस तरह परिभाषित किया गया हैः यहाँ, उस गोल की संख्या कहाँ है जिसमें गोल कुंजी शब्द का उपयोग किया जाता है। मिक्स फ़ंक्शन मिक्स फ़ंक्शन शब्दों का एक टुपल लेता है और शब्दों का एक और टुपल देता है। फलन को इस तरह परिभाषित किया गया हैः त्वरित प्रसार प्राप्त करने के लिए चुना गया घूर्णन स्थिरांक का एक निश्चित समूह है। क्रमपरिवर्तन चरण एक स्थिर पैटर्न के अनुसार शब्दों की स्थिति की अदला-बदली करता है। इस चरण में बिट-स्तर क्रमपरिवर्तन प्राप्त नहीं किया जाता है, लेकिन यह आवश्यक नहीं है क्योंकि एम. आई. एक्स. कार्य बिट-स्तर क्रमपरिवर्तन बिटवाइज रोटेशन के रूप में प्रदान करते हैं। एम. आई. एक्स. कार्यों में पर्म्यूट चरण और घूर्णन स्थिरांक को इस तरह से चुना जाता है कि समग्र प्रभाव एक डेटा ब्लॉक में सभी बिट्स का पूर्ण प्रसार हो। चूँकि यह क्रमपरिवर्तन निश्चित है और कुंजी से स्वतंत्र है, इसलिए इसकी गणना करने के लिए आवश्यक समय कुंजी या सादा पाठ के बारे में जानकारी प्रदान नहीं करता है। यह महत्वपूर्ण है क्योंकि अधिकांश आधुनिक माइक्रोप्रोसेसरों पर प्रदर्शन अनुकूलन एक सरणी संचालन की गणना करने में लगने वाले समय को इस बात पर निर्भर करता है कि डेटा को स्मृति में कहाँ संग्रहीत किया जाता है। साइफरों में जहां सरणी खोज या तो कुंजी या सादे पाठ पर निर्भर करती है (जैसा कि एईएस में प्रतिस्थापन चरण के लिए मामला है), यह एन्क्रिप्शन के लिए आवश्यक समय की जांच करके साइफर को समय के हमलों के लिए असुरक्षित बना सकता है। इसलिए क्रमपरिवर्तन को जानबूझकर यह सुनिश्चित करने के लिए डिज़ाइन किया गया है कि इसे उपयोग की जा रही कुंजी या एन्क्रिप्टेड डेटा से स्वतंत्र रूप से उसी तरीके से निष्पादित किया जाना चाहिए। एक पूर्ण थ्रीफिश राउंड यदि गोल कुंजी को शब्द में जोड़ा जाता है तो मिक्स फंक्शन को शब्दों के जोड़े पर लागू किया जाता है, घूर्णन चौड़ाई गोल संख्या और शब्द जोड़ी पर निर्भर करती है-शब्दों को गोल संख्या थ्रीफिश 256 और थ्रीफिश 512 से स्वतंत्र क्रमपरिवर्तन का उपयोग करके क्रमपरिवर्तित किया जाता है। थ्रीफिश1024 इसे 80 बार लागू करता है ()। सभी राउंड लागू होने के बाद, अंतिम राउंड के मुख्य शब्दों को शब्दों में जोड़ा जाता है और शब्दों को बाइट्स की एक स्ट्रिंग में बदल दिया जाता है। अक्टूबर 2010 में, एक हमला जो पलटाव हमले के साथ घूर्णन क्रिप्टैनालिसिस को जोड़ता है, प्रकाशित किया गया था। यह हमला थ्रीफिश-256 में 72 में से 53 राउंड और थ्रीफिश-512 में 72 में से 57 राउंड के खिलाफ एक ज्ञात-प्रमुख विभेदक को माउंट करता है। यह स्कीन हैश कार्य को भी प्रभावित करता है। यह फरवरी में प्रकाशित पहले के हमले का अनुवर्ती है, जो क्रमशः 39 और 42 राउंड तोड़ता है। इस हमले के जवाब में, स्कीन टीम ने थ्रीफिश में उपयोग किए जाने वाले घूर्णन स्थिरांक को बदल दिया और इस तरह एन. आई. एस. टी. हैश फ़ंक्शन प्रतियोगिता के राउंड 3 के लिए प्रमुख अनुसूची स्थिरांक को बदल दिया। 2009 में, एक कम गोल थ्रीफिश संस्करण के खिलाफ एक संबंधित प्रमुख बूमरैंग हमला प्रकाशित किया गया था। 32-राउंड संस्करण के लिए, समय जटिलता है और स्मृति जटिलता है; 33-राउंड संस्करण के लिए, समय जटिलता एक नगण्य स्मृति उपयोग के साथ है। हमले थ्रीफिश के त्वरित संस्करण के खिलाफ भी काम करते हैंः 32-राउंड संस्करण के लिए, समय जटिलता है और स्मृति जटिलता है; 33-राउंड संस्करण के लिए, समय जटिलता एक नगण्य स्मृति उपयोग के साथ है। टूफिश ब्लोफिश (साइफर) संदर्भ भी देखें बाहरी लिंक "द स्कीन हैश फंक्शन फैमिली" स्कीन हैश फंक्शन परिवार का होमपेज। ब्लॉक साइफर मुक्त साइफर