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

Tóm tắt Luận văn Thạc sĩ Kỹ Thuật: Nghiên cứu hệ mật ElGamal trên trường đa thức

22 7 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

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 626,75 KB

Nội dung

Luận văn này có kết cấu gồm 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 cơ bản của luận văn được trình bày theo cấu trúc như sau: Chương 1 - Kiến thức cơ sở; Chương 2 - Bài toán Logarit rời rạc; Chương 3 - Hệ mật ElGamal trên trường đa thức. Mời các bạn cùng tham khảo!

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 Chun ngành: Hệ thống thơng tin Mã số: 8.48.01.04 TĨM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - NĂM 2020 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: GS.Nguyễn Bình Phản biện 1: …………………………………………………………………………… Phản biện 2: ………………………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thông Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu Viễn thơng 1 MỞ ĐẦU 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 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 Hệ mật mã đời nhằm đảm bảo dịch vụ an toà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ã sử dụng 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 Một thuật tốn mã hóa khóa cơng khai phát triển dự 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 Đề tài nhằm nghiên 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 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: Chương 1: Kiến thức sở Chương Bài toán Logarit rời rạc Chương Hệ mật ElGamal trường đa thức 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ã học Mật mã học ngành khoa học ứng dụng tốn học vào việc biến đổi thơng tin thành dạng khác với mục đích che dấu nội dung, ý nghĩa thơng tin cần mã hóa Đây ngành quan trọng có nhiều ứng dụng đời sống xã hội Ngày nay, ứng dụng mã hóa bảo mật thơng tin sử dụng ngày phổ biến lĩnh vực khác giới, từ lĩnh vực an ninh, quân sự, quốc phòng…, lĩnh vực dân thương mại điện tử, ngân hàng… 1.1.2 Vấn đề mã hóa Mật mã học lĩnh vực liên quan với kỹ thuật ngôn ngữ tốn học để đảm bảo an tồn thơng tin, cụ thể thông tin liên lạc Mật mã cổ điển chủ yếu dùng để che dấu liệu Với mật mã đại khả che dấu liệu, dùng để thực hiện: Ký số, tạo giao diện thơng điệp, giao thức bảo tồn liệu, xác thực thực tế… Theo nghĩa hẹp, mật mã dùng để bảo mật liệu, người ta quan niệm: Mật mã học môn khoa học nghiên cứu mật mã: tạo mã phân tích mã (thám mã) Mật mã đảm bảo tính chất sau:  Tính bí mật (Bảo mật): Thông tin không bị lộ người không phép nhận  Tính tồn vẹn (Bảo tồn): Ngăn chặn hay hạn chế việc bổ sung, loại bỏ sửa chữa liệu khơng phép  Tính xác thực (Chứng thực): Xác thực thực thể cần kết nối, giao dịch Xác thực thực thể có trách nhiệm nội dung thơng tin  Tính sẵn sàng: Thông tin sẵn sàng cho người dùng hợp pháp Thám mã (phá mã) tìm điểm yếu hoặc khơng an tồn phương thức mật mã hóa Hệ mã hóa dùng quy tắc định để mã hóa thơng tin Hệ mã hóa định nghĩa năm thành phần (P,C,K,E,D) thỏa mãn tính chất sau:  P (Plaintext) tập hợp hữu hạn rõ  C (Ciphertext) tập hợp hữu hạn mã  K (Key) tập hợp khóa  E (Encrytion) tập hợp quy tắc mã hóa  D (Decrytion) tập hợp quy tắc giải mã Có hai loại mã hóa: Mã hóa khóa đối xứng mã hóa khóa bất đối xứng Hệ mật mã đối xứng (hay gọi mật mã khóa bí mật): hệ mật dùng chung khóa q trình mã hóa liệu giải mã liệu Hệ mật mã bất đối xứng (hay gọi mật mã khóa cơng khai): Các hệ mật dụng chung khóa để mã hóa sau dụng khóa khác để giải mã, nghĩa khóa để mã hóa giải mã khác 1.2 Cơ sở toán học 1.2.1 Modulo số học Toán tử modulo (mod n) ánh xạ tới tất số nguyên tập {0, 1, 2, ….,(n-1)} tất phép toán số học thực thi tập hợp Kỹ thuật gọi modulo số học Tập số nguyên số nguyên khác mod n ký hiệu Zn Z*n 1.2.2 Nhóm, vành trường Nhóm: Một nhóm ký hiệu {G, •}, tập G phần tử phép kết hợp ngơi • thỏa mãn điều kiện sau:  Tính đóng: ∀a,b ∈ G: a • b ∈ G  Tính kết hợp: ∀a,b ∈ G: (a • b) • c = a • (b • c)  Phần tử đơn vị: ∃e ∈ G: a • e = e • a = a, ∀a ∈ G  Phần tử nghịch đảo: ∀a ∈ G, ∃! a' ∈ G: a • a' = a' • a = e  Tính giao hốn : ∀a,b ∈ G : a • b = b • a Một nhóm gọi cyclic có hoặc nhiều phần tử mà sinh tất phần tử nhóm, hay có nói cách khác: ∃g ∈ G, ∀a ∈ G, ∃k, a=gk Vành : Một vành R, ký hiệu {R, + , x} tập phần tử hai phép kết hợp ngôi, gọi phép cộng phép nhân, tính chấy sau thỏa mãn: + R nhóm Abel theo phép cộng + Tính đóng phép nhân: ∀a,b ∈ R : ab ∈ R (viết tắt thay cho dấu x) + Tính kết hợp phép nhân: ∀a,b,c ∈ R (ab)c = a(bc) + Tính phân phối phép cộng phép nhân: ∀a,b,c ∈ R (a + b)c = ac + bc a(b + c) = ab + ac + Tính giao hốn với phép nhân: ∀a,b ∈ R: ab = ba + Tồn phần tử đơn vị phép nhân: a1 = 1a = a + Liên quan phép nhân phần tử đơn vị phép cộng: Nếu ab = thi a = hay b = Trường: Một trường, ký hiệu {F, + , x} tập phần tử hai phép kết hợp ngôi, gọi phép cộng phép nhân, tính chất sau thỏa mãn: + F miền nguyên (thỏa mãn tính chất nhóm vành) + Tồn phần tử nghịch đảo phép nhân: ∀a ∈ F a ≠ ∃a-1 ∈ F: aa-1 = 1.2.3 Trường hữu hạn GF(p) Dựa vào phép toán modulo, xây dựng tập Zn sau: Cho số nguyên n: Zn = {0,1,2 ……, n -1} Tương tự tập số nguyên Z, tập Zn ta định nghĩa phép cộng nhân sau: ∀a,b,c ∈ Zn + Phép cộng: c = a + b => phép cộng số học thường Nếu c ≡ (a + b) mod n => phép cộng Zn + Phép nhân: c = a.b c ≡ (a.b) mod n 1.2.4 Số học đa thức trường hữu hạn GF(2n) 1.2.4.1 Phép toán đa thức thông thường Trong đại số, định nghĩa đa thức bậc n (n ≥ 0) dạng n f(x) = an x n + an−1 x n−1 + ⋯ + a1 x + a0 = ∑ x i i=0 Trong ∈ R, an ≠ gọi hệ số ta định nghĩa phép cộng, trừ nhân đa thức sau: Cho f(x) = ∑ni=0 x i g(x) = ∑ni=0 bi x i max(m,n) Phép cộng: f(x) + g(x) = ∑i=0 (ai + bi )x i i Phép nhân : f(x) × g(x) = ∑m+n i=0 ci x với ck = a bk + a1 bk−1 + ⋯ + a k bk i Phép trừ f(x) − g(x) = ∑m+n i=0 (a i − bi )x Trong phép toán ta giả định = i > n bi = i > m Phép chia đa thức f(x) cho g(x) tương tự phép chia số nguyên gồm đa thức thương q(x) đa thức dư r(x) r(x) có bậc nhỏ g(x) f(x) r(x) = q(x) + g(x) g(x) f(x) = q(x) × g(x) + r(x) + Đa thức tập Zp Xem xét tập đa thức Wp có hệ số thuộc trường Zp n Wp = {f(x) = ∑ x i với n ≥ 0, ∈ Zp , an ≠ 0} i=0 Trên tập Wp ta định nghĩa phép cộng trừ, nhân, chia sau : n f(x) = ∑ x i i=0 max(m,n) Phép cộng : f(x) + g(x) = ∑i=0 (ai + bi )x i m g(x) = ∑ bi x i i=0 i Phép nhân : f(x) × g(x) = ∑m+n i=0 ci x với ck = a bk + a1 bk−1 + ⋯ + a k bk i Phép trừ : f(x) − g(x) = ∑m+n i=0 (a i − bi )x Phép chia : f(x) / g(x) có đa thức thương q(x) đa thức dư r(x) Trong phép tốn + bi , bi , − bi , / bi định nghĩa tập Zp 1.2.4.2 Trường hữu hạn GF(2n) Tương tự việc xây dựng tập Zp dùng phép modulo p với p số nguyên tố, phần ta xây dựng tập Wpm đa thức dùng phép modulo đa thức Chọn đa thức m(x) đa thức tối giản Zp có bậc n Tập Wpm bao gồm đa thức Zp có bậc nhỏ n Như đa thức thuộc Wpm có dạng n−1 f(x) = ∑ x i với ∈ Zp = {0,1,2 … , p − 1} i=0 Tập Wpm có pn phần tử 1.2.4.3 GF(2n) mã hóa Khi thực mã hóa, đối xứng hay cơng khai, rõ mã số, việc mã hóa giải mã quy việc thực phép cộng, trừ, nhân, chia Do rõ mã phải thuộc trường để việc tính tốn khơng khỏi trường Việc quy rõ mã trường số thực phương án hiệu tính tốn số thực tốn nhiều thời gian Trong bối cảnh đó, việc sử dụng trường GF(2n) phương án phù hợp trường GF(2n) có 2n phần tử Ta ánh xạ hàm đa thức GF(2n) thành số nhị phân tương ứng cách lấy hệ số đa thức tạo thành dãy bít an-1an-2… a1a0 7 CHƯƠNG 2: BÀI TỐN LOGARIT RỜI RẠC 2.1 Tổng quan toán Logarit rời rạc Bài toán Logarit rời rạc tiếp nối phép tính logarit trường số thực vào nhóm hữu hạn Với hai số thực x,y số a>0, a#0, ax – y = x gọi Logarith số a y, ký hiệu x = logay Logarit rời rạc tốn khó (chưa biết thuật tốn hiệu nào), toán ngược lũy thừa rời rạc lại khơng khó (có thể sử dụng thuật tốn bình phương nhân) Tình trạng giống tình hình toán thừa số nguyên phép nhân số nguyên Chúng dùng để xây dựng cấu trúc cho hệ mật mã 2.2 Bài toán Logarith trường số thực R + Bài toán thuận: Hàm số y = ax với a,x ∈ R việc tính tốn hàm mũ thực dễ dàng thuật tốn nhân bình phương + Bài tốn ngược: Phép tính ngược hàm mũ hàm Logarit y = logax, việc tính tốn hàm ngược Logarit khó khăn nhiều so với hàm thuận Một số tính chất hàm Logarithm + y = logabc = logab + logac b + y = loga = logab - logac c + loga1 = + y = logax-1 = - logax 2.3 Bài toán Logarit trường hữu hạn Xét với vành đa thức Zp* với p số nguyên tố theo định lý p số nguyên tố Z trường (Zp = GF(2)) Tập tất phần tử khác khơng trường tạo nên nhóm nhân xyclic Z*p Z *p= Z p / {0} = {1,2, ,p-1} + Bài toán thuận : y = axmod p, (a,x ∈ Z*p ) Chú ý : Nếu a phần tử nguyên thủy ax qua tất phần tử nhóm Nếu a phần tử nguyên thủy nguyên thủy với (i,p-1) = 1(p số nguyên tố) + Bài toán ngược: y = log2x, (a,x ∈ Z*p) Một số tính chất hàm Logarit rời rạc a-1 + y = logabc = (logab + logac) mod p – b + y = loga = (logab - logac) mod p – c + loga-1x = -logax = p -1 - logax + loga1 = = p -1 (vì coi = p -1) 2.4 Logarit rời rạc trường Galois Cố định số nguyên tố p, số tự nhiên n > 1, đặt q = pn Giả sử a phần tử sinh nhóm cyclic F(q)* Ta muốn giải phương trình ax = b trường F(q) Để làm điều ta sử dụng thuật toán với sở nhân tử Ta xem thuật toán index-caculus sau : Thuật toán index – calculus Input: cho hai số a b Output: Tìm logab Bước (Tính tốn ban đầu) Trường F(q) đồng cấu với Fp [x]⁄f(y), với f(y) ∈ Fp [x] đa thức đa thức bất khả quy bậc n Cho nên thành phần trường Fq biểu diễn dạng đa thức bậc không vượt n-1 Và nhân đa thức rút gọn theo modulo f(y), điều tìm hiểu trường số Phần tử a1 = a(q -1)(p-1) có bậc p -1 tạo thành Fq* Bước (Lựa chon sở nhân tử) Cơ sở nhân tử B ∈ Fq thành lập từ tất đa thức g bất khả quy bậc không lớn t, t số tham số, t < n Bước (Tìm biểu thức) Lựa chọn ngẫu nhiên m ≤ , m ≤ q-2 , ta tìm giá trị cho thỏa mãn biểu thức am ≡ c0 ∏ g ag(m) (mod f(y)) g ∈B Với c0 ∈ Fp từ tìm biểu thức m = log a c0 + ∑ g∈B αa (m)log a g(mod q − 1) logac0 ta biết, logag ta chưa biết độ lớn Bước (Tìm thuật tốn cho phần tử sở nhân tử) Khi tìm bước số lượng đủ lớn biểu thức, ta giải hệ phương trình tuyến tính vành Zp-1 tìm logag Bước (Tìm Logarit riêng.) Ta tìm giá trị m cho: b × am ≡ c1 ∏g ∈B g βg (mod f(x)) c1 ∈ Fq Từ tìm giá trị cần tìm log a b ≡ −m + log a c1 + ∑ βq log a g (mod q − 1) g ∈B 2.5 Các phương pháp giải toán Logarith rời rạc 2.5.1 Thuật toán vét cạn Đây thuật toán tự nhiên hiệu để tính Logaritth rời rạc Người ta thử tính  0,  1,  2, … đạt  thơi 2.5.2 Thuật tốn bước lớn bước nhỏ ( Baby-step giant-step ) Giả sử m = [ n ] với n cấp  Thuật toán bước lớn bước nhỏ thoả hiệp thời gian nhớ phương pháp vét cạn dựa quan sát sau + j với  i,j < m Từ  x=  (j,  j) với  im  j hay  (    x chúng viết x = im ) =  j Vậy nên người ta lập bảng -m i j < m Sau tính  (  -m)-i chừng có đẳng thức với i chạy từ đến m – tra bảng (j,  j)  (  -m)i =  j dừng lại 2.5.3 Thuật toán Pohlig – Hellman Thuật toán tận dụng lợi phân rã cấp n nhóm G Giả sử phân rã n = p1 e1 p2 e …pr e r phân rã nguyên tố n Nếu x = log  xác định xi = x mod pi ei với  i   cách tiếp cận r sau sử dụng thuật tốn Gauss làm việc với định lý phần dư Trung Hoa để tìm x mod n 10 2.5.4 Thuật tốn tính số ( Index-Calculus) Thuật tốn tính số thuật tốn mạnh biết đến đem cơng tốn Logarith rời rạc Khơng phải nhóm áp dụng thuật tốn tính số áp dụng cho thời gian chạy hàm tiểu mũ 2.4.5.1.Tính số GF(p) Đối với trường GF(p) với số nguyên tố sở phân tích chọn t số nguyên tố Quan hệ phân rã sở phân tích sinh cách tính  k mod p sử dụng phép chia thông thường để kiểm tra xem số ngun có tích số ngun tố S hay khơng 2.4.5.2.Tính số GF(2n) Các phần tử trường hữu hạn * F2 n biểu diễn thành đa thức Z2[x] có bậc cao n – với phép nhân thực modulo đa thức bất khả quy f(x) có bậc n Z2[x] Cơ sở phân tích S chọn tập đa thức bất khả quy Z2[x] có bậc cao cận b Quan hệ phân tích sinh cách tính  k mod f(x) sử dụng phép chia thông thường để kiểm tra xem đa thức có tích đa thức S không 11 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 cộng Nó thúc đẩy việc nghiên cứu đề xuất mã khố cơng khai 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 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ố hoặc đa thức) toán dễ o Độ an tồn dựa độ khó tốn tính Logarith 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 hoặc đa thức 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 khố mật (số) A: xA < q o Tính khố cơng khai A: yA = αxA mod q o Mỗi người dùng thơng báo cơng khai khố yA 3.1.2 Trao đổi khoá Diffie Hellman  Khoá phiên dùng chung cho hai người sử dụng A, B KAB 12 𝐾𝐴𝐵 = 𝛼 𝑥𝐴 𝑥𝐵 mod q 𝑥 = 𝑌𝐴 𝐵 mod q (mà B tính) 𝑥 = 𝑌𝐵 𝐴 mod q (mà A tính)  KAB sử dụng khoá phiên sơ đồ khoá riêng A B  A B trao đổi với nhau, họ có khố chung KAB họ chọn khoá  Kẻ thám mã cần x, phải giải tính Logarith rời rạc 3.2 Hệ mật Elgamal 3.2.1 Giới thiệu Hệ mã Elgamal hệ mật mã công khai Hệ mã dựa toán Logarit rời rạc Tính an tồn hệ mã dựa vào độ phức tạp toán Logarit 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 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: 13 Chọn số nguyên tố đủ lớn p cho cho tốn lơgarit rời rạc Zp khó giải Cho g ϵ Zp* phần tử nguyên 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 : γ = g k mod p { δ = M(g a )k mod p 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 14 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 hoặc k tính Để tính x hoặc k, cần phải giải hai toán loogarit rời rạc, nhiên việc giải tốn lơgarit 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 15 - 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ễ 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 Z2[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  {xi mod (1+x)g(x)} i = 1, 2m –  {(x+g(x))i mod (1+x)g(x) 16  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 Z2[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 < 2m – 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 < 2m – 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) 17 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 Z2[x]/(1+x)g(x) Bước 2: A chọn α(x) đa thức bất ngun thủy khả quy Bước 3: A chọn khóa bí mật a số ngẫu nhiên cho 1< a < 2m – 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 18 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 < 2m – 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 19 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 + 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ã 20 KẾT LUẬN Luận văn đạt số kết sau: - Nghiên cứu toán Logarit rời rạc, số thuật toán giải toán Logarit rời rạ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ể - Tìm hiểu phương pháp che dấu liệu vành Zp, Zp*, từ ứng dụng vào hệ mật ElGamal trường đa thức ... 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 Đề tài nhằm nghiên 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... x Hệ mật an tồn, khó bị thám mã giải mã 20 KẾT LUẬN Luận văn đạt số kết sau: - Nghiên cứu toán Logarit rời rạc, số thuật toán giải toán Logarit rời rạc - Nghiên cứu hệ mật elgamal trường đa thức. .. cao cận b Quan hệ phân tích sinh cách tính  k mod f(x) sử dụng phép chia thông thường để kiểm tra xem đa thức có tích đa thức S không 11 CHƯƠNG 3: HỆ MẬT ELGAMAL TRÊN TRƯỜNG ĐA THỨC 3.1 Trao

Ngày đăng: 18/06/2021, 10:34

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

TÀI LIỆU LIÊN QUAN

w