Nghiên cứu hệ mật Elgamal trên trường đa thức

55 33 0
Nghiên cứu hệ mật Elgamal trên trường đa thức

Đ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

Nghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thứcNghiên cứu hệ mật Elgamal trên trường đa thức

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - PHAN ĐỨC TUÂN NGHIÊN CỨU HỆ MẬT ELGAMAL TRÊN TRƯỜNG ĐA THỨC LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2020 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - PHAN ĐỨC TUÂN NGHIÊN CỨU HỆ MẬT ELGAMAL TRÊN TRƯỜNG ĐA THỨC CHUYÊN NGÀNH : MÃ SỐ: HỆ THỐNG THÔNG TIN 8.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: GS NGUYỄN BÌNH HÀ NỘI - 2020 LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn sâu sắc đến thầy GS Nguyễn Bình, tận tâm, tận lực hướng dẫn, định hướng cho tôi, đồng thời cung cấp nhiều tài liệu tạo điều kiện thuận lợi suốt trình học tập nghiên cứu để tơi hồn thành luận văn Tôi xin chân thành cảm ơn đến thầy, cô môn khoa Hệ Thống Thông Tin, Học Viện Bưu Chính Viễn Thơng với lãnh đạo nhà trường nhiệt tình giảng dạy truyền đạt kiến thức, kinh nghiệm quý giá suốt trình học tập rèn luyện trường Do kiến thức thời gian có hạn nên luận văn khơng tránh khỏi thiếu sót định Tơi mong nhận góp ý q báu thầy cơ, đồng nghiệp bạn bè Xin chân thành cảm ơn! Hà Nội, ngày 15 tháng 05 năm 2020 Học viên thực Phan Đức Tuân LỜI CAM ĐOAN Tôi xin cam kết kết đạt luận văn “Nghiên cứu hệ mật ElGamal trường đa thức” thực hướng dẫn GS Nguyễn Bình Trong tồn nội dung nghiên cứu luận văn, vấn đề trình bày tìm hiểu nghiên cứu cá nhân trích dẫn nguồn tài liệu số trang web đưa phần Tài liệu tham khảo Tôi xin cam đoan lời thật chịu trách nhiệm trước thầy cô hội đồng bảo vệ luận văn thạc sĩ Hà Nội, ngày 15 tháng 05 năm 2020 Học viên thực Phan Đức Tuân MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii DANH MỤC THUẬT NGỮ, CHỮ VIẾT TẮT vi DANH MỤC CÁC BẢNG BIỂU .vii DANH MỤC HÌNH VẼ .viii MỞ ĐẦU CHƯƠNG KIẾN THỨC CƠ SỞ .4 1.1 Khái quát mật mã học 1.1.1 Giới thiệu mật mã học 1.1.2 Vấn đề mã hóa .4 1.2 Cơ sở toán học 1.2.1 Modulo số học 1.2.2 Nhóm, vành trường .8 1.2.3 Trường hữu hạn GF(p) 10 1.2.4 Số học đa thức trường hữu hạn GF(2n) .12 1.2.4.1 Phép toán đa thức thông thường 12 1.2.4.2 Trường hữu hạn GF(2n) 14 1.2.4.3 GF(2n) mã hóa 17 CHƯƠNG 2: BÀI TOÁN LOGARIT RỜI RẠC 21 2.1 Tổng quan toán Logarit rời rạc 21 2.2 Bài toán Logarit trường số thực R 21 2.3 Bài toán Logarit trường hữu hạn .22 2.4 Logarit rời rạc trường Galois 25 2.5 Các phương pháp giải toán Logarit rời rạc 27 2.5.1 Thuật toán vét cạn 27 2.5.2 Thuật toán bước lớn bước nhỏ ( Baby-step giant-step ) 27 2.5.3 Thuật toán Pohlig – Hellman 28 2.5.4 Thuật toán tính số ( Index-Calculus) .28 2.5.4.1 Tính số GF(p) 30 2.5.4.2 Tính số GF(2n) .31 CHƯƠNG 3: HỆ MẬT ELGAMAL TRÊN TRƯỜNG ĐA THỨC 34 3.1 Trao đổi khóa Diffie Hellman 34 3.1.1 Bài toán Diffie Hellman: 35 3.1.2 Khởi tạo Diffie Hellman 35 3.1.3 Trao đổi khoá Diffie Hellman 35 3.2 Hệ mật ElGamal [3,Tr 294] 36 3.2.1 Giới thiệu .36 3.2.2 Thủ tục tạo khóa 37 3.2.3 Mã hóa hệ ElGamal .37 3.2.4 Giải mã hệ ElGamal 38 3.2.5 Tính đắn thuật tốn mật mã hệ ElGamal 38 3.2.6 Ví dụ 38 3.2.7 Thám mã hệ ElGamal 39 3.3 Hệ mật ElGamal trường đa thức .40 3.3.1 Hệ mã ElGamal theo phương pháp cộng vành đa thức với hai lũy đẳng 40 3.3.1.1 Tạo khóa .40 3.3.1.2 Mã hóa .41 3.3.1.3 Giải mã 41 3.3.1.4 Ví dụ 41 3.3.2 Hệ mã ElGamal theo phương pháp nhân vành đa thức với hai lũy đẳng 42 3.3.2.1 Tạo khóa .42 3.3.2.2 Mã hóa 43 3.3.2.3 Giải mã .43 3.3.2.4 Ví dụ 43 3.3.3 Độ an toàn 44 KẾT LUẬN 45 DANH MỤC CÁC TÀI LIỆU THAM KHẢO 46 DANH MỤC THUẬT NGỮ, CHỮ VIẾT TẮT STT 10 Từ viết tắt AES DES F G GF ID R RSA UCLN Z Tiếng Anh Advanced Encryption Standard Data Encryption Standard Field Group Galois Field Ring Rivest, Shamir and Adlenman Gcd Tiếng Việt Chuẩn mã hóa liệu dạng khối Chuẩn mã hóa liệu Trường Nhóm Trường Galois Chỉ danh người dùng mạng Vành Giải thuật mã hóa khóa cơng khai Ước chung lớn Tập số nguyên DANH MỤC CÁC BẢNG BIỂU Bảng 1: Bảng phép cộng phép nhân Z7 11 Bảng 2: Phép cộng phép nhân trường hữu hạn với đa thức 15 Bảng 3: Các giá trị y = 2x mod 19 Z*19 .23 Bảng 4: Các giá trị log2x(mod 19) Z*19 24 Bảng 5: Bài toán Logarit rời rạc Z*19 25 x121 mod f(x) = x6 + x5 +x4 + x3 + x2 + x + = ( x3 + x + )(x3 + x2 + 1) Để cho thuận tiện kí hiệu p = logxx, p2 = logx(x+1), p3 = logx(x2 + x +1), p4 = logx(x3 + x +1), p5 = logx(x3 + x2 +1) Sau có phương trình: 18 = 4p1 + 2p2 (mod 127 ) 103 = p1 + 2p2 + p3 (mod 127 ) 72 = 2p1 + 2p2 + p3 (mod 127 ) 45 = 2p2 + 2p4 (mod 127 ) 121 = p4 + p3 (mod 127 ) Giải hệ phương trình tuyến tính gồm năm phương trình năm ẩn số thu p1 = 1, p2 = 7, p3 = 56, p4 = 34 p5 = 90 Giả sử k = 66 chọn rằng:  k  ( x  x3  x  x  1) x 66 mod f ( x)  x5  x  x  x( x  x  1) Và từ suy rằng: log x ( x  x3  x  x  1)  ( p1  p3  66) mod127  47 Nếu biểu diễn hàm thời gian chạy thuật toán A với đầu vào phần tử trường hữu hạn GF(q) sau đây: Lq   , c    (exp((c   (1))(ln q ) q (ln ln q )1 ) Với c số dương  số thoả mãn <  < A thuật tốn thời gian tiểu hàm mũ Khi  = Lq[0,c] đa thức theo lnq cịn  = Lq[1,c] đa thức q mũ thực theo lnq Thuật toán số GF(q) hai trường hợp q = p với p nguyên tố q = 2n có thời gian chạy ky vọng Lq[ ,c] với c>0 số Thời gian chạy ky vọng thuật tốn tính số tiểu hàm mũ tốt so với thuật toán thời gian chạy hàm mũ thực trước chưa phải tốt lý thuyết thực hành Người ta tìm thuật tốn biến thể thuật tốn tính số theo nghĩa sử dụng kỹ thuật tốn học mơi trường tính tốn đặc biệt để thiết kế thành thuật tốn có thời gian chạy tốt lý thuyết thực hành Một loại thuật tốn thuật tốn sàng trường số với thời gian chạy L q[ ,c] với q = p nguyên tố c = 1.923 CHƯƠNG 3: HỆ MẬT ELGAMAL TRÊN TRƯỜNG ĐA THỨC 3.1 Trao đổi khóa Diffie Hellman Trao đổi khố Diffie Hellman sơ đồ khố cơng khai đề xuất Diffie Hellman năm 1976 với khái niệm khố 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ố mật Sự đời giao thức trao đổi khoá Diffie – Hellman xem bước mở đầu cho lĩnh vực mã khố cơng khai Nó thúc đẩy việc nghiên cứu đề xuất mã khố cơng khai Hình Trao đổi khóa Diffie-Hellman 3.1.1 Bài tốn Diffie Hellman: Cho nhóm Cyclic hữu hạn G phần tử o Không thể dùng để trao đổi mẩu tin bất ky o Tuy nhiên thiết lập khố chung o Chỉ có hai đối tác biết đến o Giá trị khoá phụ thuộc vào đối tác (và thơng tin khố cơng khai khoá riêng họ) o Dựa phép toán lũy thừa trường hữu hạn (modulo theo số nguyên tố đa thức) toán dễ o Độ an tồn dựa độ khó tốn tính Logarit rời rạc tốn khó 3.1.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 đa thức o α o nguyên tố mod q  Mỗi người dùng (A chẳng hạn) tạo khoá mình: o Chọn khố mật (số) A: xA < q o Tính khố cơng khai A: mod q o Mỗi người dùng thông báo công khai khố 3.1.3 Trao đổi khố Diffie Hellman  Khoá phiên dùng chung cho hai người sử dụng A, B = mod q = mod q (mà B tính) = mod q (mà A tính)  sử dụng khố phiên sơ đồ khoá riêng A B  A B trao đổi với nhau, họ có khoá chung K AB họ chọn khoá  Kẻ thám mã cần x, phải giải tính Logarit rời rạc Ví dụ: Hai người sử dụng Alice & Bob muốn trao đổi khoá phiên: - Đồng ý chọn số nguyên tố q = 353 α = - Chọn khoá mật ngẫu nhiên: A chọn = 97, B chọn =233 - Tính khố cơng khai: = 397 mod 353 = 40 (Alice) = 3233 mod 353 = 248 (Bob) - Tính khố phiên chung: KAB= mod 353 = 24897 = 160 (Alice) KAB= mod 353 = 40233= 160 (Bob) 3.2 Hệ mật ElGamal [3,Tr 294] 3.2.1 Giới thiệu Hệ mã ElGamal hệ mật mã công khai Hệ mã dựa tốn Logarit rời rạc Tính an tồn hệ mã dựa vào độ phức tạp toán loogarit Hệ ElGamal biến thể sơ đồ phân phối khóa Diffie Hellman, đưa năm 1985 So với hệ mã RSA , hệ ElGamal nhiều rắc rối vấn đề quyền sử dụng Hình Hệ mật ElGamal 3.2.2 Thủ tục tạo khóa Mỗi bên liên lạc A, B tạo cho cặp khóa cơng khai khóa bí mật sau: Chọn số nguyên tố đủ lớn p cho cho toán logarit rời rạc Zp khó giải Cho g Zp* phần tử ngun thủy Chọn khóa bí mật x số ngẫu nhiên cho 1< x < p - Tính khóa cơng khai y theo cơng thức: y = gx (mod p) Sử dụng ba giá trị (p, g, y) làm khóa cơng khai người nhận gửi chúng cho người sử dụng cần mã hóa thơng tin bí mật gửi cho 3.2.3 Mã hóa hệ ElGamal Giả sử B cần gửi tin M cho A, B thực bước sau: B nhận khóa cơng khai A: ( p, g, y) B chọn số nguyên k ngẫu nhiên với < k < p – tính giá trị theo công thức : Giả sử tin biểu thị dạng số nguyên M dải (1, …,p-1) Phép tính mũ tính thuật tốn nhân bình phương theo modulo B gửi mã C = ( γ , δ ) cho A Ta nhận thấy mã C ghép từ γ , δ nên có độ dài bit lần độ dài M, nhược điểm hệ mật 3.2.4 Giải mã hệ ElGamal A nhận mã C từ B tiến hành giải mã theo bước sau: A sử dụng khóa bí mật a để tính: γp-1-a mod p = g-ak mod p (Vì γp-1-a = (gk)-a ) A khơi phục rõ cách tính: δ γp-1-a mod p = M gak g-ak = M 3.2.5 Tính đắn thuật toán mật mã hệ ElGamal Thuật toán mật mã ElGamal hồn tồn đắn Với cách khơi phục tin ban đầu M cách : δ γp-1-a mod p = M gak g-ak = M Như vậy, rõ nhận sau giải mã rõ ban đầu M 3.2.6 Ví dụ Cho hệ mã ElGamal có p = 347, g = 23, a = 67 Ta tính y = ga mod p = 2367 mod 347 = 77, từ suy khóa công khai (p, g, y) = (347, 23, 77) khóa bí mật là: a = 67 Để mã hóa thơng điệp ký tự “o”, ta chuyển thành số, chẳng hạn lấy tương ứng chữ “a” đến “z” với số từ đến 25 “o” ứng với 14 Với M = 14 ta chọn số ngẫu nhiên k, chẳng hạn k = 54 tính γ = gk mod p = 2354 mod 347 = 278 Tiếp tục tính δ = M.yk mod p = 14.7754 mod 347 = 59 Vậy mã gửi (278, 59) Khi người nhận nhận mã (278, 59) tiến hành tính sau: Tính γa mod p = 27867 mod 347 = 29 tính Z-1 = 29-1 mod 347 = 12 Tiếp tục tính δ y-a mod p = (59 12) mod 347 = 14 Do thỏa thuận trước việc chuyển đổi ký tự nên người nhận đọc lại ký tự ‟o” rõ ban đầu Ta có nhận xét giải mã, người nhận số ngẫu nhiên k mà người gửi dùng để mã hóa Điều có nghĩa với khóa, rõ có nhiều mã khác mà người nhận giải mã 3.2.7 Thám mã hệ ElGamal Hệ mật ElGamal bị phá vỡ khóa mật x k tính Để tính x k, cần phải giải hai toán logarit rời rạc, nhiên việc giải toán logarit rời rạc việc khó Chúng ta có hai thuật toán để giải toán Logarit rời rạc - Thuật toán Shanks - Thuật toán Pohlig – Hellman Thuật tốn Shanks Thuật tốn có tên gọi khác thuật toán thời gian – nhớ Tư tưởng thuật tốn ta có đủ nhớ sử dụng nhớ để giảm thời gian thực thuật toán Input: Số nguyên tố p, phần tử nguyên thủy a Z*p, số nguyên tùy ý Output: Cần tìm a cho y = a mod p Thuật toán: Gọi m = [ (p-1)1/2 ] (lấy phần nguyên) 1.Tính amj mod p với ≤ j ≤ m-1 2.Sắp xếp cặp (j, amj mod p) theo amj mod p lưu vào danh sách L1 3.Tính ya-i mod p, ≤ i ≤ m-1 4.Sắp xếp cặp (i, ya-i mod p ) theo ya-i mod p lưu vào danh sách L2 5.Tìm hai danh sách L1 L2 xem có tồn cặp (j, a mj mod p) (i, ya-i mod p ) mà amj mod p = ya-i mod p Tính x = (mj + i) mod (p -1) 3.3 Hệ mật ElGamal trường đa thức Dựa hệ thống an toàn cấu trúc có sẵn để xây dựng hệ mật ElGamal với hai lũy đẳng nguyên thủy Chúng ta sửa đổi kiểu che giấu liệu theo phương pháp nhân phương pháp cộng Cũng giống hệ mật ElGamal trường nguyên tố Zp chúng đơn giản mặt tính tốn Kiểu che dấu liệu có nhiều cách, kiểu che giấu gốc hệ mật che giấu kiểu nhân Vậy thêm kiểu che giấu liệu theo kiểu cộng Cộng dễ tính tốn mặt an tồn Vành đa thức với hai lũy đẳng nguyên thủy bất khả quy có dạng Z 2[x]/ (1+x)g(x) với g(x) đa thức bất khả quy nguyên thủy với bậc m Các nhóm nhân vành bao gồm:     {xi mod (1+x)g(x)} i = 1, 2m – {(x+g(x))i mod (1+x)g(x) g(x) 3.3.1 Hệ mã ElGamal theo phương pháp cộng vành đa thức với hai lũy đẳng 3.3.1.1 Tạo khóa Trong hệ mã hóa ElGamal này, khóa cơng khai khóa bí mật tạo sau: Bước 1: A chọn vành đa thức với hai lũy đẳng nguyên thủy bất khả quy Z 2[x]/ (1+x)g(x) Bước 2: A chọn α(x) đa thức bất nguyên thủy khả quy Bước 3: A chọn khóa bí mật a số ngẫu nhiên cho 1< a < m – Tính khóa cơng khai A(x) theo cơng thức αa(x) mod (1+x)g(x) A sử dụng ba giá trị (Z2[x]/(1+x)g(x), α(x), A(x)) làm khóa cơng khai người nhận gửi chúng cho người sử dụng cần mã hóa thơng tin bí mật gửi cho 3.3.1.2 Mã hóa Giả sử B có đoạn thơng tin M(x) cần gửi cho A Khi để gửi tin M(x) cho A, thực bước sau: Bước 1: B chọn số ngẫu nhiên b thỏa mãn 1< a < m – 1, sau B tính giá trị γ(x) theo công thức: γ(x) = αb(x) mod (1+x)g(x) Sử dụng khóa cơng khai A để tính: δ(x) = (M(x) + Ab(x)) mod (1+x)g(x) Bước 2: B gửi mã gồm (γ(x), δ(x)) đến A 3.3.1.3 Giải mã Để khôi phục rõ ban đầu M(x) từ mã (γ(x), δ(x)) nhận được, A sử dụng khóa bí mật a để tính tốn thực bước sau: M(x) = δ(x) + γa(x) mod (1+x)g(x) = [M(x) + Ab(x) + γa(x) ] mod (1+x)g(x) = [M(x) + αab(x) + αab(x) ] mod (1+x)g(x) = M(x) 3.3.1.4 Ví dụ Tạo khóa Bước 1: A chọn trường đa thức Z2[x]/(1+x).(x4+x+1) Bước 2: A chọn đa thức bất khả quy nguyên thủy α(x) = x3+x+1 Bước 3: A chọn khóa bí mật a = số ngẫu nhiên Tính khóa cơng khai A(x) = (x3+x+1)4 mod (1+x).(x4+x+1) = x3 + x2 + Bước 4: A sử dụng ba giá trị (Z2[x]/(1+x).(x4+x+1), x3+x+1, x3+x2+1) làm khóa cơng khai người nhận gửi chúng cho B Mã hóa Giả sử B muốn gửi tin M(x) = x4 + x2 + cho A Bước 1: B chọn b = tính γ(x) = (x3+x+1)5 = x4+x2+1 B sử dụng khóa cơng khai A để tính: δ(x) = (x4 + x2 + 1) + (x3 + x2 + 1)5 = Bước 2: B gửi mã c = [γ(x),δ(x)] cho A Giải mã A nhận mã c tính M(x) = γa(x) + δ(x) = (x4+x2+1)4 + = x4+x2+1 3.3.2 Hệ mã ElGamal theo phương pháp nhân vành đa thức với hai lũy đẳng 3.3.2.1 Tạo khóa Trong hệ mã hóa ElGamal này, khóa cơng khai khóa bí mật tạo sau: Bước 1: A chọn vành đa thức với hai lũy đẳng nguyên thủy bất khả quy Z 2[x]/ (1+x)g(x) Bước 2: A chọn α(x) đa thức bất nguyên thủy khả quy Bước 3: A chọn khóa bí mật a số ngẫu nhiên cho 1< a < m – Tính khóa cơng khai A(x) = αa(x) mod (1+x)g(x) Bước 4: A sử dụng ba giá trị (Z2[x]/(1+x)g(x), α(x), A(x)) làm khóa cơng khai người nhận gửi chúng cho người sử dụng cần mã hóa thơng tin bí mật gửi cho 3.3.2.2 Mã hóa Giả sử B có đoạn thơng tin M(x) cần gửi cho A Khi để gửi tin M(x) cho A, thực bước sau: Bước 1: B chọn số ngẫu nhiên b thỏa mãn 1< a < m – 1, sau B tính giá trị γ(x) theo cơng thức: γ(x) = αb(x) mod (1+x)g(x) Sử dụng khóa cơng khai A để tính: δ(x) = M(x).Ab(x) mod (1+x)g(x) Bước 2: B gửi mã gồm (γ(x), δ(x)) đến A 3.3.2.3 Giải mã Để khôi phục rõ ban đầu M(x) từ mã (γ(x), δ(x)) nhận được, A sử dụng khóa bí mật a để tính tốn thực bước sau: M(x) = δ(x) ( γa(x))-1 mod (1+x)g(x) = (M(x).Ab(x).γa(x)) mod (1+x)g(x) = M(x).αab(x).α-ab(x) mod (1+x)g(x) = M(x) 3.3.2.4 Ví dụ Tạo khóa Bước 1: A chọn trường đa thức Z2[x]/(1+x).(x4+x+1) Bước 2: A chọn đa thức bất khả quy nguyên thủy: α(x) = x3+x+1 Bước 3: A chọn khóa bí mật a =4 Tính khóa cơng khai A(x) = (x3+x+1)4 mod (1+x).(x4+x+1) = x3 + x2 + Bước 4: A sử dụng ba giá trị (Z2[x]/(1+x).(x4+x+1), x3+x+1, x3+x2+1) làm khóa cơng khai gửi chúng cho B Mã hóa Giả sử B muốn gửi tin M(x) = x4 + x2 + cho A Bước 1: B chọn b = tính γ(x) = α5(x) =(x3+x+1)5 = x4+x2+1 Sử dụng khóa cơng khai A tính: δ(x) = M(x).Ab(x) = M(x).αab(x) = (x4+x2+1)(x3+x2+1)20 = x2+x+1 Bước 2: B gửi mã c = [γ(x),δ(x)] = [x4+x2+1, x2+x+1] cho A Giải mã A nhận mã c tính: M(x) = δ(x) γ-a(x) = (x2 + x + 1)( x2 + x + 1) = (x4+x2+1) 3.3.3 Độ an toàn Hệ thống ElGamal dựa toán Logarit rời rạc Tính an tồn tùy thuộc vào độ phức tạp toán Logarit rời rạc Trong toán hệ ElGamal + p số nguyên tố, a phần tử nguyên thủy Z*p (p a cố định) + Bài tốn Logarit rời rạc phát biểu sau: Tìm số mũ x (0< x < p -1) cho ax = y mod p, với y thuộc Z*p cho trước + Bài tốn giải phương pháp vét cạn (tức duyệt tất phần tử x để tìm x thỏa mãn Bài tốn có độ phức tạp O(p) Vấn đề đặt p lớn để thực phương pháp phải cần thời gian lớn, khơng khả thi để tìm x Hệ mật an tồn, khó bị thám mã giải mã KẾT LUẬN Luận văn nghiên cứu giải tốn mã hóa, giải toán ElGamal trường đa thức Từ việc giải toán tảng cho nhiều ứng dụng thực tế dịch vụ thương mại điện tử, chữ ký số, cá thể hóa thẻ ngân hàng, bầu cử … Luận văn đạt số kết sau:  Tìm hiểu tốn Logarit rời rạc, số thuật toán giải toán Logarit rời rạc  Tìm hiểu phương pháp che dấu liệu vành Z p, Zp*, từ ứng dụng vào hệ mật ElGamal trường đa thức  Nghiên cứu hệ mật ElGamal trường đa thức với hai lũy đẳng nguyên thủy lấy ví dụ minh họa cụ thể Hạn chế  Dung lượng nhớ dành cho việc lưu trữ khóa lớn  Tốc độ mã hóa chậm phải xử lý tính tốn giá trị lớn, để hệ mật an tồn tham số bậc đa thức phải đủ lớn Do bậc đa thức lớn độ phức tạp toán logarit lớn Hướng phát triển  Ứng dụng chữ ký số, dịch vụ thương mại  Kết hợp kiểu che dấu liệu khác an toàn tốc độ nhanh hợn  Tìm hiểu hệ mật ElGamal vành đa thức với nhiều lũy đẳng nguyên thủy DANH MỤC CÁC TÀI LIỆU THAM KHẢO [1] Nguyễn Bình, Giáo trình Mật mã học, Học viện Cơng nghệ Bưu Viễn thơng [2] Phan Đình Diệu Lý thuyết mật mã an tồn thơng tin – NXB Đại học Quốc gia Hà Nội - 2006 [3] Hồ Thuần (2000), Giáo trình Lý thuyết mật mã an toàn liệu, Đại học Bách Khoa Hà Nội [3] A.J Menezes all Handbook of applied cryptography CRC Press 1998 [4] Crypttography and Network Security Principles and Practices, th Edition – William Stallings – Prentice Hall – 2005 [5] D Stinson Cryptography CRC Press 1995 [6] E.R Berlekamp Algebraic coding Theory McGraw Hill book company 1968 [7] W.W Peterson Error correcting codes The M.I.T.Press 1961 [8] http://vi.wikipedia.org/wiki/Lơgarit_rời_rạc [9] https://vi.wikipedia.org/wiki/Trao_đổi_khóa_Diffie-Hellman ... hiểu hệ mật ElGamal trường đa thức Đối tượng phạm vi nghiên cứu: Hệ mật ElGamal đối tượng nghiên cứu đề tài Từ xây dựng hệ mật ElGamal vành đa thức với hai lũy đẳng nguyên thủy Phương pháp nghiên. .. đánh giá hệ mật, xây dựng hệ mật ElGamal trường đa thức, giải toán hệ mật ElGamal vành đa thức với hai lũy đẳng nguyên thủy CHƯƠNG KIẾN THỨC CƠ SỞ 1.1 Khái quát mật mã học 1.1.1 Giới thiệu mật mã... toán mật mã hệ ElGamal 38 3.2.6 Ví dụ 38 3.2.7 Thám mã hệ ElGamal 39 3.3 Hệ mật ElGamal trường đa thức .40 3.3.1 Hệ mã ElGamal theo phương pháp cộng vành đa thức

Ngày đăng: 31/12/2020, 09:19

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • DANH MỤC THUẬT NGỮ, CHỮ VIẾT TẮT

  • DANH MỤC CÁC BẢNG BIỂU

  • DANH MỤC HÌNH VẼ

  • MỞ ĐẦU

  • CHƯƠNG 1. KIẾN THỨC CƠ SỞ

    • 1.1. Khái quát về mật mã học

      • 1.1.1. Giới thiệu về mật mã học

      • 1.1.2. Vấn đề về mã hóa

      • 1.2. Cơ sở toán học

        • 1.2.1. Modulo số học

        • 1.2.2. Nhóm, vành và trường

        • 1.2.3. Trường hữu hạn GF(p)

        • 1.2.4. Số học đa thức và trường hữu hạn GF(2n)

        • 1.2.4.1. Phép toán đa thức thông thường

        • 1.2.4.2. Trường hữu hạn GF(2n)

        • 1.2.4.3. GF(2n) trong mã hóa

        • CHƯƠNG 2: BÀI TOÁN LOGARIT RỜI RẠC

          • 2.1. Tổng quan về bài toán Logarit rời rạc

          • 2.2. Bài toán Logarit trên trường số thực R

          • 2.3. Bài toán Logarit trên trường hữu hạn

          • 2.4. Logarit rời rạc trong trường Galois

          • 2.5. Các phương pháp giải bài toán Logarit rời rạc

            • 2.5.1. Thuật toán vét cạn

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

  • Đang cập nhật ...

Tài liệu liên quan