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

Khoá luận tốt nghiệp toán học bài toán logarit rời rạc và ứng dụng trong mật mã

37 676 1

Đ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 37
Dung lượng 115,58 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI CAM ĐOANNguyễn Hồng Nlmng Em xin cam đoan, dưới sự hướng dẫn của Thầy giáo Trần Vĩnh Dức khóa luận "Bài toán logarit rời rạc và ứng dụng trong mật mã" được hoàn thành không trùng với

Trang 1

TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2 KHOA TOÁN

Trang 2

dụng-Em xin chân thành cảm ơn gia đình và bạn bè đã tạo mọi điềukiện thuân lợi cho em trong quá trình thực hiện khóa luận.

Em xin chân thành cảm ơn.

Hà Nội, tháng 05

m 201

5 Sin

h viên

Trang 3

LỜI CAM ĐOAN

Nguyễn Hồng Nlmng

Em xin cam đoan, dưới sự hướng dẫn của Thầy giáo Trần Vĩnh Dức khóa luận "Bài toán logarit rời rạc và ứng dụng trong mật mã"

được hoàn thành không trùng với bất kỳ đề tài nào khác

Trong quá trình hoàn thành khóa luận, em đã thừa kế những thành tựu của các nhà khoa học với sự trân trọng và biết ơn

Hà Nội, tháng

05

n

Trang 4

LỜI CẢM ƠN

m

2015

Sinh

vicn

Nguyễn Hồng Nhung

Trang 5

Mục lục

2 Bài toán logarit rời rạc và ứng dụng trong mật mã 7

2.1 Bài toán logarit rời rạc 7

2.2 Diffio-Hollman trao đổi khóa hảo mật 9

2.3 Hệ thống mật mã khóa công khai ElGamal 11

2.4 Bài toán logarit rời rạc khó đến ĩmíe nào? 14

2.5 Thuật toán va chạm cho DLP lô 2.6 Định lý phần dư Trung Quốc 18

2.7 Thuật toán Pohlig-Hollman 23

Trang 6

Tài liệu tharn khảo 31

MỞ ĐẦU

1 Lí do chọn đề tài

Bài toán logarit rời rạc có ứng dụng quan trọng trong thực tiễn, nó xuất hiện trên

cơ sở phát triển của khoa học kĩ thuật và những yêu cầu đòi hỏi của thực tế Đặc biệtbài toán logarit rời rạc có ứng dụng quan trọng trong mật mã Với mong muốn được đisâu tìm hiểu vồ bộ môn này dưới góc độ một sinh viên sư phạm Toán và trong phạm vicủa một khóa luận tốt nghiệp cùng với sự hướng dẫn của thầy giáo - TS Trần VĩnhDức, em xin trình bày hiểu biết của mình vồ đồ tài "Bài toán logarit rời rạc và ứng dụngtrong mật mã."

2 Mục đích nghiên cứu

Quá trình thực hiện đề tài đã bước đầu làm quen với việc nghiên cứu khoa học,tìm hiổu sâu hơn về bài toán logarit rời rạc và ứng dụng của nó trong mật mã

3 Nhiệm vụ nghiên cứu

Dề tài nghicn cứu nhằm đi sâu khai thác ứng dụng của bài toán logarit rời rạctrong mật mã

4 Phương pháp nghiên cứu

Dề tài được hoàn thành dựa trên sự kết hợp các phương pháp: nghiên cứu lí luận,phân tích, tống hợp, đánh giá

5 Cấu trúc khóa luận

Ngoài phần mở đầu, kết luận, danh mục tài liệu tham khảo thì khóa luận baogồm 2 chương:

Trang 7

Chương 1: Tong quan về lí thuyết nhóm.

Chương 2: Dài toán logarit rời rạc và ứng dụng trong mật mã.

Trang 8

Trước hết, ta nói về lũy thừa các phần tử trong F* (với Fp = {0,1, ,p — 1}, p

nguyên tố là một trường) lũy thừa chỉ đơn giản là việc lặp lại phép nhân Chúng ta nhấnmạnh một số đặc trưng quan trọng của phép nhân trong F* và một vài tính chất cơ bản.Các tính chất này là:

• Có một phần tử 1 G thỏa mãn l.a = a với mỗi a G F*.

• Mỗi a G F* có một nghịch đảo a~ l G F* thỏa mãn a.a~ l = a~ l 0, = 1.

• Phép nhân có tính kết hợp: a.(b.c) = (a.b).c với mọi a, 6, c G F*.

• Phcp nhân có tính giao hoán: a.b = b.a với mọi a, b G F*.

Giả sử thay phép nhân trong F* bằng phép cộng trong ¥ p Ta cũng thay 0 ở vị trí số 1

và —a ở vị trí của a-1 Khi đó tất cả bốn tính chất vẫn đúng:

• 0 + a = a với mỗi a G Fp.

• Mỗi a E ¥ p có một phần tử đối — a G ¥ p với a + (—a) = (—a) + a = 0.

• Ngoài ra có tính kết hợp, a + (b + c) = (a + b) + c với mọi a, 6, c G Fp.

• Ngoài ra có tính giao hoán, a + b = b + a với mọi a, b G ¥p.

Trang 9

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

Định nghĩa 1.1 Một nhóm gồm, m,ột tập G và một phép toán, mà chúng biểu thị bởi , ★, kết hợp hai phần tử a, b G G để có (ỈUỢc phần tử a * b G G Phép toán -k được yêu cầu phải có ba tính chất sau đây:

[ Nhân với phần tử đơn vị] Có e £ G sao cho

Ngoài ra, nếu phần tử thỏa mẫn

[Luật giao hoán] a-kb — b* a với mọi a,b G ơ,

nhóm, này được gọi là m,ột nhóm, giao hoán hoặc một nhóm, abel Nếu G cố hữu hạn phần tử, ta nói rằng G là một nhóm, hữu hạn Bậc của

G là số phần tử trong G; nó được ký hiệu là \G\ hoặc #G.

Ví dụ 1.1 Nhóm có mặt khắp nơi trong toán học và trong khoa học tự nhiên Dưới đây là m,ột số ví dụ:

(a) G = F* và * = phép nhân Phần tử đơn vị ỉ,à e = 1,phần tử nghịch đảo tồn tại G ỉà một nhóm hữu hạn có bậc p — 1.

(b) G = 'LỊN7 J và * = phép cộng Phần tử đơn vị là e — 0 và phần tử đối của a là —a G ỉ,à một nhóm, hữu hạn cố bậc N.

Trang 10

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

4

G =

(c) G = z và * = phép cộng Phần tử đơn vị là e = 0 và phần hi đối của a là — 0 , Nhỏm, G này là một nhóm, vô hạn.

(d) Chú ý rằng G = z và * = phép nhân không phải là một nhóm,

hầu hết phần tử không phần tử nghịch đảo phép nhân bên trongz.

(e) Tuy nhiên, G = M* và = ★, phép nhân là một nhóm,, vì tất cả các phần tử cố phần tử nghịch đảo phép nhân bên K*.

(Ị) Một ví dụ về một nhóm, không giao hoán là

: a, 6, c, d G K và ad — bc 7^ 0

với phép toán * = phép nhân ma trận Phần tử đơn

vị ỉ,à e =

nghịch đảo được cho bởi công thức quen thuộc

Chú ý rằng G là nhóm không giao hoán, ví dụ

(g) Tổng quát hơn, ta có thể sử dụng các ma trận có kích thước bất kỳ Diều này tạo ra nhóm tuyến tính tểng quát

GL n (R) = ịm,a trận vuông A cấp n với hệ số thực và det(A) Ỷ 0 }

và phép toán * = phép nhân ma trận Ta có thể tạo ra các nhóm, khác bằng cách thay thế K với một số trường khác, ví dụ trường hữu hạn ¥p.

Cho g là một phần tử của nhóm G và cho X là số nguycn dương Khi đó

Trang 11

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

g x có nghĩa là ta áp dụng phép toán nhóm X lần tới phần tử g,

Mệnh đề 1.1 Cho G ỉ,à nhóm, hữu hạn Thì m,ỗi phần tử của G cỏ bậc hữu hạn Ngoài ra, nếu a G G có bậc d và nếu a k — e, thì d I k.

Chứng minh Vì G là hữu hạn, dãy

a, a2, a3, a4,

cuối cùng phải có một sự lặp lại Nghĩa là tồn tại số nguyên dương ỉ và j với ỉ < j sao cho

aĩ = aJ Nhân cả hai vế với a_ỉ và áp dụng tính chất của nhóm ta được a l ~^ — e Khi i — j >

0, chúng ta gọi d là số mũ dương nhỏ nhất thỏa mãn a d = e.

Bây giờ giả sử rằng k > d thỏa mãn a k = e Chúng ta chia k cho d, đc có được

k = dq + r với 0 < r < d

Sử dụnga k = a d = e, chúng ta nhận thấy rằng

e = a k = a dq+r = (a d ) q * a r = e q * a r Nhưng d là số mũ dương nhỏ nhất của a thỏa mãn a d = e, vì vậy chúng ta phải có r = 0.

Định nghĩa 1.3 (Định lý Lagrange) Cho G là m,ột nhóm, hữu hạn và cho

a G G Thì bậc của G chia hết cho bậc của a.

Trang 12

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

6

Chính xác hơn, cho n = |ơ| ỉà bậc của G và cho d là bậc của a, tức

là, a d là số mủ dương nhỏ nhất của a bằng e Khi đó

a n = e và d, I n.

Chứng minh Chúng ta cho chứng minh đơn giản trong trường hợp G là giao hoán.

Vì G là hữu hạn, chúng ta có thể liột kc các phần tử của nó như sau

G — { g i , 9 2 , 9 n }

-Bây giờ chứng ta nhân mỗi phần tử của G với a để có được một tập mới, chúng ta gọi là

S a ,

S a = {ữ * </1, a * g 2 ì a * g n } Chúng ta thấy các phần tử của S a là khác nhau Dc thấy điều này, giả sử rằng a * g,ị = a

* g ; j Nhân cả hai vế với ar 1 cho Qị = g.j Do đó S a chứa n phần tử khác nhau và bằng số phần tử của G Do ăó Sa = G, vì vậy nếu chúng ta nhân tất cả các phần tử của S a với nhau

cũng bằng nhân tất cả các phần tử của G với nhan (Chú ý rằng chúng ta đang sử dụng giả định rằng G là giao hoán.) Như vậy

Trang 13

Chương 2

Bài toán logarit rời rạc và ứng dụng trong mật mã

2.1 Bài toán logarit rời rạc

Bài toán logarit rời rạc là bài toán xuất hiện ở nhiều dạng, bao gồm cả các dạng

mod p mô tả trong phần này và các dạng đường cong elliptic hiộn đang được sử dụng

rộng rãi trong thực tế Các đề xuất đầu ticn về giao thức trao đổi khóa chung do Diffic

và Hcllman, dựa trcn bài toán logarit rời rạc trong trường hữu hạn ¥ p

Cho p là một số nguyên tố (lớn) Chúng ta biết rằng tồn tại một phần tử nguycn thủy g Điồu này có nghĩa mỗi phần tử khác không của ¥ p tương đương với một lũy thừa của g Dặc biệt, bằng định lí Fermat nhỏ có gP-1 _ ^ lũy thừa nhỏ nhất của g là bằng

1 Tương tự, dãy các phần tử

h g , g 2 , g 3 , - , g p ~ 2 e Fp

là một dãy đầy đủ các phần tử trong F* theo một thứ tự

Định nghĩa 2.1 Cho g là m,ột căn nguyên thủy của Fp và cho h là phần tử khác không của Fp Bài toán logarit rời rạc (DLP) là bài toán về tìm số

Trang 14

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

g p ~ l = h, thì X + k(p — 1) cũng là nghiệm với mỗi giá trị của k, vì

g x + k ( p - 1 ) = g * ị g V - ' f = h ' ị k = k mo d P '

Như vậy log g (h) được xác định bằng cách cộng hoặc trừ đi bội số của p — 1 Nói cách khác, log g (h) được xác định theo mô đun p — 1 Nó không phải là khó đổ xác minh rằng log g cho một hàm được xác định rõ

: r ; ^ ĩĩéịĩ- I2A >

Dôi khi, vì sự cụ thể, ta đề cập đến “các” logarit rời rạc như các số nguyên X nằm giữa

0 và p — 2 thỏa mãn g x = h mod p.

Chú ý 2.2 Không khó để chứng minh rằng

log g (ab) = log g (a) + log g (b) với mọi a,b G F*.

Trong thuật ngữ toán học, logarit rời rạc log g là phép đẳng cấu nhóm

Trang 15

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

cho đến khi ta tìm, thấy một số lũy thừa đó bằng 38679 Ta thấy rằng log (J Ợi) =

11235, có thể xác minh điều này bằng cách tính toán 2 11235 mod 56509 và kiểm tra rằng nó bằng 38679.

Chú ý 2.3 Phát biểu của chúng ta trong bài toán logarit rời rạc bao gồm, các

toán logarit rời rạc là xác định một số mũ X thỏa mẫn g x = h mocl p, giả sử rằng tồn tại X.

Định nghĩa 2.2 Cho G là một nhóm, với phép nhân * Dài toán logarit cho G là bài toán có đầu vào ỉà hai phần tử g G G và h G G Tìm số nguyên X thỏa mãn:

g*g*g* *g = h

X lần

2.2 Diffĩe-Hellman trao đối khóa bảo mật

Thuật toán Diffie-Hellman trao đổi giải quyết tình trạng khó xử sau Alice vàBob muốn chia sẻ một khóa bí mật để sử dụng trong một thuật toán mã hóa đối xứng,nhưng phương tiện truyền thông duy nhất của họ không an toàn Mỗi mẩu thông tin mà

họ trao đổi được quan sát bởi đối thủ của họ là Eve Làm thế nào Alice và Bob có thểchia sẻ một chìa khóa mà Eve không thể thấy? Thoạt nhìn nó dường như Alice và Bobphải đối mặt với một nhiộm vụ không thể Khi đó thấy rằng bài toán logarit rời rạc choF* cung cấp một giải pháp hợp lí

Bước đầu tiên là Alice và Bob thống nhất một số nguyên tố lớn p và một số nguyên khác không g mô đun p Alice và Bob công khai các giá trị của p và g\ ví dụ, họ

có thể gửi các giá trị trên các trang web của họ, vì vậy Eve cũng biết đến chúng Vì các

lý do khác nhau để được thảo luận sau này, họ chọn g mà bậc của nó trong F* là một

nguyên tố lớn

Trang 16

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

1 0

Bước tiếp theo là cho Alice chọn số nguyên bí mật cô ấy không tiết lộ cho bất kỳ

ai, trong cùng thời gian Bob chọn số nguyên b mà anh ấy giữ bí mật Bob và Alicc dùng

số nguycn bí mật của họ để tính toán

A = g a mod p vhD = g b mod p

Alice tính toán này Bob tính toán này

Họ tiếp tục trao đổi các giá trị tính toán, Alice gửi cho Bob A và Bob gửi D cho Alicc Lưu ý rằng Evc thấy được các giá trị của A và D, vì chúng được gửi qua các kênh

truyền thông không an toàn

Cuối cùng, Bob và Alice một lần nữa sử dụng số nguyên bí mật của họ để tínhtoán

A' = D a mod p và D' = A b mod p

' -V -' s -V -'

Các giá trị mà họ tính toán, A và D tương ứng, thực sự giống nhau, khi đó

A' = D a = (g l ’Ỵ = g ab = (g“) b = A h = D' mod p.

Giá trị chung này là chìa khoá trao đổi chúng

Ví dụ 2.2 Alice và Bob đồng ý sử dụng số nguyên tố p = 941 và căn nguyên thủy

g = 627 Alice chọn khóa bí mật a = 347 và tính A = 390 = 62 7 347 mod 941 Tương

tự như vậy, Dob chọn khóa bí mật b = 781 và tính D = 691 = 627 781 mod 941 Alice gửi Bob số 390 và Dob gửi Alice số 691 Cả hai truyền đi được thực hiện trên một kênh khổng an toàn, vì vậy cả hai A = 390 và D = 691 được xem, xét công khai Các số a = 347 và b = 781 không được truyền đi mà giữ bí mật Sau

đó, Alice và Dob đều có thể tính toán số

470 = 62 7347'781 = A b = B a mod 941,

vậy 470 là chia sẻ bí mật của họ.

Giả sử rằng Eve thấy toàn bộ trao đổi này Cô ấy có thể đã, khôi phục lại chia sẻ bí mật của Alice và Bob nếu cô ấy có thế giải quyết một trong các đồng dư

Trang 17

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

627“ = 390 mod 941 hoặc 627í’ = 691 mod 941,

kể từ đó cô sẽ biết số mũ bí mật của họ Theo như được biết, đây là cách duy nhất cho Eve đe tìm, giá trị chia sẻ bí mật m,à khổng cần hỗ trợ của Alice hay Bob.

Tất nhiên, ví dụ của chúng ta sử dụng con số đó là quá nhỏ để có đủ khả năngAlicc và Bob thực sự bảo mật bất kì, vì nó mất rất ít thời gian cho máy tính của Eve đểkiểm tra tất cả các lũy thừa có thể của 627 mô đun 941 Hướng dẫn hiện tại cho thấy

Alice và Bob chọn một nguyên tố p có khoảng 1.000 bit (tức là, p æ 21000) và phần tử g

có bậc là số nguycn tố và xấp xỉ p/2.

Định nghĩa 2.3 Cho p ỉ,à một số nguyên tố và g là một số nguyên Dài toán Diffie-Hellrnan (DHP) ỉà bài toán tính toán giá trị g ab mod p từ các giá trị đã biết g a mod p và g b mod p.

Rõ ràng là DHP không khó hơn DLP Nếu Eve có thể giải quyết DLP, thì cô ấy

có thể tính toán số mũ bí mật a và b của Alice và Bob cắt ra từ các giá trị Ả = g a và D =

g b , và sau đó nó rất dễ dàng cho cô ấy để tính toán khóa chia sỏ g ab của họ (Trong thực

tế, Evc cần phải tính toán duy nhất a và b.) Nhưng chuyện này là chưa rõ ràng.

2.3 Hệ thống mật mã khóa công khai ElGamal

Trong phần này chúng ta mô tả phiên bản hệ thống mật m,ã khóa công khai của ElGamal

(PKC ElGamal) được dựa trên bài toán logarit rời rạc cho F*

PKC ElGamal là ví dụ đầu tiên của ta về một hệ thống mật mã khóa công khai.Alice bắt đầu bằng việc xuất bản thông tin bao gồm một khóa công khai và một thuậttoán Khóa công khai chỉ đơn giản là một con số, và các thuật toán là phương pháp màBob mã hóa thông tin của mình bằng cách sử dụng khóa công khai của Alice Alicekhông tiết lộ khóa riêng của mình Các khóa riêng cho phép Alice giải mã các thông tin

đã được mã hóa bằng khóa công khai của mình

Trang 18

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

1 2

Vì PKC ElGamal, Alice cần một số nguyên tố lớn p mà bài toán logarit rời rạc trong F* là khó khăn, và cô ấy cần một phần tử g mô đun p lớn (nguyên tố) Alice chọn

một số bí mật để làm khóa riêng của cô, và cô ấy tính toán con số

một thông tin, và sau đó ông đã loại bỏ nó Số k được gọi là một chìa khóa không lâu,

vì nó tồn tại duy nhất nhằm mục đích mã hóa một thông tin

Bob lấy klioá công khai thông tin 771 của ông ấy, chọn ngẫu nhiên chìa khóa k tạm thời, khóa A Alice công khai và sử dụng chúng để tính toán hai con số

Ci = g k mod p và c2 = mA k mod p.

(Hãy nhớ rằng g và p là các tham số công khai, vì Bob cũng biết giá trị của chúng.) Văn

bản viết thành mật mã của Bob, nghĩa là, mã hoá của

Ông ấy về ra, là cặp số (ci,c2), ông ấy gửi cho Alice

Làm thế nào để Alice giải mã bản mã (ci,c2) của Bob? Từ đó Alice biết là cô có thể tính toán

và X-1 mod p Tiếp theo Alicc nhân c2 với X-1, và được giá trị kốt quả là bản rõ m Để

biết tại sao, ta mở rộng giá trị của x~ l C‘2 và thấy rằng

x~ ỉ c2 — (c")_ 1.c2 mod khi X = dị mod p,

— (ố,aò)_1-(m^fe) m°đ p, khi d = c2 = mi11 mod £>,

— (5,aft)-1-(77ỉ(í/a)fe) mod Pi khi ^4 = g° mod p,

= 777, mod p, khi số hạng g a k triệt tiêu lẫn nhau

Trang 19

K ì i óa l uận t ốt ny ỉ i i ệ p N guy ễ n Hồng N hung

Eve biết tham số p và (/ công khai, và cô cũng biết được giá trị của A = g a mod p vì khóa công khai A của Alice được mọi người biết đến Nếu Eve có thể giải quyết bài toán logarit rời rạc, cô ấy có thể tìm thấy a và giải mã thông tin Nếu không thì nó sẽ xuất

hiện khó khăn cho Eve để tìm ra bần rõ

Ví dụ 2.3 Alice sử dụng số nguyên tố p = 467 và căn nguyên thủy g = 2.

Cô chọn a = 153 là chìa khóa cá nhân của mình và tính toán kỉioácông khai

Ả = g a = 2153 = 2 24 mod 467

Dob quyết định gửi cho Alice thông tin m = 331 Ông đã chọn m,ột khóa không lâu ngẫu nhiên, ông chọn k = 197, và ông tính toán hai con số

Ci = 2197 = 87 mod 467 và c 2 = 331.224197 = 57 mod 467

Các cặp (ci,c 2 ) = (87,57) là các bản mă mà Dob gửi cho Aỉice.

Alice, biết a = 153, đầu tiên tính toán

Cuối cùng, cô ấy tính toán

c 2 x~ l = 57.14 = 331 mod 467 và phục hồi thông Un bản rõ 771.

Chú ý 2.4 Trong các hệ thống mật mã ElGamal, bản rõ là m,ột số nguyên m giữa 2 và p — 1, trong khi văn bản viết thành mật m,ẫ bao gồm, hai số nguyên

Cị và C 2 trong cùng khoảng biến thiên.

2.4 Bài toán logarit rời rạc khó đến mức nào?

Ký hiệu bậc đã được phát minh ra để thực hiện những ý tưởng chính xác Nó phổ

biến khắp toán học và khoa học máy tính và cung cấp một cách tiện dụng để có được sựthu hút về độ lớn của con số

Ngày đăng: 02/11/2015, 17:00

HÌNH ẢNH LIÊN QUAN

2494. Bảng 2.1 dẫy  các giá  trị của g k  và h.u k  khỉ k = 1,2,... Từ - Khoá luận tốt nghiệp toán học bài toán logarit rời rạc và ứng dụng trong mật mã
2494. Bảng 2.1 dẫy các giá trị của g k và h.u k khỉ k = 1,2,... Từ (Trang 24)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w