Tuesday 15 January 2013

lua - CMAC Algorithm with Blowfish instead of AES -


पृष्ठभूमि

मेरे पास एक लुआ पर्यावरण है जिसमें बफ़फ़िश क्रिप्टो है ( सीबीसी, आईवी = {00..0}) बनाया गया एईएस उपलब्ध नहीं है और शुद्ध लुआ एईएस-कार्यान्वयन धीमा करने का तरीका है।

समस्या

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

प्रत्येक CMAC के लिए इनपुट लंबाई 26 बाइट है, जबकि केवल कुछ बाइट्स विभिन्न सीएएमएसी पीढ़ियों के बीच बदलते हैं। उदाहरण के लिए:

  AAAAAAAAAAAA BA AACCCCCCCDDDDDDDDDFFFFFFFFFFFFFFFFFFFF AAAAAAAAAAA एबी एएसीसीसीसीसीसीडीडीडीडीडीडीडीडीएफएफएफएफएफएफएफएफएफएफएफएफएफएफएफएफएफएफएफ   <पी> समस्या में नतीजा है, कि CMAC का पहला भाग प्रत्येक इनपुट के लिए समान है और केवल अंतिम भाग में परिवर्तन:  
  0123456789 एबीसीडीएफ़ 48534593402BC93D 0123456789 एबीसीडीईएफ डीएफ 82 बीबीसी 9 20DA 92383   

क्या यह ब्लॉफ़िश एल्गोरिथम की समस्या है? क्या कुछ भी मैं कर सकता हूं (सीएमएसी एल्गो को बदलना है) यह सुनिश्चित करने के लिए कि मुझे अलग-अलग परिणाम मिलते हैं, खासकर इनपुट में केवल छोटे बदलाव के साथ?

डिज़ाइन CMAC के द्वारा 64-बिट ब्लॉक सिफर जैसे ब्लॉफ़िश के साथ प्रयोग किया जा सकता है। लेकिन आउटपुट 64 बिट भी होंगे। आपको एल्गोरिदम में कुछ भी नहीं बदलना चाहिए। संदर्भ के लिए देखें। यह भी ध्यान रखें कि 64 बिट एमएसीएस की सुरक्षा काफी कम है।

No comments:

Post a Comment