QARMA
क्यूएआरएमए (क्वालकॉम एआरएम ऑथेंटिकेटर से) एक हल्का ट्विकेबल ब्लॉक सिफर है जो मुख्य रूप से पॉइंटर ऑथेंटिकेशन कोड के लिए एक क्रिप्टोग्राफिक हैश के रूप में सॉफ्टवेयर की सुरक्षा के लिए एआरएमवी8 आर्किटेक्चर में इसके उपयोग के लिए जाना जाता है। साइफर को 2016 में रॉबर्टो अवान्ज़ी द्वारा प्रस्तावित किया गया था। क्यूएआरएमए के दो संस्करणों को परिभाषित किया गया हैः क्यूएआरएमए-64 (128-बिट एन्क्रिप्शन कुंजी के साथ 64-बिट ब्लॉक आकार) और क्यूएआरएमए-128 (256-बिट कुंजी के साथ 128-बिट ब्लॉक आकार)। क्यू. ए. आर. एम. ए. का डिजाइन प्रिंस और मैन्टिस से प्रभावित था। साइफर का उद्देश्य कम विलंबता (जैसे मेमोरी एन्क्रिप्शन) के साथ पूरी तरह से अनरोल्ड हार्डवेयर कार्यान्वयन के लिए है। एक्स. टी. एस. मोड के विपरीत, पते का उपयोग सीधे एक बदलाव के रूप में किया जा सकता है और पहले ब्लॉक एन्क्रिप्शन के साथ इसे सफ़ेद करने की आवश्यकता नहीं है। आर्किटेक्चर क्यू. ए. आर. एम. ए. तीन चरणों का उपयोग करने वाला एक सम-मैनसौर साइफर है, जिसमें बीच में सफेद करने वाली कुंजी डब्ल्यू0 और डब्ल्यू1 एक्सओआर हैंः क्रमपरिवर्तन एफ कोर कुंजी के0 का उपयोग कर रहा है और एक ट्वीक टी द्वारा पैरामीटर किया गया है। इसके अंदर आर राउंड हैं (क्यू. ए. आर. एम. ए.-64 के लिए आर = 7, क्यू. ए. आर. एम. ए.-128 के लिए आर = 11); "केंद्रीय" क्रमपरिवर्तन सी कुंजी के1 का उपयोग कर रहा है और इसे एक सरल कुंजी परिवर्तन के माध्यम से प्रतिवर्ती होने के लिए डिज़ाइन किया गया है (जिसमें दो केंद्रीय राउंड होते हैं); तीसरा क्रमपरिवर्तन पहले (आर अधिक राउंड) का एक व्युत्क्रम है। सभी कुंजियाँ विशेषज्ञता का उपयोग करते हुए मास्टर एन्क्रिप्शन कुंजी K से प्राप्त की जाती हैंः K को आधे में विभाजित किया जाता है जैसे कि w0 संयोजन k0, प्रत्येक में आधे आकार के बिट्स होंगे; एन्क्रिप्शन के लिए w1 = (w0>> 1) + (w0>> (आधे आकार-1); एन्क्रिप्शन के लिए k1 = k0; डिक्रिप्शन के लिए, उसी डिज़ाइन का उपयोग तब तक किया जा सकता है जब तक कि k0 + α का उपयोग कोर कुंजी के रूप में किया जाता है, k1 = Q • k0, w1 और w0 की अदला-बदली की जाती है। यहाँ α एक विशेष स्थिरांक है और Q एक विशेष अनैच्छिक मैट्रिक्स है। यह संरचना PRINCE में अल्फा परावर्तन के समान है। डेटा को 16 कक्षों में विभाजित किया गया है (क्यू. ए. आर. एम. ए.-64 के लिए 4-बिट निब्बल, क्यू. ए. आर. एम. ए.-128 के लिए 8-बिट बाइट्स)। आंतरिक अवस्था में 16 कक्ष भी होते हैं, जिन्हें 4x4 मैट्रिक्स में व्यवस्थित किया जाता है, और इसे प्लेनटेक्स्ट (डब्ल्यू0 के साथ एक्सओआर) द्वारा आरंभ किया जाता है। प्रत्येक चरण में, अवस्था को संचालन के माध्यम से परिवर्तित किया जाता हैः शफल सेल्स, कोशिकाओं का एक मिडोरी क्रमपरिवर्तन ([0,11,6,13,10,12,7,5,14,3,8,15,4,9,2]); मिक्स कॉलम हैः प्रत्येक कॉलम को एक निश्चित मैट्रिक्स एम द्वारा गुणा किया जाता है; सबसेल्स हैः प्रत्येक सेल को एस-बॉक्स का उपयोग करके परिवर्तित किया जाता है। प्रत्येक राउंड के लिए ट्वीक का उपयोग करके अद्यतन किया जाता हैः MANTIS ([6,5,14,15,0,1,2,3,7,12,13,4,8,9,10,11]) से एक सेल क्रमपरिवर्तन है; एक LFSR है जो संख्याओं [0,1,3,4,8,11,13] के साथ प्रत्येक सेल पर लागू होता है। क्यू. ए. आर. एम. ए.-64 के लिए, एल. एफ. एस. आर. (बी3, बी2, बी1, बी0) ए. एन. डी. (बी0 + बी1, बी3, बी2, बी1), क्यू. ए. आर. एम. ए.-128 के लिए (बी7, बी6,., बी0) ए. एन. डी. (बी0 + बी2, बी7, बी6,., बी1) है। केंद्रीय दौर, दो दौर (और) के अलावा, एक अनैच्छिक मैट्रिक्स द्वारा राज्य का गुणन शामिल है। संदर्भ स्रोत बाहरी लिंक क्यूएआरएमए-64 ओपन-सोर्स (एमआईटी लाइसेंस) का सार्वजनिक-डोमेन पायथन कार्यान्वयन सी ब्लॉक साइफर में क्यूएआरएमए-64 का कार्यान्वयन।