Twofish
क्रिप्टोग्राफी में, टूफिश एक सममित कुंजी ब्लॉक साइफर है जिसका ब्लॉक आकार 128 बिट और कुंजी आकार 256 बिट तक होता है। यह उन्नत एन्क्रिप्शन मानक प्रतियोगिता के पांच अंतिम प्रतियोगियों में से एक था, लेकिन इसे मानकीकरण के लिए नहीं चुना गया था। टूफिश का संबंध पहले के ब्लॉक साइफर ब्लोफिश से है। टूफिश की विशिष्ट विशेषताएँ पूर्व-संगणित कुंजी-निर्भर एस-बॉक्स का उपयोग और एक अपेक्षाकृत जटिल कुंजी अनुसूची हैं। एन-बिट कुंजी के आधे हिस्से का उपयोग वास्तविक एन्क्रिप्शन कुंजी के रूप में किया जाता है और एन-बिट कुंजी के दूसरे आधे हिस्से का उपयोग एन्क्रिप्शन एल्गोरिदम (कुंजी-निर्भर एस-बॉक्स) को संशोधित करने के लिए किया जाता है। टूफिश अन्य डिजाइनों से कुछ तत्वों को उधार लेती है; उदाहरण के लिए, साइफर के सुरक्षित परिवार से छद्म-हैडमर्ड परिवर्तन (पी. एच. टी.)। टूफिश में डी. ई. एस. की तरह एक फीस्टल संरचना होती है। दो मछलियाँ एक अधिकतम दूरी अलग करने योग्य मैट्रिक्स को भी नियोजित करती हैं। जब इसे 1998 में पेश किया गया था, तो टूफिश 128-बिट कुंजियों के लिए रिजंडेल (उन्नत एन्क्रिप्शन मानक के लिए चुना गया एल्गोरिदम) की तुलना में थोड़ा धीमा था, लेकिन 256-बिट कुंजियों के लिए कुछ तेज था। 2008 के बाद से, लगभग सभी एएमडी और इंटेल प्रोसेसरों ने एईएस निर्देश सेट के माध्यम से रिजंडेल एल्गोरिथ्म के हार्डवेयर त्वरण को शामिल किया है; निर्देश सेट का उपयोग करने वाले रिजंडेल कार्यान्वयन अब (सॉफ्टवेयर) टूफिश कार्यान्वयन की तुलना में तेजी से परिमाण के आदेश हैं। टूफिश को ब्रूस श्नेयर, जॉन केल्सी, डग व्हाइटिंग, डेविड वैगनर, क्रिस हॉल और नील्स फर्ग्यूसन द्वारा डिजाइन किया गया थाः "विस्तारित टूफिश टीम" टूफिश का आगे का गुप्त विश्लेषण करने के लिए मिली थी। एईएस प्रतियोगिता में प्रवेश करने वाले अन्य प्रतिभागियों में स्टीफन लक्स, तादायोशी कोहनो और माइक स्टे शामिल थे। टूफिश साइफर को पेटेंट नहीं कराया गया है, और संदर्भ कार्यान्वयन को सार्वजनिक क्षेत्र में रखा गया है। नतीजतन, टूफिश एल्गोरिथ्म किसी के लिए भी बिना किसी प्रतिबंध के उपयोग करने के लिए स्वतंत्र है। यह ओपन-पीजीपी मानक (आरएफसी 4880) में शामिल कुछ साइफरों में से एक है। हालांकि, टूफिश का उपयोग ब्लोफिश की तुलना में कम व्यापक रूप से देखा गया है, जो लंबे समय से उपलब्ध है। प्रदर्शन टूफिश के डिजाइन के दौरान, प्रदर्शन हमेशा एक महत्वपूर्ण कारक था। इसे एन्क्रिप्शन गति, स्मृति उपयोग, हार्डवेयर गेट गिनती, कुंजी सेटअप और अन्य मापदंडों के महत्व के आधार पर प्रदर्शन व्यापार की कई परतों की अनुमति देने के लिए डिज़ाइन किया गया था। यह एक अत्यधिक लचीले एल्गोरिदम की अनुमति देता है, जिसे विभिन्न अनुप्रयोगों में लागू किया जा सकता है। टूफिश के लिए सॉफ्टवेयर के साथ-साथ हार्डवेयर में भी कई स्पेस-टाइम ट्रेडऑफ़ किए जा सकते हैं। इस तरह के आदान-प्रदान का एक उदाहरण गोल उप-कुंजी या एस-बॉक्स का पूर्व संगणना होगा, जिससे दो या दो से अधिक के कारक की गति में वृद्धि हो सकती है। हालाँकि, ये उन्हें संग्रहीत करने के लिए आवश्यक अधिक रैम की कीमत पर आते हैं। नीचे दी गई तालिका में सभी अनुमान मौजूदा 0.35 माइक्रोन सी. एम. ओ. एस. प्रौद्योगिकी पर आधारित हैं। 1999 में, नील्स फर्ग्यूसन ने एक असंभव अंतर हमले को प्रकाशित किया जो 2256 चरणों का उपयोग करके 256-बिट कुंजी संस्करण के 16 में से 6 राउंड को तोड़ता है। टूफिश ब्लॉक सिफर का सबसे अच्छा प्रकाशित क्रिप्टानालिसिस पूर्ण 16-राउंड संस्करण का एक कटा हुआ अंतर क्रिप्टानालिसिस है। शोधपत्र में दावा किया गया है कि कटे हुए विभेदों की संभावना 2-57.3 प्रति खंड है और कटे हुए विभेदों की एक अच्छी जोड़ी खोजने के लिए लगभग 251 चुने हुए प्लेनटेक्स्ट (32 पेटाबाइट मूल्य के डेटा) लगेंगे। ब्रूस श्नाइयर ने 2005 की एक ब्लॉग प्रविष्टि में जवाब दिया कि यह पेपर एक पूर्ण गुप्त विश्लेषणात्मक हमले को प्रस्तुत नहीं करता है, लेकिन केवल कुछ परिकल्पनात्मक अंतर विशेषताओं को प्रस्तुत करता हैः "लेकिन एक सैद्धांतिक दृष्टिकोण से भी, टूफिश दूर से टूटी भी नहीं है। 2000 में प्रकाशित होने के बाद से इन परिणामों का कोई विस्तार नहीं किया गया है। थ्रीफिश उन्नत एन्क्रिप्शन मानक डेटा एन्क्रिप्शन मानक संदर्भ लेख बाहरी लिंक टूफिश वेब पेज, पूर्ण विनिर्देशों, मुफ्त स्रोत कोड, और ब्रूस श्नायर द्वारा अन्य टूफिश संसाधनों के साथ 256 बिट साइफर-टूफिश संदर्भ कार्यान्वयन और व्युत्पन्न कोड उत्पाद जो ब्रूस श्नायर द्वारा टूफिश का उपयोग करते हैं बेहतर एल्गोरिथमः रिजंडेल या टूफिश? द्वारा sci.crypt मानक क्रिप्टोग्राफिक एल्गोरिदम नामकरणः टूफिश फीस्टेल साइफर मुक्त साइफर