Trình bày về phương pháp thám mã vi sai Kỹ thuật thám mã vi sai do Eli Biham và Adi Shamir công bố vào năm 1990. Thám mã vi sai là dạng tấn công dựa vào các cặp bản rõ có lựa chọn, và phân tích giá trị khác nhau giữa 2 bản rõ ảnh hưởng tới giá trị khác nhau giữa 2 bản mã tương ứng.
Trang 1Trình bày về phương pháp thám mã vi sai
Giảng viên: PGS,TS Trịnh Nhật Tiến Học viên : Vũ Đức Mạnh
Trang 2Trình bày về phương pháp thám mã vi sai
Tổng kết
Ví dụ về thám mã DES 1 vòng
Cơ sở của thám mã vi sai đối với DES Giới thiệu về thám mã vi sai
Chương trình
Trang 3Giới thiệu về thám mã vi sai -
Cơ sở của thám mã vi sai
Kỹ thuật thám mã vi sai do Eli Biham và Adi Shamir công bố vào năm 1990.
Thám mã vi sai là dạng tấn công dựa vào các cặp bản rõ có lựa chọn, và phân tích giá trị khác nhau giữa 2 bản rõ ảnh hưởng tới giá trị khác nhau giữa 2 bản mã tương ứng.
Giá trị khác nhau có thể được định nghĩa thông qua các nhiều cách, nhưng phép toán cộng loại trừ (XOR) thường được sử dụng.
Các cặp vi sai vào - ra được gọi là (XOR vào, XOR ra) hay (I, O) :
I = SI ⊕ S* I
Trang 4Cơ sở của thám mã vi sai
đối với DES
Các phép toán tuyến tính có thể bỏ qua: hoán vị 2 nửa, chuyển vị P, P-1, mở rộng E và các
phép XOR không phức tạp đối với tấn công thám mã vi sai
Dựa vào sự phân bố không đồng đều của các cặp vi sai vào – ra của các hộp S (S1, S2,
…, S8) :
Không phải tất cả các cặp có XOR vào - I, đều cho kết quả XOR ra - O giống nhau
Số kết quả xuất hiện các XOR ra - O khác nhau có được từ một giá trị XOR vào - I là khác nhau
Theo dõi các cặp vi sai (I O) xuất hiện với tần suất cao hơn thấy được sự nổi bật vai trò
của khóa thu hẹp không gian tìm khóa.
Trang 5Cơ sở của thám mã vi sai đối với DES
(S-Boxes):
Các hộp S là hoàn toàn phi tuyến, tuy nhiên vẫn tồn tại những “lỗ hổng” hay “điểm yếu”: có sự phân bố xác suất vi sai không đều
Hộp S-7 là hộp S an toàn nhất: với bất kỳ giá trị khác nhau đầu vào (6-bit) nào khác 0, I , sẽ không nhiều
hơn 8 trong số 32 cặp đầu vào với I cho cùng kết quả giá trị khác nhau đầu ra O (tỷ lệ 1/4).
Xác suất cao nhất của toàn bộ cặp bản rõ có cùng giá trị khác nhau đầu vào cho trước sau khi chạy qua n vòng của DES mang lại cùng một giá trị khác nhau đầu ra : (1/4)n
Trang 6Cơ sở của thám mã vi sai đối với DES
(Quy trình thám mã vi sai DES)
Tiền tính toán, lập các bảng tham chiếu: Dựa vào các hộp S để lập các bảng thống kê
giá trị khác nhau đầu vào và các giá trị khác nhau đầu ra tương ứng
Giới hạn không gian tìm khóa: Sử dụng nhiều cặp bản rõ có lựa chọn và theo quy luật phân
bổ xác suất để từng bước xác định từng bit khóa
Xác định khóa duy nhất:
Với đầy đủ cặp bản rõ, chúng ta có thể xác định một phần hay toàn bộ các bít khóa
Đối với các bit khóa khó xác định được thực hiện vét cạn trong không gian đã giới hạn
Từ khóa vòng (subkey) cuối cùng Thực hiện suy diễn các khóa vòng khác
Trang 7Cơ sở của thám mã vi sai
đối với DES
Có thể bỏ qua khóa k trong giai đoạn tính đầu vào cho hộp S
S1I = S1E S⊕ 1k, S*1I = S*1E S⊕ 1k
I = S1I S* ⊕ 1I
I = (S1E S⊕ 1k) (S*⊕ 1E S⊕ 1k) = (S1E S* ⊕ 1E) (S ⊕ 1k S ⊕ 1k)
I = S1E S* ⊕ 1E
S1E,S*1E (6 bit)
S1I,S*1I (6 bit)
Khóa S1k (6 bit)
Hộp S-1
(Vào 6 bit, ra 4 bit)
Trang 8Cơ sở của thám mã vi sai
đối với DES
Hình 2: Hàm-F của DES
Lập Bảng tham chiếu cho từng hộp S:
Có 6 bit vào có 26 = 64 giá trị đầu vào có thể
Có 4 bit ra có 24 = 16 giá trị bit ra có thể
Lập bảng tham chiếu 64 x 16 thống kê số lượng các bộ Vi sai tương ứng với cặp XOR vào/ra
Trang 9Cơ sở của thám mã vi sai
đối với DES
Bảng 1: Phân bổ cặp vi sai Vào – Ra
(cặp XOR) của hộp S1
Trích “Thám mã vi sai DES” – Alan Silvester, Năm 2004
Mỗi dòng: trình diễn giá trị XOR vào (giá trị khác
nhau đầu vào)
Mỗi cột: Trình diễn giá trị XOR ra (giá trị khác
nhau đầu ra)
Các phần tử trong bảng: Số lượng “bộ” có thể
với các XOR vào và XOR ra tương ứng
Bình quân, mỗi “bộ” sẽ được trả kết quả từ 4 cặp vào/ra.
Không phải tất cả các “bộ” đều tồn tại và trong số các “bộ” tồn tại lại phân bố không đều.
Trang 10Tấn công thám mã vi sai đối với DES 1 vòng
Tiền tính toán (đối với từng hộp S – 6 bit)
Giả sử có cặp vào S1E = 08x, S*
1E = 04x, khóa bí mật là S1k = 1Ax :
S1I = S1E S ⊕ 1k
= 08x 1A ⊕ x
= 12x
S*1I = S * 1E S ⊕ 1k
= 04x 1A ⊕ x
= 1Ex
S1O = S1(S1I)
= S1(12x)
= Ax
S*1O = S1(S *1I)
= S1(1Ex)
= 7x
Sử dụng hộp S1, ta có:
Bởi vậy, o = S’1O = S1O S ⊕ *1O = 0Dx (XOR ra)
Bỏ qua khóa k, tính I = S’1E = S’1I = (S1E S* ⊕ 1E) = 0Cx (XOR vào)
Tra Bảng 1 với cặp (XOR vào, XOR ra) = (0Cx, 0Dx)
Lập các tham chiếu: Bảng 2, Bảng 5
Lập các bảng tính các “khóa có thể”: Bảng 3, Bảng 4, Bảng 6
Theo công thức: S1k = S1I S ⊕ 1E
Trang 11Tấn công thám mã vi sai đối với DES 1 vòng
Từ Bảng 1, xét: S’1E = S’1I = 0Cx
S’1I S’1O <=> 0Cx 0Dx lập Bảng 2, Ta có các cặp đầu
vào:
(S1I, S*1I) ∈ {(01x, 0Dx), (12x, 1Ex), 36x, 3Ax)}
Chọn cặp (S1E, S*1E) = (08x, 04x) lập Bảng 3 xác định các “khóa có thể”
Bảng 2: Các đầu ra có thể với
Vi sai đầu vào là 0Cx
Trích “Thám mã vi sai DES” –
Alan Silvester, Năm 2004
Bảng 3: Các khóa có thể đối với cặp vi sai 0Cx 0Dx,
đầu vào (S1E, S*1E) = (08x, 04x)
Trang 12Tấn công thám mã vi sai đối với DES 1 vòng
Từ Bảng 1, xét: S’1E = S’1I = 0Cx
S’1I S’1O <=> 0Cx 0Ax lập Bảng 2, Ta có các
cặp đầu vào:
(S1I, S*1I) {(22x, 2Ex), (30x, 3Cx), 34x, 38x)} ∈
Chọn cặp (S1E, S*1E) = (38x, 34x) lập Bảng 4 xác định các “khóa có thể”
Bảng 2: Các đầu ra có thể với
Vi sai đầu vào là 0Cx
Trích “Thám mã vi sai DES” –
Alan Silvester, Năm 2004
Bảng 4: Các khóa có thể đối với cặp vi sai 0Cx 0Ax,
đầu vào (S1E, S*1E) = (38x, 34x)
Giới hạn vùng khóa
Trang 13Tấn công thám mã vi sai đối với DES 1 vòng
Từ Bảng 1, xét: S’1E = S’1I = 10x
S’1I S’1O <=> 10x Ax lập Bảng 5, Ta có các cặp
đầu vào:
(S1I, S*1I) {(01x, 11x), (21x, 31x), (2F, 3F)} ∈
Chọn cặp (S1E, S*1E) = (3Bx, 2Bx) lập Bảng 6 xác định các “khóa có thể”
Bảng 5: Các đầu ra có thể với
Vi sai đầu vào là 0Cx
Trích “Thám mã vi sai DES” –
Alan Silvester, Năm 2004
Bảng 6: Các khóa có thể đối với cặp vi sai 10x Ax, đầu
vào (S1E, S*1E) = (3Bx, 2Bx)
Xác định khóa duy nhất
Trang 14Lý thuyết về tấn công thám mã vi sai
đối với DES n vòng
đầu ra vòng n (có được từ bản mã) để suy dẫn ra khóa vòng thứ n.
Từ khóa vòng n suy dẫn các khóa vòng n-1, n-2, , 1 theo các phép biến đổi tuyến tính.
Trang 15Chương trình
Trang 16TỔNG KẾT
tìm khóa nhỏ hơn tìm khóa theo phương pháp vét cạn.
đương khoảng 280 tỷ tỷ lần mã hóa cần thực hiện.
Các hệ mã hóa có thể bị tấn công thám mã vi sai: LOKI, FEAL, và FEAL-N/NX
Cải tiến thành công của DES chống lại Thám mã vi sai: AES
Trang 17TỔNG KẾT
Cải tiến thành công của DES chống lại Thám mã vi sai: AES
Hình 3: Bản đồ phân bổ các cặp XOR của một trong các hộp S của DES
Hình 4: Bản đồ phân bổ các cặp XOR của một trong các hộp S của AES
Trang 18TÀI LIỆU THAM KHẢO
Silvester, Năm 2004.
Differential Cryptanalysis of DES-like Cryptosystems – E
Biham và A Shamir (Tạp chí Mật mã, Tập 4, số 1, Năm 1990)
Trang 19Click to edit company slogan Cảm ơn Thầy và các bạn đã theo dõi!