1. Trang chủ
  2. » Giáo Dục - Đào Tạo

MẬT MÃ ỨNG DỤNG TRONG AN TOÀN THÔNG TIN (CHUẨN MÃ HÓA RSA)

52 109 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

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ MẬT Mà ỨNG DỤNG TRONG AN TỒN THƠNG TIN (CHUẨN Mà HĨA RSA) Chun ngành hẹp: An tồn ứng dụng Ngành: An tồn thơng tin Hà Nội, tháng năm 2021 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ MẬT Mà ỨNG DỤNG TRONG AN TỒN THƠNG TIN (CHUẨN Mà HĨA RSA) Chun ngành hẹp: An tồn ứng dụng Ngành: An tồn thơng tin Giảng viên hướng dẫn: - Lục Như Quỳnh Nhóm sinh viên thực hiện: - Nhóm 4: 12 thành viên Hà Nội, tháng năm 2021 MỤC LỤC DANH MỤC THUẬT NGỮ, TỪ VIẾT TẮT .6 DANH MỤC BẢNG BIỂU HÌNH VẼ Phần Mở Đầu CHƯƠNG I TỔNG QUAN 1.1 Mật mã khóa cơng khai 1.2 Lịch sử đời RSA 10 1.3 Tiêu chuẩn RSA 10 1.3.1 PKCS#1 Ver1.0-2.2 RSA Cryptography Standard 10 1.3.2 TCVN 7635:2007 Tiêu chuẩn mật mã – Chữ ký số 10 1.4 Hoạt động thuật toán RSA .11 1.5 Vấn đề an toàn RSA 11 1.6 Kết luận chương tổng quan 12 CHƯƠNG II KHÓA RSA 13 2.1 Một số khái niệm 13 2.2 Tạo khóa 15 2.3 Mã hóa 15 2.4 Giải mã 16 2.5 Yêu cầu khóa RSA 16 2.5.1 Các yêu cầu chung 16 2.6 Các vấn đề thực tế .17 2.6.1 Q trình tạo khóa 17 2.6.2 Phân phối khóa 18 2.6.3 Tấn công dựa thời gian 18 CHƯƠNG III CÁC PHÉP BIẾN ĐỔI CƠ SỞ .20 3.1 Chuyển đổi liệu nguyên thủy .20 3.1.1 Hàm sở chuyển đổi từ dạng số nguyên sang chuỗi octet I2OSP (x, xLen) 20 3.1.2 Hàm sở chuyển đổi từ dạng chuỗi octet dạng số nguyên OS2IP(X) 21 3.2 Các phép tốn sở mã hóa giải mã nguyên thủy RSAEP RSADP .21 3.2.1 Phép mã hóa: c = RSAEP ((n, e), m) 22 3.2.2 Phép giải mã: m = RSADP (KS, c) .22 3.3 Chữ ký kiểm tra chữ ký .23 3.3.1 Phép ký RSASP1(KS, m) .23 3.3.2 Phép kiểm tra chữ ký m = RSAVP1((n, e), s) 23 CHƯƠNG IV LƯỢC ĐỒ Mà HÓA 24 4.1 Lược đồ mã RSA-OAEP 24 4.1.1 Mô tả chung lược đồ chuyển đổ rõ RSA-OAEP 24 4.1.2 Lược đồ định dạng liệu EME-OAEP 25 4.1.3 Hàm mã hoá RSAES-OAEP 29 4.1.4 Hàm giải mã RSAES-OAEP 31 CHƯƠNG V CƠ SỞ TOÁN HỌC CỦA LƯỢC ĐỒ KÝ SỐ RSASSA-PSS 34 5.1 Các hàm sở chuyển đổi liệu 34 5.1.1 Hàm sở chuyển đổi liệu số nguyên sang dạng chuỗi octet 34 5.1.2 Hàm sở chuyển đổi từ dạng chuỗi octet dạng số nguyên 34 CHƯƠNG VI Bài Tập .42 Bài 1: Dùng thuật toán Euclide tìm phần tử nghịch đảo: 42 Bài 2: Tính Jacobi 44 Bài 3: Cho hệ mật RSA với p = 37, q = 41 số mũ mã hoá e = 211 45 Bài 4: Sử dụng hệ mật Elgamal với số nguyên tố p = 211, phần tử sinh  = 39 Z*211 Giả sử người dùng A chọn khóa bí mật a = 113 .47 TÀI LIỆU THAM KHẢO 50 PHẦN MỞ ĐẦU Ngày cơng nghệ thơng tin phát triển, giúp ích nhiều đời sống Nhờ có mà người liên lạc với cách dễ dàng nhiều cách gọi điện, call video hay nhắn tin, … Bên cạnh đó, ln có kẻ nhịm ngó để lấy cắp thơng tin nhằm mục đích xấu cho thân Vậy nên có nhiều người chọn cách mã hóa tin nhắn để tăng tính bảo mật Nhưng nói đến tin nhắn tồn người gửi người nhận, làm gửi cho tin nhắn mã hóa mà khơng có hội trước đó? Đây nội dung mà nhóm chúng em tìm hiểu, chuẩn mã hóa RSA Trong q trình tìm hiểu RSA, thời gian không nhiều với hướng dẫn giúp đỡ giáo viên, nhóm em hồn thành Do thời gian hạn chế nên phạm vi nghiên cứu số vấn đề chưa giải triệt để Nhóm em mong nhận đóng góp giáo viên bạn, nhóm em xin chân thành cảm ơn thầy giáo bạn ! CHƯƠNG I TỔNG QUAN 1.1 Mật mã khóa công khai Năm 1976, Whitfield Diffie Martin Hellman đề xuất khái niệm mật mã hóa khóa bất đối xứng, đưa phương pháp trao đổi khóa cơng khai Trước khái niệm mật mã học bất đối xứng đời, để đảm bảo tính bí mật trao đổi thơng tin, thuật tốn mã hóa thơng tin xây dựng mật mã học đối xứng Trong loại mật mã này, bên trao đổi thông tin cần phải cần gặp gỡ trao đổi qua kênh bảo mật khóa bí mật Điều hạn chế ứng dụng mật mã học vào việc đảm bảo tính riêng tư, bí mật sống, thật năm đó, mật mã học chủ yếu ứng dụng lĩnh vực quân sự, an ninh quốc phòng Mật mã hóa khóa cơng khai (bất đối xứng) cho phép người sử dụng trao đổi thông tin mật mà khơng cần phải trao đổi khóa chung bí mật trước Điều thực cách sử dụng cặp khóa có quan hệ tốn học với khóa cơng khai khóa cá nhân (hay khóa bí mật) Trong mật mã hóa khóa cơng khai, khóa cá nhân phải giữ bí mật khóa cơng khai phổ biến cơng khai Trong khóa, dùng để mã hóa khóa cịn lại dùng để giải mã Điều quan trọng hệ thống khơng thể tìm khóa bí mật biết khóa cơng khai Quan hệ khóa cơng khai khóa bí mật có tính chất chiều, có nghĩa từ việc sở hữu khóa bí mật ta dễ dàng tìm khóa cơng khai, nhiên cho dù biết khóa cơng khai việc tìm khóa bí mật khó (khó theo nghĩa khối lượng thời gian tính tốn u cầu lớn, lên tới hàng trăm năm) Cơ sở tốn học tính chất chiều nhờ vào hàm toán học chiều (one-way function) Một ví dụ hàm dạng tốn phân tích thừa số ngun tố : giả sử ta có vài số nguyên tố lớn, từ số ta tìm tích chúng đơn giản ; ngược lại từ tích số, việc phân tích thừa số nguyên tố khó Nếu số lớn, cỡ 1024 2024 bit việc phân tích thừa số ngun tố địi hỏi máy tính lực lớn chạy vài chục năm Thời gian lớn nhu cầu cần bí mật khóa bí mật vài năm 1.2 Lịch sử đời RSA Thuật toán Ron Rivest, Adi Shamir Len Adleman mô tả lần vào năm 1977 Học viện Cơng nghệ Massachusetts (MIT) Tên thuật tốn lấy từ chữ đầu tên tác giả Trước đó, vào năm 1973, Clifford Cocks, nhà tốn học người Anh làm việc GCHQ, mơ tả thuật tốn tương tự Với khả tính tốn thời điểm thuật tốn khơng khả thi chưa thực nghiệm Tuy nhiên, phát minh công bố vào năm 1997 xếp vào loại tuyệt mật Thuật tốn RSA MIT đăng ký sáng chế Hoa Kỳ vào năm 1983 (Số đăng ký 4,405,829) Bằng sáng chế hết hạn vào ngày 21 tháng năm 2000 Tuy nhiên, thuật tốn cơng bố trước có đăng ký bảo hộ nên bảo hộ khơng có giá trị bên ngồi Hoa Kỳ Ngồi ra, cơng trình Clifford Cocks cơng bố trước sáng chế RSA đăng ký 1.3 Tiêu chuẩn RSA 1.3.1 PKCS#1 Ver1.0-2.2 RSA Cryptography Standard PKCS (Tiêu chuẩn mật mã khóa cơng khai - Public-Key Cryptography Standard) - Phịng thí nghiệm RSA (Mỹ) ban hành - tập hợp tiêu chuẩn để hoàn thiện hệ mật mã khóa cơng khai, phát triển vào năm 1991 Trong đó, PKCS #1 tiêu chuẩn sử dụng nhiều (thực tế) cho việc sử dụng RSA thực tế Một nâng cấp lớn cho PKCS # 1, từ phiên 1.0 đến phiên 2.0 giới thiệu chế độ bổ sung với đối số bảo mật mạnh RSA đa nguyên tố Phiên 2.2 cập nhật thêm danh sách thuật toán băm SHA224,SHA-512/224 SHA-512/256 1.3.2 TCVN 7635:2007 Tiêu chuẩn mật mã – Chữ ký số TCVN 7635:2007 Tiểu Ban kỹ thuật tiêu chuẩn TCVN/JTC 1/SC 27 “Các kỹ thuật mật mã” biên soạn sở dự thảo đề nghị Ban yếu Chính phủ, Tổng cục Tiêu chuẩn Đo lường Chất lượng đề nghị, Bộ Khoa học Công nghệ công bố Tiêu chuẩn áp dụng cho chữ ký số sử dụng hoạt động giao dịch điện tử tổ chức, công dân Việt Nam tổ chức, cơng dân nước ngồi có quan hệ kinh tế - xã hội với tổ chức, công dân Việt Nam Tiêu chuẩn quy định thành phần cần thiết cho lược đồ chữ ký số: o Thành phần thứ thuật toán chữ ký số RSA-PSS o Thành phần thứ hai thuật toán hàm băm SHA-256 o Thành phần cuối thuật toán số giả ngẫu nhiên dùng AES-128 1.4 Hoạt động thuật toán RSA Thuật tốn RSA có hai khóa: khóa cơng khai (hay khóa cơng cộng) khóa bí mật (hay khóa cá nhân) Mỗi khóa số cố định sử dụng q trình mã hóa giải mã Khóa cơng khai công bố rộng rãi cho người dùng để mã hóa Những thơng tin mã hóa khóa cơng khai giải mã khóa bí mật tương ứng Nói cách khác, người mã hóa có người biết khóa cá nhân (bí mật) giải mã Ta mơ trực quan hệ mật mã khố cơng khai sau : Bob muốn gửi cho Alice thông tin mật mà Bob muốn Alice đọc Để làm điều này, Alice gửi cho Bob hộp có khóa mở sẵn giữ lại chìa khóa Bob nhận hộp, cho vào tờ giấy viết thư bình thường khóa lại (như loại khố thơng thường cần sập chốt lại, sau sập chốt khóa Bob khơng thể mở lại được-không đọc lại hay sửa thông tin thư nữa) Sau Bob gửi hộp lại cho Alice Alice mở hộp với chìa khóa đọc thơng tin thư Trong ví dụ này, hộp với khóa mở đóng vai trị khóa cơng khai, chìa khóa khóa bí mật 1.5 Vấn đề an toàn RSA Độ an toàn hệ thống RSA dựa hai vấn đề toán học: tốn phân tích thừa số ngun tố số nguyên lớn toán RSA Nếu hai tốn khó (khơng tìm thuật tốn hiệu để giải chúng) khơng thể thực việc phá mã tồn RSA Bài tốn RSA tốn tính bậc e theo mơ-đun n (với n hợp số), tức tìm số m cho me = c ( mod n ), n, e khóa cơng khai c mã Hiện phương pháp triển vọng giải tốn phân tích n thừa số nguyên tố Khi thực điều này, kẻ cơng tìm số mũ bí mật d từ khóa cơng khai giải mã theo quy trình thuật tốn Nếu kẻ cơng tìm số ngun tố p q cho: n  pq dễ dàng tìm giá trị  p - 1  q - 1 qua xác định d từ e Chưa có phương pháp tìm máy tính để giải tốn thời gian đa thức (polynomial-time) Tuy nhiên người ta chưa chứng minh điều ngược lại (sự không tồn thuật toán) Tại thời điểm năm 2005, số lớn phân tích thừa số nguyên tố có độ dài 663 bit với phương pháp phân tán khóa RSA thường có độ dài từ 1024 tới 2048 bit Một số chuyên gia cho khóa 1024 bit sớm bị phá vỡ (cũng có nhiều người phản đối việc này) Với khóa 4096 bit khơng có khả bị phá vỡ tương lai gần Do đó, người ta thường cho RSA đảm bảo an toàn với điều kiện n chọn đủ lớn Nếu n có độ dài 256 bit ngắn hơn, bị phân tích vài với máy tính cá nhân dùng phần mềm có sẵn Nếu n có độ dài 512 bit, bị phân tích vài trăm máy tính thời điểm năm 1999 Một thiết bị lý thuyết có tên TWIRL Shamir Tromer mô tả năm 2003 đặt câu hỏi độ an toàn khóa 1024 bit Vì người ta khuyến cáo sử dụng khóa có độ dài tối thiểu 2048 bit Năm 1993, Peter Shor cơng bố thuật tốn Shor rằng: máy tính lượng tử (trên lý thuyết) giải tốn phân tích thừa số thời gian đa thức Tuy nhiên, máy tính lượng tử chưa thể phát triển tới mức độ nhiều năm 1.6 Kết luận chương tổng quan RSA hệ mật khóa cơng khai sử dụng phổ biến hàng đầu Trong phạm vi chương này, ta nhắc lại nét khái quát hệ mật nêu Qua thấy để đảm bảo an tồn cho hệ mật áp dụng trực tiếp lược đồ RSA vào thực tế, mà cần phải sử dụng thao tác chuyển đổi rõ trước mã hóa (và trước kí) Có số lược đồ chuyển đổi rõ đề xuất cho RSA, số đó, có lược đồ chứng minh an toàn chỉnh sửa thay lược đồ khác Như vậy, lược đồ chuyển đổi rõ nhân tố quan trọng đóng góp vào tính an tồn RSA sử dụng thực tế Do đó, phần đồ án này, ta xem xét số lược đồ 10 s = RSASP(K, m); c chuyển chữ ký s dạng số nguyên thành chữ ký S dạng chuỗi octet có độ dài k: S = I2OSP (s, k) xuất chữ ký S 3.2 Thao tác kiểm tra chữ ký RSASSA-PSS-VERIFY((n, e), M, S) Đầu vào: ( Khóa cơng khai RSA người ký n, e) M Thơng điệp mà chữ ký cần kiểm tra, chuỗi octet S Đầu Chữ ký kiểm tra, chuỗi octet có độ dài k, với k độ dài theo octet số n, môđun RSA “chữ ký hợp lệ” “chữ ký không hợp lệ” ra: Các bước: kiểm tra độ dài: Nếu độ dài chữ ký S không k octet, cho thông báo lỗi “chữ ký không hợp lệ” dừng; kiểm tra chữ ký RS; a chuyển chữ ký S thành biểu diễn chữ ký dạng số nguyên s; s = OS2IP (S) b áp dụng phép tốn sở RSAVP với khóa cơng khai RSA (n, e) biểu diễn chữ ký s để tạo m số nguyên biểu diễn thông điệp; m = RSAVP ((n, e), s) c chuyển biểu diễn thông điệp m thành thông điệp định dạng EM có độ dài emLen =(modBits-1/8 octet, với modBits độ dài theo bit số n (mođun RSA): 38 EM = I2OSP (m, emLen) Chú ý emLen k-1 modBits-1 chia hết cho k modBits-1 không chia hết cho Nếu I2OSP cho thông báo lỗi “số nguyên lớn” RSASSA-PSS-VERIFY cho thơng báo lỗi “chữ ký khơng hợp lệ” dừng lại kiểm tra EMSA-PSS: Áp dụng thao tác kiểm tra EMSA-PSS-VERIFY (sẽ mô tả phần 5.6 đây) vào thông điệp M thông điệp định dạng EM để xác định xem chúng có tương ứng với hay khơng; Result = EMSA-PSS-VERIFY (M, EM, modBits-1) kết (Result) “phù hợp” cho “chữ ký hợp lệ” Ngược lại cho “chữ ký không hợp lệ” Phương pháp định dạng cho chữ ký kèm phụ lục theo PSS (EMSAPSS) 4.1 Thao tác định dạng Phương pháp định dạng tham số hóa cách chọn: - hàm băm (cố định với khóa RSA cho); - hàm tạo mặt nạ (cố định với khóa RSA cho) và; - độ dài phần phụ thêm (có thể thay đổi với khóa RSA cho) Các hàm băm hàm tạo mặt nạ đề xuất mơ tả phần 5.6.3 Hình minh họa thao tác định dạng 39 Hình - Minh họa thao tác định dạng Cơng thức để tính EM: ((PD2||r)  MGF(h(PD1||h(M)||r))) || h(PD1||h(M)||r)) || 0xbc EMSA-PSS-ENCODE (M, emBits) Lựa chọn: Đầu vào: h Hàm băm (độ dài đầu theo octet hLen) MGF Hàm tạo mặt nạ sLen Đô dài chủ định phần phụ thêm theo octet M Văn để mã hóa, chuỗi octet emBits độ dài tối đa theo bit số nguyên OS2IP (EM), 8hLen + 8sLen + Đầu ra: EM Văn mã, chuỗi octet có độ dài emLen 40 = emBits/8 Thông báo lỗi: “lỗi định dạng”; “văn dài” Các bước: độ dài M lớn giới hạn đầu vào cho hàm băm (2 64-1 SHA-256 cho thơng báo lỗi “văn dài” dừng; lấy mHash = h(M), chuỗi octet dài hLen; emLen < hLen + sLen + 2, cho thông báo “lỗi định dạng” dừng; tạo chuỗi octet ngẫu nhiên salt có độ dài sLen; sLen = salt khơng có; đặt M’ = (0x)00 00 00 00 00 00 00 00 || mHash ||salt; lấy H = Hash(M’), chuỗi octet dài hLen; lấy PS chuỗi octet dài emLen - hLen - sLen - 2; Lấy DB = PS || 0x01 || salt; DB chuỗi octet dài emLen-hLen - 1; lấy maskedDB = DB  dbMask; 10 đặt 8emLen-emBits bit bên trái octet bên trái maskedDB 0; 11 lấy EM = maskedDB ||H || 0xbc; 12 xuất EM 4.2 Thao tác kiểm tra EMSA-PSS-VERIFY (M, EM, emBits) Lựa chọn: Đầu vào: h Hàm băm (độ dài đầu theo octet hLen) MGF Hàm tạo mặt nạ sLen Đô dài dự kiến phần thêm theo octet M Thông điệp cần kiểm tra chữ ký, chuỗi octet 41 EM Thơng điệp định dạng, chuỗi octet có độ dài emLen = emBits/8 emBits Độ dài tối đa theo bit số nguyên OS2IP (EM), tối thiểu 8hLen + 8sLen + Đầu “phù hợp” “không phù hợp” ra: Các bước: độ dài M lớn giới hạn đầu vào hàm băm (2 64 - octet SHA-256, đưa thông báo “không phù hợp” dừng; đặt mHash = h(M), chuỗi octet có độ dài hLen; emBits < 8hLen+8sLen+9, đưa thông báo “không phù hợp” dừng; octet bên phải EM không chứa giá trị bc, đưa thông báo “không phù hợp” dừng; đặt maskedDB emLen-hLen-1 octet bên trái EM, H hLen octet tiếp theo; 8emLen-emBits bit bên trái octet bên trái maskedDB tất 0, đưa thông báo “không phù hợp” dừng; đặt dbMask = MGF(H, emLen-hLen-1); đặt DB = maskedDB  dbMask; thiết lập 8emLen-emBits bit bên trái DB 0; 10 emLen-hLen-sLen-2 octet bên trái DB octet vị trí thử emLen-hLen-sLen-1 khơng 0x01, đưa thông báo “không phù hợp” dừng; 11 đặt salt sLen octet cuối DB; 12 đặt M’ = 00 00 00 00 00 00 00 00 || mHash || salt M’ chuỗi octet có độ dài 8+hLen+sLen với octet khởi đầu; 42 13 đặt H’ = h(M’), chuỗi octet có độ dài hLen; 14 H = H’, đưa thông báo “phù hợp” Ngược lại, đưa thông báo “không phù hợp” 4.3 Hàm tạo mặt nạ MGF dựa vào hàm băm MGF(mgfSeed, maskLen) Lựa chọn h Hàm băm (độ dài đầu theo octet hLen) Đầu vào: mgfSeed Mầm dùng để tạo mặt nạ, chuỗi octet maskLen Độ dài chủ ý theo octet mặt nạ, nhiều 232hLen mask Mặt nạ, chuỗi octet có độ dài maskLen Đầu ra: Thơng báo lỗi: “mặt nạ dài” Các bước: maskLen > 232 hLen, cho thông báo lỗi “mặt nạ dài” dừng; lấy T chuỗi octet rỗng; với counter chạy từ tới maskLen/hLen -1, thực bước a chuyển counter thành chuỗi octet C có độ dài octet; C = I2OSP (counter, 4) b nối hàm mgfSeed với C, tính hàm băm chuỗi Sau nối chuỗi octet T với giá trị băm vừa thu T = T || h(mgfSeed || C) xuất maskLen octet T chuỗi octet mask CHƯƠNG VI BÀI TẬP Bài 1: Dùng thuật tốn Euclide tìm phần tử nghịch đảo: Thuật toán: Cho b mod m 43 (A1, A2, A3) = (1, 0, m) (B1, B2, B3) = (0, 1, b) Q = A3 div B3 B3 = A3 mod B3 B1 = A1 – Q*B1 B2 = A2 – Q*B2 (A1 A2 A3) = (B1, B2, B3) If B3 = 0: gcd (b, m) = A1 Else B3 =1: gcd (b, m) = b-1 mod m = B2 - 357-1 mod 1137 Q A1 A2 A3 B1 B2 B3 - 113 35 7 357 -3 66 -3 66 -5 16 27 -5 16 27 11 - 12 - 51 35 11 -35 12 16 Vậy 357-1 mod 1137= 51 - 213-1 mod 1577 Q A1 A2 A3 B1 B2 B3 - 157 21 7 213 44 -7 86 -7 86 -2 15 41 -2 15 41 -37 10 - - 38 37 52 Vậy 213-1 mod 1577 = 385 Bài 2: Tính Jacobi Tính chất:  Với m, n số nguyên lẻ:  Với n số nguyên lẻ:  Với n số nguyên lẻ:  Với n số nguyên lẻ:  Với t số lẻ: 45 m=  ( )=1 n  ( m k t t ⇒ ( )=( ) ( ) n n n k a a a )=( )( ) m n m n Giải - 29 25 29 = = = = ( 199 ) = ( 199 ) ( ) ( ) ( ) ( 29 29 25 25 5) - 21 = ( 211 ) = ( 211 ) ( 21 21 ) = - ( 4797 ) = ( 9747 ) = ( 473 ) = −( 473 ) = −( 23 )= −(−1) = - ( 975 ) = ( 975 ) = ( 25 ) = −¿1 =1 Bài 3: Cho hệ mật RSA với p = 37, q = 41 số mũ mã hố e = 211 - Hãy tính số mũ giải mã d - Hãy mã hoá tin m = 47 giải mã mã vừa thu Giải: Trong hệ mật RSA ta có: n = p.q = 37.41 = 1517  Φ(n) = Φ(p.q) = Φ(p).Φ(q)  Φ(1517) = Φ(37) Φ(41) = 36.40 = 1440 46  Số mũ giải mã: d = e-1 mod Φ(n) = 211-1 mod 1440 Sử dụng thuật toán Euclide mở rộng tính 211-1 mod 1440 Q A1 A2 A3 B1 B2 B3 - 144 21 1 211 -6 17 1 -6 174 -1 37 -1 37 -34 26 -34 26 -6 41 11 -6 41 11 17 - 27 - 116 17 - 116 40 27 40 3 57 389 Số mũ giải mã d = 211-1 mod 1440= -389 mod 1440 = 1051 Mã hóa tin với m = 47 Trong hệ mật RSA, ta có mã: c = me mod n = 47211 mod 1517 Áp dụng thuật tốn nhân bình phương có lặp ta tính: c = 47211 mod 1517 Đổi hệ số: 211 = 1101 0011 = 20 + 21 + 24 + 26 + 27 t=7 47 i K 1 0 1 A 1 1 i 92 b 009 74 67 453 67 67 062 13 305 74 305 44 02  Bản mã: c = 47211 mod 1517= 602 Giải mã Để giải mã, ta tìm: m = cd mod n  m = 6021051 mod 1517 Đổi hệ số: 1051 = 100 0001 1011 = 20 + 21 + 23 + 23 + 24 + 210  t = 10 i K 1 1 0 0 A 1 1 1 i 02 b 358 02 009 370 74 370 453 11 062 49 13 49  Vậy rõ ban đầu: m = 6021051 mod 1517 = 47 48 74 49 453 49 062 49 13 49 Bài 4: Sử dụng hệ mật Elgamal với số nguyên tố p = 211, phần tử sinh  = 39 Z*211 Giả sử người dùng A chọn khóa bí mật a = 113 - Hãy tìm khố cơng khai A? Giả sử chọn số ngẫu nhiên k = 23, thực mã hoá tin x = 34 với khố cơng khai A, giả mã mã vừa thu Thuật tốn nhân bình phương có lặp: tính ak mod n Viết k dạng nhị phân => tìm t (bậc cao k) Đặt b =1, k = return b Đặt A = a Nếu k0 = b = a Cho i chạy từ đến t o A = A2 mod n o Ki = b = Ab mod n - Return b (b cuối kết ak mod n) - Giải Tìm khóa cơng khai (p, , a) Áp dụng thuật tốn nhân bình phương có lặp ta tính: a mod p = 39113 mod 211 Đổi hệ số: 113 = 111 0001 => t=6 i K 0 1 A 5 i b 9 03 9 49 05 91 1 08 Vậy a mod p = 108  Khóa cơng khai (211, 39, 108) Tính mã c = ( ‫ﻻ‬, Ƨ ) ‫ = ﻻ‬k mod p = 3923 mod 211 = (394)5 393 mod 211 = 375 393 mod 211 = 73 28 mod 211 = 145 Ƨ = m (a)k mod p = 34 (39113) 23 mod 211 = 34 (108) 23 mod 211 = 34 (1084) 1083 mod 211 = 34 (105) 42 mod 211 = 34 178 42 mod 211 = 140  Bản mã c = ( ‫ﻻ‬, Ƨ ) = (145, 140) Tính rõ m = (‫ ﻻ‬p-1-a) Ƨ mod p Áp dụng thuật tốn nhân bình phương có lặp ta tính: m = 145211-1-113 140 mod 211 = 14597 140 mod 211 Tính 14597 mod 211 Đổi hệ số: 97 = 110 0001 => t=6 50 i K 0 0 1 A 1 1 i 45 b 36 45 39 45 20 45 45 Vậy 14597 mod 211 = 160  Bản rõ m = 160 140 mod 211 = 34 51 72 45 4 60 TÀI LIỆU THAM KHẢO [1] TCVN 7635:2007 - Kỹ Thuật Mật Mã - Chữ Ký Số; [2] RSA PKCS#7 v1.5: March, 1998 Cryptographic Message Syntax Standard , RSA security inc ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-7/pkcs-7v1-5.pdf; [3] RSA PKCS#1 v2.1: June 14, 2002 RSA Cryptography Standard, RSA security inc ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf; [4] RSA PKCS#11 v 2.40: Mark, 2014 RSA Cryptographic Token Interface, RSA security inc ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/pkcs-1v2-40.pdf; [5] RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile https://www.ietf.org/rfc/rfc5280.txt; [6] RFC 3125: Electronic Signature Policies https://tools.ietf.org/html/rfc3125; [7] RFC 3379: Delegated Path Validation and Delegated Path Discovery Protocol Requirements https://tools.ietf.org/html/rfc3379 52 ...BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ MẬT Mà ỨNG DỤNG TRONG AN TỒN THƠNG TIN (CHUẨN Mà HĨA RSA) Chun ngành hẹp: An tồn ứng dụng Ngành: An tồn thơng tin Giảng... tin nhắn để tăng tính bảo mật Nhưng nói đến tin nhắn tồn người gửi người nhận, làm gửi cho tin nhắn mã hóa mà khơng có hội trước đó? Đây nội dung mà nhóm chúng em tìm hiểu, chuẩn mã hóa RSA Trong. .. xứng đời, để đảm bảo tính bí mật trao đổi thơng tin, thuật tốn mã hóa thơng tin xây dựng mật mã học đối xứng Trong loại mật mã này, bên trao đổi thông tin cần phải cần gặp gỡ trao đổi qua kênh bảo

Ngày đăng: 23/09/2021, 17:40

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Hình 1.4. Thuật toán mã hóa EME-OAEP - MẬT MÃ ỨNG DỤNG TRONG AN TOÀN THÔNG TIN (CHUẨN MÃ HÓA RSA)
Hình 1.4. Thuật toán mã hóa EME-OAEP (Trang 25)
Hình 1: ánh xạ giữa thông điệp và giá trị băm không phải là song ánh - MẬT MÃ ỨNG DỤNG TRONG AN TOÀN THÔNG TIN (CHUẨN MÃ HÓA RSA)
Hình 1 ánh xạ giữa thông điệp và giá trị băm không phải là song ánh (Trang 26)
Hình 2- Minh họa thao tác định dạng - MẬT MÃ ỨNG DỤNG TRONG AN TOÀN THÔNG TIN (CHUẨN MÃ HÓA RSA)
Hình 2 Minh họa thao tác định dạng (Trang 40)

TỪ KHÓA LIÊN QUAN

Mục lục

    1.1 Mật mã khóa công khai

    1.2 Lịch sử ra đời RSA

    1.3 Tiêu chuẩn về RSA

    1.3.2 TCVN 7635:2007. Tiêu chuẩn mật mã – Chữ ký số

    1.4 Hoạt động của thuật toán RSA

    1.5 Vấn đề an toàn của RSA

    1.6 Kết luận chương tổng quan

    2.1. Một số khái niệm

    2.5. Yêu cầu đối với khóa RSA

    2.5.1. Các yêu cầu chung

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

TÀI LIỆU LIÊN QUAN

w