Computer >> Máy Tính >  >> Lập trình >> Lập trình

Mã hóa IDEA hoạt động như thế nào?

IDEA là một mật mã khối và nó hoạt động trên bản rõ 64 bit và khóa 128 bit. IDEA có thể đảo ngược giống như DES, thuật toán tương đương có thể được sử dụng để mã hóa và giải mã. IDEA cần cả sự phổ biến và nhầm lẫn để mã hóa.

Bản rõ 64 bit được chia thành bốn phần của bản rõ 16 bit (P 1 đến P 4 ). Đây là đầu vào cho vòng đầu tiên. Có tám vòng như vậy. Khóa bao gồm 128 bit. Trong mỗi vòng, sáu khóa phụ được tạo ra từ khóa gốc, mỗi khóa phụ này bao gồm 16 bit.

Đối với vòng đầu tiên, nó có thể có khóa K 1 tới K 6 , đối với vòng thứ hai, nó có thể có các keyK 7 tới K 12 và cuối cùng là vòng cuối cùng. Bước cuối cùng bao gồm một chuyển đổi đầu ra, cần bốn khóa con (K 49 tới K 52 ).

Đầu ra cuối cùng là đầu ra được tạo ra bởi bước biến đổi đầu ra. Các khốiC 1 đến C 4 được liên kết để tạo thành đầu ra cuối cùng.

Vòng thi - Có tám vòng trong IDEA. Mỗi vòng chứa một chuỗi hoạt động trên bốn khối dữ liệu, sử dụng sáu khóa. Cộng * và Nhân * trong bước sau của mỗi vòng không phải là phép cộng và phép nhân dễ dàng nhưng chúng là mô-đun cộng 2 16 tức là, 65536 và Mô-đun nhân 2 16 + 1 i. e. , 65537.

Tạo khóa phụ cho một vòng -

  • Trong vòng đầu tiên, vị trí bit 1-96 của khóa được sử dụng. Bit 97-128 vẫn chưa sử dụng. Họ được trao cho vòng 2.

  • Trong vòng thứ hai, các bit 97-128 lần đầu tiên được sử dụng, do đó dịch chuyển sang trái vòng tròn của 25 bit xuất hiện và các bit mới từ 26-89 được sử dụng. Vị trí bit 90-128 và 1-25 chưa sử dụng.

  • Trong vòng thứ ba, bit 90-128 và 1-25 không được sử dụng lần đầu tiên được sử dụng lại, vòng tròn leftshiftof 25 bit xuất hiện và vị trí bit 51-82 được sử dụng. Vị trí bit 83-128 và1-50 vẫn không được sử dụng.

  • Trong vòng thứ tư, bit 83-128 và 1-50 được sử dụng.

  • Trong vòng thứ năm, sự dịch chuyển sang trái của vòng tròn thứ năm của 25 bit xuất hiện và vị trí bit 76-128 và 1-43 được sử dụng. Vị trí bit 44-75 vẫn không được sử dụng.

  • Trong vòng thứ sáu, bit không sử dụng của vòng thứ năm được sử dụng và sự dịch chuyển vòng tròn sang trái của 25 bit xảy ra, do đó làm cho vị trí bit 37-100 không được sử dụng.

  • Trong vòng thứ bảy, bit không được sử dụng của vòng thứ sáu, tức là 37-100 được sử dụng đầu tiên và dịch chuyển sang trái hình tròn của 25 bit xuất hiện vị trí bit 126-128 và 1-29 được sử dụng. Bit30-125 vẫn không được sử dụng.

  • Vị trí bit 30-125 không được sử dụng từ vòng bảy được sử dụng và khóa bị vô hiệu hóa.

Chuyển đổi đầu ra - Đây là một hoạt động một lần. Nó diễn ra vào cuối thứ 8 vòng. Do đó, giá trị 64-bit được chia thành bốn khối con (giả sử R 1 đến R 4 ) và foursubkeys được sử dụng ở đây.

Giải mã IDEA - Quy trình giải mã tương đương với quy trình mã hóa. Có một số thay đổi trong việc tạo và thiết kế các khóa con. Các khóa con giải mã đối lập với các khóa con mã hóa.