CoderTools

Mã hóa và giải mã LOKI97

Mật mã khối của Úc - Ứng cử viên AES với khối 128 bit và độ dài khóa thay đổi

Cảnh báo bảo mật

LOKI97 là ứng cử viên AES nhưng không được chọn làm tiêu chuẩn. Đối với các ứng dụng mới yêu cầu bảo mật cao, AES (Rijndael) được khuyến nghị.

LOKI97 hỗ trợ khóa 128 bit (16 byte), 192 bit (24 byte) hoặc 256 bit (32 byte).
Tùy chọn định dạng

Về LOKI97

LOKI97 là mật mã khối đối xứng được thiết kế bởi Lawrie Brown và Josef Pieprzyk vào năm 1997. Nó được đệ trình làm ứng cử viên cho cuộc thi Advanced Encryption Standard (AES), đại diện cho sự phát triển của các mật mã LOKI89 và LOKI91 trước đó được phát triển tại Úc.

Mật mã hoạt động trên các khối dữ liệu 128 bit và hỗ trợ kích thước khóa 128, 192 hoặc 256 bit. Nó sử dụng cấu trúc mạng Feistel 16 vòng với các hàm vòng phức tạp dựa trên S-box và hoán vị, được thiết kế để cung cấp khả năng chống mạnh mẽ chống lại phân tích mật mã vi phân và tuyến tính.

Đặc điểm chính

  • Kích thước khối 128 bit theo tiêu chuẩn bảo mật hiện đại
  • Kích thước khóa linh hoạt: 128, 192 hoặc 256 bit
  • Cấu trúc Feistel 16 vòng cho việc trộn dữ liệu kỹ lưỡng
  • Thiết kế để chống lại phân tích mật mã vi phân và tuyến tính
  • Một phần của họ mật mã LOKI được phát triển tại Úc

Lịch sử họ LOKI

  • LOKI89: Mật mã gốc được thiết kế vào năm 1989 với khối 64 bit và khóa 64 bit.
  • LOKI91: Phiên bản cải tiến khắc phục các điểm yếu tìm thấy trong LOKI89.
  • LOKI97: Sự phát triển cuối cùng với khối 128 bit, được đệ trình cho cuộc thi AES.

Các chế độ mã hóa

  • CBC: Xích khối - Mỗi khối được XOR với khối mã hóa trước đó trước khi mã hóa. Cung cấp bảo mật mạnh. Yêu cầu IV.
  • ECB: Sách mã điện tử - Mỗi khối được mã hóa độc lập. Đơn giản nhưng để lộ mẫu trong dữ liệu. Không khuyến nghị cho hầu hết các sử dụng.
  • CFB: Phản hồi mã hóa - Chuyển đổi mật mã khối thành mật mã dòng. Tự đồng bộ và xử lý các khối một phần.
  • OFB: Phản hồi đầu ra - Tạo luồng khóa độc lập với văn bản thường. Không lan truyền lỗi.
  • RAW: Khối thô - Mã hóa khối đơn trực tiếp không có chế độ xích. Không cần IV. Chỉ cho các khối 128 bit.

Cấu trúc thuật toán

LOKI97 sử dụng cấu trúc mạng Feistel 16 vòng. Mỗi vòng xử lý một khối 128 bit được chia thành hai nửa 64 bit (L và R).

Lập lịch khóa

Khóa chính 256 bit được mở rộng thành 48 khóa con (SK[0] đến SK[47]) sử dụng hàm f và hằng số DELTA (có nguồn gốc từ tỷ lệ vàng). Đối với khóa 128 bit hoặc 192 bit, vật liệu khóa được nhân đôi để lấp đầy thanh ghi khóa 256 bit trước khi mở rộng.

Hàm vòng

Mỗi vòng áp dụng: L' = R + SK[3i], R' = L XOR f(R + SK[3i], SK[3i+1], SK[3i+2]). Phép cộng là modulo 2^64.

Hàm f

Hàm f cốt lõi f(A, B) bao gồm bốn lớp:

  • KP (Hoán vị điều khiển bằng khóa): Chọn các bit từ A dựa trên các bit điều khiển trong B
  • Sa (Lớp S-box a): Tám tra cứu S-box song song sử dụng hai loại (S1: 13→8 bit, S2: 11→8 bit)
  • P (Hoán vị): Hoán vị 64 bit sử dụng mẫu xen kẽ bit 8×8
  • Sb (Lớp S-box b): Vòng tra cứu S-box thứ hai với vật liệu khóa bổ sung từ B

Hộp S

S1 có 8192 mục nhập (đầu vào 13 bit → đầu ra 8 bit), S2 có 2048 mục nhập (đầu vào 11 bit → đầu ra 8 bit). Cả hai được tính bằng phép lập phương trong GF(2^13) và GF(2^11) tương ứng, với các đa thức sinh cụ thể để có tính phi tuyến mạnh.

Giải mã

Giải mã sử dụng cùng cấu trúc nhưng áp dụng các khóa con theo thứ tự ngược lại (SK[47] xuống SK[0]) và sử dụng phép trừ thay vì phép cộng.

So sánh thuật toán

Thuật toán Độ dài khóa Kích thước khối Bảo mật Tốc độ
LOKI97 128/192/256 bits 128 bits Tốt Trung bình
AES 128/192/256 bits 128 bits Xuất sắc Nhanh
Serpent 128/192/256 bits 128 bits Xuất sắc Trung bình
DES 56 bits 64 bits Yếu Nhanh

Cân nhắc bảo mật

  • LOKI97 cung cấp bảo mật tốt mà không có tấn công thực tế nào được tìm thấy chống lại mật mã đầy đủ
  • Kích thước khối 128 bit phù hợp với yêu cầu bảo mật hiện đại
  • Mặc dù không được chọn làm AES, LOKI97 vẫn bảo mật về mật mã
  • Đối với các ứng dụng mới, AES được khuyến nghị làm tiêu chuẩn quốc tế

Trường hợp sử dụng

  • Tương thích hệ thống cũ và nghiên cứu lịch sử
  • Giáo dục mật mã và nghiên cứu thuật toán
  • Phân tích so sánh với các ứng cử viên AES khác
  • Ứng dụng yêu cầu mã hóa phát triển tại Úc

Tài liệu tham khảo