IDEA का अर्थ इंटरनेशनल डेटा एन्क्रिप्शन एल्गोरिदम है। IDEA एक सममित-कुंजी ब्लॉक सिफर है। यह दर्शाता है कि वही कुंजी प्लेनटेक्स्ट को एन्क्रिप्ट करने और सिफरटेक्स्ट को डिक्रिप्ट करने के लिए उपयोग की जा सकती है।
IDEA को एन्क्रिप्टिंग और डिक्रिप्टिंग दोनों पक्षों के लिए एक गुप्त कुंजी की आवश्यकता होती है जो सार्वजनिक-कुंजी और अन्य असममित एन्क्रिप्शन योजनाओं से अलग होती है। गुप्त कुंजी एन्क्रिप्टिंग पक्ष के लिए लोकप्रिय है।
IDEA एक पेटेंट और सार्वभौमिक रूप से सुलभ ब्लॉक एन्क्रिप्शन एल्गोरिदम है, जो प्रेषित और संग्रहीत जानकारी की तीसरे पक्ष द्वारा अनधिकृत पहुंच के खिलाफ प्रभावी सुरक्षा की अनुमति देता है।
IDEA के विकास के लिए मूल तत्व सभी सुरक्षा आवश्यकताओं के लिए सैन्य स्थायित्व और स्पष्ट हार्डवेयर और सॉफ्टवेयर कार्यान्वयन थे। एल्गोरिदम का उपयोग कई बैंकिंग और उद्योग अनुप्रयोगों में व्यापक रूप से किया जाता है।
IDEA में 8 राउंड हैं। प्रत्येक राउंड में छह कुंजियों का उपयोग करके चार डेटा ब्लॉकों पर संचालन का एक क्रम शामिल है। एक व्यापक स्तर पर, इन चरणों को निम्नानुसार दर्शाया जा सकता है। ये चरण कई गणितीय क्रियाएं करते हैं। गुणन, जोड़ और XOR संचालन हैं।
IDEA में एक राउंड का विवरण
| चरण 1: गुणा * P₁ और K₁ |
| चरण 2: जोड़ * P₂ और K₂ |
| चरण 3: जोड़ * P₃ और K₃ |
| चरण 4: गुणा * P₄ और K₄ |
| चरण 5: चरण 1 और चरण 3 के परिणाम XOR करें |
| चरण 6: चरण 2 और चरण 4 के परिणाम XOR करें |
| चरण 7: चरण 5 के परिणाम को K₅ से गुणा * करें |
| चरण 8: चरण 6 और चरण 7 के परिणाम जोड़ * करें |
| चरण 9: चरण 8 के परिणाम को K₆ से गुणा * करें |
| चरण 10: चरण 7 और चरण 9 के परिणाम जोड़ * करें |
| चरण 11: चरण 1 और चरण 9 के परिणाम XOR करें |
| चरण 12: चरण 3 और चरण 9 के परिणाम XOR करें |
| चरण 13: चरण 2 और चरण 10 के परिणाम XOR करें |
| चरण 14: चरण 4 और चरण 10 के परिणाम XOR करें |
प्रत्येक राउंड के निम्नलिखित चरण में Add * और Multiply * साधारण जोड़ और गुणा नहीं हैं बल्कि वे मॉड्यूलो 2¹⁶ यानी 65536 का जोड़ और मॉड्यूलो 2¹⁶ + 1 यानी 65537 का गुणन हैं।
सामान्य जोड़ एक संख्या बनाएगा जिसमें 17 बिट्स शामिल हैं (यानी, 11111111011000001)। इसके लिए केवल 16 बिट स्थितियां राउंड 2 के आउटपुट के लिए उपलब्ध हैं।
इसलिए, यह इस संख्या (जो दशमलव में 130753 है) को 16-बिट संख्या में घटा सकता है। इसके लिए, यह इसके मॉड्यूलो 65536 ले सकता है। 130753 मॉड्यूलो 65536 65217 लौटाता है, जो बाइनरी में 11111111011000001 है, और एक 16-बिट संख्या है, जो योजना में अच्छी तरह फिट बैठती है।
इनपुट ब्लॉक P1 से P4 हैं, और सबकी K1 से K6 द्वारा इंगित की जाती हैं, और इस चरण का आउटपुट R1 से R4 द्वारा इंगित किया जाता है (और C1 से C4 नहीं क्योंकि यह अंतिम सिफर टेक्स्ट नहीं है)। यह एक मध्यवर्ती आउटपुट है, जिसे और अधिक राउंड के साथ-साथ आउटपुट परिवर्तन चरण में भी संसाधित किया जाएगा।