1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)

51 31 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

Cấu trú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

      • 2.5.2. Thuật toán bước đi lớn bước đi nhỏ ( Baby-step giant-step )

      • 2.5.3. Thuật toán Pohlig – Hellman

      • 2.5.4. Thuật toán tính chỉ số ( Index-Calculus)

      • 2.5.4.1. Tính chỉ số trên GF(p)

      • 2.5.4.2. Tính chỉ số trên GF(2n)

  • CHƯƠNG 3: HỆ MẬT ELGAMAL TRÊN TRƯỜNG ĐA THỨC

    • 3.1. Trao đổi khóa Diffie Hellman

      • 3.1.1. Bài toán Diffie Hellman:

      • 3.1.2. Khởi tạo Diffie Hellman

      • 3.1.3. Trao đổi khoá Diffie Hellman

    • 3.2. Hệ mật ElGamal [3,Tr 294]

      • 3.2.1. Giới thiệu

      • 3.2.2. Thủ tục tạo khóa

      • 3.2.3. Mã hóa hệ ElGamal

      • 3.2.4. Giải mã hệ ElGamal

      • 3.2.5. Tính đúng đắn của thuật toán mật mã hệ ElGamal

      • 3.2.6. Ví dụ

      • 3.2.7. Thám mã hệ ElGamal

    • 3.3. Hệ mật ElGamal trên trường đa thức

      • 3.3.1 . Hệ mã ElGamal theo phương pháp cộng trên vành đa thức với hai lũy đẳng

      • 3.3.1.1. Tạo khóa

      • 3.3.1.2. Mã hóa

      • 3.3.1.3. Giải mã

      • 3.3.1.4. Ví dụ

      • 3.3.2. Hệ mã ElGamal theo phương pháp nhân trên vành đa thức với hai lũy đẳng

      • 3.3.2.1. Tạo khóa

      • 3.3.2.2. Mã hóa

      • 3.3.2.3. Giải mã

      • 3.3.2.4. Ví dụ

      • 3.3.3. Độ an toàn

  • KẾT LUẬN

  • DANH MỤC CÁC TÀI LIỆU THAM KHẢO

Nội dung

Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)Nghiên cứu hệ mật Elgamal trên trường đa thức (Luận văn thạc sĩ)

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 : HỆ THỐNG THÔNG TIN MÃ SỐ: 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 ý quý 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 tơi 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 DANH MỤC THUẬT NGỮ, CHỮ VIẾT TẮT ST T Từ viết tắt 10 DES F G GF ID R RSA UCLN Z AES 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 DANH MỤC HÌNH VẼ MỞ ĐẦU Tính cấp thiết đề tài Cùng với phát triển công nghệ thông tin truyền thơng, mạng máy tính trở thành phương tiện điều hành thiết yếu lĩnh vực hoạt động xã hội Việc trao đổi thông tin liệu môi trường mạng ngày trở lên phổ biến dần thay phương thức truyền tin trực tiếp Khi ngày nhiều thơng tin trao đổi nhu cầu bảo mật thông tin đặt nhiều ngành nhiều lĩnh vực Các tài liệu, văn mã hóa xử lý máy tính truyền mơi trường mạng internet khơng an tồn Do yêu cầu có chế, giải pháp để bảo vệ an tồn bí mật thơng tin ngày cần thiết thiếu Mật mã học ngành khoa học để giải vấn đề Hầu ứng dụng sử dụng thuật tốn mã hóa thơng tin Hệ mật mã đời nhằm đảm bảo dịch vụ an tồn như: hệ mật mã với khóa sở hữu riêng (Private Key Cryptosystems), hệ mã với khóa bí mật (Secret Key Cryptosystem), hệ mã hóa truyền thống (Conventional Cryptosystem) hệ mật mã sử dụng mã hóa khóa đối xứng, hệ mật mã hóa khóa cơng khai Hệ mật mã khóa cơng khai cho phép người sử dụng trao đổi thông tin mà không cần trao đổi khóa chung bí mật Hệ mã hóa khóa cơng khai thiết kế cho khóa giải mã khác với khóa mã hóa ngược lại Tức hai khóa có quan hệ với tốn học suy diễn Một thuật tốn mã hóa khóa cơng khai phát triển dựa Hệ mật mã ElGamal cho phép giải yêu cầu bảo mật thông tin, đồng thời việc xác thực nguồn gốc tính tồn vẹn thơng tin Luận văn trình bày hệ mật ElGamal trường đa thức Giải toán hệ ElGamal vành đa thức với hai lũy đẳng nguyên thủy 10 Bài toán Logarit rời rạc Zp đối tượng nhiều cơng trình nghiên cứu xem tốn khó p chọn cẩn thận Bài tốn có nhiều ứng dụng sâu sắc nhiều hướng khác toán học, vật lý học,…đặc biệt toán Logarit rời rạc sở để xây dựng hệ mã khóa cơng khai Đây dạng toán chiều: toán lấy lũy thừa tính tốn hiệu theo thuật tốn bình phương nhân, song tốn ngược tìm số mũ lại khơng dễ Đề tài nhằm nghiên cứu toán Logarit rời rạc ứng dụng giải toán hệ mật ElGamal vành đa thức với hai lũy đẳng nguyên thủy Mục tiêu, đối tượng, phạm vi phương pháp nghiên cứu Mục tiêu nghiên cứu: Tìm hiều tốn Logarit rời rạc hoạt động hệ mật ElGamal Tìm 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 cứu * Phương pháp lý thuyết - Tìm hiểu nghiên cứu mật mã, sở tốn học - Tìm hiểu bài toán Logarit rời rạc hệ mật ElGamal, thủ tục trao đổi khóa Diffie-Hellman, phương pháp che dấu liệu - Lý thuyết chung hệ mật khóa cơng khai từ đưa phương pháp che dấu liệu hệ mật ElGamal * Phương pháp thực nghiệm - Hệ mật giữ nguyên cấu trúc trao đổi khóa Diffie-Hellman - Trình bày kiểu che dấu liệu theo phương pháp nhân phương pháp cộng hệ mật ElGamal Cấu trúc luận văn Luận văn tác giả trình bày chương có phần mở đầu, danh mục từ viết tắt, phần kết luận, mục lục, phần tài liệu tham khảo Các nội dung luận văn trình bày theo cấu trúc sau: 37 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 + x3 + x = x ( x + x + 1)2 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 α = 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 38 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 toá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 39 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ã khoá 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ử 40 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 khố 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) tố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 khố mình: o Chọn khoá 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 • Khố 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 khoá phiên sơ đồ khoá riêng A B 41 • A B trao đổi với nhau, họ có khố chung K AB họ chọn khố • 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 khơng có nhiều rắc rối vấn đề quyền sử dụng 42 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 43 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: 44 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 45 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 toà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 46 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 = 47 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 48 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 tố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 49 + 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ã 50 KẾT LUẬN Luận văn nghiên cứu giải tốn mã hóa, giải tố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 tốn giải tố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 tố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 51 [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. .. 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 12 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. .. Ví dụ : Xét trường • • • • Trong ví dụ xem g(x) q(x) đa thức ước số đa thức f(x) f(x)= g(x).q(x) Những đa thức f(x) gọi đa thức không tối giản Đa thức tối giản đa thức có ước số đa thức ( khái

Ngày đăng: 30/07/2020, 20:14

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w