IDEA एक ब्लॉक सिफर है और यह 64-बिट प्लेनटेक्स्ट और 128-बिट कुंजी पर काम करता है। IDEA DES की तरह प्रतिवर्ती है, यानी, समान एल्गोरिदम का उपयोग एन्क्रिप्शन और डिक्रिप्शन के लिए किया जा सकता है। IDEA को एन्क्रिप्शन के लिए प्रसार (diffusion) और भ्रम (confusion) दोनों की आवश्यकता होती है।
64-बिट प्लेनटेक्स्ट को 16-बिट प्लेनटेक्स्ट के चार भागों में विभाजित किया जाता है (P₁ से P₄)। ये पहले राउंड के लिए इनपुट हैं। ऐसे आठ राउंड हैं। कुंजी में 128 बिट्स शामिल हैं। प्रत्येक राउंड में, मूल कुंजी से छह सबकी उत्पन्न होते हैं, जिनमें से प्रत्येक 16 बिट्स का होता है।
पहले राउंड के लिए इसमें कुंजी K₁ से K₆ होती है, दूसरे राउंड के लिए कुंजी K₇ से K₁₂ होती है और अंत में अंतिम राउंड। अंतिम चरण में एक आउटपुट परिवर्तन शामिल होता है, जिसे चार सबकी (K₄₉ से K₅₂) की आवश्यकता होती है।
अंतिम आउटपुट आउटपुट परिवर्तन चरण द्वारा उत्पन्न आउटपुट होता है। ब्लॉक C₁ से C₄ अंतिम आउटपुट बनाने के लिए जुड़े होते हैं।
राउंड
IDEA में आठ राउंड होते हैं। प्रत्येक राउंड में चार डेटा ब्लॉकों पर संचालन का एक क्रम होता है, जिसमें छह कुंजियों का उपयोग किया जाता है। प्रत्येक राउंड के निम्नलिखित चरण में Add * और Multiply * साधारण जोड़ और गुणा नहीं हैं बल्कि वे मॉड्यूलो 2¹⁶ यानी 65536 का जोड़ और मॉड्यूलो 2¹⁶ + 1 यानी 65537 का गुणन हैं।
एक राउंड के लिए सबकी जनरेशन
पहले राउंड में कुंजी के बिट स्थिति 1-96 का उपयोग किया जाता है। बिट्स 97-128 अप्रयुक्त रहते हैं। उन्हें राउंड 2 को दिया जाता है।
दूसरे राउंड में बिट्स 97-128 पहले उपयोग किए जाते हैं, फिर 25 बिट का परिपत्र बाएं शिफ्ट होता है और नए बिट्स 26-89 से उपयोग किए जाते हैं। बिट स्थिति 90-128 और 1-25 अप्रयुक्त रहते हैं।
तीसरे राउंड में अप्रयुक्त बिट 90-128 और 1-25 पहले फिर से उपयोग किए जाते हैं, 25 बिट का परिपत्र बाएं शिफ्ट होता है और बिट स्थिति 51-82 उपयोग की जाती हैं। बिट स्थिति 83-128 और 1-50 अप्रयुक्त रहते हैं।
चौथे राउंड में बिट 83-128 और 1-50 उपयोग किए जाते हैं।
पांचवें राउंड में 25 बिट का परिपत्र बाएं शिफ्ट होता है और बिट स्थिति 76-128 और 1-43 उपयोग की जाती हैं। बिट स्थिति 44-75 अप्रयुक्त रहते हैं।
छठे राउंड में पांचवें राउंड के अप्रयुक्त बिट का उपयोग किया जाता है और 25 बिट का बाएं परिपत्र शिफ्ट होता है जिससे बिट स्थिति 37-100 अप्रयुक्त हो जाते हैं।
सातवें राउंड में छठे राउंड के अप्रयुक्त बिट यानी 37-100 पहले उपयोग किए जाते हैं और 25 बिट का परिपत्र बाएं शिफ्ट होता है बिट स्थिति 126-128 और 1-29 उपयोग की जाती हैं। बिट 30-125 अप्रयुक्त रहते हैं।
राउंड सात से अप्रयुक्त बिट स्थिति 30-125 उपयोग की जाती है और कुंजी समाप्त हो जाती है।
आउटपुट परिवर्तन
यह एक बार का ऑपरेशन है। यह 8वें राउंड के अंत में होता है। इसलिए 64-बिट मान को चार उप-ब्लॉकों में विभाजित किया जाता है (मान लें R₁ से R₄) और यहां चार सबकी उपयोग किए जाते हैं।
IDEA डिक्रिप्शन
डिक्रिप्शन प्रक्रिया एन्क्रिप्शन प्रक्रिया के समान है। सबकी की पीढ़ी और डिजाइन में कुछ बदलाव हैं। डिक्रिप्शन सबकी एन्क्रिप्शन सबकी के विपरीत हैं।