1. Trang chủ
  2. » Thể loại khác

BÀI 4: MÃ CÔNG KHAI VÀ XÁC THỰC THÔNG ĐIỆP

26 5 0

Đ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

Nội dung

Bài 4: Mã công khai xác thực thông điệp BÀI 4: MÃ CÔNG KHAI VÀ XÁC THỰC THÔNG ĐIỆP Nội dung       Mục tiêu      Biết cách thiết lập hệ thống ứng dụng mã công khai RSA; Hiểu sử dụng thuật tốn trao đổi khóa Diffie-Hellman; Vận dụng thuật toán băm SHA; Tạo chữ ký điện tử RSA chuẩn chữ ký điện tử DSS; An toàn hệ thống cơng khai dựa độ khó tốn phân tích thừa số, logarit rời rạc IT201_Bai 4_v1.001103219 Khái niệm mã công khai; Mã công khai RSA; Trao đổi khóa Diffie-Hellman; Xác thực thơng điệp – Mã xác thực; Hàm băm; Chữ ký điện tử Thời lượng học  tiết 57 Bài 4: Mã cơng khai xác thực thơng điệp TÌNH HUỐNG DẪN NHẬP Tình    Mã khóa đối xứng dùng chung người nhận người gửi Khi khóa dùng, việc trao đổi thông tin phải thỏa thuận trước, có cách phân phối khóa mật hiệu Là đối xứng, hai đối tác nhau, khơng bảo vệ người gửi khỏi việc người nhận giả mạo mẩu tin tuyên bố gửi từ người gửi Câu hỏi Phân phối khóa - phân phối khóa an tồn mà khơng cần trung tâm phân phối khóa tin cậy? Tại biết khóa cơng khai người sử dụng mà lại giữ bí mật khóa riêng? Cơ sở an tồn mã khóa cơng khai gì? Có cách để kiểm tra tính tồn vẹn, khơng bị sửa đổi thông điệp gửi qua mạng? Chữ ký điện tử – kiểm chứng mẩu tin gửi đến nguyên vẹn từ người đứng tên gửi? 58 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp 4.1 Các khái niệm mã hóa cơng khai Nhược điểm dùng mã khóa đối xứng Mã khóa đối xứng cịn gọi mã khóa đơn hay mật Ở dùng khóa, dùng chung người nhận người gửi Khi khóa dùng, việc trao đổi thơng tin khóa thỏa thuận trước Liệu có cách trao đổi trực tiếp an toàn mạng mà khơng cần bên thứ ba khơng Người ta cịn gọi mã đối xứng, hai đối tác có vai trị Do khơng bảo vệ người gửi khỏi việc người nhận giả mạo mẩu tin tuyên bố gửi từ người gửi Nghĩa hai người dùng mã đối xứng, họ giữ bí mật nội dung trao đổi, thân mẩu tin không mang thông tin xác thực người gửi 4.1.1 Khái niệm mã khóa cơng khai Mã khóa cơng khai đời vào đầu năm 1970 Có thể nói bước tiến quan trọng lịch sử 3000 năm mã hóa Ở người ta sử dụng hai khóa: khóa riêng khóa cơng khai Hai khóa khác nhau, khơng đối xứng với nhau, mã khóa cơng khai, cịn gọi mã không đối xứng Người ta ứng dụng cách thông minh kết lý thuyết số cặp toán thuận - dễ, ngược – khó Mã khóa cơng khai đời hỗ trợ thêm để giải số toán an ninh, khơng phải thay mã khóa riêng Cả hai loại mã tồn tại, phát triển bổ sung cho Mã khóa cơng khai (hai khóa, khơng đối xứng) bao gồm việc sử dụng hai khóa:  Khóa cơng khai, người biết, dùng để mã hóa mẩu tin kiểm chứng chữ ký  Khóa riêng người sở hữu biết, để giải mã tin để tạo chữ ký  Là khơng đối xứng người mã hóa kiểm chứng chữ ký giải mã tạo chữ ký Sơ đồ mã khóa cơng khai Tại lại phải dùng mã khóa cơng khai Người ta muốn giải hai vấn đề sau khóa nảy sinh thực tế:  Phân phối khóa – phân phối khóa an tồn mà khơng cần trung tâm phân phối khóa tin cậy?  Chữ ký điện tử – kiểm chứng mẩu tin gửi đến nguyên vẹn từ người đứng tên gửi? IT201_Bai 4_v1.001103219 59 Bài 4: Mã công khai xác thực thơng điệp Nếu dùng khóa đối xứng, khơng có giải pháp cho hai tốn Mã khóa cơng khai phát minh hai nhà bác học Whitfield Diffie Martin Hellman trường Đại học Stanford vào năm 1976 Tuy nhiên khái niệm ban đầu biết đến sớm cộng đồng nhà khoa học 4.1.2 Các đặc trưng khóa cơng khai Các thuật tốn khóa cơng khai dùng hai khóa với đặc trưng sau:  Khơng có khả tính tốn để tìm khóa giải mã biết thuật tốn mã khóa dùng để mã  Có thể dễ dàng mã hóa giải mã mẩu tin biết khóa tương ứng  Trong số sơ đồ: khóa hai khóa dùng để mã, cịn khóa dùng để giải mã Chúng có vai trị đối ngược Thơng điệp nguồn KRa Hệ thống mã khóa cơng khai: bí mật xác thực 4.1.3 Ứng dụng khóa cơng khai Có thể phân loại ứng dụng khóa cơng khai thành ba loại khác nhau:  Mã/giải mã – cung cấp bảo mật Đây ứng dụng bảo mật truyền thống giống ta thường dùng với khóa đối xứng  Chữ ký điện tử – cung cấp xác thực Một ứng dụng khóa cơng khai mà khóa đối xứng khơng thể thực được, khóa cơng khai có đủ sở để xác nhận người gửi lựa chọn để tạo chữ ký điện tử người gửi  Dùng khóa cơng khai phân phối khóa mật hai người sử dụng Một số thuật tốn mã cơng khai phù hợp với ứng dụng, số khác chuyên dùng cho ứng dụng cụ thể 4.1.4 Tính an tồn sơ đồ khóa cơng khai Cũng giống khóa riêng việc tìm kiếm vét cạn ln ln có thể, tức biết hai khóa thuật tốn mã hóa ngun tắc ta dị tìm khóa thứ hai cách tính tốn giá trị liên quan Nói chung khối lượng cần tính tốn lớn độ phức tạp tốn xác định khóa Nếu khóa sử dụng lớn cỡ 512 bit tốn tìm khóa thứ hai không khả thi, thực thời gian có nghĩa, cho dù nguồn lực lớn 60 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thơng điệp Tính an tồn dựa khác biệt đủ lớn toán dễ mã/giải mã biết khóa tốn khó thám mã khơng biết khóa tương ứng Vì tốn thám mã nằm lớp tốn khó tổng quát biết đến mặt lý thuyết chứng minh khó thực thực tế Bởi đòi hỏi sử dụng số lớn, nên số phép toán cần thực nhiều Đây ý tưởng để tạo nên mã cơng khai Ta tìm kiếm tốn mà biết thơng tin mật che giấu dễ thực hiện, cịn khơng thuộc lớp tốn khó giải, khơng thể giải thực tế Mã công khai thường chậm nhiều so với mã đối xứng, nên thường dùng mã hóa thơng tin nhỏ quan trọng 4.2 Mã công khai RSA RSA mã công khai sáng tạo Rivest, Shamir & Adleman MIT (Trường Đại học Công nghệ Massachusetts) vào năm 1977 RSA mã công khai biết đến nhiều sử dụng rộng rãi Nó dựa phép toán lũy thừa trường hữu hạn số nguyên theo modulo nguyên tố Cụ thể, mã hóa hay giải mã phép toán luỹ thừa theo modulo số lớn Việc thám mã, tức tìm khóa riêng biết khóa cơng khai, dựa tốn khó phân tích số lớn thừa số ngun tố Nếu khơng có thơng tin gì, ta phải kiểm tra tính chia hết số cho tất số nguyên tố nhỏ Đây việc làm khơng khả thi Người ta chứng minh rằng, phép lũy thừa cần O((log n)3) phép tốn, nên coi lũy thừa toán dễ Cần ý ta sử dụng số lớn khoảng 1024 bit, tức cỡ 10350 Tính an tồn dựa vào độ khó tốn phân tích thừa số số lớn Bài tốn phân tích thừa số yêu cầu O(e log n log log n) phép toán, tốn khó Mã cơng khai RSA gồm hai giai đoạn: khởi tạo khóa RSA giai đoạn mã hóa/giải mã 4.2.1 Khởi tạo khóa RSA Người sử dụng A tạo cặp khóa cơng khai – riêng sau:  Chọn ngẫu nhiên hai số nguyên tố lớn p q khác  Tính số N làm modulo hệ thống: N = p.q _ _ o Ta biết Ф(N) = (p 1)(q 1)  Chọn ngẫu nhiên khóa mã e làm khóa cơng khai, cho < e < Ф(N) gcd(e,Ф(N)) = 1, tức e Ф(N)là hai số nguyên tố  Nghịch đảo e theo modulo Ф(N)là khóa riêng d, tìm d từ phương trình (e.d) mod Ф(N) = 1, với 0< d < Ф(N) hay d = e-1 mod Ф(N) Chú ý vai trò e d thay đổi cho tức lấy e làm khóa mật tính d nghịch đảo e làm khóa cơng khai  Người sử dụng A in khóa mã cơng khai: KU = {e, N} thông báo cho người biết  Người sử dụng A giữ bí mật khóa riêng: KR = {d,p,q} IT201_Bai 4_v1.001103219 61 Bài 4: Mã công khai xác thực thông điệp 4.2.2 Sử dụng RSA  Để mã hóa mẩu tin M, người gửi B: o Lấy khóa cơng khai người nhận A: KU = {e,N} o Mã hóa thơng điệp M khóa cơng khai người nhận A: e C = M mod N, ≤ M < N  Để giải mã mã, người sử dụng A: o Sử dụng khóa riêng KR = {d,p,q} o Giải mã thơng điệp, tính d M = C mod N  Lưu ý tin M < N, cần chia khối rõ thành khối nhỏ để thỏa mãn tính chất 4.2.3 Cơ sở RSA Ta chứng minh Cd mod N = M Thật vậy, ta có e Ф(N) nguyên tố nhau, nên tồn số nghịch đảo d, tức là: (e.d) mod Ф(N) = Do tồn số nguyên dương k đó, cho e.d = + k.Ф(N) Suy Cd = (Me)d = M1+k.Ф(N) = M1.(MФ(N))k Vì dựa theo định lý Euler chứng minh MФ(N) mod N = nên d (N) k (N) C Mod N = M1.(MФ ) mod N = M mod N.(MФ mod N)k = M.1 mod N = M Ví dụ 1: Tạo khóa cơng khai cho người sử dụng A, sau người sử dụng B dùng khóa cơng khai A mã hóa thơng điệp gửi cho A cuối A sử dụng khóa riêng để giải mã thơng điệp Tạo khóa cơng khai cho người sử dụng A Chọn số nguyên tố: p = 17 q = 11 Tính N = p.q, N = 17.11 = 187 Tính Ф(N) = (p –1).(q – 1) = 16.10 = 160 Chọn e: gcd(e,160) = 1; Lấy e = Xác định d: (e.d) mod 160 = d < 160 Giá trị cần tìm d = 23, 23.7 = 161 = 10.160 + In khóa cơng khai người sử dụng A: KU={7,187} Giữ khóa riêng bí mật riêng A: KR={23,17,11} B sử dụng khóa cơng khai A để mã hóa mã thơng điệp gửi cho A:  Cho mẩu tin M = 88 (thỏa mãn điều kiện 88 < 187) 62 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp  Mã C = 887 mod 187 = 11 Người sử dụng A dùng khóa riêng để giải mã sau: M = 1123 mod 187 = 88  Có thể dùng định lý phần dư Trung Hoa để giải mã cho nhanh sau: o Tính 1123 mod 11 = 23 16 o Tính 1123 mod 17 = (–6) mod 17 = (–6) (–6) (–6) (–6) mod 17 = Vì (–6)2 mod 17 = 2, nên (–6)4 mod 17 = 4, (–6)8 mod 17 = –1, (–6)16 mod 17 = 11-1 mod 17 = (–6)–1 mod 17 = 14 nên c2 = 11 (11-1 mod 17) = 11 (14 mod 17) = 154 o Vậy M = (3.154) mod 187 = 462 mod 187 = 88 Giải mã hiệu quả: Như thấy qua ví dụ trên, biết N = p.q, ta giải mã nhanh cách sử dụng định lý phần dư Trung Hoa tính tốn theo modulo p q Sau kết hợp lại để tìm rõ Vì người sử dụng sở hữu khóa riêng, nên biết p q, sử dụng kỹ thuật Nếu sử dụng định lý phần dư Trung Hoa để giải mã hiệu nhanh gấp bốn lần so với giải mã tính trực tiếp Sinh khóa RSA Người sử dụng RSA cần phải xác định ngẫu nhiên hai số nguyên tố lớn, thông thường khoảng 512 bit Do việc sinh ngẫu nhiên p, q kiểm tra xác suất tính nguyên tố chúng có nhiều giải pháp khác với độ tin cậy cao Sau chọn khóa e d nguyên tố với Ф(N), dễ dàng tính khóa số nghịch đảo qua thuật tốn Euclide mở rộng o 4.2.4 An tồn RSA Trên thực tế có nhiều cách công khác mã công khai RSA sau: Tìm kiếm khóa phương pháp vét cạn, phương pháp khơng khả thi với kích thước đủ lớn số cơng tốn học dựa vào độ khó việc tính Ф(N) cách phân tích N thành hai số nguyên tố p q tìm cách tính trực tiếp Ф(N) Trong q trình nghiên cứu việc thám mã người ta đề xuất kiểu công thời gian giải mã, tức vào tốc độ mã hóa giải mã mẩu tin cho trước mà phán đốn thơng tin khóa Cuối có nghiên cứu cơng RSA với điều kiện biết trước mã cho trước Cụ thể sau: Bài tốn phân tích  Tấn cơng tốn học có ba dạng: o Phân tích N = p.q, sau tính Ф(N) d; o Tìm n trực tiếp Ф(N) tính d; o Tìm d trực tiếp  Hiện tin tất toán tương đương với toán phân tích số thừa số ngun tố o Có bước tiến chậm theo thời gian; o Hiện cho RSA 1024 2048 an toàn  Tấn công thời gian: IT201_Bai 4_v1.001103219 63 Bài 4: Mã công khai xác thực thông điệp o o o o Được phát triển vào năm 1990; Paul Kocher kẻ thám mã xác định khóa riêng theo dõi thời gian máy tính cần để giải mã tin Tấn công thời gian không áp dụng cho RSA, mà với hệ mã công khai khác Tấn công thời gian giống kẻ cướp đoán số điện thoại cách quan sát người chuyển quay điện thoại từ số sang số khác  Tấn cơng mã chọn trước o RSA có điểm yếu với công mã chọn trước; o Kẻ cơng chọn mã đốn rõ giải mã; o Chọn mã cho việc khám phá RSA, cung cấp thông tin để thám mã; 4.3 Trao đổi khóa Diffie Hellman 4.3.1 Yêu cầu Trao đổi khóa Diffie Hellman sơ đồ khóa cơng khai đề xuất Diffie Hellman năm 1976 với khái niệm khóa cơng khai Sau biết đến James Ellis (Anh), người đề xuất bí mật năm 1970 mơ hình tương tự Đây phương pháp thực tế trao đổi cơng khai khóa mật đối xứng Nó thúc đẩy việc nghiên cứu tìm mã khóa cơng khai Sơ đồ sử dụng nhiều sản phẩm thương mại Trao đổi khóa Diffie Hellman sơ đồ trao đổi khóa mật đối xứng dùng khóa cơng khai có đặc trưng sau:  Không thể dùng để trao đổi mẩu tin  Tuy nhiên thiết lập khóa chung  Chỉ có hai đối tác biết đến  Giá trị khóa phụ thuộc vào đối tác (và thơng tin khóa cơng khai khóa riêng họ)  Dựa phép toán lũy thừa trường hữu hạn (chẳng hạn, modulo theo số nguyên tố) tốn dễ  Độ an tồn dựa độ khó tốn tính logarit rời rạc (giống tốn phân tích thừa số) tốn khó 4.3.2 Khởi tạo Diffie Hellman  Mọi người dùng thỏa thuận dùng tham số chung: o Số nguyên tố lớn q o α nguyên tố mod q  Mỗi người dùng (A chẳng hạn) tạo khóa mình: o Chọn số xA làm khóa mật (số) A: xA < q o o 64 Tính khóa cơng khai yA A: yA =  xA mod q Mỗi người dùng thơng báo cơng khai khóa cơng khai yA giữ bí mật khóa riêng xA IT201_Bai 4_v1.001103219 Bài 4: Mã cơng khai xác thực thơng điệp 4.3.3 Trao đổi khóa Diffie Hellman Sau bước khởi tạo khóa, giả sử hai người sử dụng A B thông báo công khai cho biết khóa cơng khai yA yB Khi người sử dụng A B tự tính khóa phiên dùng chung sau:  Khóa phiên dùng chung cho hai người sử dụng A, B KAB KAB = αxA.xB mod q = yAxB mod q (mà B tính) = yBxA mod q (mà A tính)  KAB sử dụng khóa phiên để mã hóa giải mã thơng điệp trao đổi A B  A B trao đổi với nhau, họ có khóa chung KAB họ chọn khóa  Kẻ thám mã cần biết khóa riêng hai người sử dụng, phải giải x tốn logarit rời rạc, tìm xA từ phương trình yA = α A mod q Đây tốn khó, sở an tồn cho thủ tục trao đổi khóa Diffie – Hellman Ví dụ 2: Hai người sử dụng Alice Bob muốn trao đổi khóa phiên: o Đồng ý chọn số nguyên tố: q = 353 α = o Chọn khóa mật ngẫu nhiên: A chọn xA = 97; B chọn xB = 233 o o Tính khóa cơng khai A B: yA=397 mod 353 = 40 (Alice) yB=3233 mod 353 = 248 (Bob) Tính khóa phiên chung: KAB = yBxA mod 353 = 24897 = 160 (Alice) KAB = yAxB mod 353 = 40233 = 160 (Bob) 4.4 Xác thực mẩu tin hàm HASH 4.4.1 Xác thực thông điệp Các khái niệm Xác thực mẩu tin (thông điệp) liên quan đến khía cạnh sau, truyền tin mạng:  Bảo vệ tính tồn vẹn mẩu tin: bảo vệ mẩu tin không bị thay đổi có biện pháp phát mẩu tin bị thay đổi đường truyền  Kiểm chứng danh tính nguồn gốc: xem xét mẩu tin có người xưng tên gửi không hay kẻ mạo danh khác gửi  Không chối từ gốc: trường hợp cần thiết, thân mẩu tin chứa thơng tin chứng tỏ có người xưng danh gửi, khơng khác làm điều Như người gửi từ chối hành động gửi, thời gian gửi nội dung mẩu tin Ngồi xem xét bổ sung thêm yêu cầu bảo mật mã hóa Với mong muốn đáp ứng yêu cầu trên, có ba hàm lựa chọn sau sử dụng: IT201_Bai 4_v1.001103219 65 Bài 4: Mã công khai xác thực thông điệp  Mã mẩu tin mã đối xứng mã công khai  Mã xác thực mẩu tin (MAC): dùng khóa hàm nén mẩu tin cần gửi để nhận đặc trưng đính kèm với mẩu tin người gửi  Hàm hash (hàm băm) hàm nén mẩu tin tạo thành “dấu vân tay” cho mẩu tin Các yêu cầu bảo mật truyền mẩu tin mạng Tìm biện pháp cần thiết để chống đối lại hành động phá hoại sau:  Để lộ bí mật: đọc nội dung mẩu tin khơng phép  Thám mã đường truyền: theo dõi phân tích đường truyền  Giả mạo: lấy danh nghĩa người khác để gửi tin  Sửa đổi nội dung: thay đổi, cắt xén, thêm bớt thông tin  Thay đổi trình tự gói tin nhỏ mẩu tin truyền  Sửa đổi thời gian: làm trì hỗn mẩu tin  Từ chối gốc: người gửi từ chối trách nhiệm tác giả mẩu tin  Từ chối đích: người nhận phủ định tồn đến đích mẩu tin gửi Mã mẩu tin  Mã mẩu tin thân cung cấp phần tính xác thực, khóa chia sẻ người gửi người nhận việc thay đổi nội dung khơng dễ dàng thực khơng có khóa  Cụ thể mã đối xứng sử dụng, người nhận biết người gửi phải tạo mẩu tin, có người gửi người nhận biết khóa sử dụng  Người nhận biết nội dung khơng bị sửa đổi, mẩu tin có cấu trúc phù hợp, tính dư thừa tổng kiểm tra để phát thay đổi  Nếu khóa cơng khai sử dụng mã cung cấp khơng đủ độ tin cậy người gửi, người biết khóa cơng khai người nhận Tuy nhiên người gửi ký mẩu tin sử dụng khóa riêng họ sau mã với khóa cơng khai người nhận, đảm bảo tính bảo mật xác thực mẩu tin Cần phải bổ sung biện pháp để phát mẩu tin bị làm hỏng Việc sử dụng khóa riêng người gửi kết hợp với khóa cơng khai người nhận có nhiều ưu việt, với giá phải trả chậm dùng hai mã khóa cơng khai mẩu tin 4.4.2 Mã xác thực mẩu tin (MAC – Message Authentication Code)  Mã xác thực mẩu tin MAC sinh thuật toán mà tạo khối thơng tin nhỏ có kích thước cố định o Phụ thuộc vào mẩu tin khóa đó; o Giống mã khơng cần phải giải mã  Bổ sung vào mẩu tin chữ ký để gửi kèm theo làm chứng xác thực  Người nhận thực tính tốn mẩu tin kiểm tra xem có phù hợp với MAC đính kèm khơng  Tạo niềm tin mẩu tin không bị thay đổi đến từ người gửi 66 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp  Hoặc M bit trái (16  M  64) khối cuối  Bây MAC cuối với kích thước 64 bit nhỏ để đảm bảo an tồn Do người ta tìm cách tạo nên MAC có kích thước lớn 4.5 Các hàm hash (hay cịn gọi hàm băm) 4.5.1 Mục đích  Nén mẩu tin kích thước cố định Và giả thiết hàm hash công khai khơng dùng khóa Hash phụ thuộc mẩu tin, cịn MAC phụ thuộc thêm vào khóa  Hash sử dụng để phát thay đổi mẩu tin Hash sử dụng nhiều cách khác với mẩu tin, hash thường kết hợp dùng để tạo chữ ký mẩu tin M KRa H 4.5.2 E M ll H KUa EKRa[H(M)] Compare E Các tính chất hàm hash  Hàm Hash tạo nên dấu vân tay (tức thông tin đặc trưng) tệp, mẩu tin hay liệu h = H(M)  Nén mẩu tin có kích thước tùy ý dấu vân tay có kích thước cố định Hàm Hash giả thiết công khai, người biết cách sử dụng Các yêu cầu hàm hash  Có thể áp dụng cho mẩu tin có kích thước tùy ý Tuy nhiên phải tạo đầu h có kích thước cố định, thường 128 bit đến 1024 bit  Dễ tính h = H(M) cho mẩu tin M, hàm H tính tốn nhanh, hiệu phụ thuộc chặt vào mẩu tin M khơng tính tốn ngược lại  Cho trước h, khơng thể tìm (rất khó) x cho H(x) = h Tính chất gọi tính chất chiều, chiều tìm nghịch ảnh khó khăn, chiều tìm ảnh lại dễ dàng  Cho x khơng thể tìm y cho H(y) = H(x) Đây tính chất chống đỡ va chạm yếu, khơng tìm mẩu tin có Hash với mẩu tin cho  Và khơng thể tìm x, y cho H(y) = H(x) Đây gọi tính chất chống đỡ va chạm mạnh, yêu cầu cao tính chống đỡ va chạm yếu 4.5.3 Các hàm hash đơn giản Có số đề xuất cho số hàm hash đơn giản Chẳng hạn biểu diễn mẩu tin dạng bit, sau chia chúng thành khối bit có kích thước kích thước mong muốn hash Rồi dựa phép toán XOR bit thơng tin vị trí tương ứng khối, kết nhận hash mẩu tin Hàm hash không an 68 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thơng điệp tồn mẩu tin tìm mẩu tin mà có hàm hash Cần phải có hàm mạnh mà xét phần sau Tấn cơng ngày sinh nhật Có thể nghĩ hash 64 bit an tồn, có nghĩa khó tìm tin có hash Nhưng khơng phải nghịch lý ngày sinh nhật sau: lớp có sinh viên, để xác suất có hai sinh viên trùng ngày sinh nhật lớn 0,5 Theo lý thuyết xác suất thống kê gọi số sinh viên lớp k, xác suất q để khơng có người trùng ngày sinh tỷ số cách chọn k ngày khác 365 ngày số cách chọn k ngày 365 ngày Vậy q = Ck365 / 365k Do đó, xác suất p để có người trùng ngày sinh p = – q = – Ck365 / 365k Để p > 0,5 k > 22 hay k = 23, cụ thể p = 0,5073 Khi chưa tính tốn chi tiết nghĩ lớp phải có khoảng 365/2 tức 184 sinh viên Nhưng thực tế số nhiều, cần 23 sinh viên, ta gọi nghịch lý ngày sinh nhật Điều muốn nói lên rằng, nhiều trường hợp xác suất để hai mẩu tin có hash khơng nhỏ tưởng Tấn công ngày sinh nhật hoạt động sau:  Kẻ thám mã tạo 2m/2 biến thể mẩu tin đúng, mà tất có chất ngữ nghĩa nhau, với m độ dài mã hash  Kẻ thám mã tạo 2m/2 biến thể khác mẩu tin lừa dối, tức có ngữ nghĩa ngược lại  Hai tập tin so sánh với để tìm cặp có hash (xác suất lớn 0,5 dựa vào nghịch lý ngày sinh nhật)  Người dùng ký vào mẩu tin đúng, sau bị thay mẩu tin giả mà có chữ ký  Kết luận cần phải dùng MAC hash có kích thước lớn Mã khối hàm hash  Có thể sử dụng mã khối hàm hash IT201_Bai 4_v1.001103219 69 Bài 4: Mã công khai xác thực thông điệp o o o o Sử dụng H0 = đệm khơng cho khối cuối cùng; Tính Hi = EMi [Hi-1]; Và sử dụng khối cuối giá trị hàm hash; Giống chế độ CBC, khơng có khóa  Hash kết nhỏ (64 bit) o Cả công sinh nhật trực tiếp; o Cả công trung gian  Các phương án khác dễ bị cơng Kẻ thám mã tạo 2m/2 biến thể khác mẩu tin 4.5.4 Tính an tồn hàm hash MAC Giống mã khối, hàm hash có cơng vét cạn, cụ thể: Hash chống va chạm mạnh có giá 2m/2, có nghĩa với m độ dài mã hash, 2m/2 xác định sức mạnh chống đối lại công vét cạn Ta cần lựa chọn m đủ lớn để việc duyệt tìm 2m/2 phương án khơng khả thi Có đề xuất hash 128 bit cho MD5 phần cứng Nhưng tìm va chạm sau 24 ngày Do coi hash 128 bit có lỗ hổng, khơng an tồn, tốt dùng hash 160 bit Tấn cơng vét cạn MAC khó hơn, chúng địi hỏi cặp MAC mẩu tin biết, phụ thuộc thêm vào khóa Có thể cơng vào khơng gian khóa (như tìm khóa) MAC Độ dài 128 bit MAC cần thiết để đảm bảo an tồn Cấu trúc thuật tốn hash 4.5.5 Thuật tốn hash an tồn SHA (Secure Hash Algorithm) SHA có nguồn gốc từ Viện chuẩn cơng nghệ quốc gia Hoa Kỳ – NIST & NSA vào năm 1993, sau nâng cấp vào 1995 theo chuẩn US chuẩn FIPS 180–1 1995 Internet RFC3174, nhắc đến SHA–1 Nó sử dụng với sơ đồ chữ ký điện tử DSA (Digital Signature Algorithm) Thuật toán SHA dựa thiết kế MD4 với số khác biệt tạo nên giá trị hash 160 bit Các kết nghiên cứu 2005 an toàn SHA–1 đề xuất sử dụng tương lai 70 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp 4.5.6 Thuật tốn SHA-1 Mơ tả thuật tốn Đầu vào thuật tốn thơng điệp có chiều dài nhỏ 264 bit, SHA-1 cho kết thơng điệp rút gọn có độ dài 160 bit Đầu vào xử lý theo khối 512 bit Thuật toán SHA1 thực theo bước sau:  Bổ sung đệm bit Thông điệp bổ sung cho độ dài đồng dư với 448 mod 512  Bổ sung độ dài Thêm khối 64 bit vào cuối thông điệp, biểu diễn độ dài thực thơng điệp  Khởi tạo đệm 160 bit đệm sử dụng để giữ giá trị trung gian cuối băm, gồm năm ghi 32 bit: A, B, C, D, E  Xử lý khối liệu 512 bit hay 16 từ 32 bit gồm bốn vòng, vòng 20 bước Bốn vòng sử dụng bốn hàm logic f1, f2, f3, f4 Mở rộng thông điệp Thông điệp M mở rộng trước thực băm Mục đích việc mở rộng để đảm bảo cho thơng điệp mở rộng có độ dài bội số 512 Thông điệp M mở rộng trước thực băm Mục đích việc mở rộng để đảm bảo cho thông điệp mở rộng có độ dài bội số 512 Thông điệp M mở rộng trước thực băm Mục đích việc mở rộng để đảm bảo cho thơng điệp mở rộng có độ dài bội số 512 Giả sử độ dài thông điệp L bit Thêm bit vào cuối thông điệp, theo sau k bit (k số dương không âm nhỏ cho L + + k = 448 (mod 512)) Sau thêm khối 64 bit biểu diễn nhị phân L Bốn hàm logic với 20 bước vòng, f(t;B,C,D) định nghĩa sau: f(t;B,C,D) = (B AND C) OR ((NOT B) AND D) (0 ≤ t ≤ 19) f(t;B,C,D) = B XOR C XOR D (20 ≤ t ≤ 39) f(t;B,C,D) = (B AND C) OR (B AND D) OR (C AND D) (40 ≤ t ≤ 59) f(t;B,C,D) = B XOR C XOR D (60 ≤ t ≤ 79) Phân tích thơng điệp mở rộng Sau thông điệp mở rộng, thông điệp mở rộng phân tích thành N khối 512 bit M(1), M(2),…, M(N) Trong 512 bit khối liệu đầu vào thể 16 từ 32 bit Khởi tạo giá trị băm Giá trị băm chuỗi bit có kích thước kích thước thông điệp băm gồm từ ghép lại Trong Hj(i) từ j giá trị băm lần lặp i với ≤ i ≤ N (số block có sau chia văn đệm) ≤ j ≤ (số từ giá trị băm –1) Trước thực giá trị băm, với thuật tốn băm an tồn, giá trị băm ban đầu H(0) phải thiết lập Kích thước số lượng từ H(0) tùy thuộc vào kích thước thơng điệp băm rút gọn SHA–1 sử dụng dãy số K(0),…, K(79) có giá trị sau: K(t) = 5A827999 (0 ≤ t ≤ 19) K(t) = 6ED9EBA1 (20 ≤ t ≤ 39) K(t) = 8F1BBCDC (40 ≤ t ≤ 59) K(t) = CA62C1D6 (60 ≤ t ≤ 79) IT201_Bai 4_v1.001103219 71 Bài 4: Mã công khai xác thực thơng điệp Thuật tốn bước tính giá trị băm SHA-1 SHA-1 sử dụng để băm thông điệp M có độ dài L bit thoả mãn điều kiện ≤ L ≤ 264 Thuật toán sử dụng:  Một bảng phân bố thông điệp gồm 80 từ 32 bit;  biến 32 bit;  Một giá trị băm gồm từ 32 bit Kết SHA-1 thơng điệp băm rút gọn có độ dài 160 bit Các từ bảng phân bố thông điệp ký hiệu W(0),W(1),…,W(79) biến ký hiệu A, B, C, D, E Các từ giá trị băm ký hiệu H0(i),H1(i), H2(i), H3(i),H4(i) H(0) giữ giá trị băm ban đầu thay giá trị băm thành công H(i) sau khối thông điệp xử lý kết thúc giá trị băm cuối H(N) Tính tốn thơng điệp băm Định nghĩa: Sn(X) = (X > 32–n) X > n có nghĩa loại bỏ từ phải qua trái n bit thêm vào kết n số vào bên trái Khởi tạo giá trị H: H0 = 67452301 ; H1 = EFCDAB89 H2 = 98BADCFE ; H3 = 10325476 H4 = C3D2E1F0 Chia khối 512 bit M(i) thành 16 từ W(0), W(1),…,W(15) For t = 16 to 79 W(t) = S1(W(t–3) XOR W(t–8) XOR W(t–14) XOR W(t–16)) Đặt A = H0 , B = H1, C = H2, D = H3, E = H4 For t = to 79 TEMP = S5(A) + f(t;B,C,D) + E + W(t) + K(t); E = D; D = C; C = S30(B); B = A; A = TEMP; Đặt H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4 = H4+ E Sau tính tốn hết M(n), thông điệp băm rút gọn chuỗi 160 bit biểu diễn từ: H0 H1 H2 H3 H4 Đánh giá thuật toán  SHA-1 xem an tồn tượng đụng độ khó tìm hai thơng điệp khác có giá trị băm giống  SHA-1 coi chuẩn việc bảo vệ kênh liên lạc trực tuyến tồn năm qua  SHA-1 thiết kế cho xử lý 32 bit, hệ tới máy tính dùng xử lý 64 bit mà SHA-1 không hiệu xử lý  Tháng năm 2005 SHA-1 bị công va chạm mạnh ba chuyên gia người Trung Quốc Thuật tốn bị cơng thơng qua phương pháp tính phân bổ 72 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp Chuẩn hash an tồn nâng cao Viện chuẩn cơng nghệ quốc gia NIST xuất bản sửa FIPS 180-2 vào năm 2002, đề nghị bổ sung ba phiên SHA: SHA-256, SHA-384, SHA-512 Các phiên thiết kế tương thích với việc tăng độ an tồn cung cấp chuẩn mã nâng cao AES Về cấu trúc chi tiết giống SHA-1, suy việc phân tích tương tự, mức độ an toàn cao nhiều so với SHA-1 Tổng quan SHA 512 L bits Message 512 hash +: word - by - word addition mod 264 Hàm nén SHA-512 SHA-512 trọng tâm thuật toán Ở xử lý mẩu tin với khối 1024 bit bao gồm 80 vòng:  Cập nhật đệm 512 bit;  Sử dụng giá trị Wt 64 bit lấy từ block mẩu tin;  Và số quay vòng dựa bậc ba 80 số nguyên tố IT201_Bai 4_v1.001103219 73 Bài 4: Mã công khai xác thực thơng điệp Hàm quay vịng SHA-512 Hàm hash có khóa giống MAC Khi có hàm hash tốt, muốn có mã xác thực mẩu tin MAC dựa hàm hash Vì hàm hash thông thường nhanh mã nguồn hàm hash phổ biến rộng rãi hơn, nên việc sử dụng chúng tạo nên MAC hiệu Ta coi MAC hash bao gồm khóa với mẩu tin, cụ thể đề xuất sau: KeyedHash = Hash (Key | Message) Trong trường hợp có số điểm yếu tìm thấy Chính muốn khắc phục điểm yếu đó, phương án kết hợp Hash để tạo nên MAC phát triển HMAC HMAC HMAC thiết kế theo chuẩn Internet RFC2104, sử dụng hàm hash mẩu tin: HMACK = Hash [(K+ XOR opad) || Hash [(K+ XOR ipad) || M)]] K+ khóa đệm mở rộng K opad, ipad đệm đặc biệt, M mẩu tin Như cần tính nhiều hàm hash so với tin đứng 74 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp Bất hàm hash sử dụng sơ đồ trên: MD5, SHA-1, RIPEMD-160 hay Whirlpool Tổng quan HMAC K+ ipad b bits b bits Y0 Y1 Si IV n bits b bits Y Y Y Bản Băm băm Opad ipad K+ YLĐ1 n bits H (Si||M) b bits Thêm vào chỗ b bits S0 IV Bản băm Băm n bits HMAC (K,M) An toàn HMAC Sự an toàn chứng minh liên quan đến thuật toán hash sơ đồ Tấn công HMAC yêu cầu phải hoặc:  Tấn cơng vét cạn khóa sử dụng;  Tấn công ngày sinh nhật (tuy cần quan sát số lượng lớn mẩu tin) Có thể lựa chọn phán đoán hàm hash sử dụng dựa tốc độ ràng buộc an toàn 4.6 CHỮ KÝ ĐIỆN TỬ Chữ ký điện tử người sử dụng mẩu tin thời điểm xác định xem nén mẩu tin kích thước cố định xác thực Nó cung cấp khả để  Kiểm chứng tác giả, ngày ký;  Xác thực nội dung mẩu tin;  Được kiểm chứng bên thứ ba để chống từ chối Vì việc tạo chữ ký điện tử bao gồm việc sử dụng hàm băm tin hàm xác thực có số khả bổ sung nhận băm, thông tin mật người ký, số thông tin ngẫu nhiên đặc trưng cho thời điểm ký để tạo chữ ký điện tử đính kèm mẩu tin Đồng thời thuật tốn hỗ trợ người nhận kiểm tra chữ ký điện tử kèm với mẩu tin 4.6.1 Các tính chất chữ ký điện tử  Cần phải phụ thuộc vào nội dung ký IT201_Bai 4_v1.001103219 75 Bài 4: Mã công khai xác thực thông điệp  Cần sử dụng thông tin đặc trưng người gửi Để chống giả mạo từ chối  Cần phải tương đối dễ dàng tạo  Dễ dàng đốn nhận kiểm chứng  Khơng thể tính tốn giả mạo o Với tin chữ ký có o Với chữ ký giả mạo cho tin  Có thể lưu trữ chữ ký điện tử Chữ ký điện tử trực tiếp  Bao gồm người gửi người nhận;  Người nhận phép có khóa cơng khai người nhận;  Quan trọng ký trước sau mã hóa tin chữ ký;  Tính an tồn phụ thuộc vào khóa riêng người gửi Chữ ký điện tử RSA: chẳng hạn A muốn tạo chữ ký RSA, A băm thơng điệp, mã hóa khóa riêng A đính kèm với thơng điệp gửi cho B Người S muốn kiểm tra thông điệp có tồn vẹn khơng có phải gửi từ A không, băm thông điệp nhận được, đồng thời giải mã băm đính kèm với thơng điệp khóa oông khai A so sánh hai kết nhận bước trước, chúng trùng nhau, thông điệp không bị sửa A gửi Chữ ký điện tử có trọng tài  Bao gồm việc sử dụng trọng tài A o Kiểm tra mẩu tin ký; o Sau điền ngày gửi cho người nhận  Đòi hỏi mức độ tin cậy hợp lý trọng tài  Có thể cài đặt với thuật tốn khóa riêng khóa cơng khai  Trọng tài xem không xem mẩu tin ll M H M PRa H Pua E Compare D E[PRaUHH(M)] H[M]] (a) PSA (a) RPAApproach Approach M PVaG PRa PR H k 76 ll M s r E Sig H PUG Pua Ver Compare (b)DSS DSS Approach (b) Approach IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp 4.6.2 Chuẩn chữ ký điện tử (DSS)  Chính phủ Mỹ ủng hộ sơ đồ chữ ký điện tử FIPS 186  Sử dụng thuật toán hash SHA  DSS chuẩn DSA thuật tốn  Có phương án cải biên Elgamal Schnorr  Tạo 320 bit chữ ký độ an toàn 512-1024 bit an toàn  An tồn phụ thuộc vào độ khó tính logarit rời rạc Sinh khóa DSA  Chia sẻ giá trị khóa cơng khai tổng thể (p, q, g): L o Số nguyên tố lớn p = , L= 512 đến 1024 bit bội 64; o Chọn q số nguyên tố 160 bit ước p–1; o Chọn g = h(p-1)/q, h < p–1, h (p–1)/q (mod p) >  Người sử dụng chọn khóa riêng tính khóa cơng khai o Chọn khóa riêng: x < q o Tính khóa cơng khai: y = gx (mod p) Tạo chữ ký DSA Để ký mẩu tin M, người gửi trước hết cần:  Sinh khóa chữ ký ngẫu nhiên k: k < p, k phải số ngẫu nhiên, xóa sau dùng khơng dùng lại;  Sau tính cặp chữ ký: k r = (g (mod p))(mod q) -1 s = (k SHA(M)+ x.r)(mod q)  Gửi cặp chữ ký (r, s) với tin M Kiểm chứng chữ ký DSA  Nhận tin M với chữ ký (r, s)  Để kiểm chứng chữ ký người nhận cần tính: -1 w = s (mod q) u1= (SHA(M).w)(mod q) u2= (r.w)(mod q) u1 u2 v = (g y (mod p)) (mod q)  Nếu r = s chữ ký kiểm chứng Ví dụ Tạo chữ ký điện tử: o Chọn p = 23, q = 11, h = g = h2 mod 23 = o Chọn x = 5, y = 35 mod 23 = 13 k = 6, H(M) = r = (gk(mod p))(mod q) IT201_Bai 4_v1.001103219 77 Bài 4: Mã công khai xác thực thông điệp o 78 r = (36 mod 23) mod 11 = (42) mod 11 = s = (k-1(H(M)+ x.r))(mod q) s = (6-1.(9 + 5.5))mod 11 = Chữ ký điện tử (5,2) Kiểm tra chữ ký điện tử  w = 2-1 mod 11 =  u1 = (9.6) mod 11 = 10  u2 = (5.6) mod 11 =  v = (310.138 mod 23) mod 11 = (43.3.138 mod 23) mod 11 = (16) mod 11 =  v = = r, chữ ký Như vậy, tin nhận tồn vẹn, khơng bị sửa thư gửi người tuyên bố IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thơng điệp TĨM LƯỢC CUỐI BÀI Sau học xong học này, anh/chị cần nắm kiến thức sau:  Khái niệm mã công khai  Mã cơng khai RSA  Trao đổi khóa Diffie-Hellman  Xác thực thông điệp, mã xác thực MAC  Hàm băm an toàn SHA  Chữ ký điện tử DSA IT201_Bai 4_v1.001103219 79 Bài 4: Mã công khai xác thực thông điệp CÂU HỎI TỰ LUẬN Mã cơng khai làm điều mà mã đối xứng khơng làm được? Tại nói mã đối xứng dành cho bảo mật thơng điệp, cịn mã cơng khai dành cho xác thực thông điệp? Tại nói mã cơng khai dựa cặp tốn thuận - dễ, nghịch – khó lý thuyết số? Nêu đặc trưng, q trình sinh khóa, mã hóa giải mã RSA Giải thích người sử dụng sở hữu khóa riêng áp dụng định lý phần dư Trung Hoa để tăng tốc độ tính tốn Nêu cách thám mã RSA, qua đánh giá độ an tồn Nêu khó khăn tốn phân phối khóa mật hai người sử dụng Diffie-Hellman đề xuất hướng giải nào? Mô tả chi tiết thủ tục trao đổi khóa Diffie-Hellman Nêu sở tính an tồn thủ tục Thế xác thực thơng điệp? Nêu số ví dụ cụ thể yêu cầu xác thực 10 Có phương pháp xác thực thông điệp? Nêu cách sử dụng MAC, nhược điểm 11 Thế băm thơng điệp? Nó cần có tính chất dùng để xác thực nào? 12 Nghịch lý ngày sinh nhật gì? Thám mã dựa vào nghịch lý nào? 13 Mô tả thuật tốn băm an tồn SHA1 14 Thế chữ ký điện tử cho thông điệp người đó? Nó cần có tính chất gì? Mơ tả chữ ký điện tử sử dụng RSA 15 Nêu cách tạo chữ ký điện tử DSA Nó có phụ thuộc vào số ngẫu nhiên chọn không? 16 Nêu cách người nhận kiểm tra chữ ký điện tử Kết kiểm tra cho biết điều gì? BÀI TẬP TRẮC NGHIỆM Xét mã khóa cơng khai, tìm kết luận sai khẳng định sau: (A) Khóa cơng khai thơng báo cho người biết; (B) Người sử dụng phải giữ bí mật khóa riêng mình; (C) Người sử dụng sở hữu khóa riêng khó để tính khóa cơng khai mình; (D) Tính an tồn dựa vào độ khó tốn cho khóa cơng khai tìm khóa riêng Xét mã RSA, tìm kết luận sai khẳng định sau: (A) (B) (D) (E) Độ an tồn dựa vào độ khó tốn phân tích số thừa số; Tính tốn dựa phép toán lũy thừa theo modulo số nguyên; Tính an tồn dựa vào độ khó tốn lũy thừa với số mũ lớn; Sử dụng số lớn khoảng 512 đến 1024 bit Trao đổi khóa Diffie-Hellman thủ tục hai người sử dụng để (A) Trao đổi khóa cơng khai; (B) Trao đổi giấy chứng nhận khóa cơng khai; (C) Trao đổi khóa mật dùng chung hai người sử dụng cách công khai; (D) Trao đổi khóa mật khóa mật cũ 80 Sự an tồn trao đổi khóa Diffie-Hellman dựa (A) Việc trao đổi kênh riêng hai người sử dụng; IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp (B) Thông qua bên đối tác thứ ba tin cậy; (C) Độ mật khóa dùng chung cũ; (D) Độ khó tốn logarit rời rạc Tìm khẳng định sai câu sau mã xác thực tin (A) Mã xác thực nén tin kích thước cố định; (B) Mã xác thực phụ thuộc vào tin khóa; (C) Cả bên nhận bên gửi biết thuật tốn nén khóa; (D) Dễ dàng tìm thơng điệp có mã xác thực cho trước Tìm khẳng định câu sau mã xác thực tin MAC (A) Mã xác thực giải mã để nhận lại tin; (B) Mã xác thực có vai trị chữ ký điện tử người gửi; (C) Mã xác thực có độ dài cố định phụ thuộc vào tin khóa; (D) Bên nhận khơng cần khóa kiểm tra tính tồn vẹn tin Tìm khẳng định sai câu sau hàm hash? (A) Hash nén tin kích thước cố định (B) Hash coi dấu vân tay đặc trưng xác định tính tồn vẹn tin (C) Hash phụ thuộc vào tin thông tin mật người dùng (D) Hash dùng kết hợp với khóa cơng khai tạo chữ ký điện tử tin Tìm khẳng định câu sau hàm hash: (A) Hash phụ thuộc vào tin người gửi (B) Hash có vai trò chữ ký điện tử tin (C) Có thể giải mã Hash để khơi phục lại tin (D) Hash coi dãy bit đặc trưng cho tin Tìm khẳng định câu sau hàm hash (A) Hash phụ thuộc vào tin khóa (B) Hash có vai trị chữ ký điện tử tin (C) Hash gửi kèm với tin để kiểm tra tính xác thực (D) Dễ dàng tìm tin có Hash 10 Thuật tốn khơng phải thuật toán hash (A) MD5 (B) DSA (C) SHA-1 (D) MD4 11 Tìm khẳng định chữ ký điện tử câu sau: (A) Chữ ký điện tử phụ thuộc vào người ký, không phụ thuộc tin; (B) Dùng chữ ký điện tử chống từ chối người nhận; (C) Chữ ký điện tử xác nhận người gửi, nội dung gửi thời gian gửi; (D) Người nhận tạo chữ ký điện tử người gửi tin để kiểm tra 12 Khẳng định sai chữ ký điện tử DSS? (A) Chọn số nguyên tố cỡ 512 bit nguyên tố khác cỡ 160 bit ước số trước bớt 1; (B) Mỗi người sử dụng chọn khóa riêng tính khóa cơng khai; (C) Người nhận sử dụng khóa riêng người gửi để kiểm tra chữ ký; (D) Khi gửi tin ký, chọn số ngẫu nhiên tính hai thành phần chữ ký IT201_Bai 4_v1.001103219 81 Bài 4: Mã công khai xác thực thông điệp 13 Khẳng định chữ ký điện tử DSS? (A) Chữ ký người gửi giống tin; (B) Người nhận tạo chữ ký người gửi để kiểm tra; (C) Dùng thuật toán RSA để tạo chữ ký; (D) Khi gửi chữ ký kèm tin, chọn số ngẫu nhiên, dùng khóa riêng băm tính hai thành phần chữ ký 14 Cho p = 11, q = 13, khóa riêng A e = 71 Tính khóa công khai RSA A (A) d = 2; (B) d = 3; (C) d = 4; (D) d = 15 Cho p = 7, q = 13, khóa riêng A e = 23 Tính khóa cơng khai RSA A (A) d = 2; (B) d = 4; (C) d = 3; (D) d = 16 Cho p = 13, q = 11, khóa riêng A e = 71 khóa cơng khai d = Cho tin M = 67, tìm mã RSA khóa cơng khai A: (A) C = 121; (B) C = 129; (C) C = 135; (D) C = 27 17 Cho q = 11 α = Người sử dụng A chọn xA = 3, B chọn xB = Khẳng định trao đổi khóa Diffie-Hellman sau đúng? (A) Khóa công khai A, B yA = 4, yB = 8, khóa mật chung KAB = 7; (B) Khóa cơng khai A, B yA = 4, yB = 4, khóa mật chung KAB = 8; (C) Khóa cơng khai A, B yA = 8, yB = 4, khóa mật chung KAB = 9; (D) Khóa cơng khai A, B yA = 8, yB = 8, khóa mật chung KAB = 10 18 Cho q = 11 α = Người sử dụng A chọn xA = 3, B chọn xB = Khẳng định trao đổi khóa Diffie-Hellman sau đúng? (A) Khóa cơng khai A, B yA = 4, yB = 8, khóa mật chung KAB = 5; (B) Khóa cơng khai A, B yA = 5, yB = 9, khóa mật chung KAB = 3; (C) Khóa cơng khai A, B yA = 8, yB = 4, khóa mật chung KAB = 9; (D) Khóa cơng khai A, B yA = 8, yB = 8, khóa mật chung KAB = 19 Chữ ký điện tử DSA: cho p = 23 q = 11 h = Tính g Bạn chọn khóa riêng x = 7, tính khóa cơng khai y báo cho bạn thân bạn Bạn gửi thư có băm H(M) = chọn số ngẫu nhiên k tùy ý, chẳng hạn k = 6, ký gửi cho bạn thân bạn Nêu cách bạn thân kiểm tra chữ ký (A) (r, s) = (7, 2); (B) (r, s) = (7, 1); (B) (r, s) = (5, 1); (D)(r, s) = (7, 3) 20 Chữ ký điện tử DSA: cho p = 47 q = 23 h = Tính g Bạn chọn khóa riêng x = 13, tính khóa công khai y báo cho bạn thân bạn Bạn gửi thư có băm H(M) = 11 chọn số ngẫu nhiên k tuỳ ý, chẳng hạn k = 5, ký gửi cho bạn thân bạn Nêu cách bạn thân kiểm tra chữ ký (A) (r, s) = (8, 5); (B) (r, s) = (8, 4); (C) (r, s) = (7, 5); (D) (r, s) = (7, 4) 82 IT201_Bai 4_v1.001103219 ... gửi qua mạng? Chữ ký điện tử – kiểm chứng mẩu tin gửi đến nguyên vẹn từ người đứng tên gửi? 58 IT201_Bai 4_v1.001103219 Bài 4: Mã công khai xác thực thông điệp 4.1 Các khái niệm mã hóa cơng khai... phối khóa tin cậy?  Chữ ký điện tử – kiểm chứng mẩu tin gửi đến nguyên vẹn từ người đứng tên gửi? IT201_Bai 4_v1.001103219 59 Bài 4: Mã công khai xác thực thông điệp Nếu dùng khóa đối xứng, khơng... cỡ 512 bit tốn tìm khóa thứ hai không khả thi, thực thời gian có nghĩa, cho dù nguồn lực lớn 60 IT201_Bai 4_v1.001103219 Bài 4: Mã cơng khai xác thực thơng điệp Tính an tồn dựa khác biệt đủ lớn

Ngày đăng: 23/07/2022, 00:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w