ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG... iv DANH MỤC CÁC BẢNG TRONG LUẬN VĂN... III DANH MỤC CÁC BẢNG TRONG LUẬN VĂN .... TỔNG QUAN VỀ SỐ NGUYÊN TỐ ....
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2i
LỜI CAM ĐOAN
T i xin m o n y l ng tr nh nghi n u ri ng t i, s liệu v kết quả nghi n u trong luận v n n y l trung th v kh ng tr ng l p với
t i kh T i ng xin m o n r ng mọi s gi p cho việ th hiện luận v n n y ã ƣợ ảm ơn v th ng tin trí h dẫn trong luận v n ã
ƣợ hỉ rõ nguồn g
T giả
Nguyễn Thị Mỵ
\
Trang 3ii
LỜI CẢM ƠN
T i xin b y tỏ s kính trọng v lòng biết ơn s u sắ ến PGS.TSKH Nguyễn Xuân Huy - người ã tận t nh hướng dẫn v gi p t i trong su t
qu tr nh họ tập, nghi n u v ho n th nh luận v n, xin ảm ơn thầy,
gi o trong v ngo i trường ã ung ấp kiến th v tạo i u kiện thuận lợi
ho qu tr nh họ tập v rèn luyện bản th n t i
T i ng xin ượ b y tỏ lòng biết ơn h n th nh ến B n Gi m Hiệu, thầy gi o, gi o phòng S u ại họ trường Đại họ C ng Nghệ Th ng Tin &Truy nTh ng, thầy gi o ở Viện C ng Nghệ Th ng Tin ã giảng dạy
v tạo mọi i u kiện ho t i họ tập, nghi n u v ho n th nh luận v n n y
Trang 4(a, b), gcd (a,b) Ướ hung lớn nhất a v b
Nếu n nguy n theo th ℤ/n l trường
L, BitLen(n) S bit biểu diễn nhị ph n n
( )
( )
Tổ hợp hập k n
Trang 5iv
DANH MỤC CÁC BẢNG TRONG LUẬN VĂN
Trang 6v
MỤC LỤC LỜI CẢM ƠN II DANH MỤC CÁC KÝ HIỆU TRONG LUẬN VĂN III DANH MỤC CÁC BẢNG TRONG LUẬN VĂN IV
MỞ ĐẦU 1
CHƯƠNG1 TỔNG QUAN VỀ SỐ NGUYÊN TỐ 4
1.1 Các định nghĩa và khái niệm mở đầu 4
1.2 Một số tính chất của số nguyên tố 7
1.3 Sự phân bổ của số nguyên tố 9
1.4 Số giả nguyên tố 11
1.5 Số Mersenne 13
1.6 Số Fermat 16
1.7 Các số nguyên tố lớn 17
1 7 1 C s nguy n t sinh i 17
1 7 2 C s nguy n t Sophie Germ in 17
1 7 3 C s gi i thừ nguy n t 18
1 7 4 C s nguy n t gi i th y 19
1.8 Ứng dụng của số nguyên tố 21
1 8 1 Mật mã v s nguy n t 21
1 8 2 C hệ mật mã ng kh i 21
CHƯƠNG 2 CÁC THUẬT TOÁN KIỂM ĐỊNH SỐ NGUYÊN TỐ 26
2.1 Các lớp P và NP 26
2.2 Thuật toán kiểm định theo√ 28
2.3 Sàng Eratosthenes 30
2.4 Thuật toán kiểm định theo xác suất MILLER-RABIN 31
2 4 1 Cơ sở to n họ 31
2 4 2 Thuật to n Miller Test 36
Trang 7vi
2 4 3 Thuật to n Miller-Rabin 36
2 4 4 C trường hợp biệt 37
2.5 Kiểm định theo giả thuyết Riemann 38
2.6 Thuật toán kiểm định tính nguyên tố AKS 39
2.6 1 Giới thiệu hung 39
2.6 2 Định lí AKS 40
2.6 3 Thuật to n 41
2.6 4 Một s kiến th to n họ 42
2.7 Thuật toán Bernstein 46
2.7 1 Định lí Bernstein 46
2.7 2 Thuật to n Bernstein 47
CHƯƠNG 3 CÀI ĐẶT VÀ ỨNG DỤNG 48
3 1 Lớp BI 49
3 1 1 Nhận xét hung 49
3 1 2 C trường dữ liệu 49
3 1 3 C phương th 49
3.2 Lớp ARITHM 55
3 2 1 Ướ hung lớn nhất 55
3 2 2 H m phi Euler 55
3 2 3 S hính n 56
3 2 4 Bậ theo modulo 58
3 2 5 C n nguy n th y 59
3 2 6 S nguy n t s t s u 61
3 2 7 Kiểm tr ướ nguy n t 62
3 2 8 Ướ nguy n t lớn nhất 64
3 2 9 Nh n modulo 66
3 2 10 L y thừ modulo 67
Trang 8vii
3.3 Lớp BIPOL 67
3 3 1 C trường dữ liệu 67
3 3 2 C phương th 67
3.4 Lớp MR 72
3.5 Lớp AKS 72
3.6 Ứng dụng 72
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73
TÀI LIỆU THAM KHẢO 79
Trang 91
MỞ ĐẦU
Số nguyên tố l s t nhi n lớn hơn một v hỉ hi hết ho một v hính nó
Định nghĩ v s nguy n t m d ơn giản v ngắn gọn nhưng những vấn xo y qu nh nó lu n l m nh to n họ qu n t m
S nguy n t l một trong những kh i niệm xư nhất to n họ C
s nguy n t l vật liệu ơ bản x y d ng n n s t nhi n V s
nguy n t t ng l n v hạn n n u hỏi ầu ti n t r l : Có bao nhiêu số nguyên tố? Có thể liệt k tất ả h ng r h y h ng lập th nh một dãy s v
hạn Để h ng minh i u n y Eu lid ã ư r một lập luận, xuất ph t từ giả thiết phản h ng r ng dãy s nguy n t l hữu hạn, s u ó hỉ r một s nguy n t mới kh với s nguy n t ã ó M u thuẫn n y ho biết tập s
nguy n t l vô hạn
S u khi Eu lid h ng minh ó v s s nguy n t , nhi u u hỏi xung qu nh s nguy n t ượ ư r Một s những u hỏi ó, dưới những ph t biểu ơn giản, ã trở th nh những b i to n trong lị h sử to n họ
m ho ến n y vẫn hư ó ượ lời giải trọn vẹn
Người t kh ng t m thấy một s tuần ho n n o trong dãy s nguy n t
S ph n b s nguy n t tỏ r ph tạp v kh ng ó quy luật Việ
ph t hiện s nguy n t lớn trong một thời gi n d i l s qu n t m nhi u nh to n họ Tuy nhi n ho ến n y trong s họ vẫn òn tồn tại nhi u giả thuyết mở v s nguy n t Hơn nữ , trong thời ại ng nghệ th ng tin
ng y n y việ nghi n u s nguy n t ng ượ kí h thí h bởi s kiện l
s nguy n t tỏ r rất ó í h trong việ mã hó v giải mã th ng tin Tính bảo mật v n to n qu tr nh tr o ổi khó v hệ mật mã khó ng khai ượ ảm bảo b ng ộ ph tạp b i to n s họ ph n tí h một s nguy n th nh tí h thừ s nguy n t Nói h kh , vấn thời gi n ti u
t n ho việ hạy m y tính ể th hiện b i to n ph n tí h một s nguy n
Trang 10mã hó v giải mã th ng tin
Đối tượng và phạm vi nghiên cứu
Luận v n tập trung t m hiểu v s nguy n t v i tượng ó qu n
hệ mật thiết ến s nguy n t , b o gồm thuật to n kiểm ịnh s nguy n
t , hệ mật mã khó ng kh i Ngo i r luận v n qu n t m ến một s lớp s nguy n t biệt thường ượ khuyến o tr nh sử dụng khi x y d ng
hệ mật mã v thuật to n kiểm ịnh những s nguy n t n y thường ó ộ ph tạp kh ng o.
Những nội dung nghiên cứu chính
Nội dung luận v n h yếu tập trung v o nghi n u vấn hính s u y:
Chương 1 Tổng quan về số nguyên tố và các khái niệm liên quan
Trong hương n y họ vi n tr nh b y v tổng qu n s nguy n t : Giới thiệu hung v s nguy n t , ịnh lý qu n trọng v một v i lớp s nguy n
t qu n trọng trong lị h sử to n họ
Chương 2 Giới thiệu một số thuật toán kiểm định số nguyên tố
Trong hương n y, luận v n tập trung tr nh b y thuật to n kiểm ịnh s nguy n t lớn d tr n tiếp ận kh nh u: phương ph p tất ịnh
v phương ph p x suất
Trang 113
Chương 3 Thiết kế và cài đặt các lớp đối tượng phục vụ cho việc quản lí các số nguyên tố và sinh khóa cho hệ mật mã RSA
Phương pháp nghiên cứu
Trong qu tr nh l m luận v n, họ vi n sử dụng một s phương ph p nghi n u như:
Chương 1 a luận v n sử dụng phương ph p tổng hợp t i liệu nh m hệ
th ng lại kiến th c v s nguy n t , ịnh lý ơ bản v tầm quan trọng
c a s nguy n t trong th c tiễn
C kết quả ượ tr nh b y trong hương 2 a luận v n ượ h nh
th nh h yếu theo phương ph p h nh th như suy luận to n học, to n rời
rạ , lí thuyết thiết kế thuật to n v th c nghiệm
C kết quả ng dụng trong hương 3 ược xử lý b ng phương
ph p v kĩ thuật lập tr nh
Ý nghĩa khoa học và thực tiễn của đề tài
- Gi p t m hiểu kh i niệm, tính hất v v i trò s nguy n t
- Tổng hợp một s thuật to n ó ng dụng trong lý thuyết mật mã
- Kết quả luận v n ó thể l m t i liệu ho những người mu n t m hiểu v lĩnh v n y
Trang 124
CHƯƠNG 1 TỔNG QUAN VỀ SỐ NGUYÊN TỐ
1.1 Các định nghĩa và khái niệm mở đầu
m tả h m f(x) ó ồ thị gồm một ường song song với trụ ho nh v
ắt trụ tung tại iểm y = 2 với gi trị x ≤ 1, tiếp ến, từ iểm (1, 2) l nử phải p r bol y = x2
Tập s t nhi n i khi ượ gọi l tập s nguy n kh ng m
T kí hiệu Set(a, b) l tập s nguy n trong khoảng a ến b, ụ thể
Trang 135
q = a / b
r = a mod b
T thấy a l ướ b khi v hỉ khi b mod a = 0
Nếu a kh ng phải l ướ b t viết a | b
T ng qui ướ thương a / b l s nguy n khi v hỉ khi a v b ồng
thời l h i s nguy n Như vậy, khi một trong h i s l s th th thương sẽ
l s th
Số nguyên tố và hợp số
S nguy n dương n ượ gọi l s nguyên tố nếu n có đúng hai ước
Phân loại các số tự nhiên
Theo ịnh nghĩ v s nguy n t , tập s t nhi n ℕ ượ hi th nh 3 lớp:
- S 1 ó ng 1 ướ v hiếm ri ng một lớp v ượ gọi l s đặc biệt
- Lớp số nguyên tố l s l s ó ng 2 ướ l 1 v hính nó
- Lớp s òn lại ượ gọi l hợp số Đó l s ó tr n 2 ướ
Bảng 1.1 liệt k lớp s trong khoảng 100 s nguy n dương ầu ti n:
1 l s biệt (in ậm), hợp s ượ gạ h dưới, òn lại l s nguy n t
U1 (a,b) = (b,a)
U2 (a,0) = a (qui ướ )
U3 (a,b) = (a mod b, b): ước chung lớn nhất của hai số không thay đổi nếu ta thay một trong hai số bằng số dư của số đó chia cho số kia
U4 (a,b) = a khi v hỉ khi a | b
Trang 14(a, p) = p khi v hỉ khi p | a
(a, p) = 1 khi v hỉ khi p | a
Trang 15nguy n t n o trong khoảng 2 ến √
Định lý cơ bản của số học [3]
Mọi s nguy n dương a > 1 u ph n tí h ượ th nh tí h thừ s
nguy n t Dạng ph n tí h ó l duy nhất nếu kh ng kể ến th t thừ s nguy n t
Định lý về sự tồn tại dãy liên tiếp các hợp số
Với mọi s t nhi n n > 0 tồn tại dãy m > n s t nhi n li n tiếp nh u
u l hợp s
Thí dụ, với n = 5, t xét s q = 234567 = 5040 T ó dãy 6 s li n tiếp u l hợp s s u y:
Trang 168
Cho trướ một s n bất kỳ Theo ịnh lý Eu lid ở tr n t thấy lu n tồn tại s nguy n t p > n Xét tí h q = 23…p T ó, v q ó ướ l i = 2,…,p n n q+i ó ướ i
Bậc của ước nguyên tố
Cho a l một s nguy n với dạng ph n tí h ti u huẩn
Bội hung nhỏ nhất h i s t nhi n a v b l tích các ước nguyên
tố chung và riêng h ng với s m lớn nhất
Trang 179
Thí dụ, s 72 = 23
32 v 20 = 225 cho ta : (72, 20) = 22 = 4
[72, 20] = 23325 = 360
Định lí đồng dư Trung Hoa [3]
Cho k s nguy n dương lớn hơn 1 v i một nguy n t ng nh u, n1,
, n k Gọi N l tí h h ng Biết s nguy n kh ng m a1, ., a k thỏ
i u kiện 0 ≤ a i < ni, 1 i k Khi ó tồn tại duy nhất một s nguy n x, 0
≤ x < N thỏ hệ th x mod n i = ai, 1 i k
1.3 Sự phân bổ của số nguyên tố [3]
Thoạt nh n, s nguy n t dường như ượ ph n b một h kh lộn xộn Ví dụ trong 100 s ng s t trướ 10000000 (mười triệu) ó hín s nguy n t l
trong khi một tr m s s t s u 10000000 hỉ ó h i s nguy n t l
Legendre v G uss ã tính to n mật ộ s nguy n t G uss ã nói r ng bất khi n o ng ó ít ph t rảnh rỗi ng sẽ d nh thời gi n ó ho việ tính s nguy n t Đến u i ời ng ho biết m nh ã tính ượ tất ả
s nguy n t trong giới hạn khoảng 3000000 (b triệu) Cả Legendre v
Gauss ng kết luận r ng, i với n lớn, mật ộ s nguy n t nhỏ hơn
n l 1/log n Với s t nhi n n t kí hiệu π(n) l s lượng s nguy n t nhỏ hơn ho b ng n Legendre ã phỏng o n
Trang 1810
Trong su t thế kỉ th 19 người t ã gắng ể h ng minh hệ th
tr n v ã ạt ượ một s kết quả ng khí h lệ, iển h nh l ng tr nh Chebyshev v Riemann Cu i ng, H d m rd v Del V llee Poussin,
Trang 1911
Từ l u người t ã biết r ng, trong dãy n s nguy n li n tiếp k + 1, k +
2, , k + n với k nhỏ th ó nhi u s nguy n t , nhưng với s k kh lớn th lại hiếm s nguy n t Với s k tỉ th 20 s nguy n li n tiếp mới ó một s
27 mod 7 = 128 mod 7 = 2 Nói ri ng, nếu b kh ng hi hết ho p th
b p1 1 (mod p)
Thí dụ tr n ho t
26 mod 7 = 64 mod 7 = 1
Định lí Fermat nhỏ l một trong những ơ sở lí thuyết qu n trọng phụ
vụ ho việ giải b i to n kiểm ịnh tính nguy n t s t nhi n
Theo ịnh lý Ferm t nhỏ, nếu n l s nguy n t v b l s nguy n t y ý
th b n b (mod n), do ó nếu với s t nhi n n > 1, tồn tại s t nhi n b sao cho b n b (mod n) th n phải l hợp s
Trong nhi u ng dụng t ần ến thuật to n sử dụng s nguy n t
ho kiểm ịnh một s t nhi n ho trướ ó phải l s nguy n t h y kh ng Tiế r ng mệnh ảo ịnh lí Ferm t nhỏ l kh ng ng Tồn tại v s s
t nhi n n s o ho với mọi s t nhi n b nguy n t ng nh u với n t lu n ó
b n1 1 (mod n)
Số giả nguyên tố
Cho h i s nguy n dương b v p Nếu p l hợp s , b nguy n t
ng nh u với p v
Trang 2012
b p1 1 (mod p)
th t nói p l số giả nguyên tố cơ sở b
Thí dụ (F S rrus, 1820), p = 341 = 11 31 l s giả nguy n t ơ sở 2 Thật vậy, vận dụng ịnh lí ồng dư Trung Ho , t ó
Như vậy, ể kiểm tr một s ó phải l nguy n t h y kh ng trướ ti n
t xem nó ó l giả nguy n t ơ sở 2 h y kh ng, s u ó ó thể tiếp tụ kiểm
tr i với ơ sở kh Tuy nhi n, tồn tại s giả nguy n t i với mọi
Trang 21Định lý
Nếu p 2 l một s nguy n t , th mọi ướ nguy n t s Mersenne
Mp u ó dạng 2kp + 1, trong ó k l s nguy n dương
Trang 2214
Ví dụ
Để kiểm ịnh tính nguy n t s M13 = 213 – 1 = 8191 ta hỉ ần kiểm tr xem M13 ó ướ nguy n t kh ng vượt qu √ 90 M t
kh theo ịnh lý tr n, mọi ướ nguy n t M13 u phải ó dạng 26k + 1 như vậy hỉ ần thử với h i s 53 (k = 2) v 79 (k = 3) T thấy
8191 mod 53 = 29
8191 mod 79 = 54 vậy 8191 kh ng hi hết ho 53 v 79, do ó M13 l s nguy n t
Có nhi u thuật to n biệt ể kiểm tr tính nguy n t s Mersenne Nhờ ó, người t ph t hiện ượ những s nguy n t rất lớn S nguy n t Mersenne t m ượ gần y nhất (Old Magnar Strindmo, 2009) l
s M42643801 gồm 12837064 hữ s thập ph n.
Giả thuyết s u vẫn l b i to n mở:
Giả thuyết
Tồn tại v hạn s nguy n t Mersenne
B n s nguy n t Mersenne ầu ti n M2 = 3, M3 = 5, M5 = 31, M7 =
127 ã ượ biết từ ổ xư S th n m l M13 = 8191 ượ t m thấy v o trướ n m 1641, h i s tiếp theo M17 v M19 ượ Cataldi t m thấy v o n m
1588 S u hơn một thế kỷ M31 ượ Euler x ịnh v o n m 1750 S tiếp theo l M127 , do Lu s t m thấy v o n m 1876 s u ó M61 ượ Pervushin
ph t hiện v o n m 1883 H i s nữ M89 v M207 ượ Powers t m thấy v o
n m 1911 v 1914
Từ thế kỷ th 17 s n y ượ m ng t n nh to n họ Ph p M rin Mersenne, người ã h ng minh tính nguy n t một loạt s nguy n t Mersenne với s m l n ến 257 D nh s h kết quả ng ã liệt k gần như b o gồm ả M76, M257 tuy nhi n hư ó M61, M89 v M107
Trang 2315
Phương ph p t t nhất ể kiểm tr tính nguy n t s Mersenne
d v o tính to n một dãy tuần ho n, do Luk s xuất n m 1878 v Lehmer h ng minh v o những n m 1930 Hiện n y phương ph p n y ượ
gọi l kiểm định Lucas – Lehmer ho s nguy n t Mersenne Đ biệt, t
ó thể h ng minh r ng (với n > 2) Mn = 2 n
– 1 l s nguy n t khi v hỉ khi
Mn hi hết ho Sn – 2 trong ó S0 = 4, v Sk = S2k-1 – 2 với k > 0
C si u m y tính ã trợ gi p ắ l ho việ t m s nguy n t Mersenne lớn N m 1952 s nguy n t Mersenne M52 ượ Lehmerm v Robinson tính to n tr n m y tính Western US National Bureau of Standards (SWAC) tại Instute for Numeri l An lysis thuộ Đại họ C liforni , Los Angeles Đó l s nguy n t Mersenne ượ ph t hiện s u 38 n m S tiếp theo M607 ã ượ t m thấy tr n m y tính n y s u gần h i giờ hạy m y B
s tiếp theo M1279 , M2203, M2281 ã ượ t m thấy với ng hương tr nh tr n
s u nhi u th ng nữ M4253 l s nguy n t Mersenne ầu ti n si u lớn, tr n
1000 hữ s thập ph n, v M44497 l s nguy n t ầu ti n ó tr n 10000 hữ
s thập ph n
S u n y, sử dụng tính to n lưới tr n Internet nh kho họ ã x ịnh ượ s nguy n t 243112609 – 1 v h ng loạt s kh
Bảng 1.2 Một vài số nguyên tố Mersenne
Trang 24Ferm t d o n r ng mọi s dạng tr n u l s nguy n t
Tuy nhi n ến n m 1732, Euler ã ph t hiện r F5 l hợp s
Đến n y người t vẫn hư t m r th m ượ s nguy n t dạng Ferm t
n o, trong khi ã khảo s t tr n 70 hợp s dạng Ferm t ã ượ kiểm h ng
Dưới y l một v i s Ferm t ( hợp s ượ ghi h b ng dấu *)
Trang 2517
1.7 Các số nguyên tố lớn [13]
1.7.1 Các số nguyên tố sinh đôi
Nếu h i s p v p + 2 u l nguy n t th t ó cặp số nguyên tố sinh đôi Ng y 28 9 2002 D niel P pp ph t hiện r một s nguy n t sinh i ó
51090 hữ s Đó l s 333218925.2169690 1 Bảng dưới y liệt k một s
p nguy n t sinh i
Bảng 1.3 Một số cặp nguyên tố sinh đôi
1.7.2 Các số nguyên tố Sophie Germain [13]
Nếu p v 2p + 1 ồng thời nguy n t th p ượ gọi l số nguyên tố Sophie Germain
Ng y 18 1 2003, D vid Underb kko ã ph t hiện r s nguy n t Sophie Germain ó 34547 hữ s (2540041185 2114729 – 1) S n y ượ m ng t n ng Bảng dưới y liệt k một s s nguy n t Sophie Germ in ã biết
Trang 2618
Bảng 1.4 Một số số nguyên tố Sophie Germain
1.7.3 Các số giai thừa nguyên tố
S ó dạng n! ± 1 ượ gọi l những số giai thừa nguyên tố
Bảng dưới y liệt k một s s gi i thừ nguy n t
Bảng 1.5 Vài số giai thừa nguyên tố
Trang 2719
1.7.4 Các số nguyên tố giai thủy
Với s t nhi n n, kí hiệu n# l h m ó gi trị là tích của các số nguyên
tố đầu tiên không vượt quá n Để ph n biệt với gi i thừ (n!, factorial) xin
ƣợ tạm gọi h m n y l giai thủy (n#, primorial) Thí dụ,
2# = 2 3# = 23 = 6
Trang 2820
Nếu một s nguy n t ó dạng p n # ± 1 th s ó ƣợ gọi l s nguyên
tố giai thủy
Bảng 1.7 Một số số nguyên tố giai thủy đã biết
Trang 29- 1811: Tchernak lập bảng s nguy n t từ 2 ến 1 triệu
- 1814 - 1816: Doughort lập bảng s nguy n t từ 2 triệu ến 3 triệu
- 1865: Crelle lập bảng s nguy n t từ 2 ến 9 triệu
- 1897: Pervushin lập bảng s nguy n t từ 2 ến 10 triệu
- (1773 - 1863): Kulik lập bảng s nguy n t từ 2 ến 100 triệu 1.8.2 Các hệ mật mã công khai
Nguyên lý chung
Trong hệ mật mã ổ, khó lập mã u phải ượ giữ bí mật, v nếu khó lập mã bị lộ th người t ó thể t m r ượ khó giả mã trong một thời
Trang 3022
gi n tương i ngắn Như vậy nếu trong một hệ th ng ó nhi u p ho nhi u nhóm người ần tr o ổi th ng tin mật với nh u, s khó mật mã hung
ần giữu bí mật l rất lớn v như vậy khó ó thể ảm bảo ượ n to n Hệ
mã m h ng t nghi n u dưới y ượ lập theo một nguy n tắ ho n to n mới, trong ó việ biết khó lập mã kh ng ho phép t m r khó giải mã trong một thời thời gi n hấp nhận ượ V thế, mỗi th nh vi n hỉ ần giữ bí mật khó giải mã ri ng m nh, trong khi khó lập mã ượ th ng b o ng
kh i Trong trường hợp một trong th nh vi n bị lộ khó giải mã m nh,
Mỗi người sử dụng hệ th ng bảo mật, tạm gọi người ó l A ần ó h i
khó : một khó ể công khai ho những i mu n gửi tin ho A, khó th h i
ượ gọi l khóa mật ượ A giữ ri ng ể phụ vụ ho việ kí v n bản ho
Trang 3123
A1 Chi bản tin (dưới dạng dãy bit) th nh oạn bit, mỗi oạn sẽ
tạo th nh một s nguy n m trong khoảng 0 ến n1
Biết khóa công khai (e,n) có thể tính được khóa mật d hay không?
Trang 32x ng ó ng ấp ộ bảo mật hiện n y), ho n n nó thường xuy n d ng ể mã
hó bản tin ngắn, trong gi o th tr o ổi khó hệ mã i x ng
Tr n y l hệ mã ng kh i xuất hiện ầu ti n Từ ó ến n y ó nhi u
hệ mã ng kh i r ời Nguy n tắ hung hệ mã ó l sử dụng những
b i to n một hi u, t l những b i to n ho phép từ dữ liệu S b n ầu biến
ổi th nh dữ liệu E th tương i nhanh, nhưng việ biết E t m ngượ lại S th
òi hỏi thời gi n rất lớn
Trang 3325
KẾT LUẬN CHƯƠNG 1
Trong hương n y tr nh b y kh i niệm ầu ti n v s nguy n t
v một s tính hất qu n trọng s nguy n t C tính hất n y sẽ ượ sử dụng ể triển kh i nội dung trong hương h i v hương b C mụ tiếp theo hương sẽ giới thiệu một v i lớp s nguy n t qu n trọng ó v i trò biệt trong lý thuyết mật mã Đó l s nguy n t Ferm t v Mersenne Phần u i hương sẽ ph n tí h ý nghĩ v i trò s nguy n t trong ng
nghệ th ng tin nói hung v hệ mật mã nói ri ng
Trang 3426
CHƯƠNG 2: CÁC THUẬT TOÁN KIỂM ĐỊNH
SỐ NGUYÊN TỐ 2.1 Các lớp P và NP
Ký hiệu P l lớp b i to n ó thể giải b ng một thuật to n ơn ịnh với thời gi n th , NP l lớp b i to n ó thể giải b ng một thuật to n
kh ng ơn ịnh với thời gi n th T ó ng y P NP
B i to n mở hiện n y l P = NP ? [5] [6]
B i to n T ượ gọi l NP-khó (NPH) nếu T P kéo theo P = NP
B i to n T ượ gọi l NP- ầy (NPC) nếu T l NP-khó v T NP
Cho ến n y hư t m ượ thuật to n ơn ịnh với thời gi n th ho bất kỳ b i to n NP-khó ho NP- ầy n o Hơn nữ , nếu ó một thuật to n
như vậy th ó hính l một h ng minh ho ẳng th P = NP
B i to n kiểm ịnh s nguy n n > 1 l nguy n t h y hợp s l b i to n thuộ lớp P, nghĩ l thuật to n ượ th hiện với s bướ O(L7), trong ó
L l s bit biểu diễn n, L = ⌈log n⌉ [5] [6] Thí dụ, s 7 ượ biểu diễn b ng 3
bit, 7 = 1112, s 11 = 10112 ượ biểu diễn b ng 4 bit
Trong luận v n, lu n lu n kí hiệu L = BitLen(n) l s bít biểu diễn nhị
ph n ho s nguy n kh ng m n T ng qui ướ BitLen(0) = 1
Ngo i r , khi ngữ nghĩ ã rõ r ng, th y ho BitLen, t qui ướ L l s
bit biểu diễn s t nhi n n
L = (n = 0) ? 1 : ⌊log n⌋ + 1
Trong phần tr nh b y thuật to n luận v n sử dụng ng n ngữ phỏng
tr nh, phần viết trong [ ] l tuỳ họn
Định dạng thuật to n
Trang 35(T1) for each t in R [with e] do P endfor
Th hiện to n tử P tr n những i tƣợng t trong R [ t thoả i u kiện e] (T2) for i ≔ d to c do P endfor
Th hiện to n tử P tr n những i tƣợng ƣợ truy xuất theo hỉ s i
{d, d+1,…, }
(T3) for i ≔ d to c step k do P endfor
Th hiện to n tử P tr n những i tƣợng ƣợ truy xuất theo hỉ s i
{d, d+k,…, }
(T4) while e do P endwhile
Nếu i u kiện e òn thỏ th l p P
Vòng l p kết th khi e s i
(T5) if e then P [else Q] endif
Nếu i u kiện e thoả th th hiện P [nếu kh ng, th hiện Q]
Trang 3628
2.2 Thuật toán kiểm định theo √
Thuật to n kiểm ịnh tính nguy n t một s nguy n dương n d
tr tiếp v o ịnh nghĩ v một v i tính hất ơ bản s nguy n t Cụ thể như s u [7]:
NT1 S t nhi n n l nguy n t khi v hỉ khi n kh ng ó ướ kh 1
Thuật to n ơ bản v biến thể nó u òi hỏi √ phép to n
hi dư Thuật to n thường ượ d ng khi kiểm ịnh s kh ng lớn ( ó khoảng t i 10 hữ s thập ph n)
Trong thuật to n, h m Even(n) ho gi trị true nếu n l s hẵn
Từ khó step 2 ho biết bướ t ng biến duyệt l 2 s u mỗi lần
Algorithm Prime(n)
Ch n ng: Kiểm ịnh tính nguy n t
c a s t nhi n n Input: S t nhi n n > 1 Output: true nếu n nguy n t
f lse: ngo i r Method
if n < 2 return false endif;
if n = 2 return true endif;
if Even(n) return false endif;
if (n mod d) = 0 then return false endif
endfor return true EndPrime
Trang 3729
Độ phức tạp tính toán
√ phép hi dƣ
Giả sử t ó p = (p1, …, pk) l d nh s h k > 1 s nguy n t ầu ti n
trong dãy s nguy n t D v o d nh s h n y t ó thể kiểm ịnh tính
ti n
S t nhi n n > 1 Output: true nếu n nguy n t
f lse: ngo i r Method
if n mod e = 0 then return false endif
endfor return true EndPrime2
Trang 38nhi n n ho trướ , s ng Er tosthenes liệt k s nguy n t n
Phi n bản nguy n th y S ng Er tosthenes ại thể như s u [7]:
Nếu mu n nhận ượ s nguy n t nhỏ hơn ho b ng n hãy l m
1 set 2 n as true
2 set 1 as false // delete 1
3 for i := 2 to √ do
if i is true then // i hư bị xó for j := i to (n div i) do set i*j s f lse // xó bội // c a i kể từ ii endfor j
endif endfor i EndSieve
Trang 3931
Độ phức tạp tính toán
O(n√ ) v thuật to n l p √ lần, mỗi lần duyệt t i n phần tử
Trong thuật to n kiểm ịnh s nguy n t lớn như thuật to n AKSB sẽ
tr nh b y trong hương n y thường ó bướ phụ trong ó vận dụng s nguy n t nhỏ Do ó thuật to n s ng ng ó í h trong trường hợp n y
Họ vi n ã i t thuật to n s ng với n = 5000000 v ghi s
Trang 40n th r l hợp s h kh ng phải l s nguy n t , l một s rất nhỏ, b ng
1/4100 Gi trị n y xấp xỉ 1060
MR3 Thuật to n ó ộ ph tạp tính to n O(L4) phép to n bit, trong
ó L l s bit biểu diễn s nguy n lẻ n, L = ⌈log n⌉
Do ó t ộ tính to n nh nh so với thuật to n kiểm ịnh hính x , thuật to n kiểm ịnh x suất Miller-R bin thường ượ vận dụng trong
t nh hu ng ần nh gi sơ bộ một s nguy n lớn l nguy n t h y hợp s
Thuật to n Miller-R bin kiểm ịnh tính nguy n t một s t nhi n
lẻ n > 2 d tr n những luận h ng s u
2.4.1.1 Số chính căn
S nguy n dương n ượ gọi l s dạng lũy thừa, h y l số chính căn,
ho số chính lũy (perfect power) nếu tồn tại một s nguy n b > 1 thỏ
( √ )
Thí dụ
27 l s hính n, v ( √ )
28 kh ng phải l s hính n