Khái niệm cơ bản.
Trong mật mã đối xứng, mã hóa và giải mã bản rõ được thực hiện bằng cùng một khóa (không giống như mật mã khóa công khai).Trivium là một mật mã đối xứng và cụ thể hơn là một mật mã dòng, nghĩa là một dòng các bit trông ngẫu nhiên (giả ngẫu nhiên) được sử dụng để mã hóa/giải mã (trái ngược với mật mã khối trong đó văn bản gốc được chia thành nhiều phần). Trong giai đoạn mã hóa, bản rõ được XOR với cái gọi là luồng khóa / luồng đầu ra để đưa ra bản mã. Quá trình giải mã được thực hiện tương tự, tức là bản mã được XOR với luồng khóa để tạo ra bản rõ ban đầu.
NLFSR.
Một khối xây dựng chính của Trivium được gọi là thanh ghi dịch chuyển phản hồi phi tuyến (NLFSRs), cực kỳ hiệu quả để triển khai trong phần cứng.
Một NLFSR bao gồm một mảng các thanh ghi, trong đó kích thước của mảng được gọi là bằng cấp của NLFSR. Ngoài ra, một vòng lặp phản hồi được chỉ định bởi một bộ boolean hệ số phản hồi.
Trạng thái của NLFSR được cập nhật trong mỗi "tích tắc đồng hồ" bằng cách dịch chuyển các giá trị trong tất cả các thanh ghi sang bên phải và đặt giá trị mới của thanh ghi ngoài cùng bên trái bằng một số phi tuyến tính chức năng của một số tập hợp con của các thanh ghi hiện tại được xác định bởi các hệ số phản hồi. Tại mỗi lần đánh dấu đồng hồ, NLFSR xuất giá trị của thanh ghi ngoài cùng bên phải. Nếu MTDTGPMNVN có bằng cấp $n$, sau đó là đầu tiên $n$ các bit của luồng đầu ra chính xác là trạng thái ban đầu.
Lý lịch.
Mật mã luồng Trivium đã được chọn là một phần trong danh mục đầu tư của dự án eSTREAM, một nỗ lực của Châu Âu đã hoàn thành vào năm 2008 với mục tiêu là phát triển các mật mã luồng mới. Thiết kế của nó nhằm mục đích có một mô tả đơn giản và một mô tả phần cứng nhỏ gọn.
tầm thường.
Trivium sử dụng ba NLFSR được ghép nối, gọi chúng là $A$, $B$, và $C$, có bằng cấp $93$, $84$, và $111$, tương ứng. Trạng thái của Trivium đơn giản là $288$ bit bao gồm các giá trị trong tất cả các thanh ghi của ba NLFSR.Tại mỗi lần đánh dấu đồng hồ, đầu ra của mỗi NLFSR được XOR với thanh ghi ngoài cùng bên phải và một thanh ghi bổ sung; đầu ra của Trivium là XOR của các bit đầu ra của ba NLFSR.
Tại mỗi lần đánh dấu đồng hồ, giá trị mới của thanh ghi ngoài cùng bên trái của mỗi NLFSR được tính như một chức năng của một trong các thanh ghi trong cùng một NLFSR và một tập hợp con của các thanh ghi từ NLFSR thứ hai.
Trivium sử dụng một $80$phím -bit và một $80$-chút véc tơ khởi tạo (IV). Chìa khóa được nạp vào $80$ thanh ghi ngoài cùng bên trái của $A$, và IV được nạp vào $80$ thanh ghi ngoài cùng bên trái của $B$. Các thanh ghi còn lại được đặt thành $0$, ngoại trừ ba thanh ghi bên phải của $C$, được đặt thành $1$. Các NLFSR sau đó được chạy cho $4\cdot 288$ đồng hồ tích tắc, (với đầu ra bị loại bỏ) và trạng thái kết quả được coi là trạng thái ban đầu. Đặc tả mật mã nói rằng nhiều nhất $2^{64}$ các bit luồng khóa có thể được tạo từ mỗi cặp khóa/IV.
Thẩm quyền giải quyết
Jonathan Katz và Yehuda Lindell. 2021. Giới thiệu về mật mã hiện đại, ấn bản thứ hai (tái bản lần 3). Chapman & Hội trường/CRC.