Trong thuật toán IDEA gồm có 3 thuật toán sau: - Phép XOR theo bit. Kí hiệu là
- Phép cộng 2 số nguyên lấy modulo 216 (65536) với đầu vào và các đầu ra là các số nguyên không dấu 16 bit. Kí hiệu là .
- Phép nhân hai số nguyên lấy modulo 216 +1 với đầu vào và đầu ra là các số nguyên không dấu 16 bit. Quy ước là khối toàn số 0 biểu thị cho 216 . Kí hiệu . Cả ba phép toán này đều phải thoả mãn các tính chất sau:
- Không có 2 phép toán nào thoả mãn luật phân phối : a (b c ) (a b ) ( a c)
- Không có 2 phép toán nào thoả mãn luật kết hợp : a (b c ) (a b ) c
Việc sử dụng 3 phép toán này tạo ra một sự biến đổi phức tạp dữ liệu đầu vào làm cho việc mã thám trở nên khó khăn hơn so với việc chỉ sử dụng một phép toán đơn giản.
Trong IDEA sự phân bố được tạo ra dựa trên khối thuật toán có cấu trúc như hình vẽ gọi là cấu trúc MA( Multiplication/Additio) trong hình sau:
Hình 2.8 Cấu trúc Multiplication/Additio (MA)
Khối này nhận 16 bit từ bản rõ và 16 bit được lấy từ khoá ra theo một quy tắc nào đó ( 16 bit này được gọi là subkey và quy tắc lấy subkey từ khoá sẽ được trình bày ở sau)để tạo ra 16 bit đầu ra. Một chương trình kiểm tra trên máy tính bằng phương pháp vét cạn xác định rằng mỗi bit ở đầu ra phụ thuộc vào các bít rõ và bit subkey đầu vào. Cấu trúc này được sử dụng lặp lại 8 lần trong thuật toán và tạo nên một sự phân bố có hiệu qủa.
IDEA được xây dựng sao cho việc thực hiện nó được dễ dàng cả trên phần cứng và phần mềm. Việc thực hiện trên phần cứng, điển hình là trên vi mạch VLSI (VLSI: mạch tích hợp cao), được thiết kế để đạt được tốc độ cao. Việc xây dựng trên phần mềm thì thuận tiện và giá thành thấp.
Những điểm chủ yếu trong việc xây dựng phần mềm:
+ Sử dụng những khối nhỏ: những phép mã thực hiện trên những khối có độ dài 8,16,32 bit phù hợp với việc xử lý trên máy tính.
+ Sử dụng thuật toán giản đơn: Phép toán mã dễ dàng trong lập ttình như phép cộng , phép dịch chuyển (shift), ..., Cả 3 phép toán của IDEA đều thoả mãn những yêu cầu này. Điểm khó khăn nhất là phép toán nhân modulo(216 +1) cũng có
- Những điểm chủ yếu trong việc thực hiện trên phần cứng:
+ Sự tương tự trong mã hoá và giải mã: Mã hoá và giải mã chỉ nên khác nhau trong việc sử dụng khoá và nhờ đó một phương tiện có thể dùng cho cả mã hoá và giải mã.
+ Cấu trúc lặp lại: Phương pháp mã nên có cấu trúc modul lặp lại để các mạch VLSI có thể thực hiện được dễ dàng. IDEA được xây dựng từ 2 khối modulo đơn giản và sử dụng lặp lại nhiều lần.