Tải bản đầy đủ (.docx) (118 trang)

Xác thực điện tử và ứng dụng trong giao dịch hành chính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.78 MB, 118 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN XUÂN PHƯƠNG

XÁC THỰC ĐIỆN TỬ
VÀ ỨNG DỤNG TRONG GIAO DỊCH HÀNH CHÍNH

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

Hà Nội - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN XUÂN PHƯƠNG

XÁC THỰC ĐIỆN TỬ
VÀ ỨNG DỤNG TRONG GIAO DỊCH HÀNH CHÍNH
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60.48.01.03

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. LÊ PHÊ ĐÔ

Hà Nội - 2015



i

LỜI CẢM ƠN
Luận văn Thạc sĩ này được thực hiện tại Đại học Công nghệ - Đại học Quốc gia Hà
Nội dưới sự hướng dẫn của TS. Lê Phê Đô. Xin được gửi lời cảm ơn sâu sắc đến thầy
về định hướng khoa học, liên tục quan tâm, tạo điều kiện thuận lợi trong suốt quá trình
nghiên cứu hoàn thành luận văn này. Tôi xin được gửi lời cảm ơn đến các thầy, cô
trong Bộ môn Công nghệ phần mềm cũng như Khoa Công nghệ Thông tin đã mang lại
cho tôi những kiến thức vô cùng quý giá và bổ ích trong quá trình theo học tại trường.
Tôi cũng xin chân thành cảm ơn đến gia đình, bạn bè đã quan tâm và động viên giúp
tôi có thêm nghị lực, cố gắng để hoàn thành luận văn này.
Do thời gian và kiến thức có hạn nên luận văn chắc chắn không tránh khỏi những
thiếu sót nhất định. Tôi rất mong nhận được những sự góp ý quý báu của thầy cô, đồng
nghiệp và bạn bè.
Hà Nội, tháng 10 năm 2015

Trần Xuân Phương


ii

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Xác thực điện tử và ứng dụng trong giao dịch
hành chính” là công trình nghiên cứu của cá nhân tôi dưới sự hướng dẫn của TS. Lê
Phê Đô, trung thực và không sao chép của tác giả khác. Trong toàn bộ nội dung nghiên
cứu của luận văn, các vấn đề được trình bày đều là những tìm hiểu và nghiên cứu của
chính cá nhân tôi hoặc là được trích dẫn từ các nguồn tài liệu có ghi tham khảo rõ
ràng, hợp pháp.
Tôi xin chịu mọi trách nhiệm cho lời cam đoan này.
Hà Nội, tháng 10 năm 2015


Trần Xuân Phương


iii

MỤC LỤC
LỜI CẢM ƠN................................................................................................................ i
LỜI CAM ĐOAN......................................................................................................... ii
MỤC LỤC.................................................................................................................... iii
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT................................................. vii
DANH MỤC BẢNG BIỀU........................................................................................ viii
DANH MỤC HÌNH VẼ............................................................................................. viii
MỞ ĐẦU....................................................................................................................... 1
Chương 1: CƠ SỞ TOÁN HỌC CỦA XÁC THỰC ĐIỆN TỬ..................................... 2
1.1. Số nguyên tố....................................................................................................... 2
1.2. Hai số nguyên tố cùng nhau................................................................................ 5
1.3. Số học modulo.................................................................................................... 5
1.3.1 Hàm Euler..................................................................................................... 5
*

1.3.2. Không gian Zn, Zn ....................................................................................... 5
1.3.3. Đồng dư thức................................................................................................ 5
1.3.4. Giá trị thặng dư bậc hai – Ký hiệu Legendre................................................ 6
1.3.5. Ký hiệu Jacobi.............................................................................................. 6
1.4. Các tiêu chuẩn và phương pháp kiểm tra số nguyên tố....................................... 6
1.4.1. Tiêu chuẩn Euler và số giả nguyên tố Euler................................................. 6
1.4.2. Định lý nhỏ Fermat và số giả nguyên tố Fermat........................................... 7
1.4.3. Số nguyên tố Mersenne................................................................................ 7
1.4.4. Một số phương pháp kiểm tra số nguyên tố.................................................. 8

1.4.4.1. Thuật toán Soloway - Strassen............................................................... 8
1.4.4.2. Thuật toán Miler-Rabin.......................................................................... 9
1.4.4.3. Thuật toán AKS................................................................................... 10
1.5. Hàm một chiều.................................................................................................. 12
1.6. Phép chứng minh không tiết lộ tri thức (thông tin)........................................... 12
Kết luận chương 1.................................................................................................... 12
CHƯƠNG 2: CƠ SỞ MẬT MÃ CỦA XÁC THỰC ĐIỆN TỬ...................................13
2.1. Hệ mã hóa khóa công khai................................................................................ 13


iv

2.2. Hệ mật RSA...................................................................................................... 14
2.2.1. Giới thiệu hệ mật RSA............................................................................... 14
2.2.2. Độ an toàn của hệ mật RSA....................................................................... 15
2.2.3. Một số phương pháp RSA cải tiến.............................................................. 16
2.2.3.1. RSA với số mũ giải mã lớn.................................................................. 16
2.2.3.2. HE-RSA............................................................................................... 17
2.2.3.3. Biến thể RSA của Seema Verman, Deepar Garg.................................. 18
2.3. Hệ mật AES...................................................................................................... 20
2.3.1. Giới thiệu................................................................................................... 20
2.3.2. Một số khái niệm, tham số và hàm trong AES...........................................20
2.3.2.1. Input và Output.................................................................................... 20
2.3.2.2. Trạng thái (State)................................................................................. 20
2.3.2.3. Khóa.................................................................................................... 21
2.3.2.4. Phép cộng............................................................................................ 21
2.3.2.5. Phép nhân với x................................................................................... 22
2.3.3. Chu trình tạo khóa con AES....................................................................... 23
2.3.4. Quá trình mã hóa AES................................................................................ 24
2.3.4.1. Bước SubBytes.................................................................................... 25

2.3.4.2. Bước ShiftRows................................................................................... 26
2.3.4.3. Bước MixColumns.............................................................................. 27
2.3.4.4. Bước AddRoundKey............................................................................ 27
2.3.5. Quá trình giải mã........................................................................................ 27
2.3.5.1. Bước InvSubBytes............................................................................... 28
2.3.5.2. Bước InvShiftRows............................................................................. 29
2.3.5.3. Bước InvMixColumns......................................................................... 29
2.3.6. Một ví dụ về giải thuật AES....................................................................... 29
2.3.7. Đánh giá giải thuật AES............................................................................. 34
2.4. Hàm băm........................................................................................................... 35
2.4.1. Hàm băm MD5........................................................................................... 36
2.4.2. Chuẩn an toàn SHS.................................................................................... 36


v

2.4.3. Hàm băm SHA-3........................................................................................ 36
Kết luận chương 2.................................................................................................... 38
Chương 3: XÁC THỰC ĐIỆN TỬ.............................................................................. 39
3.1. Nguồn gốc, lịch sử ra đời.................................................................................. 39
3.2. Các khái niệm cơ bản........................................................................................ 40
3.2.1. Xác thực..................................................................................................... 40
3.2.2. Xác thực điện tử......................................................................................... 40
3.2.3. Hệ xác thực................................................................................................ 40
3.3. Xác thực thông điệp.......................................................................................... 40
3.3.1. Khái niệm................................................................................................... 40
3.3.2. Xác thực thông điệp bằng thuật toán mã hóa.............................................. 41
3.3.3. Xác thực thông điệp bằng chữ ký số........................................................... 42
3.3.3.1. Sơ đồ chữ ký RSA............................................................................... 44
3.3.3.2. Sơ đồ chữ ký Elgamal.......................................................................... 46

3.3.4. Xác thực thông điệp bằng mã xác thực (MAC - Message Authentication
Code).................................................................................................................... 48
3.3.5. Xác thực thông điệp bằng hàm băm........................................................... 49
3.4. Xác thực thực thể.............................................................................................. 50
3.4.1. Khái niệm................................................................................................... 50
3.4.2. Xác thực dựa vào những cái mà thực thể sở hữu bẩm sinh (xác thực bằng
sinh trắc học)........................................................................................................ 50
3.4.2.1. Nhận dạng sinh trắc học....................................................................... 51
3.4.2.2. Mật mã sinh trắc học............................................................................ 52
3.4.2.3. Ứng dụng của sinh trắc học trong xác thực.......................................... 55
3.4.3. Xác thực dựa vào những cái thực thể (đối tượng) có.................................. 56
3.4.4. Xác thực dựa vào những cái thực thể (đối tượng) biết................................56
3.5. Xác thực 2 yếu tố (Two Factor Authentication - 2FA)...................................... 57
3.5.1. Đặc điểm của xác thực hai yếu tố............................................................... 58
3.5.2. Một số công nghệ sử dụng cho xác thực hai yếu tố.................................... 58
3.5.2.1. Mật khẩu một lần (One Time Password - OTP)...................................58
3.5.2.2. Xác thực bằng cuộc gọi....................................................................... 61


vi

3.5.2.3. Xác thực qua địa điểm......................................................................... 62
3.5.2.4. Yếu tố sinh trắc học............................................................................. 62
3.5.2.5. Các loại thẻ thông minh (smart card)................................................... 62
Kết luận chương 3.................................................................................................... 62
Chương 4: ỨNG DỤNG XÁC THỰC ĐIỆN TỬ TRONG GIAO DỊCH
HÀNH
CHÍNH........................................................................................................................ 63
4.1. Hành chính điện tử............................................................................................ 63
4.1.1. Lịch sử phát triển của hành chính điện tử................................................... 63

4.1.2. Chính phủ điện tử và giao dịch điện tử....................................................... 63
4.1.2.1. Chính phủ điện tử................................................................................ 63
4.1.2.2. Giao dịch điện tử................................................................................. 64
4.1.3. Hành chính điện tử trên thế giới................................................................. 64
4.1.4. Hành chính điện tử ở Việt Nam.................................................................. 66
4.2. Xác thực điện tử trong các giao dịch hành chính điện tử.................................. 67
4.3. Ứng dụng xác thực điện tử trong quản lý, gửi nhận văn bản trường cao đẳng
nghề Cơ khí nông nghiệp......................................................................................... 68
4.3.1. Thực trạng quản lý văn bản tại trường cao đẳng nghề Cơ khí nông nghiệp 68

4.3.2. Hệ thống quản lý gửi nhận văn bản trường CĐN Cơ khí nông nghiệp.......69
4.3.2.1. Đặc tả hệ thống.................................................................................... 69
4.3.2.2. Các yêu cầu của hệ thống.................................................................... 71
4.3.2.3. Phân tích hệ thống............................................................................... 71
4.3.2.4. Vấn đề ký số và mã hóa trong hệ thống............................................... 77
4.3.2.5. Triển khai hệ thống.............................................................................. 79
Kết luận chương 4.................................................................................................... 81
KẾT LUẬN................................................................................................................. 82
TÀI LIỆU THAM KHẢO........................................................................................... 83
PHỤ LỤC.................................................................................................................... 84


vii

DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
STT

Từ viết tắt
1


CNTT

2

DES

3

NIST

4
5

NBS
RSA

6

Sigk

7

Verk

8

SHS

9


SHA

10

MD5

11

AES

12

OTP

13

DSA

14



15



16





viii

DANH MỤC BẢNG BIỀU
Bảng 1.1. Bảng 10 số nguyên tố lớn nhất...................................................................... 2
Bảng 1.2. Bảng 10 số nguyên tố sinh đôi lớn nhất......................................................... 2
Bảng 1.3. Bảng 10 số nguyên tố dạng p# ± 1................................................................. 3
Bảng 1.4. Bảng 10 số nguyên tố lớn nhất dạng n! + 1................................................... 4
Bảng 1.5. Bảng 10 số nguyên tố dạng Sophie German lớn nhất....................................4
Bảng 2.1. Bảng hằng số mở rộng Rcon của AES - 128............................................... 23
Bảng 2.2. Bảng khóa mở rộng AES – 128................................................................... 23
Bảng 2.3. Mối liên hệ giữa Nk, Nb và Nr.................................................................... 24
Bảng 2.4. Bảng thay thế S-box.................................................................................... 25
Bảng 2.5. Bảng giá trị Shift(r, Nb)............................................................................... 26
-1

Bảng 2.6. Bảng thay thế S-box .................................................................................. 28
Bảng 3.1. Mật khẩu OTP cho các phiên làm việc........................................................ 60
Bảng 4.1. Xếp hạng chính phủ điện tử năm 2015........................................................ 65
DANH MỤC HÌNH VẼ
Hình 2.1. Sơ đồ hệ mã hóa khóa công khai................................................................. 14
Hình 2.2. Biểu diễn ma trận đầu vào và ma trận đầu ra............................................... 20



Hình 2.3. Biểu diễn quá trình biến đối từ input state -> output................................ 21
Hình 2.4. Biểu diễn khóa K = 128 bit.......................................................................... 21
Hình 2.5. Quy trình mã hóa AES................................................................................. 25
Hình 2.6. Quá trình biến đổi SubByte......................................................................... 26
Hình 2.7. Quy trình giải mã AES................................................................................. 28

Hình 2.8. Sơ đồ hàm băm............................................................................................ 35
Hình 2.9. Input và output của SHA-3.......................................................................... 37
Hình 2.10. Cấu trúc Sponge......................................................................................... 37
Hình 2.11. Hàm lặp f của SHA – 3.............................................................................. 38
Hình 3.1. Xác thực thông điệp bằng mật mã............................................................... 42
Hình 3.2. Sơ đồ tạo chữ ký số...................................................................................... 43
Hình 3.3. Sơ đồ xác thực chữ ký số............................................................................. 44
Hình 3.4. Xác thực thông điệp bằng mã xác thực (MAC)........................................... 48
Hình 3.5. Xác thực thông điệp bằng hàm băm............................................................. 49


ix

Hình 3.6. Các đặc trưng sinh trắc phổ biến.................................................................. 50
Hình 3.7. Quá trình lấy mẫu của mật mã sinh trắc học................................................ 53
Hình 3.8. Quá trình xác thực của mật mã sinh trắc học............................................... 54
Hình 3.9. Sơ đồ mật mã sinh trắc học.......................................................................... 54
Hình 3.10. Sử dụng OTP trong giao dịch ngân hàng................................................... 59
Hình 3.11. Thiết bị OTP - Token................................................................................. 61
Hình 3.12. Phần mềm OTP.......................................................................................... 61
[4]

Hình 4.1. Mối quan hệ giữa cơ sở hạ tầng và các dịch vụ trực tuyến ......................65
Hình 4.2. Mô hình xác thực hai yếu tố của hệ thống SingPass.................................... 67
Hình 4.3. Ứng dụng hệ mật RSA, AES trong giao dịch hành chính............................68
Hình 4.4. Quá trình nhận văn bản thủ công................................................................. 69
Hình 4.5. Quá trình gửi văn bản nội bộ thủ công......................................................... 69
Hình 4.6. Sơ đồ hoạt động hệ thống gửi nhận văn bản................................................ 70
Hình 4.7. Quá trình xử lý văn bản đến......................................................................... 70
Hình 4.8. Quá trình xử lý văn bản nội bộ.................................................................... 70

Hình 4.9. Quá trình nhận văn bản................................................................................ 71
Hình 4.10. Sơ đồ ca sử dụng tổng quát........................................................................ 71
Hình 4.11. Sơ đồ ca sử dụng của tác nhân Quan_Tri_He_Thong................................72
Hình 4.12. Sơ đồ ca sử dụng của tác nhân Nguoi_Dung............................................. 72
Hình 4.13. Biểu đồ tuần tự chức năng gửi văn bản...................................................... 76
Hình 4.14. Biểu đồ tuần tự chức năng ký văn bản....................................................... 76
Hình 4.15. Biểu đồ tuần tự chức năng nhận văn bản................................................... 77
Hình 4.16. Lưu đồ hoạt động chức năng gửi văn bản.................................................. 78
Hình 4.17. Lưu đồ hoạt động chức năng nhận văn bản................................................ 78
Hình 4.18. Cửa sổ gửi văn bản.................................................................................... 79
Hình 4.19. Cửa sổ ký và mã hóa văn bản.................................................................... 80
Hình 4.20. Cửa sổ hiển thị thông tin chi tiết của văn bản............................................ 80
Hình 4.21. Cửa sổ xác thực văn bản............................................................................ 81
Hình 4.22. Cửa sổ tạo mới người dùng........................................................................ 81


1

MỞ ĐẦU
Hành chính điện tử đang phát triển mạnh mẽ ở nhiều quốc gia trên thế giới trong đó
có Việt Nam. Với hành chính điện tử, người dân và các doanh nghiệp dễ dàng tiếp cận,
trao đổi công việc với các cơ quan nhà nước. Đồng thời thúc đẩy công cuộc cải cách
hành chính nhằm giảm thiểu sự cồng kềnh của bộ máy tổ chức, nâng cao hiệu quả làm
việc, đáp ứng nhu cầu công khai và minh bạch trong công tác quản lý cũng như giảm
thiểu số lượng và thời gian cho các hoạt động thủ tục hành chính.
Trên thế giới, hành chính điện tử được nhiều quốc gia bắt tay xây dựng từ sớm và
đạt được những thành quả nhất định như: Singapore, Anh, Hàn Quốc… Đặc biệt, tại
Singapore hàng ngàn dịch vụ công được cung cấp đến người dân và doanh nghiệp
thông mạng internet, máy tính và các thiết bị di động. Người dân có thể truy cập tất cả
các dịch vụ công thông qua một cổng thông tin quốc gia duy nhất.

Tại Việt Nam, nền hành chính điện tử cũng từng bước phát triển và đạt được nhiều
thành tựu. Nhiều cơ quan nhà nước, các tỉnh thành đã triển khai các dịch vụ công trực
tuyến. Có thể kể đến như tổng cục Hải quan, tổng cục thuế, thành phố Đà Nẵng…
được người dân và các doanh nghiệp đánh giá cao.
Trong nền hành chính điện tử, vấn đề chứng minh tính hợp pháp của người dùng,
đảm bảo an toàn, xác thực nguồn gốc và tính nguyên vẹn của thông tin trong các giao
dịch hành chính là một việc hết sức quan trọng và cần thiết. Trên thế giới và tại Việt
Nam đã áp dụng nhiều phương pháp bảo mật và xác thực như sử dụng một mật khẩu
chung duy nhất cho các dịch vụ, sử dụng mã xác thực OTP, các thuật toán mã hóa và
chữ ký số… Trong luận văn này, tôi sẽ tìm hiểu, nghiên cứu một số thuật toán nền tảng
trong xác thực điện tử, nghiên cứu về các phương pháp xác thực phổ biến hiện nay,
đồng thời ứng dụng chữ ký số RSA và thuật toán mã hóa AES, xây dựng ứng dụng hỗ
trợ gửi và nhận văn bản tại trường Cao đẳng nghề Cơ khí nông nghiệp.
Nội dung của luận văn gồm các chương sau:
Chương 1. Trình bày cơ sở toán học của xác thực điện tử, số nguyên tố, số học
modulo, các phương pháp kiểm tra số nguyên tố.
Chương 2. Phân tích các hệ mật mã được sử dụng trong xác thực điện tử: hệ mật
RSA và các biến thể, hệ mật AES, hàm băm SHA-1, SHA-2, SHA-3
Chương 3. Trình bày các vấn đề về xác thực điện tử. Xác thực dữ liệu, xác thực
thực thể và xác thực hai yếu tố.
Chương 4. Trình bày các vấn đề về giao dịch hành chính điện tử. Phân tích, thiết kế
và thử nghiệm chương trình ứng dụng chữ ký số RSA và mã hóa AES trong việc quản
lý, gửi và nhận văn bản tại trường Cao đẳng nghề cơ khí nông nghiệp.
Kết luận và hướng phát triển: Rút ra kết luận và hướng phát triển của luận văn.


2

Chương 1: CƠ SỞ TOÁN HỌC CỦA XÁC THỰC ĐIỆN TỬ
Trong chương này, tác giả trình bày các cơ sở toán học của xác thực điện tử. Đầu

tiên, tác giả trình bày về số nguyên tố, một số dạng số nguyên tố đặc biệt được ứng
dụng phổ biến trong các hệ mật mã. Tiếp theo, tác giả trình bày một số lý thuyết về số
học modulo và các tiêu chuẩn và phương pháp kiểm tra số nguyên tố.
1.1. Số nguyên tố
Trong tập các số nguyên Z = {…, - 2, -1, 0, 1, 2, …}, chúng ta xét các số nguyên
dương mà chỉ chia hết cho 1 và chính nó. Tập các số như vậy được gọi là tập các số
nguyên tố.
Ví dụ các số nguyên tố: 2, 3, 5, 7, 11, …, 1299827, …
Số nguyên tố lớn nhất được tìm ra cho đến nay là 2
chữ số.

57885161

– 1 bao gồm 17425170

Theo ta có các kết quả sau:
Bảng 10 số nguyên tố lớn nhất được phát hiện ra cho tới thời điểm này:
Bảng 1.1. Bảng 10 số nguyên tố lớn nhất
rank
1
2
3
4
5
6
7
8
9
10


[18]


Mười số nguyên tố sinh đôi lớn nhất được tìm thấy là:
Bảng 1.2. Bảng 10 số nguyên tố sinh đôi lớn nhất
rank
1

[18]


2
3
4
5
6
7
8
9
10

38529154785·2

173250

38529154785·2

+1 52165 L3494 2014 Twin (p+2)

173250


-1 52165 L3494 2014 Twin (p)

Cho đến nay, mười số nguyên tố dạng Mersener lớn nhất tìm được cũng chính là
mười số nguyên tố lớn nhất ở thời điểm này.
Người ta còn nghiên cứu các số nguyên tố dạng p#±1 (tích của các số nguyên tố nhỏ
hơn hoặc bằng p cộng trừ 1). Số nguyên tố lớn nhất dạng p#±1 là số 1.098.133#-1 gồm
476.311 chữ số, được phát hiện ra vào tháng 3 năm 2012. Mười số nguyên tố lớn nhất
dạng p#±1:
Bảng 1.3. Bảng 10 số nguyên tố dạng p# ± 1

[18]

digits

when

Reference

476311

2012

Primorial


2
3
4
5

6
7
8
9
10
Số nguyên tố lớn nhất dạng n!+1 là số 150.209!+1 gồm 712.355 chữ số, được
chứng minh vào tháng 10 năm 2011. Mười số nguyên tố lớn nhất dạng n!+1


4

Bảng 1.4. Bảng 10 số nguyên tố lớn nhất dạng n! + 1

digits

rank
1

150209!+1

712355

When
2011

[18]

reference
Factorial



2
3
4
5
6
7
8
9
10
Số nguyên tố p được gọi là số nguyên tố dạng Sophie German nếu 2p+1 cũng là số
nguyên tố. Số nguyên tố dạng Sophie Germain có ứng dụng nhiều trong mật mã.
Chẳng hạn, hệ mật ElGamal sẽ có độ mật cao nếu số nguyên tố ta chọn có dạng 2p+1,
nghĩa là p là số nguyên tố Sophie Germain. Những số nguyên tố dạng Spophie
Germain đầu tiên là: 2, 3, 5, 11, 23, 29, 41, 53, 83, 89, 113, 131, 173, 179, 191, 233,
239, 251, 281, 293, 359, 419, 431, 443, 491, 509, 593, 641, 653, 659, 683, 719, 743,
761, 809, 911, 953, 1013, 1019, 1031, 1049, 1103, 1223, 1229, 1289, 1409, 1439,
1451, 1481, 1499, 1511,1559
Mười số nguyên tố dạng Sophie German lớn nhất là:
Bảng 1.5. Bảng 10 số nguyên tố dạng Sophie German lớn nhất
who

rank
1

[18]

18543637900515·2

666667


265440

2183027·2
3
4
5
6
7

-1 200701 L2429 2012 Sophie Germain (p)

-1 79911


8
9
10
1.2. Hai số nguyên tố cùng nhau
Hai số m và n được gọi là nguyên tố cùng nhau nếu ước số chung lớn nhất của
chúng bằng 1. Ký hiệu gcd(m,n) = 1
Ví dụ: 9 và 14 là nguyên tố cùng nhau vì gcd(9,14) = 1.
1.3. Số học modulo
1.3.1 Hàm Euler
Hàm Euler: Cho số nguyên dương n, số lượng các số nguyên dương bé hơn n và
nguyên tố cùng nhau với n ký hiệu φ(n) được gọi là hàm Euler.
Nhận xét: Nếu p là số nguyên tố thì φ( p ) = p −1 .
Định lý về hàm Euler:
Nếu n là tích của hai số nguyên tố n = p.q, thì:
 ( n) = φ ( p ).φ( q ) = ( p − 1)( q −1)

*

1.3.2. Không gian Zn, Zn

Không gian Zn: là tập các số nguyên {0, 1, 2, ..., n - 1}. Các phép toán trong Zn như
cộng, trừ, nhân, chia đều được thực hiện theo modulo n.
Ví dụ:
Z9 = {0, 1, 2, 3, 4, 5, 6, 7, 8}
Các phép toán trong Z9 được thực hiện theo modulo 9:
7 + 8 = 6 vì 7 + 8 = 15 mod 9 = 6.
*

Không gian Zn : là tập các số nguyên a ∈ Zn, nguyên tố cùng nhau với n.
Ký hiệu:
*

*

Zn = {a ∈ Zn | gdc(n,a)=1}; Số phần tử của Zn là φ(n)
*

Nếu n là một số nguyên tố thì: Zn = {a∈ Zn | 1 ≤ a ≤ n - 1}
*

Ví dụ: Z5 = {0, 1, 2, 3, 4} thì Z5 = {1, 2, 3,
4} 1.3.3. Đồng dư thức
Cho số nguyên dương n, hai số nguyên a, b được gọi là đồng dư theo modulo n nếu
n|(a-b). Ký hiệu là:



6

a ≡ b (mod n)
* Phần tử nghịch đảo:
Cho hai số nguyên dương n và a ∈ Z* . Số x ∈ {0,1,2...,n-1) sao cho: ax ≡ 1 (mod n) n

1.3.4. Giá trị thặng dư bậc hai – Ký hiệu Legendre

[5]

Cho n là một số nguyên, y thuộc Zn được gọi là thặng dư bậc hai modulo n nếu tồn
tại x

2

Zn sao cho y ≡ x (modulo n).
a

p
Nếu p là số nguyên tố lẻ và a là một số tự nhiên thì kí hiệu Legendre   được xác  
định như sau:

a


p



1.3.5. Ký hiệu Jacobi






[5]

Cho n là một số nguyên dương lẻ có phân tích chuẩn n = p1t p2t ... pmt ở đây pi , i =1,
1

2

m

2,..., m là các số nguyên tố. Khi a là một số nguyên tố cùng nhau với n thì ký
hiệu Jacobi 

a

 được định nghĩa như sau:

n






n






Ví dụ:





14


15 

1.4. Các tiêu chuẩn và phương pháp kiểm tra số nguyên tố
1.4.1. Tiêu chuẩn Euler và số giả nguyên tố Euler
Euler chứng minh rằng với mọi số nguyên tố p và số a, 1 ≤ a < p thì:
a
≡ a ( p−1)/ 2 mod p
 
p 
Ví dụ: a = 6, p = 7


(6/7) – Ký hiệu Legendre = -1


7
(7-1)/2


6

(mod 7) = 6

Số giả nguyên tố Euler: Hợp số n được gọi là số giả nguyên tố Euler cơ sở a (1 < a
< n) nếu:
a
  = a ( n−1)/ 2 mod n
 
n

a
Trong đó: 

 là ký hiệu Jacobi.

n

1.4.2. Định lý nhỏ Fermat và số giả nguyên tố Fermat
Định lý Fermat: Nếu p là số nguyên tố, a là số nguyên thì a p ≡ a (mod p) .
Một cách phát biểu khác của định lý như sau:
Nếu p là số nguyên tố và a là số nguyên tố cùng nhau với p thì a
cho p, nghĩa là:
a
7

Ví dụ: 4 ≡ 4 (mod 7); 4

7-1


p-1

p-1

- 1 sẽ chia hết

≡ 1 (mod p)

≡ 1 (mod 7).

Số nguyên tố Fermat: Là một số nguyên dương có dạng:

Fn = 22n +1
Rất nhiều số Fermat là số nguyên tố nên một thời người ta cho rằng tất cả các số có
dạng đó đều là số nguyên tố. Với n là số không âm. Các số Fermat đầu tiên bao gồm:
1

F0=2 +1=3
4

F2

=2 +1=17

F4

=2

F6 = 2


64

F7 = 2

128

16

+ 1 = 65.537

+ 1 = 18.446.744.073.709.551.617
+ 1 = 340.282.366.920.938.463.463.374.607.431.768.211.457

256

F8=2 +1=
115.792.089.237.316.195.423.570.985.008.687.907.853.269.984.665.640.564.039.457
.584.007.913.129.639.937
1.4.3. Số nguyên tố Mersenne
n

Số nguyên tố Mersenne là một số Mersenne có dạng lũy thừa của 2 trừ 1: 2 − 1.
Một số định nghĩa yêu cầu lũy thừa n phải là số nguyên tố.
Điều kiện cần để Mn là số nguyên tố là n là số nguyên tố nhưng ngược lại không
đúng.


8


Ví dụ:
5

31 = (2 - 1) là một số nguyên tố
4

15 = (2 -1) là hợp số vì 4 là hợp số.
11

Số Mersenne 2047 = 2 − 1 với 11 là số nguyên tố nhưng 2027 không phải số
nguyên tố vì nó chia hết cho 89 và 23.
1.4.4. Một số phương pháp kiểm tra số nguyên tố
1.4.4.1. Thuật toán Soloway - Strassen
Giả sử p là số nguyên tố lẻ và a là số nguyên không chia hết cho p. Khi đó theo
chuẩn Euler thì:
p−1

a2



a

(mod p).
 
p 

Như vậy, để kiểm tra tính nguyên tố của một số nguyên dương lẻ n, ta có thể lấy
một số nguyên a nguyên tố cùng nhau với n và kiểm tra đồng dư thức
 a

n−1
 
(mod
a 2
n),  n 

Trong đó, vế phải của đồng dư thức là ký hiệu Jacobi. Nếu việc kiểm tra này không
đúng thì n chắc chắn là hợp số. Ngược lại, ta chưa kết luận được chính xác n là số
nguyên tố, nhưng nhiều khả năng n là số nguyên tố.
Thuật toán Solovay - Strassen:
Input: Số nguyên dương lẻ n và tham số k.
Output: Kết luận n là nguyên tố hay hợp số.
1. Khi i chạy từ 1 đến k thì tiến hành làm

1.1 Chọn ngẫu nhiên số nguyên a, 1 < a < n – 1.
n−1

1.2 Tính r = a 2 mod n bằng phương pháp bình phương liên tiếp.
1.3 Nếu r ≠ 1 và r ≠ n – 1 thì RETURN (hợp số).
s

1.4 Tính kí hiệu Jacobi

=a




n


1.5 Nếu r ≠ s (mod n) thì RETURN (hợp số)
2. RETURN (nguyên tố). Độ
2

phức tạp của thuật toán: O (n )


9

1.4.4.2. Thuật toán Miler-Rabin
* Tiêu chuẩn Miler – Rabin:
Giả sử p là một số nguyên tố lẻ, khi đó p - 1 là số chẵn và ta có thể viết p − 1 dưới
s

dạng: p – 1 = 2 . m, trong đó s là một số tự nhiên >=1 và m là số lẻ.
- Điều này nghĩa là ta rút hết các thừa số 2 khỏi p − 1. Lấy số a bất kỳ trong tập

{1,2,..,p-1}.
Xét dãy số xk ≡ a2k.m với k=0,1,2,...,s.
Khi đó xk = ( xk −1 )2 , với k=1,2,...,s và xs = a p−1
Từ định lý Fermat nhỏ:
a p−1 ≡1(mod p)

hay
xs ≡1(mod p)

hay
x 2− ≡1(mod p)
s 1


Do đó, hoặc xs −1 ≡1(mod p) hoặc xs −1 ≡ −1(mod p) .
Nếu xs −1 ≡ −1(mod p) ta dừng lại,
Ngược lại ta tiếp tục với xs −2 .
Sau một số hữu hạn bước:
- hoặc ta có một chỉ số k, 0 ≤ k ≤ s −1 sao cho xk ≡ −1(mod p) ,
- hoặc tới k=0 ta vẫn có xk ≡1(mod p) .

=> Ta có mệnh đề Q(p,a) như sau:

- hoặc xk = a 2k.m ≡1(mod p) với mọi k=0,1,2,...,s
- hoặc tồn tại k: 0 ≤ k ≤ s sao cho xk = a 2k.m ≡ −1(mod p) .
* Thuật toán Miller – Rabin:

INPUT: Số tự nhiên lẻ n.
OUTPUT : Kết luận n là nguyên tố hay hợp số
S

1. Phân tích n – 1 = 2 . m trong đó s >= 1 và m là số tự nhiên lẻ


10
2. Chọn ngẫu nhiên số tự nhiên a

{2,...,n-1}.

m

3. Đặt b = a (mod n)
4. Nếu b ≡1 (mod n) thì RETURN (nguyên tố). Kết thúc.
5. Cho k chạy từ 0 đến s-1:


5.1. Nếu b ≡ −1 (mod n) RETURN (nguyên tố). Kết thúc.
2

5.2. Thay b:= b (mod n).
6. RETURN (hợp số). Kết thúc.
2

Độ phức tạp của thuật toán: O (n )
Ví dụ: Kiểm tra tính nguyên tố của số n = 23:
1

N=23=>N–1=22=2 .11
Chọn a = 10
m

11

b = a (mod n) ⇔ b = 10 (mod 23) = 22
=> b ≡ −1(mod 23) => n là số nguyên tố.
1.4.4.3. Thuật toán AKS
Tháng 8 năm 2002, ba tác giả Manindra Agrawal, Neeraj Kayal va Nitin Saxena
(Viện công nghệ Kanpur Ấn Độ) công bố thuật toán kiểm tra tính nguyên tố với độ
phức tạp đa thức (thường gọi là thuật toán AKS).
Thuật toán xuất phát từ ý tưởng sau:
Một số nguyên n (n>2) là số nguyên tố khi và chỉ khi:
( x − a ) n ≡ ( x n − a)(mod n)

Đúng với mọi số nguyên a là số nguyên tố cùng nhau với n (hoặc chỉ cần đúng với
số giá trị của a, đặc biệt khi a = 1).

Với định lý trên, thời gian tính của thuật toán sẽ là một hàm mũ. Tiến hành rút gọn
r
hai vế của đẳng thức trên theo modulo x - 1. Sau đó lại rút gọn các hệ số của kết quả
thu được theo modulo n. Ta được thức sau:

Hay ta có:

(

Biểu thức (**) có thể xảy ra trong một số trường hợp p là hợp số, nhưng người ta đã
chứng minh được rằng không hợp số p nào thoả mãn (**) với mọi a nằm trong vùng


×