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..
Trang 1LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy TS Hồ Văn Canh, đã tận tâm, tận lực hướng dẫn, định hướng cho tôi, đồng thời, cũng đã cung cấp nhiều tài liệu và tạo điều kiện thuận lợi trong suốt quá trình học tập và nghiên cứu để tôi có thể hoàn thành luận văn này
Tôi xin chân thành cảm ơn đến các thầy, cô trong Bộ môn Quản lý hệ thống thông tin và Khoa Công nghệ thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội cùng với ban lãnh đạo nhà trường đã nhiệt tình giảng dạy và truyền đạt những kiến thức, kinh nghiệm qúy giá trong suốt quá trình học tập rèn luyện tại trường
Tôi xin gửi lời cảm ơn đến các bạn học viên lớp K22-QLHTTT, nhóm bảo mật UET đã đồng hành cùng tôi trong suốt quá trình học tập Cảm ơn gia đình, bạn bè đã quan tâm và động viên giúp tôi có nghị lực phấn đấu để hoàn thành tốt luận văn này
Do kiến thức và thời gian có hạn nên luận văn sẽ không tránh khỏi những thiếu sót nhất định Tôi rất mong nhận được những sự góp ý quý báu của thầy cô, đồng nghiệp và bạn bè
Một lần nữa xin gửi lời cảm ơn chân thành và sâu sắc
Hà Nội, 27 tháng 12 năm 2017 Học viên thực hiện
Nguyễn Thị Thuỳ Dung
Trang 2MỤC LỤC
LỜI CẢM ƠN - 1 -
MỤC LỤC - 2 -
CHƯƠNG 1 TỔNG QUAN VỀ HỌ HỆ MẬT WG 1
1.1 Lịch sử mật mã dòng WG [2], [7] 1
1.2 Cơ sở toán học [6] 1
1.2.1 Mô đun số học 1
1.2.2 Nhóm và trường 2
1.2.3 Trường hữu hạn 2
1.2.4 Lựa chọn cơ sở 4
1.2.5 Thanh ghi dịch phản hồi tuyến tính LFSR [6] 4
1.3 Họ hệ mật WG [3],[5] 6
1.3.1 Cơ sở 6
1.3.2 Nguyên tắc hoạt động của họ hệ mật WG 6
1.3.3 Khởi tạo khóa và hoạt động của mật mã 7
1.4 Phân tích họ hệ mật WG [3],[9] 8
1.4.1 Các thuộc tính ngẫu nhiên của dòng khóa 8
1.4.2 Chuyển đổi WG 9
1.4.3 An ninh chống lại các cuộc tấn công 9
1.5 Công nghệ RFID và họ hệ mật WG [6], [8] 11
CHƯƠNG 2 CÁC HỆ MẬT WG-8 VÀ WG-16 12
2.1 Tổng quan hệ mật WG-8 [8] 12
2.1.1 Giới thiệu WG-8 12
2.1.2 Thuật ngữ và ký hiệu 12
2.1.3 Đặc tả cấu trúc mật mã dòng WG-8 12
2.1.4 Đánh giá các tấn công mật mã dòng WG-8 14
2.2 Hệ mật WG-16 [1] 15
2.2.1 Giới thiệu WG-16 15
2.1.2 Thuật ngữ và ký hiệu 15
2.1.3 Đặc tả cấu trúc mật mã dòng WG-16 16
2.1.4 Đánh giá các tấn công mật mã dòng WG-16 17
Trang 3CHƯƠNG 3 ĐỀ XUẤT CẢI TIẾN HỆ MẬT WG – UET VÀ CHƯƠNG TRÌNH DEMO 19
3.1 Đề xuất cải tiến hệ mật WG-UET 19
3.2 Bài toán và cài đặt chương trình 20
KẾT LUẬN 22
HƯỚNG NGHIÊN CỨU TIẾP THEO 22
TÀI LIỆU THAM KHẢO 23
Trang 4Chỉ 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-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 7 Tuy nhiên, vào năm 2012 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
1.2 Cơ sở toán học [6]
1.2.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
Trang 5Tậ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
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
1.2.2 Nhóm và trường
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
A1 Đó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.0.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
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:
(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
Bảng 1.0.2 Bảng các tiên đề định nghĩa trường
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 Fkhông bao gồm phần tử 0
1.2.3 Trường hữu hạn
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ố
Trang 61.2.3.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
Ví dụ: Các phép toán số học trong trường hữu hạn đơn giản nhất của GF(p)
Trường hữu hạn đơn giản nhất là GF(2), trong đó p = 2, và các phần tử là {0, 1}, đây là trường hợp đặc biệt mà các phép toán số học + và tương đương với các phép toán XOR và AND
1.2.3.2 Đa thức số học
Các phần tử của GF(pn), với n > 1, có thể được biểu diễn dưới dạng đa thức, các hệ số của đa thức này thuộc GF(p) và có độ nên nhỏ hơn n Khi p = 2, các phần tử của GF(pn) được biểu diễn dưới dạng số nhị phân {0, 1} Điều này có nghĩa là mỗi ký tự trong một đa thức được biểu diễn bởi một bit trong biểu thức nhị phân tương ứng
Định nghĩa: Một đa thức được định nghĩa là một biểu thức toán học liên quan đến tổng của 1
hoặc nhiều biến nhân với các hằng số của chúng Một đa thức với 1 biến và các hằng số của chúng được biểu diễn như sau:
f(x) = anxn + an−1xn−1 + + a2x2 + a1x + a0 =
0
n i i i
Cho:
0
( )
n i i i
1.2.3.3 Trường hữu hạn của GF(p n )
Trường hữu hạn dưới dạng GF(p) với p phần tử, trong đó p là số nguyên tố Các thành phần của GF(p) = Zp = {0, 1, 2, (p-1)}, với các phép toán số học ( , ) được thực hiện cùng với phép toán modulo p Chúng ta sử dụng khái niệm tương tự để xây dựng trường hữu hạn có dạng GF(pn), gồm q-1 phần tử, trong đó (q = pn) với phép toán mô đun pn-1
Trang 7Gốc của đa thức: Nếu p(x) là 1 đa thức trên F, thì phần tử α ∈ F sao cho p(α) = 0 được gọi
là gốc của đa thức p(x)
Trường con: Nếu một tập con S có các phần tử thuộc trường F thỏa mãn các tiên đề trường
cùng với các phép toán số học của F, thì S được gọi là trường con của F
GF(pm) là một trường con của GF(pn) khi và chỉ khi m là số chia hết của n ký hiệu là: GF(pm)
⊂ GF(pn)
Ví dụ: GF(22) ⊂ GF(24) và GF(24) ⊂ GF(212)
Trường mở rộng: Một trường F được gọi là trường mở rộng, nếu S là tập con nằm trong
tập F, ta định nghĩa S là một trường con của F và F là một trường mở rộng của S Chúng được
Cơ sở đa thức đươc được biểu diễn là {1, α, α2 αn-1} của GF(pn) trên GF(p)
Với α là phần tử nguyên thủy của GF(pn)
Ví dụ: Nếu p = 3 và n = 2 thì GF(32) là một trường mở rộng của GF(3) với độ bằng 2 Cho α ∈ GF(32), là gốc của đa thức không giảm x2 + 1 trên GF (3), thì cơ sở đa thức là {1, α} của GF(32) trên GF(3)
*Cơ sở thông thường
Định nghĩa: Cho số nguyên dương n bất kỳ trên GF(pn), luôn luôn có một cơ sở thông thường cho trường hữu hạn GF(pn) trên GF(p) Nếu γ ∈ GF(pn) là một phần tử thông thường, thì cơ sở thông thường được biểu diễn là 2 1 2 2 2 1
, , n .
Trong đó γ được gọi là phần tử sinh hoặc phần tử thông thường của GF(pn) trên GF(p), được biểu diễn dưới dạng ma trận n m và được ký hiệu là M
1.2.5 Thanh ghi dịch phản hồi tuyến tính LFSR [6]
1.2.5.1 LFSR và mô tả toán học
Thanh ghi dịch phản hồi tuyến tính (LFSR) đã được sử dụng rộng rãi trong máy sinh dòng khóa của mật mã dòng, máy sinh số ngẫu nhiên trong hầu hết các thuật toán mã hoá Mỗi khối vuông trong hình 1.1, là một đơn vị lưu trữ 2 trạng thái (0 hoặc 1) Các đơn vị lưu trữ nhị phân n được gọi là các trạng thái của thanh ghi dịch và nội dung của chúng ở dạng n bit chiều dài, được gọi là trạng thái nội bộ của thanh ghi dịch
Hình 1.1 Sơ đồ khối của LFSR
Cho (a0, a1, a2, , an-1) ∈ GF (2n) là trạng thái ban đầu của LFSR và
Trang 8f (x0, x1, x2, , xn-1) là hàm phản hồi hoặc đa thức thông tin phản hồi, như thể hiện trong hình 1.1 Nếu hàm phản hồi là một hàm tuyến tính thì nó có thể được biểu diễn bằng:
1.2.5.3 Cài đặt phần cứng LFSR trên trường Galios
Trong việc cài đặt phần cứng, LFSR chứa N thanh ghi được kết nối với nhau để tạo ra một thanh ghi dịch Nói chung, thanh ghi dịch là một dãy flip-flops, trong đó đầu ra của flip flop cuối cùng được nối (phản hồi) với các flip flops trước đó bằng một cổng XOR như thể hiện trong hình 1.4 Giả sử chiều dài của LFSR là N và nó bao gồm của N trạng thái flip-flops và các bit đã lưu được điều khiển bởi một đồng hồ đơn Tại mỗi xung đồng hồ, các bit đã lưu sẽ được dịch chuyển 1 vị trí sang trạng thái tiếp theo, đồng nghĩa với việc là có sự chuyển tiếp
từ trạng thái này sang trạng thái tiếp theo
Hình 1.2 Mạch LFSR 3 bít
Các thông số thiết kế cần quan tâm khi thiết kế LFSR là số flip flops, cổng XOR bên trong hoặc bên ngoài, các taps phản hồi (đầu vào cho XOR) và tín hiệu cài đặt lại Khi thiết lập cài đặt lại, thanh ghi sẽ cài đặt tất cả 1s và với mục đích phân tích, ở đây ta sử dụng LFSRs với cổng XOR nội bộ vì mạch của chúng được kết hợp với các đa thức trên các trường Galois LFSR tạo ra một chuỗi bit có độ dài tối đa 2n - 1, trong đó n là kích thước của trường hữu hạn Các tap phản hồi trên LSFR sẽ được chọn dựa vào đa thức đã được lựa chọn trên trường hữu hạn Các phép toán số học đa thức được thực thi liên quan tới các phép toán mod 2, tức là các
hệ số của đa thức phải là 1 hoặc 0 Những đa thức này được gọi là đa thức đặc trưng hoặc phản hồi Những đa thức đặc trưng này sẽ biểu diễn các chuỗi bít LFSR Giả sử chuỗi bit là
110011 thì đa thức đặc trưng được biểu thị là x5 + x4 + x1 + 1
1.2.5.4 Nhân và chia đa thức trong LFSR
Phép nhân f(x)×g(x) = (x3+x2+1)×(x3+x)
Trang 9Tương tự, phép chia m(x) = x5 + x3 + x2 và p(x) = x3 + x
Hình 1.3 Cài đặt phép chia LFSR
Đầu vào cho LFSR là 101100, nó là biểu diễn bít vector của m(x) và được đưa vào mạch LFSR 1 cách tuần tự theo thứ tự bậc cao hơn Vào cuối chu kỳ 6, phần dư r(x) = 100(x2) sẽ được lưu trong các flip flops
1.3 Họ hệ mật WG [3],[5]
1.3.1 Cơ sở
Một số thuật ngữ và ký hiệu cơ bản mô tả họ hệ mật WG và hoạt động của mật mã này:
F2 = GF(2), trường hữu hạn với 2 phần tử: 0 và 1
F2 29= GF(229), trường mở rộng của GF(2) với 229 phần tử Mỗi phần tử trong trường này được biểu diễn bởi một vector nhị phân 29 bit
Tr x x x x x , F2 29→ F2
Hàm lưu vết Tr2911 29 ( ) x x x229 x210 29 , F211x29→ F2 29
Cơ sở đa thứcF2 29: giả sử α là gốc của đa thức nguyên thủy tạo raF2 29 Ta có, {1, α, α2, ···,
α28} là cơ sở đa thức của F2 29trên F2
Cơ sở thông thườngF2 29: Cho γ là 1 phần tử của F2 29sao cho 2 1 2 2 2 28
là cơ sở thông thường của F2 29trên F2
1.3.2 Nguyên tắc hoạt động của họ hệ mật WG
Sơ đồ khối đơn giản của máy sinh dòng khóa WG được thể hiện trong hình 1.8 Dòng khóa được tạo ra bởi máy sinh được kết hợp bản rõ để tạo ra bản mã Như hình 1.8, máy sinh dòng khóa bao gồm một thanh ghi dịch phản hồi tuyến tính (LFSR) 11 trạng thái trênF2 29 Đa thức phản hồi của LFSR là đa thức nguyên thủy trên F2 29và tạo ra một chuỗi có độ dài lớn nhất (chuỗi m) trênF2 29, chuỗi m này được lọc bởi 1 hàm chuyển đổi WG phi tuyến tính, F229 F2, để tạo ra dòng khóa
Trang 10p(x) = x11 + x10 + x9 + x6 + x3 + x + γ với 29
1.3.3.1 Tạo khóa (IV 32 bít và 64 bít)
Độ dài khóa được khuyến nghị cho mật mã WG là 80, 96, 112 và 128 bit Véc tơ khởi tạo (IV) có kích thước 32 hoặc 64 bit có thể được dùng với bất kỳ khoá có độ dài nào ở trên Để khởi tạo mã, các bít khóa và các bít IV được nạp vào LFSR
Quá trình tải các bit khóa và các bit IV vào LFSR:
Trạng thái của LFSR được biểu diễn S(1), S(2), S(3), , S(11) ∈ F29 Mỗi trạng thái S(i) ∈ F29 được biểu diễn: S1, , 29(i), trong đó 1 ≤ i ≤ 11 Tương tự, các bit khoá được biểu diễn: k1, , j, 1≤ j ≤ 128 và bit IV là IV1, , m, 1 ≤ m ≤ 64
Các bit khoá được chia thành các khối 16 bit và mỗi khối được nạp vào LFSR
Trang 11Hình 1.5 Pha khởi tạo khóa của mật mã WG
Các bit IV được chia thành các khối 8 bit và mỗi khối được nạp vào LFSR
Tất cả các bit còn lại của LFSR được thiết lập bằng 0 Khi cặp khoá/IV được tải vào trong LFSR, máy sinh dòng khóa sẽ chạy trong 22 chu kỳ đồng hồ Đây là pha khởi tạo của mật mã Trong pha này véc tơ 29 bit, được biểu diễn:
1.3.3.2 Tạo khóa (độ dài khóa bằng độ dài IV)
Ta có: Các trạng thái S(1), S(2), S(3), , S(11) ∈ F229; Mỗi trạng thái S(i) ∈ F229, được biểu diễn là S1, , 29 (i) trong đó 1 ≤ i ≤ 11 Tương tự ta biểu diễn các bít khoá là k1, , j, 1 ≤ j ≤ 128
1.4 Phân tích họ hệ mật WG [3],[9]
1.4.1 Các thuộc tính ngẫu nhiên của dòng khóa
Dòng khóa WG {ai} được tạo ra bằng cách sử dụng chuyển đổi WG để lọc một chuỗi có độ dài lớn nhất trên F2 29 Do đó ta có thể biểu diễn đầu ra của máy sinh như sau:
a f b i
319 29
Trang 12* Các thuộc tính đặc trưng của dòng khoá mà được tạo ra bởi máy sinh WG:
- Chu kỳ: Máy sinh dòng khóa WG có một LFSR 11 trạng thái trên F2 29với một đa thức phản hồi nguyên thủy mà nó sinh ra một chuỗi có độ dài lớn nhất có chu kỳ 211×29 - 1 trên F2 29 Vì vậy, chu kỳ của dòng khóa được tạo ra bởi mật mã là 2319-1
- Cân bằng: Do chuỗi m {bi} trên F2 29 cân bằng và WG là một hàm bool cân bằng F2 29 → F2, nên dòng khóa cũng được cân bằng
- Tính tự tương quan cấp hai: Chuyển đổi WG là một hàm trực giao và chuỗi chuyển đổi WG
tương ứng có độ tự tương quan cấp độ 2
Ta xét (2): Đã chứng minh trong rằng nếu f là một hàm trực giao thì chuỗi tương ứng với nó
u cũng có độ tự tương quan cấp hai Do đó, dòng khóa được tạo ra bởi máy sinh dòng khóa
WG có độ tương quan cấp cấp
- Phân phối t-tuple: Vì {bi} là chuỗi m trên F2 29, với độ 11 và f là một hàm bool cân bằng từ
29
2
F → F2, dòng khóa {ai} là phân bố t-tuple lý tưởng với 1 ≤ t ≤ 11
- Độ phức tạp tuyến tính: Từ công thức (2), độ phức tạp tuyến tính của dòng khóa có thể được
tính chính xác theo công thức sau:
Với:
I1 = {219 + 29 + 2 + i |0 ≤ i ≤ 29 − 3}, I2 = {220 + 3 + 2i |0 ≤ i ≤ 29 − 2}
1.4.2 Chuyển đổi WG
Biểu thức chuyển đổi WG,F2 29 → F2, có thể được xem như một hàm bool trong 29 biến Biểu diễn bool chính xác phụ thuộc vào cơ sở tính toán trong F2 29 Cơ sở thông thường được lựa chọn sao cho biểu diễn bool tương ứng của chuyển đổi WG là 1-order linh hoạt, có độ là 11 và độ phi tuyến tính của nó là 228-214 = 268419072
1.4.3 An ninh chống lại các cuộc tấn công
Tấn công về mặt thời gian /bộ nhớ/ dữ liệu (TMD): Xét cuộc tấn công thương mại thời gian/
bộ nhớ/ dữ liệu trên các mật mã dòng
Phương thức tấn công: có hai giai đoạn:
Giai đoạn tiền tính toán, kẻ tấn công khai thác cấu trúc của mật mã dòng và tổng hợp các phát hiện của mình trong các bảng lớn
Giai đoạn tấn công, kẻ tấn công sử dụng các bảng này và dữ liệu quan sát được để tính toán khóa bí mật hoặc trạng thái bên trong của mật mã dòng
Để xác định được tính khả thi của cuộc tấn công này cần xác định rõ 3 vấn đề:
o Thông tin khai thác được trong giai đoạn tiền xử lý
o Dòng khóa được yêu cầu
Trang 13o Những tính toán cần thiết để khôi phục khoá bí mật
Giải pháp: giải pháp đơn giản để đảm bảo an ninh chống lại cuộc tấn công này là tăng không gian
tìm kiếm
Một tấn công thương mại TM2D2 = N2 với D2 ≤ T ≤ N, trong đó T là thời gian cần thiết cho cuộc tấn công, M là bộ nhớ cần thiết để lưu trữ các bảng, D biểu diễn dữ liệu thời gian thực hoặc dòng
khóa được yêu cầu, và N là kích thước của không gian tìm kiếm Việc tăng không gian tìm kiếm
có thể được thực hiện được bằng cách tăng kích thước của trạng thái nội bộ và sử dụng IV ngẫu nhiên cùng với khóa bí mật Trong mật mã dòng WG, kích thước của trạng thái bên trong là 2319gấp đôi kích thước của khoá lớn nhất Nếu một IV ngẫu nhiên có cùng độ dài với khoá bí mật, mật
mã sẽ được đảm bảo chống lại các cuộc tấn công thời gian/bộ nhớ/dữ liệu
Tấn công đại số:
Hình thức tấn công: Nhằm tấn công vào LFSR, tạo ra một hệ phương trình phi tuyến tính cho
nhiều dòng khoá, để có thể khôi phục được trạng thái bên trong của LFSR
Chứng minh mật mã WG an toàn với cuộc tấn công đại số:
Courtois đã chỉ ra rằng độ phức tạp của các cuộc tấn công này phụ thuộc vào bộ lọc phi tuyến tính
và số lượng các kết quả đầu ra được tạo ra bởi mật mã Nếu bộ lọc phi tuyến tính có thể tính xấp
xỉ bằng một phương trình đa biến có độ thấp thì độ phức tạp này có thể giảm một cách đáng kể Biểu diễn hàm bool của WG có 29 đầu vào, một đầu ra và có độ là 11 Một bộ lọc phi tuyến tính với 29 đầu vào và 1 đầu ra phải có xấp xỉ độ 14 Tuy nhiên độ này lớn hơn 11, độ của chuyển đổi
WG Để các xấp xỉ có ý nghĩa đối với chuyển đổi WG nên có độ nhỏ hơn 11 Giả sử rằng không
có phép xấp xỉ của WG với độ nhỏ hơn 11, mật mã có thể được giảm xuống một hệ phương trình tuyến tính xấp xỉ 319
11
Độ phức tạp của việc giải quyết hệ thống như vậy là xấp xỉ 319 log 7 182
11
7 / 64* 2 Nếu tồn tại phép xấp xỉ của WG với độ nhỏ hơn 11 được thì độ phức tạp của cuộc tấn công sẽ giảm Theo [9], kết quả thí nghiệm trên chuyển đổi WG, đưa ra phỏng đoán rằng xác suất của sự tồn tại của phép xấp xỉ như vậy là rất thấp Chuyển đổi WG trong các biến 11, 13 và 14 không có phép xấp xỉ với
độ nhỏ hơn so với độ chuyển đổi WG Vì cả hai biểu diễn bool và đa thức của chuyển đổi WG có
số lượng lớn các thuật ngữ đơn thức với độ cao thì nó không thể xóa được các thuật ngữ với độ cao hơn mà không ảnh hưởng đến đầu ra của chuyển đổi Chuyển đổi WG có một số lượng lớn các thuật ngữ đơn trong đó biểu diễn đa thức và bool đảm bảo an ninh chống lại các cuộc tấn công đại số
Các cuộc tấn công tương quan:
Phương thức tấn công: Đối với loại tấn công này, kẻ thù sẽ khai thác bất kỳ mối tương quan nào
có thể tồn tại giữa dòng khóa và đầu ra của LFSR trong mật mã để thực hiện tấn công
Trong các cuộc tấn công này, dòng khóa được coi là một phiên bản bị bóp méo hoặc gây nhiễu của đầu ra LFSR Điều này làm giảm khả năng tìm ra trạng thái nội bộ của LFSR dẫn tới khả năng giải
mã cũng giảm Chuyển đổi WG được dùng trong mật mã WG là 1-order linh hoạt, nghĩa là đầu ra của chuyển đổi WG hay dòng khóa không có mối lên quan gì với bất kỳ bit đầu vào nào của đầu ra LFSR