24/05/2018, 21:19

Mã khối hiện đại

Mã khối (block) xử lý bản tin theo từng khối, lần lượt mỗi khối được mã hoặc giải mã. Có thể xem giống như phép thế với các ký tự lớn – mỗi khối gồm 64 bít hoặc nhiều hơn. Mã dòng xử lý bản tin theo từng bít hoặc bite, lần lượt mỗi ...

  • Mã khối (block) xử lý bản tin theo từng khối, lần lượt mỗi khối được mã hoặc giải mã. Có thể xem giống như phép thế với các ký tự lớn – mỗi khối gồm 64 bít hoặc nhiều hơn.
  • Mã dòng xử lý bản tin theo từng bít hoặc bite, lần lượt mỗi bít hoặc bite được mã hoá hoặc giải mã. Chẳng hạn như mã khoá tự động Vigenere.
  • Rất nhiều mã hiện nay là mã khối. Chúng có khả năng ứng dụng rộng rãi hơn. Rất nhiều ứng dụng mã đối xứng trên mạng sử dụng mã khối.

Các nguyên lý mã khối

  • Hầu hết các mã khối đối xứng dựa trên cấu trúc mã Fiestel, do nhà bac học Fiestel đề xuất năm 1973. Đây là điều cần thiết, vì cần phải có khả năng giải mã các bản mã một cách có hiệu quả.
  • Mã khối được coi giống như phép thế cực lớn. Cần bảng có 264 đầu vào cho mã khối 64 bít, bảng như vậy là rất lớn. Do đó có thể thay thế bằng cách tạo các khối nhỏ hơn.
  • Sử dụng ý tưởng dùng mã tích. Ở đây sẽ kết hợp giữa mã thay thế và mã hoán vị, đồng thời sử dụng nhiều vòng lặp như vậy.

Năm 1949, Shannon đưa ra ý tưởng mạng phép thế và hoán vị (S-P networks) – là mã tích phép thế và hoán vị hiện đại với mục đích là cản trở việc thám mã dựa vào các phân tích thống kê. Giả sử kẻ thám mã biết một số tính chất thống kê của bản rõ như bảng phân bố tần suất của các chữ cái, bộ các chữ cái. Nếu các đặc trưng thống kê này được phản ánh trong bản mã, thì kẻ thám mã sẽ tìm cách tìm được khoá hoặc một phần khoá hoặc tìm mò ra bản rõ. Shannon muốn có một bản mã lý tưởng, ở đó mọi đặc trưng thống kế đều độc lập với khoá riêng được dùng, như vậy kẻ thám mã sẽ không có cơ sở để tìm khoá.

Mạng S-P đã tạo nên cơ sở cho mã khối hiện đại. Mạng S-P dựa trên hai thao tác mã cơ bản mà ta đã biết: phép thế (S-box) và hoán vị (P-box). Chúng sẽ tạo nên độ rối loạn và khuếch tán của bản tin.

Rối loạn và khuếch tán

  • Một tính chất quan trọng của mã tốt là mã cần phải che dấu hoàn toàn các tính chất thống kê của bản tin gốc. Như ta đã thấy mã bộ đệm một lần có thể làm được điều đó, do tính ngẫu nhiên của khoá đệm và độ dài bằng bản tin của nó.
  • Shannon nghiên cứu và đề xuất phương pháp thực tế hơn là kết hợp các thành phần khác nhau của bản rõ để xử lý qua nhiều lần và nhận được bản mã.
  • Khuếch tán là làm tan biến cấu trúc thống kê của bản rõ trên bản mã. Điều đó đạt được nếu mỗi bit của bản rõ tác động đến giá trị của rất nhiều bit trên bản mã hay mỗi bit của bản mã chịu tác động của nhiều bit bản rõ.
  • Rối loạn là làm cho quan hệ giữa bản mã và khoá càng phức tạp càng tốt. Bản mã có tính rối loạn cao sẽ làm cho việc tìm mò khoá trở nên rất khó khăn, ngay cả khi kẻ tấn công có các đặc trưng thống kê của bản mã và biết cách khoá tác động đến bản mã.

- Horst Fiestel sáng tạo nên mã Fiestel dựa trên mã tích nghịch đảo được, tức là kết hợp mã thế với mã hoán vị và qui trình giải mã là giống với mã hoá, chỉ cần thay đổi vai trò khối bản mã với khối bản rõ và thứ tự các khoá con được dùng. Từ khoá chính sinh ra cho mỗi vòng lặp một khoá con.

- Chia khối đầu vào thành 2 nửa bằng nhau:

  • Thực hiện phép thế trên nửa trái. Sử dụng hàm vòng trên nửa phải và khoá con, rồi tác động đến nửa trái.
  • Sau đó hoán vị các nửa, nửa phải chưa được xử lý.
  • Xử lý vòng tiếp theo.

- Đây là một thể hiện của mã thế kết hợp với hoán vị của Shannon. Ta xem xét cụ thể cấu trúc mã Fiestel gồm n vòng:

Nguyên tắc thiết kế mã khối Fiestel

  • Tăng kích thước khối sẽ làm tăng độ an toàn nhưng làm giảm tốc độ mã
  • Tăng kích thước khoá sẽ làm tăng độ an toàn – tìm khoá khó hơn, nhưng làm chậm mã.
  • Tăng số vòng làm tăng độ an toàn nhưng làm chậm mã
  • Phát sinh khoá con càng phức tạp làm cho việc thám mã khó hơn nhưng làm chậm mã
  • Hàm vòng càng phức tạp làm cho việc thám mã khó hơn nhưng làm chậm mã
  • Phần mềm mã hoá/giải mã nhanh và khó thám mã là tiêu chí hay được đề cập đến đối với ứng dụng và kiểm nghiệm thực tế.
Giãi mã khối Fiestel
0