20 câu hỏi lí thuyết ôn tập mật mã học và ứng dụng PTIT

15 1.7K 7
20 câu hỏi lí thuyết ôn tập mật mã học và ứng dụng PTIT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1. Mã hoá dòng Định nghĩa: Cho K là một không gian khóa của một hệ mã và là một dòng khóa. Hệ mã này gọi là mã dòng nếu việc mã hóa trên chuỗi bản rõ bằng cách áp dụng lặp đi lặp lại của phép mã hóa trên những đơn vị thông điệp bản rõ. Mã dòng có các đặc tính sau:+ Kích thước một đơn vị mã hóa: gồm k bít. Bản rõ được chia thành các đơn vị mã hóa: P → p0p1p2...pn1 (pi: k bit)+ Một bộ sinh dãy số ngẫu nhiên: dùng một khóa K ban đầu để sinh ra các số ngẫu nhiên có kích thước bằng kích thước đơn vị mã hóa:StreamCipher(K) → S = s0s1s2...sn1 (si: k bit)+ Mỗi số ngẫu nhiên được XOR với đơn vị mã hóa của bản rõ để có đượcbản mã.c0 = p0 s0, c1 = p1 s1...; C = c0c1c2...cn1 Ứng dụng của mã hoá dòng trong thực tế:+ Dùng trong mạng GSM để bảo mật dữ liệu trong quá trình liên lạc giữa máy điện thoại và trạm thu phát sóng vô tuyến.+ Ứng dụng trong WEP, WPA, cung cấp bảo mật cho dữ liệu trên mạng không dây.2. AES: Cơ sở toán học, các bước xử líCơ sở toán học của AES: trong AES các phép toán cộng và nhân được thực hiện trên các byte trong trường hữu hạn GF(28)Phép cộng: A = (a1 a2 a3 a4 a5 a6 a7 a8); B = (b1 b2 b3 b4 b5 b6 b7 b8)C = A + B = (c1 c2 c3 c4 c5 c6 c7 c8), trong đó: Ci = ai+bi mod 2, 1 ≤ i ≤ 8.Phép nhân: Phép nhân được thực hiện trên GF(28) bằng cách nhân hai đa thức rút gọn theo mođulo của một đa thức bất khả quy m(x) = x8 + x4 + x3 + x +1.Các bước xử lí chính:•SubBytes: thay thế phi tuyến tính, trong đó mỗi byte trong state được thay thế bằng một byte khác sử dụng bảng tham chiếu;•ShiftRows: bước đổi chỗ, trong đó mỗi dòng trong state được dịch một số bước theo chu kỳ;•MixColumns: trộn các cột trong state, kết hợp 4 bytes trong mỗi cột.•AddRoundKey. Bước SubBytes: Mỗi byte trong ma trận state được thay thế bởi 1 byte trong Rijndael Sbox, hay bij = S(aij)

1 Mã hoá dòng - Định nghĩa: Cho K không gian khóa hệ mã k1k2    K dòng khóa Hệ mã gọi mã dòng việc mã hóa chuỗi rõ m1m2    cách áp dụng lặp lặp lại phép mã hóa đơn vị thông điệp rõ - Mã dòng có đặc tính sau: + Kích thước đơn vị mã hóa: gồm k bít Bản rõ chia thành đơn vị mã hóa: P → p0p1p2 pn-1 (pi: k bit) + Một sinh dãy số ngẫu nhiên: dùng khóa K ban đầu để sinh số ngẫu nhiên có kích thước kích thước đơn vị mã hóa: StreamCipher(K) → S = s0s1s2 sn-1 (si: k bit) + Mỗi số ngẫu nhiên XOR với đơn vị mã hóa rõ để có mã c0 = p0  s0, c1 = p1  s1 ; C = c0c1c2 cn-1 - Ứng dụng mã hoá dòng thực tế: + Dùng mạng GSM để bảo mật liệu trình liên lạc máy điện thoại trạm thu phát sóng vô tuyến + Ứng dụng WEP, WPA, cung cấp bảo mật cho liệu mạng không dây AES: Cơ sở toán học, bước xử lí Cơ sở toán học AES: AES phép toán cộng nhân thực byte trường hữu hạn GF(28) Phép cộng: A = (a1 a2 a3 a4 a5 a6 a7 a8); B = (b1 b2 b3 b4 b5 b6 b7 b8) C = A + B = (c1 c2 c3 c4 c5 c6 c7 c8), đó: Ci = ai+bi mod 2, ≤ i ≤ Phép nhân: Phép nhân thực GF(28) cách nhân hai đa thức rút gọn theo mođulo đa thức bất khả quy m(x) = x8 + x4 + x3 + x +1 Các bước xử lí chính:  SubBytes: thay phi tuyến tính, byte state thay byte khác sử dụng bảng tham chiếu;  ShiftRows: bước đổi chỗ, dòng state dịch số bước theo chu kỳ;  MixColumns: trộn cột state, kết hợp bytes cột  AddRoundKey - Bước SubBytes: Mỗi byte ma trận state thay byte Rijndael S-box, hay bij = S(aij) - Bước ShiftRows: Các dòng ma trận state dịch theo chu kỳ sang trái, Dòng thứ giữ nguyên - Bước MixColumns: Mỗi cột ma trận state nhân với đa thức c(x) - Bước AddRoundKey: Mỗi byte ma trận state kết hợp với byte khóa phụ sử dụng phép  (XOR) Hàm băm - Định nghĩa: thuật toán không sử dụng khóa để mã hóa , nhiệm vụ “lọc” (băm) thông điệp đưa vào theo thuật toán h chiều đó, đưa băm -có kích thước cố định Do người nhận nội dung hay độ dài ban đầu thông điệp băm hàm băm Giá trị hàm băm nhất, suy ngược lại nội dung thông điệp từ giá trị băm - Hàm băm không khóa + ĐN 1:Mật mã khối (n, r) mã khối xác định hàm khả nghịch từ rõ n bit sang mã n bit cách sử dụng khoá r bit Nếu E phép mã hoá Ek(x) ký hiệu cho phép mã hoá x khoá k + ĐN 2: Cho h hàm băm có lặp xây dựng từ mật mã khối với hàm nén  thực s phép mã hoá khối để xử lý khối tin n bit Khi tốc độ h 1/s - Hàm băm có khóa: hàm băm sử dụng để xác thực thông báo thường gọi thuật toán tạo mã xác thực thông báo (MAC) - Đặc trưng:  Plaintext x thu băm z = h(x)  khó tìm thông điệp trùng giá trị băm  Dễ dàng tính giá trị băm, khôi phục thông điệp từ giá trị băm khó khăn - Tính chất:  Tính không va chạm yếu: cho trước điện x, tiến hành mặt tính toán để tìm điện x’  x mà h(x’) = h(x)  Tính không va chạm mạnh: khả tính toán để tìm hai thông điệp x x’ mà x  x’ h(x) = h(x’)  Tính chiều: cho trước tóm lược thông báo z, thực mặt tính toán để tìm thông điệp ban đầu x cho h(x) = z Hoạt động Kerberos AS = (authentication server), TGS = (ticket granting server), SS =(service server) user nhập tên (ID) mật máy tính (máy khách) software máy khách thực hàm băm chiều mật nhận Kết dùng làm khóa bí mật người sử dụng 3.soft máy khách gửi gói tin (không mật mã hóa) tới AS để yêu cầu dịch vụ Nội dung gói tin đại ý: "user x muốn sd dv " ý private key and pass không send toAS AS check định danh người yêu cầu có nằm CSDL không Nếu có gửi gói tin to user : Gói tin A: "Khóa phiên TGS/máy khách" mật mã hóa với khóa bí mật người sử dụng Gói tin B: "Vé chấp thuận" (bao gồm danh người sử dụng (ID), địa mạng người sử dụng, thời hạn vé "Khóa phiên TGS/máy khách") mật mã hóa với khóa bí mật TGS Khi nhận đc , soft máy khách giải mã gói tin A để có khóa phiên với TGS (Người sử dụng giải mã gói tin B mã hóa với khóa bí mật TGS) So, user nhận thực với TGS user dụng gửi gói tin sau tới TGS: Gói tin C: Bao gồm "Vé chấp thuận" từ gói tin B danh (ID) yêu cầu dịch vụ Gói tin D: Phần nhận thực (bao gồm danh người sử dụng thời điểm yêu cầu), mật mã hóa với "Khóa phiên TGS/máy khách" Khi nhận gói tin C D, TGS giải mã D gửi gói tin sau tới người sử dụng: -Gói tin E: "Vé" (bao gồm danh người sử dụng, địa mạng người sử dụng, thời hạn sử dụng "Khóa phiên máy chủ/máy khách") mật mã hóa với khóa bí mật máy chủ cung cấp dịch vụ -Gói tin F: "Khóa phiên máy chủ/máy khách" mật mã hóa với "Khóa phiên TGS/máy khách" Khi nhận gói tin E F, người sử dụng có đủ thông tin để nhận thực với máy chủ cung cấp dịch vụ SS Máy khách gửi tới SS gói tin: - Gói tin E thu từ bước trước (trong có "Khóa phiên máy chủ/máy khách" mật mã hóa với khóa bí mật SS) - Gói tin G: phần nhận thực mới, bao gồm danh người sử dụng, thời điểm yêu cầu mật mã hóa với "Khóa phiên máy chủ/máy khách" SS giải mã "Vé" khóa bí mật gửi gói tin sau tới người sử dụng để xác nhận định danh khẳng định đồng ý cung cấp dịch vụ: Gói tin H: Thời điểm gói tin yêu cầu dịch vụ cộng thêm 1, mật mã hóa với "Khóa phiên máy chủ/máy khách" 10 Máy khách giải mã gói tin xác nhận kiểm tra thời gian có cập nhật xác Nếu người sử dụng tin tưởng vào máy chủ SS bắt đầu gửi yêu cầu sử dụng dịch vụ 11 Máy chủ cung cấp dịch vụ cho người sử dụng RSA - Chọn ngẫu nhiên số nguyên tố lớn p q Tính số làm modulo hệ thống: N = p.q - Tính Ф(N)=(p-1)(q-1) - Chọn ngẫu nhiên khoá mã e 1

Ngày đăng: 08/08/2016, 07:57

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan