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

Luận văn thạc sỹ : Cơ sở toán học của hệ mật mã khóa công khai RSA

57 220 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 57
Dung lượng 465,53 KB
File đính kèm luan van Hệ mật khóa công khai bản tex.rar (4 MB)

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

Nội dung

Nội dung : Hệ mật khóa công khai và chữ ký số là 1 tài liệu tham khảo lĩnh vực ứng dụng lý thuyết số vào mật mã học

Trang 1

Mục lục

Chương 1.KIẾN THỨC CHUẨN BỊ 2

1.1.Quan hệ chia hết 2

1.2.Ước chung lớn nhất 2

1.3.Quan hệ Đồng dư 3

1.4.Vành Zm 3

1.5.Phương trình đồng dư bậc 2 4

Chương 2.HỆ MẬT KHÓA CÔNG KHAI RSA 7

2.1.Công thức Euler và nghiệm modulo pq 7

2.2.Hệ mật khóa công khai RSA 10

2.3.Kiểm tra tính nguyên tố của một số nguyên 12

2.3.1 Phân bố của tập số nguyên tố 15

2.3.2 Chứng minh tính nguyên tố và kiểm tra xác suất Versus 16

2.4.Thuật toán Pollard:phân tích nhân tử của p − 1 17

2.5.Phân tích thông qua hiệu bình phương 19

2.6.Số mịn, sàng, xây dựng mối quan hệ cho nhân tử 24

2.6.1 Số mịn 24

2.6.2 Sàng bậc 2 26

2.6.3 Sàng trường số 32

2.7.Thặng dư bậc 2 và thuận nghịch bậc 2 35

2.8.Mã hóa theo xác suất và hệ mật Goldwasser-Micali 40

Chương 3.CHỮ KÝ SỐ 44

3.1.Chữ ký số là gì ? 44

3.2.Chữ ký số RSA 45

3.3.Chữ ký số Elgamal 48

3.3.1 Hệ mật khóa công khai Elgamal 48

3.3.2 Hệ chữ ký Elgamal 50

3.4.Chữ ký số DSA 53

Kết Luận 56

Trang 2

Người ta ký hiệu số lớn nhất trong tập các ước chung của cácailàgcd(a1, a2, , an).Nếu gcd(a1, a2, , an) = 1 thì a1, a2, , an được gọi là các số nguyên tố cùng nhau.

Dễ thấy rằng các số nguyên a1, a2, , an nguyên tố cùng nhau nếu và chỉ nếu tồn tạicác số nguyên x1, x2, , xn sao cho

Trang 3

Chứng minh vì gcd(a, b) = 1 nên tồn tại x, y ∈ Z sao cho ax + by = 1, nhân cả hai vếvới c ta được cax + (cb)y = c chia hết cho a.

Định nghĩa 1.2.3 (Số nguyên tố, hợp số, số chính phương) Một số nguyên

p được gọi là một số nguyên tố nếu p > 1 và p không có một ước nguyên dương nàongoài 1 và chính nó Một số nguyên m được gọi là hợp số nếu m 6= 0 và |m| có ít nhấtmột ước nguyên dương khác 1 và khác m Số tự nhiên n được gọi là một số chínhphương nếu tồn tại một số nguyên a sao cho a2= n

Nhận xét rằng nếu số nguyên tố p chia hết tích ab thì hoặc p | a hoặc p | b

Định lý 1.2.4 (Định lý cơ bản của số học) Mọi số tự nhiên lớn hơn 1 đều phântích được thành tích hữu hạn các số nguyên tố, phân tích này là duy nhất nếu không

kể đến thứ tự các thừa số

Định nghĩa 1.2.5 Số các số thuộc dãy 1, 2, , n nguyên tố với n được ký hiệu là

ϕ(n), người ta gọi hàm ϕ(n) là hàm Euler

Nếu plà một số nguyên tố thìϕ(p) = p − 1 và các số nguyên tố vớip là1, 2, , p − 1

Định nghĩa 1.3.1 Cho số nguyên dương m, hai số nguyên a và b được gọi là đồng

dư modulo m nếu hiệu a − b chia hết cho m.Nếu a đồng dư với b modulo m, ta viết

a ≡ b (mod m) và gọi đó là một đồng dư thức

Quan hệ đồng dư modulo m là một quan hệ tương đương trên Z, các lớp tươngđương theo quan hệ này được gọi là các lớp đồng dư modulo m, số các lớp thặng dưmodulo m đúng bằng m

Ký hiệu lớp thặng dư modulo m chứa số nguyên a là a hoặc a (mod m) Tập

Zm = {a : a ∈Z} là tập các lớp lớp thặng dư modulo m, ta định nghĩa các phép toáncộng và nhân như sau

Trang 4

a + b = a + b và a.b = a.b.Tập Zm cùng với hai phép toán trên lập thành một vành giao hoán có đơn vị 1 vàphần tử không là 0 mà ta gọi là vành các lớp thặng dư modulo m.

Định lý 1.4.1 Lớp thặng dư a ∈Zm khả nghịch nếu và chỉ nếu gcd(a, m) = 1.Chứng minh a ∈Zm khả nghịch khi và chỉ khi tồn tạib ∈ Zm sao cho a.b = 1 hay tồntạib ∈ Z sao choab ≡ 1 (mod m) Tức là, tồn tại số nguyên avà xsao choab + mx = 1,điều này xảy ra khi và chỉ khi gcd(a, m) = 1

Nhận xét rằng nếu p là một số nguyên tố thì mọi phần tử khác lớp tương đươngcủa 0 (mod p) đều khả nghịch , do đó Zp là một trường

Có thể kiểm tra rằng tập hợp tất cả các phần tử khả nghịch modulo m với phépnhân trong Zm lập thành một nhóm có cấp ϕ(m) Do đó aϕ(m) ≡ 1 (mod m) với mọi

số nguyên a nguyên tố với m Khi m = p là số nguyên tố và gcd(a, p) = 1 thì ta có

ap−1≡ 1 (mod p)

Định nghĩa 1.4.2 Cho số nguyên m > 1 và số nguyên a sao cho gcd(a, m) = 1, khi

đó số nguyên dương dnhỏ nhất sao cho ad≡ 1 (mod m) được gọi là bậc của a modulo

m Dễ thấy rằng d tồn tại và là một ước của ϕ(m)

Định nghĩa 1.4.3 Cho một số nguyên m > 1 Số nguyên g được gọi là một cănnguyên thủy modulo m nếu g có số mũ ϕ(m) Trường hợp tồn tại căn nguyên thủymodulo m thì m được gọi là có căn nguyên thủy

Nếu m có căn nguyên thủy là g thì g là phần tử sinh của nhóm các phần thử khảnghịch modulo m tức nhóm này sẽ là một nhóm cyclic cấp ϕ(m), hơn nữa phần tử gs

với gcd(s, ϕ(m)) = 1 cũng là một căn nguyên thủy modulo m Nói thêm rằng chỉ khi

m là các số 2, 4 hoặc các số có dạng pn, 2pn với p nguyên tố lẻ và n nguyên dương, là

có căn nguyên thủy

Cho phương trình

với p nguyên tố lẻ vàgcd(a, p) = 1 Nếu tồn tại số nguyên x0 thỏa mãnx20 ≡ a (mod p)

thì x0 được gọi là nghiệm đúng của phương trình trên Lớp a (mod p) được gọi lànghiệm của phương trình trên nếu mọi phần tử trong lớp tương đương của nó đều lànghiệm đúng Dễ thấy rằng nếu x 0 là nghiệm đúng thì x 0 (mod p) sẽ là nghiệm.Định nghĩa 1.5.1 Số nguyênađược gọi là thặng dư bậc 2 hay thặng dư toàn phươngmodulo p nếu phương trình x2 ≡ a (mod p) có nghiệm

Định lý 1.5.2 Nếu a là thặng dư bậc hai modulo p thì phương trình x2 ≡ a (mod p)

có đúng hai nghiệm

Trang 5

Chứng minh Do a là thặng dư bậc hai modulo p nên tồn tại số nguyên x0 sao cho

x20 ≡ a (mod p), do đó x ≡ x 0 (mod p) là nghiệm Từ (−x 0 )2 = x20 ≡ a (mod p) nên

x ≡ −x 0 (mod p) cũng là nghiệm Nếu x 0 ≡ −x 0 (mod p) thì 2x 0 ≡ 0 (mod p), do p là

số nguyên tố lẻ nên x 0 ≡ 0 (mod p) (mâu thuẫn vì gcd(a, p) = 1), phương trình bậchai trên trường Zp có tối đa hai nghiệm, do đó phương trình x2 ≡ a (mod p) có hainghiệm phân biệt x0 (mod p) và −x0 (mod p)

Trang 7

Chương 2

HỆ MẬT KHÓA CÔNG KHAI RSA

Cho p là một số nguyên tố, từ Định lý Fermat nhỏ ta có

ap−1 ≡ 1 (mod p), nếu gcd(a, p) = 1.

Định lý Fermat nhỏ đã chỉ ra một tính chất đẹp của số nguyên tố, nhưng chuyện

gì sẽ xảy ra nếu ta thay p bởi một số nguyên m không nguyên tố? Liệu công thức

am−1 ≡ 1 (mod m) với gcd(a, m) = 1 vẫn còn đúng chứ? Ví dụ sau chỉ ra câu trảlời nói chung là "không" Với m = 15485207, a = 2 ta có 2m−1 = 215485206 ≡ 4136685 (mod 15485207) 6≡ 1 (mod 15485207)

Tuy nhiên, chúng ta sẽ xem xét khái quát cho trường hợp m = pq với p, q là hai sốnguyên tố phân biệt Ta bắt đầu với một ví dụ đơn giản Vớim = 3.5 = 15, xét các số

mũ modulo 15 ta nhận thấy có rất nhiều số mũ 4 đồng dư với 1 (mod 15) Cụ thể

Trang 8

Chứng minh Từ gcd(a, pq) = 1 ta có gcd(a, p) = 1 với gcd(a, q) = 1 Do đó

a(p−1)(q−1)g ≡ a(p−1)(

q−1

g )

≡ 1q−1g ≡ 1 (mod p), a

Hệ mật RSA mà ta nghiên cứu ở phần tới có độ bảo mật phụ thuộc vào độ khócủa việc giải phương trình dạng xe ≡ c (mod N ), trong đó e, c, N đã biết, x là ẩn.Nếu N là số nguyên tố thì phương trình trên tương đối dễ tìm nghiệm, và được mô

tả trong mệnh đề sau

Mệnh đề 2.1.2 Cho p là số nguyên tố,e ≥ 1 là số nguyên thỏa mãngcd(e, p − 1) = 1.Khi đó tồn tại d để ed ≡ 1 (mod p − 1) và phương trình xe ≡ c (mod p) (∗) có nghiệmduy nhất cd (mod p)

Chứng minh Chúng ta xét hai trường hợp sau

Trường hợp 1 :Giả sử gcd(c, p) 6= 1 Khi đó p là một ước của c, do đó c ≡ 0 (mod p) vàphương trình xe ≡ c (mod p) trở thành xe ≡ 0 (mod p) Tức là, x ≡ 0 (mod p) Vậy cd(mod p) là nghiệm của phương trình (∗)

Trường hợp 2 :Giả sử gcd(c, p) = 1 Bởi Định lý Fermat nhỏ ta có

(cd)e = cde ≡ c1+(p−1)k ≡ c.1k ≡ c (mod p).

Do đó cd là nghiệm đúng của phương trình xe ≡ c (mod p) Bây giờ chúng ta sẽ chỉ

ra cd (mod p) là nghiệm duy nhất của (∗) Thật vậy, giả sử (∗) còn có nghiệm đúng

x1, nghĩa là xe1 ≡ c (mod p) Khi đó xe1d ≡ c d (mod p) Do x1 là nghiệm đúng của (∗)

nên gcd(x 1 , p) = 1 Vì vậy xp−11 ≡ 1 (mod p), và suy ra xde1 = x1+(p−1)k1 ≡ x 1 (mod p)

Do đó x1 ≡ x ed

1 ≡ c d (mod p) Vậy mọi nghiệm đúng của (*) đều thuộc lớp đồng dư cd(mod p) Ngược lại, nếu y ≡ cd (mod p) thì y cũng là một nghiệm đúng của (*) Vậyphương trình (*) có nghiệm duy nhất cd (mod p)

Từ mệnh đề trên, ta thấy phương trình xe ≡ c (mod N ) có thể giải được dễ dàngnếu N là một số nguyên tố Bây giờ xét trường hợp N có dạng đơn giản là tích củahai số nguyên tố phân biệtN = p.q thì nghiệm của phương trìnhxe ≡ c (mod N )đượccho bởi mệnh đề sau

Mệnh đề 2.1.3 Cho p 6= q là hai số nguyên tố, số nguyên e ≥ 1 thỏa mãn gcd(e, (p − 1)(q − 1)) = 1, nghĩa là, tồn tại d ∈ Z để de ≡ 1 (mod (p − 1)(q − 1)) Khi đó phươngtrình xe ≡ c (mod pq)(∗∗) có nghiệm duy nhất cd (mod pq)

Trang 9

Chứng minh Dode ≡ 1 (mod (p−1)(q −1))nên tồn tại k ∈Z đểde = 1+(p−1)(q −1)k.Trường hợp 1:Giả sử gcd(c, pq) = 1 Khi đó x1 := cd là nghiệm đúng của (**), bởi vì

x2 ≡ x2de−(p−1)(q−1)l ≡ x2de.x2(p−1)(q−1)(−l) ≡ x2de.1−l ≡ cd ≡ x1 (mod pq).

Vậy cd (mod pq) là nghiệm duy nhất của (**)

Trường hợp 2:Giả sử gcd(c, pq) = pq Khi đó (**) trở thành xe ≡ 0 (mod pq) Từ

gcd(c, pq) = pq suy ra c ≡ 0 (mod pq) Do đó cd ≡ 0 (mod pq) Vậy x ≡ cd ≡ 0 (mod pq)

là nghiệm của (**)

Giả sư xe ≡ 0 (mod pq) còn có nghiệm u Khi đó pq | ue hay pq | u Do đó u ≡ 0 (mod pq) Vậy trong trường hợp này x ≡ 0 ≡ cd (mod pq) là nghiệm duy nhất củaphương trình xe ≡ 0 (mod pq)

Trường hợp 3:Giả sử gcd(c, pq) = p Từ gcd(c, pq) = p, ta có p | c nhưng q -c Do đó cd

là nghiệm đúng của (**), bởi vì

cde= c1+(p−1)(q−1)k ≡ c.c(p−1)(q−1)k (mod pq).

Do gcd(c, pq) = p nên gcd(c, q) = 1 Bởi định lý Fermat nhỏ, ta có cq−1 ≡ 1 (mod q) và

c(q−1)(p−1)k ≡ 1 (mod q) Vì vậy q | (c(q−1)(p−1)k− 1) Do đó pq | c.(c(q−1)(p−1)k− 1) hay

c.(c(q−1)(p−1)k− 1) ≡ 0 (mod pq) Từ đó c1+(q−1)(p−1)k− c ≡ 0 (mod pq) và cde = cde≡ c (mod pq) Vậy cd là nghiệm đúng của (**) và x1 ≡ c d (mod pq) là nghiệm của (**).Giả sử (**) còn có nghiệmx2, tức làxe2≡ c (mod pq) Do đóxde2 ≡ c d ≡ x1 (mod pq).Mặt khác pq | (xe2− c) và do đó p | (xe2− c) Vì vậy p | xe2 và p | x2 (vì p | c) Do q- x2

nên lập luận tương tự như đã làm vớicđể có đượccde≡ c (mod pq) Ở đây, ta cũng có

xde2 ≡ x2 (mod pq) và do đó x2 ≡ x1 (mod pq) Vậy trong trường hợp này, cd (mod pq)

là nghiệm duy nhất của (**)

Trường hợp 4:Giả sử gcd(c, pq) = q Lập luận tương tự trường hợp 3 với p và q đổi vaitrò cho nhau, ta cũng có x ≡ cd (mod pq) là nghiệm duy nhất của (**)

Từ quá trình chứng minh định lý trên và kết quả ở Định lý 2.1.1 cùng với nhậnxét rằng nếu gcd(e, (p − 1)(q − 1)) = 1 thì gcd(e,(p−1)(q−1)g ) = 1 với g = gcd(p − 1, q − 1),

ta có thể thay d bởi d0 thỏa mãn d0e ≡ 1 (mod (p−1)(q−1)g ) Khi đó nghiệm duy nhấtcủa (**) là cd ≡ cd0 (mod pq) Ta sẽ minh họa kết quả trên bằng một ví dụ đơn giảnsau

Ví dụ 2.1.4 Giải phương trình : x17389 ≡ 43927 (mod 64349)

Trang 10

Lời giải Ta biết N = 64349 = 229.281 và p = 229, q = 281, c = 43927, e = 17389.Hơn nữa gcd(e, (p − 1)(q − 1)) = gcd(e, 228.280) = 1 Vì vậy ta sẽ tính được d ≡ 53509 (mod 228.280) ( hoặc d0 ≡ 5629 (mod 15960) ) Do đó nghiệm của phương trình trên là

x ≡ 4392753509≡ 14458 (mod 64349) ( hoặc x ≡ 439275629 ≡ 14458 (mod 64349))

Ở ví dụ trên, nếu ta tìm nghiệm dựa vào việc tính d0 thì chỉ mất 80% của số bướctính để tìm nghiệm thông qua việc tính d

Bob và Alice gặp phải vấn đề thường lệ của việc bảo mật các thông tin nhạy cảmtrên một kênh giao tiếp không an toàn Ta biết có những cách khác nhau để giảiquyết vấn đề này Ví dụ như trao đổi khóa Diffie-Hellman và hệ mật khóa công khaiElgamal mà độ bảo mật dựa trên độ khó của bài toán logarit rời rạc

Trong phần này ta sẽ trình bày về hệ mật khóa công khai RSA mà độ bảo mậtdựa vào độ khó của việc giải phương trình xe ≡ c (mod N )trong đó N là tích của hai

số nguyên tố phân biệt

Tạo khóaChọn hai số nguyên tố phân biệt p và q

Chọn số mũ e sao cho

gcd(e, (p − 1)(q − 1)) = 1.

Công khai cặp (N, e) với N = pq

Mã hóa

Chọn thông điệp m cần mã hóa

Sử dụng khóa(N, e) của Bob

Ở bảng trên, Bob chọn 2 số nguyên tố p 6= q, khóa công khai là cặp (N, e) với

N = p.q và gcd(e, (p − 1)(q − 1)) = 1 Alice chọn thông điệp mà cô ấy muốn gửi cho Bob

và biến nó thành một số nguyên m nằm giữa 1 và N mà ta gọi là bản hiện, mã hóa

Trang 11

m bởi c ≡ me (mod N ), số nguyên cđược gọi là bản mã ứng với bản hiện m Cô ấy sẽgửi c cho Bob Do Bob biếtp và q nên để giải mã c, đơn giải Bob chỉ cần giải phươngtrình xe ≡ c (mod N )và khôi phục lại bản hiện m và biết được thông diệp của Alice.Eve có thể biết c, N, e nhưng trừ khi cô ấy biết phân tích của N, tức là biết p và q

hoặc biết giá trị của (p − 1)(q − 1) nếu không việc giải phương trình xe ≡ c (mod N )

đối với cô ấy là không dễ dàng

Chúng ta mô tả hệ mật RSA với các số nhỏ làm ví dụ Tất nhiên ví dụ này không

đủ tốt bởi nó quá dễ để cho Eve tìm được các thừa số trong phân tích của N, để đảmbảo tính bảo mật cho hệ mật RSA, ta thường sử dụng những giá trị N lớn (có thể cóđến hàng trăm chữ số)

Trang 12

hiện hiệu quả hơn nếu số mũ mã hóa là nhỏ Tương tự, giải mã sẽ hiệu quả hơn nếu

số mũ giải mã là nhỏ Tất nhiên Bob có thể chọn cả hai giá trị e, d là nhỏ trong cùngmột lần tạo khóa với e, d thỏa mãn

de ≡ 1 (mod ((p − 1)(q − 1))).

Tất nhiên, Bob có thể chọn e = d = 1 nhưng khi đó m = c Do đó e = 1 là ý tưởngrất tệ Trong khi đó e = 2 không thỏa mãn điều kiện gcd(e, (p − 1)(q − 1)) = 1 vì mộttrong hai số p, q là lẻ Giá trị tốt có thể chọn làe = 3, với e = 3thì độ bảo mật tương

tự một giá trị lớn hơn của e nhưng có một vài điều lo lắng rằng khi e là quá nhỏthì giá trị c ≡ me (mod N ) có thể nhỏ hơn N Khi đó không xảy ra rút gọn modulo

N và m có thể được tìm ra bằng cách tính căn bậc e của c Do đó ta thường lấy

e = 216+ 1 = 65537 Khi đó để tính lũy thừa mũ e, ta chỉ mất 16 phép bình phương

và một phép nhân

Chú ý 2.2.2 Nếu Eve biết được giá trị của (p + q) thì từ đẳng thức (p − 1)(q − 1) =

pq − (p + q) + 1 = N − (p + q) + 1 cho phép Eve tính được (p − 1)(q − 1) và ngược lại.Hơn nữa, nếu cô ấy biết (p + q) thì cô ấy có thể biết giá trị cụ thể của p và q bằngcách giải phương trình x2− (p + q) + pq = 0 Do đó việc tìm giá trị của (p − 1)(q − 1)

so với việc tìm giá trị của p và q là không dễ dàng hơn Nhưng chú ý rằng những

gì Eve cần làm là giải bản mã c từ phương trình xe ≡ c (mod N ) Nếu cô ấy có mộtthuật toán để giải phương trình này mà không cần biết phân tích của N hoặc giá trị

(p − 1)(q − 1) thì cô ấy có thể giả mã c Nhưng được biết cho đến nay chưa có ai cóthể chỉ ra tồn tại một thuật toán như vậy

Chú ý 2.2.3 Lưu ý rằng Bob chỉ nên sử dụng một số mũ mã hóa duy nhất Giả sửBob sử dụng cùng lúc hai số mũ mã hóa e1, e2 để mã hóa cùng một m Khi đó ta cóhai bản mã

c1 ≡ me1 (mod N ), và c2 ≡ me2 (mod N ).

Do Eve biết c 1, c 2, e 1, e 2, N và giả sử gcd(e 1 , e 2 ) = e 1 u + e 2 v Khi đó Eve có

cu1.cv2 ≡ me1 u me2 v ≡ me1 u+e 2 v ≡ mgcd(e1 ,e 2 ) (mod N ).

Nếu gcd(e1, e2) = 1 thì Eve có được m

Theo thứ tự tạo một cặp khóa RSA, Bob cần chọn 2 số nguyên tố phân biệt đủlớn Vì vậy, Bob phải đối mặt với bài toán tìm các số nguyên tố lớn Chính xác hơn,Bob cần một cách để kiểm tra một số lớn được chọn là số nguyên tố hay hợp số Ví

dụ như Bob muốn biết số

n = 3198793773747935332620068643713101490952335301

có là số nguyên tố hay không? Đầu tiên Bob thử tìm các thừa số nguyên tố nhỏ của

n nếu có , nhưng Bob không tìm thấy bất kỳ số nguyên tố nào nhỏ hơn 1 triệu là ướccủa n Cách khác, Bob tính

2n−1 ≡ 1281265953551359064133601216247151836053160074 (mod n).

Trang 13

Điều này chỉ ra n không phải số nguyên tố mặc dù Bob không biết bất kỳ một ướcnào củan Trước khi tiếp tục câu chuyện tìm kiếm số nguyên tố lớn của Bob, ta nhắclại định lý Fermat nhỏ.

Định lý 2.3.1 Nếu p là một số nguyên tố thì ap ≡ a (mod p), với mọi a ∈Z.

Từ Định lý 2.3.1, nếu tồn tại a ∈ Z sao cho an 6≡ a (mod n) thì n là hợp số Trongtrường hợp này, ta nóia là một bằng chứng hợp số dạng Fermat củan, hay nói gọn làbằng chứng Fermat Thật đáng tiếc, ngay cả khi n không có một bằng chứng Fermatnào cũng không đủ để kết luận n là số nguyên tố Ví dụ n = 561 thì a561 ≡ a (mod n),với mọi a ∈ Z Nhưng từ n = 561 = 3.11.17 chỉ ra rằng n không phải số nguyên tố.Tuy vậy, để đánh giá khả năngn là một số nguyên tố, ta có thể thử các giá trị a = aj,

với mọi j = 1, 2, , k. Nếu có bất kỳ một trong số các aj là bằng chứng Fermat của

n thì n là hợp số Ngược lại nếu n không có bất cứ một bằng chứng Fermat nào thì

n có khả năng là một số nguyên tố

Một hợp số mà không có bất kỳ bằng chứng Fermat nào được gọi là số Carmichael.Mặc dù số Carmichael khá hiếm nhưng người ta đã chỉ ra được có vô hạn số như vậy.Phương pháp kiểm tra số nguyên tố dựa vào định lý Fermat nhỏ không hiệu quả đốivới các số này, do đó Bob cần một công cụ mạnh hơn nữa để kiểm tra tính nguyên

tố của một số nguyên bao gồm cả số Carmichael

Mệnh đề 2.3.2 Cho p là một số nguyên tố lẻ và viết p − 1 = 2k.q (với q lẻ) Cho

a ∈Z thỏa mãn gcd(a, p) = 1 Khi đó một trong hai điều sau là đúng

a) aq ≡ 1 (mod p)

b) Một trong các số aq, a2q, , a2k−1.q sẽ đồng dư với −1 (mod p)

Chứng minh Do gcd(a, p) = 1 nênap−1≡ 1 (mod p) Do đó cấp của a trong nhóm cácphần tử khả nghịch modulo p phải là ước của 2k.q Vì vậy, trong danh sách

aq, a2q, , a2k−1.q, a2k.q (∗ ∗ ∗)

phải có ít nhất một giá trị đồng dư với 1 modulo p Giả sử aq 6≡ 1 (mod p) Khi đó,trong danh sách (∗ ∗ ∗), số sau là bình phương của số đứng trước Gọi ki là số nhỏnhất để a2kiq ≡ 1 (mod p), (1 ≤ ki≤ k) Khi đó từ

(a2ki−1q)2 ≡ 1 (mod p) và a2ki−1q 6≡ 1 (mod p),

ta có a2ki−1.q ≡ −1 (mod p) Vậy một trong các số aq, a2q, , a2k−1.q phải đồng dư với

−1 (mod p)

Mệnh đề trên cho ta một cách kiểm tra tính nguyên tố của một số n-lẻ được chotrong bảng sau

Trang 14

Đầu vào:Số nguyên n, số nguyên a.

1 Nếu n chẵn hoặc 1 < gcd(a, n) < n, trả kết quả :n là hợp số

Định nghĩa 2.3.3 Cho n là một số lẻ và viết n − 1 = 2k.q với q lẻ và số nguyên a

thỏa mãn gcd(a, n) = 1, a được gọi là một bằng chứng Miller-Rabin nếu cả hai điềusau là đúng

a) aq 6≡ 1 (mod n)

b) a2iq 6≡ −1 (mod n), với mọi i = 0, 1, , k − 1.

Mệnh đề 2.3.4 Cho n là một hợp số lẻ Khi đó có ít nhất 75% các số giữa 1 và n − 1

là bằng chứng Miller-Rabin cho n

Bây giờ, Bob muốn kiểm tra tính nguyên tố của một số n (lẻ) Anh ấy thử với 10

giá trị khác nhau của a Nếu có bất kỳ giá trị nào của a là bằng chứng Miller-Rabin(bằng chứng M-R) thìn chắc chắn là hợp số Ngược lại, nếu không có giá trị nào của

a là bằng chứng M-R thì từ Mệnh đề 2.3.4, khi n là hợp số , xác xuất để cả 10 lầnđều không cho ta bằng chứng M-R không quá (25%)10 (cỡ 10−6) Tương tự, xác suất

để sau k lần thử không chỉ ra được bằng chứng M-R của n là (25%)k, ta có thể nóinếu sau k lần thử mà không chỉ ra được bằng chứng M-R thì xác suất để n thực sự

Vậy a = 2 là một bằng chứng M-R của 561, do đó 561 là hợp số Lưu ý rằng a = 2

không là bằng chứng Fermat của 561 (số carmichael)

Ví dụ 2.3.6 Cho n = 172947529 Khi đó n − 1 = 23.21618441 Với a ∈ {17, 3, 23} ta cóthể kiểm tra được rằng a = 3, a = 17 không là bằng chứng M-R của n nhưng a = 23

là bằng chứng M-R của n Do đó n = 172947529 là hợp số

Trang 15

2.3.1 Phân bố của tập số nguyên tố

Định nghĩa 2.3.7 Cho số nguyên n ≥ 2, ta định nghĩa

π(n) = {số các số nguyên tố từ 2 đến n}.

Ví dụ 2.3.8 π(10) = 4, vì các số nguyên tố từ 2 đến 10 gồm 4 số là 2, 3, 5, 7

Định lý 2.3.9 (Định lý số nguyên tố)

lim n→∞

π(n) n ln(n)

2013 ln(2 2013 ) ≈ [21013.53]

số nguyên tố Định lý 2.3.9 nói rằng, vớin đủ lớn, khi ta chọn 1số nguyên từ 1đến n

thì tỷ lệ để ta chọn được một số nguyên tố là xấp xỉ ln(n)1 Vì vậy, ta có nói rằng việcchọn một số ngẫu nhiên N thì xác suất N là số nguyên tố là ln(N )1 Lưu ý rằng một

số N hoặc là một số nguyên tố hoặc là hợp số, phát biểu trên muốn mô tả tỷ lệ tìmđược số nguyên tố xung quanh N Ví dụ khi ta chọn x thuộc N2 đến 3N2 , xác suất để

x là số nguyên tố khoảng ln(N )1

Ví dụ 2.3.11 Ta minh họa trong ví dụ này việc tìm kiếm số nguyên tố có khoảng

1024 bit Phát biểu trên nói rằng xác suất để một số N ≈ 21024 là số nguyên tố là

1 ln(2 1024 ) =

Trang 16

hay N = 2310n + 1139 Khi đó N không chia hết cho 2, 3, 5, 7, 11 Xác suất để

4, 8 ln(N ) ≈ 0.67%.

Nghĩa là ta chỉ cần thử khoảng 150 số ngẫu nhiên quanh 22014 có dạng 2310n + 1139

sẽ có cơ hội có được một số nguyên tố Dùng "Miller-Rabin test" với 1000 giá trịngẫu nhiên của N để kiểm tra tính nguyên tố của mỗi số dạng 2310n + 1139 Với

22013≤ n ≤ 2 2013 + 1000 hay n = 22013+ j với 0 ≤ j ≤ 1000, kết quả là tìm được 12 giátrị của j Cụ thể {41, 148, 193, 251, 471, 585, 606, 821, 851, 865, 910, 911} có khả năng làmcho N = 2310(21013+ j) + 1139 là số nguyên tố với xác xuất cao Số nhỏ nhất trong số

đó là 2310(21013+ 41) + 1139 có 308 chữ số

2.3.2 Chứng minh tính nguyên tố và kiểm tra xác suất Versus

Thuật toán Miller-Rabin là một thuật toán mạnh và tiện lợi cho việc tìm kiếm các

số nguyên lớn có khả năng là số nguyên tố Ta biết rằng nếu một số n là hợp số thì

n có thể có rất nhiều bằng chứng Miller-Ranbin Sau chừng 50 đến 100 lần thử nếukhông chỉ ra được bằng chứng Miller-Rabin thì có thể gần chắc rằng n là số nguyên

tố Tuy nhiên có sự khác biệt giữa "gần như chắc chắn" và "chắc chắn" Nếu Bobmuốn kiểm tra chính xác rằng n là một số nguyên tố, về nguyên tắc, Bob phải kiểmtra các giá trị màn không chia hết cho nó, tức là kiểm tra các số1, 2, 3, , [ √

n] Nếukhông có giá trị nào là ước của n thì chắc chắn n là số nguyên tố Tuy nhiên nếu n

lớn cỡ 21000 thì số lần thực hiện các bước tính sẽ là một bội của √n, tức là θ( √

n) đểhoàn thành (chạy với thời gian mũ) Nhưng ta mong muốn có một thuật toán chứngminh tính nguyên tố chạy trong thời gian đa thức

Nhắc lại giả thiết Riemann:Hàm số Zeta-Riemann ζ(s) được định nghĩa bởi

Người ta đã chứng minh được ζ(s) = Y

π(x) =

Z x 2

dt ln(t) + θ(

x ln(x)).

Công thức này mạnh hơn định lý về số nguyên tố, khi x lớn ta suy ra π(x) ∼ ln xx Trong suốt khoảng 150 năm nay, kể từ khi phát biểu vẫn chưa có ai chứng minh đượcgiả thiết này

Trang 17

Mệnh đề 2.3.12 Nếu giả thiết Riemann là đúng thì mỗi hợp sốn có một bằng chứngMiller-Rabin a thỏa mãn

a ≤ 2(ln( n ))2.

Ứng dụng 2.3.13 Chúng ta có hai trường hợp sau

1 Nếu tồn tại a với a ≤ 2(ln( n ))2 là bằng chứng Miller-Rabin thì n là hợp số

2 Nếu không tồn tại a với a ≤ 2(ln( n ))2 là bằng chứng Miller-Rabin thì n là sốnguyên tố

Thuật toán AKS chỉ ra rằng nếu cho một số  > 0 tùy ý, có một thuật toán xácđịnh liệu N có là số nguyên tố hay không trong thời gian không quá O(ln(N ))6+)

bước Thực tế thuật toán này chậm hơn nhiều so với thuật toán Miller-Rabin Hầuhết mọi người sẽ chấp nhận một số nguyên n là số nguyên tố nếu sau khoảng 50đến

100 phép thử các giá trị của a theo cách kiểm tra Miller-Rabin mà không chỉ ra đượcmột bằng chứng Miller-Rabin nào của n

Cho một số nguyên dương N, N = p.q với p, q là các số nguyên tố Công việc củaEve là tìm ra các số p, q Chú ý rằng nếu có số nguyên L thỏa mãn

Nhờ quan sát của Pollard rằng nếu p − 1 phân tích được thành tích các số nguyên

tố nhỏ thì rất có thể p − 1 là ước của n! Điều này gợi ý cho Eve thử các số L códạng L = n! Trong thực hành, Eve có thể khởi đầu với việc chọn a = 2 hoặc mộtvài giá trị dễ tính toán Nếu gcd(an! − 1, N ) = 1 thì ta thay n! bởi (n + 1)! và nếu

gcd(an!− 1, N ) = N thì xem như ta không may mắn (lúc này dù có thử với L = (n + 1)!

cũng cho kết quả như vậy) Nhưng Eve có thể thay giá trị khác cho a và bắt đầu làmlại

Trang 18

Một vấn đề gặp phải trong quá trình tính an! là ngay cả khi gắn cho a giá trị nhỏchỉ bằng 2, thì với n lớn, an! có thể rất lớn Thay vì làm việc với các số lớn như vậy,

ta có thể rút gọn chúng theo moduloN và chỉ phải làm việc với các số không lớn quá

N bởi nhận xét nếu aL ≡ h (mod N ) và gcd(aL− 1, N ) = p thì gcd(h − 1, N ) = p

Ta mô tả thuật toán phân tích thừa số p − 1 của Pollard trong bảng sau với a = 2

Đầu vào:số nguyên N được phân tích

1 Đặt a = 2 ( hoặc giá trị thuận tiện nào đó)

2 Vòng j = 2, 3, 4, . ( tăng tới một giới hạn nhất định)

3 Đặt a :≡ aj (mod N )

4 Tính d = gcd(a − 1, N )

5 Nếu 1 < d < N thì thành công, trả về giá trị d

6 Tăng j, quay lại ở bước 2

Để tính được an! (mod N ), ta mất không quá 2n log2(n) bước Đồng thời cũng tínhđược ak! (mod N ) với k = 1, 2, , n Để thêm hiệu quả, đôi khi ta có thể chọn một số

k thích hợp và bắt đầu tính từ gcd(ak!− 1, a) Ví dụ sau minh họa cho điều này

Chú ý 2.4.2 Ta không bàn về khả năng thành công của phương pháp này Tuynhiên dễ thấy răng phương pháp này hiệu quả nếu ít nhất một trong hai sốp − 1 hoặc

q − 1 có phân tích là tích các số nguyên tố nhỏ với số mũ nhỏ Điều này sẽ dễ dàngcho Bob và Alice tránh mối nguy hiểm từ phương pháp phân tích p − 1 của Pollardkhi tạo khóa RSA Đơn giản là kiểm tra những số bí mật p và q và đảm bảo rằng cả

p − 1 và q − 1 đều không có phân tích là tích các số nguyên tố nhỏ

Định nghĩa 2.4.3 Một số nguyên mà các thừa số nguyên tố của nó nhỏ hơn hoặcbằng B được gọi là một số B-mịn

Ta sẽ nghiên các số B-mịn (hay B-phẳng, B-trơn ) ở các phần tiếp theo

Trang 19

2.5 Phân tích thông qua hiệu bình phương

Phương pháp này được biết dựa vào một trong những sự phát hiện đơn giản nhấttrong toán học là

Ví dụ 2.5.1 Với N = 203299, ta tạo một bảng số N + b2 với b từ 1 dến 100 nhưngkhông tìm thấy một giá trị chính phương nào của N + b2 Bây giờ, ta thử danh sáchvới 3N + b2 Cụ thể ta có

Trang 20

N ) Trong các trường hợp khác, số nguyên tố nhỏ nhất là O(N )α với

α < 1/2 Giả sử chúng ta có thể tìm thấy nhiều hoặc ít các giá trị ngẫu nhiên a, b

thỏa mãn a2 ≡ b 2 (mod N ) Cơ hội trong việc tìm kiếm phân tích không tầm thườngcủa N khi tính gcd(N, a − b) là bao nhiêu?

Ta biết rằng nếu (a − b)(a + b) = a2− b2 = kN = k.p.q với số nguyên k nào đó, thì

p và q là ước của ít nhất một trong hai số (a − b) hoặc (a + b) Ta sẽ thành công nếu

Trang 21

(a − b) chỉ chia hết cho một trong hai số p hoặc q mà không chia hết cho số còn lại.Điều này xảy ra với xác suất 50%, nghĩa là không mất quá nhiều lần thử.

Ta sẽ phát triển phương pháp ba bước một cách hợp lý hơn như sau

Bước 1: Ta lập một danh sách các số a1, a2, , ar thỏa mãn (ai)2 ≡ ci (mod N ),trong đó ci là các số nguyên dương nhỏ hơn N và là tích của t số nguyên tố nhỏ đầutiên (cố định thứ tự tăng dần) {p1, p2, , pt}

r

X

i=1

e ij u i ) j

do đó ta cần chọn (u1, u2, , ur) sao cho số mũ của pj trong phân tích của

trong đóeij là số mũ củapj trong phân tích của ci được rút gọn theo modulo2 Chúng

ta có thể sử dụng phương pháp khử Gauss để giải hệ thặng dư 2.7 trên trường F2

Ví dụ 2.5.4 ChoN = 9788111là số cần phân tích Khi đó ta tìm kiếm các số nguyên

a với tính chất a2 (mod N ) là các số 50-mịn Các số nguyên tố nhỏ hơn 50 gồm 15 số

Trang 23

đó cho ta phân tích không tầm thường của N là N = 9788111 = 2741.3571 Cả hai số

2741 và 3571 đều là các số nguyên tố Do đó đây là phân tích đầy đủ của N thànhtích các thừa số nguyên tố

Trang 24

Chú ý 2.5.5 Ở ví dụ trên, hệ phương trình tuyến tính thuần nhất có tất cả 15

phương trình Trong nhiều trường hợp, số các số nguyên tố p1, p2, , pt có thể rấtlớn, cỡ hàng nghìn,hàng triệu số, khi đó hệ phương trình tuyến tính thuần nhất ở 2.7

có tới hàng nghìn, hàng triệu phương trình Chúng ta sẽ rất khó để giải tổng quát

hệ này Tuy nhiên số các số nguyên tố xuất hiện trong phân tích của c i là giải rác.Điều này muốn nói rằng hầu hết các số mũ của các số nguyên tố trong biểu diễn của

ci là 0, tức là ma trận hệ số sẽ chứa rất nhiều số 0 Thực tế có một kỹ thuật đặc biệt

để giải hệ phương trình tuyến tính dạng này hiệu quả hơn nhiều so với phương phápkhử Gauss thông thường Có một phỏng đoán rằng nếu một số ci là tích của các sốnhỏ hơn B thì nó sẽ là tích của các lũy thừa của khoảng ln(ci )

ln(B) các số nguyên tố phânbiệt

2.6.1 Số mịn

Định nghĩa 2.6.1 Cho B ∈ Z, B ≥ 2 Khi đó, một số nguyên n được gọi là một số

B-mịn nếu mọi thừa số nguyên tố trong phân tích của nó đều nhỏ hơn hoặc bằng B.Sau đây, nếu không nói gì thêm, ta luôn coi một số B-mịn là số lớn hơn 1

Ví dụ 2.6.2 Một vài số đầu tiên là 5 mịn và 5 không mịn

Nếu ta đặt L(x) = e

√ (ln x)(ln ln x) và B = L(x)c với 0 < c < 1 thì từ Định lý 2.6.4, ta

có ngay hệ quả sau

Trang 25

Hệ quả 2.6.6 Cho c bất kỳ thỏa mãn 0 < c < 1 Khi đó

q

ln x

ln ln x ta có

ψ(x, L(x)c) = x.u−u(1+o(1)) = x.L(x)−2c1(1+o(1))

Định nghĩa 2.6.7 Cho f (x) và g(x) là các hàm biến x nhận giá trị dương Ký hiệu

f (x) = O(g(x)) hoặc f (x)  g(x) nếu tồn tại hằng số dương c và C sao cho

Trang 26

Mệnh đề 2.6.10 ChoL(x) = e

ln x ln ln x vàN là một số nguyên lớn ĐặtB = L(N )√12.Khi đó

1 Chúng ta cần kiểm tra khoảng L(N )

√ 2

giá trị ngẫu nhiên modulo N để tìm được

π(B) số B-mịn

2 Chúng ta cần kiểm tra khoảng L(N )

√ 2

giá trị ngẫu nhiên dạng a2 (mod N ) đểtìm được đủ số B-mịn cho phân tích N

Chứng minh Xác suất để chọn một số ngẫu nhiên modulo N là B-mịn là ψ(N,B)N Đểtìm được π(B) số B-mịn, cần khoảng ψ(N,B)π(B)

N

số Ta mong muốn ψ(N,B)π(B)

N

nhỏ Khi B códạng B = L(N )c, ta muốn tìm kiếm giá trị thích hợp của cđể

π(B) ψ(N,B) N

c ) ψ(N, L(N )c)/N

−1 2c

c ln(L(N )c).L(N )

−1 2c

giá trị ngẫu nhiên modulo N để tìm được π(B) số B-mịn

Chú ý 2.6.11 Chúng ta có nhiều cách khác nhau để giảm bớt thời gian tìm kiếmthay vì sử dụng ngẫu nhiên các giá trị của a để tính a2 (mod N ) Ta có thể lựa chọn

a chỉ lớn hơn √N một chút, thìa2 (mod N ) là O( √

N ) và có nhiều khả năng là B-mịnhơn là những số O(N ) Tính toán lại mệnh đề trên, ta thấy chỉ cần kiểm tra khoảng

L(N ) số ngẫu nhiên dạng a2 (mod N ) với a gần với √N Điều này tiết kiệm đáng kể

so với L(N )

2

.Với mỗi số ngẫu nhiên mà ta chọn, để kiểm tra xem số đó liệu có là B-mịn không

Ta chia số đó cho các số nguyên tố nhỏ hơn B cho đến khi kết quả phép chia là 1.Tức là xấp xỉ cỡ π(B)lần chia thử với mỗi giá trịa2 (mod N ) để kiểm tra tính B-mịncủa nó, và ta phải thử với khoảng L(N )

Trang 27

L(N )c thì c nên được chọn là √1

2.Phương pháp tiếp cận đầu tiên để tìm số B-mịn là tìm phân số ab ≈ √kN với

k = 1, 2, 3, thì a2 ≈ b 2 kN ≡ 0 (mod N ) Khi đó a2 (mod N ) là một số nhỏ, và cónhiều cơ hội sẽ là B-mịn

Một cách tiếp cận khác nhanh hơn trong thực hành và có thể áp dụng cho cảnhững giá trị lớn hơn của a2 modulo N, mà ta gọi là sàng, được biết đến là thuậttoán nhanh nhất để phân tích một số N = p.q lớn tới cỡ 2350 Một phương pháp phứctạp hơn được gọi là sàng trường số có thể áp dụng cho cả những giá trị N lớn hơn

2450

Trước khi đi vào mô tả dạng đơn giản của sàng bậc hai, ta bắt đầu với việc tìmcác số B-mịn nhỏ hơn x mà không quan tâm liệu các số đó có dạng a2 (mod N ) haykhông

Để làm điều đó, ta mô phỏng theo sàng Ératosthènse, đây là một phương pháp có

từ thời cổ đại Hy Lạp dùng để tìm ra các số nguyên tố

Đầu tiền ta lập một danh sách các số nhỏ hơn hoặc bằng x rồi sàng như sau.Vòng 1:Sàng bởi số nguyên tố 2, nghĩa là ta sẽ gạch bỏ mọi số nguyên trong danhsách là bội của 2 Số nhỏ nhất không bị gạch là 3

Vòng 2:Sàng bởi số nguyên tố 3, nghĩa là ta sẽ gạch bỏ mọi số nguyên trong danhsách là bội của 3 Số nhỏ nhất không bị gạch là 5

Vòng 3:Sàng với vố nguyên tố 5, gạch bỏ mọi số nguyên lớn hơn 5 mà là bội của 5

Số nhỏ nhất không bị gạch là 7

Các vòng tiếp theo ta sàng bởi số nguyên nhỏ nhất không bị gạch ở vòng trước đó

Ví dụ như sau vòng 3, ta được 7 là số nhỏ nhất không bị gạch Do đó 7 không chiahết cho mọi số nguyên tố nhỏ hơn nó Vậy 7 là số nguyên tố kế tiếp mà ta sẽ dùng

để sàng ở vòng 4

Ví dụ 2.6.12 Ta mô tả quá trình sàng các số nhỏ hơn x = 100 bởi tất cả các sốnguyên tố nhỏ hơn 10 Các số sau tất cả các lần sàng mà không bị gạch sẽ là tất cảcác số nguyên tố nhỏ hơn 100

Trang 28

Nhận xét rằng có vài số bị gạch nhiều lần khác nhau Ví dụ như các số 6, 12, 18bịgạch bỏ 2 lần Một lần vì nó là bội của 2 và lần còn vì nó là bội của 3 Tương tự các

pα với p ≤ B và α ≥ 2 Tuy nhiên, mục tiêu của ta không phải là lập một danh sáchcác số B-mịn Những gì chúng ta cần là tạo một danh sách các số dạng a2 (mod N )

k

+ 1.

F (a), F (a + 1), F (a + 2), , F (b). (2.8)

Ý tưởng của chúng ta là tìm các số B-mịn trong danh sách 2.8 Để làm điều đó,

ta sàng các số trong danh sách này bởi các số nguyên tố nhỏ hơn B Số nào sau cáclần sàng có thương là 1 sẽ là các số B-mịn Chúng ta cũng cần phải lựa chọn B phùhợp để có thể tìm đủ số B-mịn cần thiết cho việc phân tích N

Định nghĩa 2.6.13 Tập hợp các số nguyên tố nhỏ hơn hoặc bằng B được gọi làmột B-cơ sở thừa số

Giả sử plà một số nguyên tố trong B-cơ sở thừa số Khi đó số nào trong danh sách2.8 sẽ chia hết cho p, hay giá trị nào của T sẽ thỏa mãn

Ngày đăng: 05/11/2018, 08:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] D. Boneh, G. Durfee, Cryptanalysis of RSA whit private key d less than N 0.292 in Advances in cryptology-EUROCRYPT ’ 99 , Prague. Volume 1592 of lecture Notes in Computer Science (Springer, Berlin, 1999 ), pp. 1 - 11 Sách, tạp chí
Tiêu đề: Cryptanalysis of RSA whit private key d less than N 0.292
Tác giả: D. Boneh, G. Durfee
Nhà XB: Springer
Năm: 1999
[2] D. Boneh,G. Durfee, Cryptanalysis of RSA whit private key d less than N 0.292 .IEEE Trans.Inf, Theory 46(4), 1339 − 1349(2000) Sách, tạp chí
Tiêu đề: Cryptanalysis of RSA whit private key d less than N 0.292
Tác giả: D. Boneh, G. Durfee
Nhà XB: IEEE Transactions on Information Theory
Năm: 2000
[4] R.L. Rivest, A. Shamir, L. Adleman, A menthod for obtaining digital signatures and public-key cryptosystem. Commun . ACM 21(2), 120 − 126(1978) Sách, tạp chí
Tiêu đề: A method for obtaining digital signatures and public-key cryptosystem
Tác giả: R.L. Rivest, A. Shamir, L. Adleman
Nhà XB: Commun. ACM
Năm: 1978
[5] M.J. Wiener, Cryptanalysis of short RSA secret exponents. IEEE Trans. Inf. The- ory 36(3)553 − 558(1990) Sách, tạp chí
Tiêu đề: Cryptanalysis of short RSA secret exponents
Tác giả: M.J. Wiener
Nhà XB: IEEE Transactions on Information Theory
Năm: 1990
[3] J. Hoffstein, J. Pipher and J.H. Silverman ( 2008 ) , An Introduction to Mathemat- ical Cryptography, Springer -Verlag, 2008 .2nd edition 2014 Khác

TỪ KHÓA LIÊN QUAN

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

w