CHƯƠNG 1 TỔNG QUAN VỀ HỌ HỆ MẬT WG 1.1 Lịch sử mật mã dòng WG [2], [7] Phiên bản đầu tiên của mật mã WG được Nawaz and Gong công bố năm 2005, được đệ trình lên dự án eSTREAM với tư cách như một mật mã được định hướng cứng hoá. Mật mã WG bao gồm một LFSR với 11 phần tử trên F2. Cấu trúc của các phiên bản sau này 29 cũng cũng tương tự như vậy, ngoại trừ việc chuyển đổi WG được kết hợp với phần tử cuối cùng của thanh ghi (ban đầu là S0). Mặc dù kích thước của LFSR là cố định nhưng nó cho phép sử dụng các khóa có kích cỡ khác nhau (80, 69, 112 và 128 bit).
Các vector IVs có thể có cùng kích thước như các khóa, nhưng vector IV cũng có thể ngắn hơn 64 hoặc 32 bit. Sự khác biệt duy nhất giữa các kích cỡ này là cách tải các khóa và các vector IV này vào LFSR. Chỉ sau 2 tháng đã có cuộc tấn công thành công vào phiên bản này, Wu và Preneel đã trình bày cuộc tấn công mật mã, cuộc tấn công này tập trung vào việc có thể khôi phục được khóa mà không cần quan tâm đến kích cỡ khóa/IV. Để đáp lại cuộc tấn công này, người tạo ra mật mã WG đã đề xuất ý kiến tăng gấp đôi hoặc thậm chí gấp bốn lần số chu kỳ cho pha khởi tạo.
Phiên bản cuối cùng của mật mã WG (nay được gọi là họ hệ mật mã dòng) được công bố năm 2013. Nó chuyển sự chuyển đổi WG về cuối LFSR, chính sự thay đổi này làm cho mật mã có thể chống lại cuộc tấn công IV đã được đề cập ở trên mà không cần tăng thêm chu kỳ cho pha khởi tạo. Mật mã WG cuối cùng cũng bị loại khỏi dự án mã dòng - eSTREAM vào cuối giai đoạn 2, với 2 lý do chính: (1) Về vấn đề an ninh. Trong năm 2007, một cuộc tấn công vào máy sinh bộ lọc chung trên F2 đã được Rønjom và Helleseth trình bày.
Cuộc tấn công nhằm khôi phục lại trạng m thái bên trong của mật mã WG. Tuy nhiên, đặc tả mật mã không cho phép có nhiều hơn 245 bít dòng khóa được tạo ra với cùng một cặp khóa/IV. Trong khi đó cuộc tấn công này cần ít nhất 245.0415 bit dòng khóa để cuộc tấn công có thể thành công. Mặc dù mật mã WG an toàn chống lại cuộc tấn công này nhưng nó đã rút khỏi eSTREAM với một nghi ngờ rằng mật mã rất có thể bị phá nếu chỉ một chút sơ xuất.
(2) Phía eSTREAM cho rằng độ hiệu quả của mật mã khi cài đặt trong phần cứng chỉ tương đương với một số mật mã khác. Điều này chủ yếu là do WG-128 - phiên bản gốc của WG, có nhiều phép tính trong F2 yêu cầu nhiều không gian khi triển khai trong phần 29 cứng. Tất cả các thành phần của họ hệ mật WG sử dụng nhiều trường hữu hạn nhỏ hơn để giải quyết vấn đề này. 11 z Mật mã WG-16: Năm 2013 Fan and Gong trình bày mật mã dòng WG-16.
Nó được thiết kế dùng trong mạng 4G-LTE. Hai ông cũng chỉ ra các thuật toán bí mật và toàn vẹn sử dụng mật mã WG-16 của họ. Để chứng minh tính thực tiễn của mật mã WG-16, họ đưa ra các lý lẽ cho rằng các mật mã hiện tại trong chuẩn 4G-LTE rất khó để phân tích và những giải thuật hiện tại cũng dễ bị phá vỡ. WG-16 sử dụng các khóa và bộ mã hoá 128-bit cùng với LFSR có chứa 32 phần tử trên F2 .16 Mật mã WG-7: Mật mã WG-7 là tiền nhiệm của WG-8, cũng được thiết kế nhắm đến các thiết bị bị hạn chế tài nguyên.
Nó được công bố bởi Luo et al năm 2010. Nó sử dụng các khóa 80-bit và vector IV 80-bit. LFSR chứa 23 phần tử trên F2. Tuy nhiên, vào năm 2012 7 mật mã bị phá bởi Orumiehchiha et al.
Mật mã WG-5: Aasgaard, Gong và Mota thảo luận về việc triển khai phần cứng và các vấn đề bảo mật của mật mã dòng WG-5. Mật mã này nhằm vào các thẻ RFID thụ động và chỉ cung cấp mức bảo mật thấp. Nó chỉ chống lại các cuộc tấn công chỉ khi dữ liệu được mã hóa với một cặp khóa/ IV không vượt quá 256 kilobyte, đây là một ràng buộc chấp nhận được đối với các thẻ RFID thụ động.2 Cơ sở toán học [6] 1.1 Mô đun số học Modul số học đã và đang dần trở lên quan trọng trong lĩnh vực mật mã. Lý thuyết mô đun số học được sử dụng trong các thuật toán mã hoá khoá công khai như thuật toán RSA và Diffie-Hellman, các thuật toán khoá đối xứng như AES, IDEA và RC4.
Ưu điểm chính của việc sử dụng mô đun số học là nó cho phép chúng ta thực hiện phép nhân nhanh hơn. Ví dụ với phép toán phức tạp, việc tính toán đa thức đó (nhân đa thức) với 1 lượng số nguyên lớn thì việc sử dụng mô đun số học sẽ làm giảm thời gian tính toán của các phép toán lớn này. Áp dụng vào ứng dụng sửa mã lỗi, bằng việc sử dụng lý thuyết mô đun số học mỗi chữ số của mã được liên kết đến các phần tử của trường hữu hạn. Toán tử modulo (mod n) ánh xạ tới tất cả các số nguyên trong tập {0, 1, 2,.
(n − 1)} và tất cả các phép toán số học được thực thi trong tập hợp này. Kỹ thuật này được gọi là mô đun số học. Tập các số nguyên và các số nguyên khác 0 của mod n được ký hiệu bởi Zn và Z*n. Ví dụ: cộng và nhân modul trên modulo 23 Giả sử, 12 + 20 = (12 + 20) mod 23 = 32 mod 23 = 9 vì 32 chia cho 23 dư 9.
Tương tự, trong phép nhân; 8 × 9 = 72 mod 23 = 3, vì khi 72 chia cho 23 dư 3.2 Nhóm và trường Trong đại số trừu tượng, chúng ta làm việc với các tập mà các phần tử được thao tác một cách đại số. Ví dụ, chúng ta có thể nói rằng bằng cách kết hợp hai phần tử của một tập theo nhiều cách khác nhau, ta có thể tạo ra được phần tử thứ ba của tập 12 z hợp. Tất cả các phép toán sẽ tuân theo một số quy tắc cụ thể được định nghĩa trong tập. Một số định nghĩa: Nhóm: Định nghĩa 1: Một Nhóm (G) được định nghĩa như là 1 cặp (S, •), với S là tập khác rỗng, toán tử • sao cho tuân theo tiên đề từ A1-A4 được định nghĩa ở bảng bên dưới.
Toán tử • có thể gọi là phép cộng, phép nhân hay 1 phép toán nào khác. Ở đây tập S là đại diện của nhóm G, i là phần tử định danh trong G. Đóng kín Cho a, b thuộc G , a • b sẽ thuộc G A2. Kết hợp Cho tất cả a, b, c thuộc G, a •(b •c) = (a •b) •c A3.
Định danh Tồn tại phần tử e thuộc G, cho a thuộc G với a •e = e •a = a hay đúng hơn ∃e ∈ G, ∀ a ∈ G, a • e = e • a = a A4. Nghịch đảo Với mọi a thuộc G tồn tại phần tử x thuộc G sao cho a•x = x•a = e hay nói cách khác ∀a ∈ G, ∃x ∈ G, a•x = x•a=e Bảng 1.1 Bảng các tiên đề định nghĩa nhóm Định nghĩa 2: (A5) Một nhóm được gọi là nhóm abel nếu nó thoả mãn điều kiện với mọi a, b thuộc G thì a •b = b •a Định nghĩa 3: Một nhóm được gọi là cyclic nếu có 1 hoặc nhiều phần tử mà có thể sinh ra tất cả các phần tử trong nhóm, hay có nói cách khác: ∃ g ∈ G, ∀ a ∈ G, ∃ k, a = gk. Ví dụ: p là số nguyên tố và ( *p , ) là nhóm cyclic. Nhóm cyclic ( *7 , ) , với p = 7, số phần tử của nhóm là 6.
Ta có, phần tử 3 và 5 là phần tử sinh của nhóm * 7 {1,2,3,4,5,6} , các luỹ thừa của 3 modulo 7 là: 1 = 36 , 2 = 32 , 3 = 3 1 , 4 = 3 4 , 5 = 35 , 6 = 3 3 Trường: Định nghĩa: Một trường F được định nghĩa là một tập các phần tử với 2 toán tử nhị phân , , được biểu diễn là ( F , , ) và tuân theo các tiên đề bên dưới: Tiên đề Ý nghĩa (A1-A5) F tạo thành 1 nhóm abel đối với phép cộng (A1-A3) và A5 F tạo thành một vị nhóm giao hoán A6. Phần tử Cho mỗi a thuộc F, nếu a 0 , tồn tại một phần tử x thuộc F, nghịch đảo sao cho a x x a 1 , hay có thể nói ∀ a 0 ∈ F, ∃ x ∈ F, a x xa 1 Bảng 1.2 Bảng các tiên đề định nghĩa trường 13 z Ví dụ: Cho trường bất kỳ ( F , , ).( F * , ) tạo thành 1 nhóm abel. Với F * là tập con của F không bao gồm phần tử 0.3 Trường hữu hạn Trường hữu hạn đóng một vai trò quan trọng trong lĩnh vực mật mã. Hầu hết các thuật toán mã hoá khoá công khai như DSS, mật mã khóa El Gamal, mật mã trên đường cong Elliptic phụ thuộc rất nhiều vào các thuộc tính của trường hữu hạn, ngoài ra nó cũng được sử dụng trong mật mã AES.
Số phần tử của trường hữu hạn phải là một luỹ thừa của một số nguyên tố: pn, trong đó n là một số nguyên dương. Ở đây xuất hiện hai trường hợp: (1) Với n = 1, trường hữu hạn có dạng GF(p) trong đó GF là viết tắt của trường Galois. Trường hữu hạn GF(p) có cấu trúc khác so với trường hữu hạn GF(pn). Các loại trường hữu hạn: - Trường nguyên tố: Được định nghĩa là trường có dạng GF(p), với p là số nguyên tố.
Tất cả các phần tử trong trường và các phép toán số học (, ) được thực thi theo modulo p. - Trường nhị phân: Được định nghĩa là một trường có dạng GF(pn), trong đó n là một số nguyên dương. Thông thường trường nhị phân được xây dựng từ trường nguyên tố.1 Trường hữu hạn của GF(p) Cho số nguyên tố p bất kỳ, trường hữu hạn p phần tử, các phần tử của GF(p) được định nghĩa là tập {0, 1, 2,. (p-1)}, cùng với các phép toán số học theo modulo p.
GF(p) cũng có thể được ký hiệu bởi tập các số nguyên Zp.