1. Trang chủ
  2. » Công Nghệ Thông Tin

luận văn ứng dụng chữ ký số trong bảo mật thông tin bưu điện tỉnh thái nguyên

87 378 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 87
Dung lượng 1,22 MB

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

Nội dung

Việc ứng dụng chữ ký số sẽ đem lại cho doanh nghiệp, tổ chức rất nhiều lợiích như: Tiết kiệm chi phí giấy tờ, thời gian luân chuyển trong hoạt động quản lý công văn, giấy tờ, thư điện tử

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan bản luận văn “Chữ ký số và các vấn đề bảo mậtthông tin” là công trình nghiên cứu của tôi, dưới sự hướng dẫn khoa họccủa PGS.TS Đoàn Văn Ban, tham khảo các nguồn tài liệu đã được chỉ rõtrong trích dẫn và danh mục tài liệu tham khảo Các nội dung công bố vàkết quả trình bày trong luận văn này là trung thực và chưa được ai công bốtrong bất kỳ công trình nào

Thái nguyên, ngày 10 tháng 6 năm 2012

Nguyễn Thị Yến

Trang 2

LỜI CẢM ƠN

Trước tiên tôi xin gửi lời cảm ơn chân thành nhất đến thầy PGS TS

Đoàn Văn Ban đã định hướng và nhiệt tình hướng dẫn, giúp đỡ tôi rất nhiều về

mặt chuyên môn trong quá trình làm luận văn

Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyềnđạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm học cao họctại Trường Đại học công nghệ thông tin và truyền thông - Đại học Thái Nguyên

Tôi xin cảm ơn bạn bè, đồng nghiệp và gia đình, những người luôn gầngũi động viên, chia sẻ cùng tôi trong suốt thời gian làm luận văn tốt nghiệp

Thái Nguyên, tháng 6 năm 2012

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 1

LỜI CẢM ƠN 2

MỤC LỤC 3

DANH MỤC CÁC KÍ HIỆU VÀ CÁC TỪ VIẾT TẮT 6

DANH MỤC CÁC HÌNH 8

MỞ ĐẦU 10

1 Đặt vấn đề 10

2 Đối tượng và phạm vi nghiên cứu 10

3 Hướng nghiên cứu của đề tài 11

4 Những nội dung nghiên cứu chính 11

5 Tổng quan luận văn 11

CHƯƠNG 1: GIỚI THIỆU VỀ MÃ KHOÁ THÔNG DỤNG 13

1.1 Giới thiệu 13

1.2 Hệ mã khoá bí mật 13

1.3 Hệ mã khoá công khai 19

1.3.1 Các khái niệm cơ bản 19

1.3.2 Một số khái niệm toán học cơ sở 20

1.3.2.1 Modulo số học và các nhóm Z(p)*, G(p) 20

1.3.2.2 Quan hệ “đồng dư” 23

1.3.2.3.Số nguyên tố mạnh .25

1.3.2.4 Định lý Fermat nhỏ 26

1.3.2.5 Định lý Lagrange 27

1.3.2.6.Định lý Euler 27

1.3.2.7.Định lý số dư trung hoa .27

1.3.3 Các nguyên lý của hệ mật khoá công khai 28

Trang 4

1.3.4 Một số hệ mã khoá công khai 30

1.3.4.1 Hệ mã khoá công khai RABIN 30

1.3.4.2 Hệ mã khoá công khai ELGAML 35

1.3.4.3 Hệ mã khoá công khai RSA 37

1.4 Độ an toàn của RSA 41

1.5 Quản lý khoá 41

1.5.1 Phân phối khoá cho giải thuật mật mã đối xứng 42

1.5.2 Phân phối khoá cho giải thuật mật mã bất đối xứng 44

1.5.3 Phát sinh và lưu giữ khoá bí mật 47

1.6 Kết luận chương 50

CHƯƠNG 2: CHỮ KÝ SỐ 53

2.1 Giới thiệu 53

2.2 Xác thực thông báo và các hàm xác thực 54

2.2.1 Xác thực thông báo 54

2.2.2 Các hàm xác thực 55

2.2.2.1 Mã hoá thông báo 55

2.2.2.2 Kỹ thuật xác thực dùng khoá bí mật – MAC 56

2.2.2.3 Các hàm băm 58

2.3 Chữ ký số 61

2.3.1 Khái niệm 61

2.3.1.1 Khái niệm 61

2.3.1.2 Sơ đồ chữ ký số 62

2.3.2 Các ưu điểm của chữ ký số 62

2.3.3 Quá trình thực hiện chữ ký số khoá công khai 64

2.3.4 Thuật toán chữ ký RSA 66

2.3.4.1 Sơ đồ 66

2.3.4.2 Ví dụ minh hoạ 67

Trang 5

2.3.4.3 Độ an toàn của chữ ký RSA 67

2.3.5 Thuật toán chữ ký DSA/DSS 69

2.3.5.1 Sơ đồ 69

2.3.5.2 Ví dụ 70

2.3.5.3 Độ an toàn chữ ký DSA 70

2.4 Các kiểu tấn công vào lượt đồ chữ ký 77

2.5 Tính pháp lý và ứng dụng chữ ký số trong và ngoài nước 72

2.5.1 Trong nước 72

2.5.2 Ở một số nước trên thế giới 74

2.5.3 Ứng dụng trong thực tế 75

2.6 Kết luận chương 76

CHƯƠNG 3: CÀI ĐẶT DEMO CHƯƠNG TRÌNH 77

3.1 Lĩnh vực ứng dụng của chương trình 77

3.2 Chức năng của chương trình 78

3.2.1 Phần bảo mật thông tin 78

3.2.1.1 Chức năng mã hóa văn bản 78

3.2.1.2 Chức năng giải mã 79

3.2.2 Phần chữ ký số 79

3.2.2.1 Thực hiện ký văn bản 79

3.2.2.2 Kiểm tra và xác thực chữ ký 80

3.3 Một số màn hình giao diện của chương trình 81

3.3.1 Đăng nhập hệ thống 81

3.3.2 Một số menu chính 81

3.4 Kết luận chương 83

Kết quả và hướng phát triển 84

Kết quả đạt được của luận văn 84

Hướng phát triển 85

Trang 6

DANH MỤC CÁC KÝ HIỆU VÀ CÁC TỪ VIẾT TẮT

AES Advance Encryption Standard

ASCII American Standard Code for Infornation InterchangeANSI American National Standards Institute

DES Data Encryption Standard

CA Certificate Authority

FIPS Federal Information Processing Standard

IDEA International Data Encryption Algorithm

IEEE Institute of Electrical and Electronic Engineers

ITU International Telecommunication Union

ISO International Organization for Standardization

MAC Message Authentication Code

MARS Multicast Address Resolution Server

MD5 Message Digest 5

NIST National Institute Of Standards And TechnologyOCSP Online Certificate Status Protocol

PKI public-key infrastructures

RSA Rivest, Shamir, Adleman

SHA Secure Hash Algorithm

TCP/IP Transfer Control Protocol/Internet Protocol

URL Uniform Resource Locator

X Không gian các bản mã

D, Dk Hàm giải mã, hàm giải mã với khoá k

d, dA Số mũ giải mã, số mũ giải mã của cá thể A

E, Ek Hàm mã hoá, hàm mã hoá với khoá k

Trang 7

e, eA Số mũ mã hoá, số mũ mã hoá của cá thể A.

IDA Định danh của cá thể A

Trang 8

DANH MỤC CÁC HÌNH

Trang

Hình 1.1 Quá trình thực hiện cơ chế mã hoá 14

Hình 1.2 Thuật toán giải mã của hệ DES 16

Hình 1.3 Quá trình thực hiện mã hoá khoá công khai 19

Hình 1.4 Sơ đồ khối nguyên lý hoạt động của mật mã khoá công khai 29

Hình 1.5 Sơ đồ biểu diễn thuật toán mã hóa 37

Hình 1.6 Minh hoạ quá trình mã hoá khoá công khai 39

Hình 1.7 Sơ đồ phân bố khóa của một mạng với một CKD 43

Hình 1.8 Sơ đồ phân bố khóa của một network với KD 46

Hình 1.9 Sơ đồ kiểm tra khoá 49

Hình 1.10 Sơ đồ bảo vệ khoá 50

Hình 2.1 (a) Lược đồ mã hoá thông báo 55

Hình 2.1(b) Mã hoá khoá công khai: xác thực và chữ ký 55

Hình 2.1(c) Mã hoá khoá công khai: Bí mật, xác thực và chữ ký 56

Hình 2.2 (a) Xác thực thông báo 57

Hình 2.2 (b) Bí mật và xác thực thông báo:Xác thực đối với bản rõ 57

Hình 2.2 (c) Xác thực đối với bản mã 57

Hình 2.3 Sơ đồ mô tả quá trình ký và gửi các tệp văn bản 64

Hình 2.4 Sơ đồ mô tả quá trình nhận các tệp văn bản 65

Hình 3.1 Chức năng tạo cặp khoá mã hoá 78

Hình 3.2 Nội dung văn bản sau khi mã hoá 78

Hình 3.3 Nội dung văn bản sau khi giải mã 79

Hình 3.4 Chọn tệp văn bản để ký 79

Hình 3.5 Thông báo đã ký văn bản 80

Hình 3.6 Xác lập thông tin người ký 80

Trang 9

Hình 3.7 Xác thực chữ ký 81

Hình 3.8 Đăng nhập hệ thống 81

Hình 3.9 Menu thao tác với tệp văn bản 81

Hình 3.10: Menu chỉnh sửa văn bản 82

Hình 3.11: Menu Định dạng văn bản 82

Hình 3.12: Menu Mã hoá và giải mã dữ liệu 82

Trang 10

Hơn nữa, ngoài việc là một phương tiện điện tử được pháp luật thừa nhận vềtính pháp lý, chữ ký số còn là một công nghệ mã hóa và xác thực rất mạnh Nó

có thể giúp bảo đảm an toàn, bảo mật cao cho các giao dịch trực tuyến, nhất làcác giao dịch chứa các thông tin liên quan đến tài chính

Việc ứng dụng chữ ký số sẽ đem lại cho doanh nghiệp, tổ chức rất nhiều lợiích như: Tiết kiệm chi phí giấy tờ, thời gian luân chuyển trong hoạt động quản

lý công văn, giấy tờ, thư điện tử; Giúp đẩy nhanh các giao dịch qua mạng trongkhi vẫn đảm bảo độ an toàn và bảo mật thông tin…Nhận thấy sự thiết thực củachữ ký số trong ngành Bưu chính Viễn thông như chuyển công văn giấy tờ, giaodịch giữa các giao dịch viên, kiểm soát viên với Bưu điện Tỉnh, với Tập Đoàn…

và được sự gợi ý của giáo viên hướng dẫn, em đã chọn đề tài “Ứng dụng chữ ký

số trong bảo mật thông tin bưu điện tỉnh Thái Nguyên” làm đề tài cho luận vănthạc sỹ của mình

2 Đối tượng và phạm vi nghiên cứu:

* Đối tượng nghiên cứu:

+ Tìm hiểu về các giải pháp mã hoá để bảo mật thông tin

+ Nghiên cứu những phương pháp, kỹ thuật tạo chữ ký số trên các tài liệu,văn bản điện tử

Trang 11

* Phạm vi nghiên cứu:

Luận văn tập trung nghiên cứu các kiến thức có liên quan, các cơ sở lýthuyết: về một số giải pháp mã hoá và những phương pháp, kỹ thuật tạo chữ ký

số để ứng dụng trong bảo mật thông tin Bưu điện Tỉnh

3 Hướng nghiên cứu của đề tài:

Luận văn tập trung nghiên cứu và làm rõ hơn về ý tưởng về các hệ mật mãkhoá thông dụng và những phương pháp, kỹ thuật tạo chữ ký số

4 Những nội dung nghiên cứu chính:

+ Nghiên cứu về các giải pháp mã hoá để bảo mật thông tin

+ Nghiên cứu những phương pháp, kỹ thuật tạo chữ ký số trên các tài liệu,văn bản điện tử

+ Nghiên cứu về một ngôn ngữ lập trình để viết một ứng dụng nhỏ về chữ

ký số

5 Tổng quan luận văn

Luận văn được trình bày theo hình thức từ trên xuống Bắt đầu của mỗiphần đều đưa ra những khái niệm cơ bản và quy định cho phần trình bày tiếpsau nhằm mục đích giúp dễ dàng trong khi đọc, dần dần đi sâu vào để thảo luận

rõ hơn những vấn đề liên quan, bao gồm việc bảo vệ an toàn thông tin dữ liệudùng mật mã, mật mã khoá công khai RSA và chữ ký số

Luận văn được trình bày trong 3 chương và phần kết luận

Giới thiệu về hệ mật mã khóa công khai các nguyên lý của nó; trình bàynhững khái niệm cơ bản & hệ khoá công khai RSA; phương pháp xâydựng, ý tưởng, thuật toán và độ phức tạp của thuật toán

Trang 12

Khái niệm về chữ ký số, sơ đồ chữ ký RSA; Các phương pháp xác thực vàhàm băm mật mã; Chữ ký số, các hình thức ký, xác thức chữ ký số.

Chương 3 Cài đặt demo chương trình

Chương này đề cập đến việc xây dựng và cài đặt ứng dụng chữ ký số vàcác chức năng của chương trình từ đó đưa ra các kết quả thực hiện củachương trình demo

Kết luận

Tóm tắt những kết quả đạt được đồng thời nêu ra những hạn chế của luậnvăn và hướng phát triển có thể được theo hướng nghiên cứu của luận văn trongtương lai

Trang 13

CHƯƠNG 1: GIỚI THIỆU VỀ MÃ KHOÁ THÔNG DỤNG 1.1 Giới thiệu

Mật mã học (crypto) là một nghệ thuật nhằm giấu thông tin, bằng cáchchuyển đổi (encrypt) thông tin thành dạng thông tin không đọc được (ciphertext) Chỉ có những người giữ khóa (key) bí mật mới có thể giải mã (decrypt)thông tin thành dạng thông tin có thể hiểu được (plain text) Thông tin đôi khi bịgiải mã mà không cần biết khóa bí mật Ngành học nghiên cứu về việc bẻ khóa(attack/crack/hack) này còn gọi là cryptanalysis [12]

Mã hoá dữ liệu là mã hóa với mục đích làm cho dữ liệu không thể đọc đượcbởi bất cứ ai, ngoại trừ những ai được phép đọc Mã hóa sử dụng thuật toán vàkhóa để biến đổi dữ liệu từ hình thức đơn giản rõ ràng (plain hay cleartext) sanghình thức mật mã vô nghĩa (code hay ciphertext) Chỉ có những ai có thông tingiải mã thì mới giải mã và đọc được dữ liệu

Có nhiều cách phân loại hệ mã hoá, nếu ta phân loại mã hoá theo đặc trưngcủa khoá thì hệ mã hoá được chia thành hai loại đó là:

- Hệ mã hóa khóa đối xứng, hay còn gọi là Hệ mã khoá bí mật (có khoáriêng và khoá chung giống nhau)

- Hệ mã hóa khóa phi đối xứng, hay còn gọi là Hệ mã khoá công khai (Khóacông khai có khoá riêng và khoá chung khác nhau)

1.2 Hệ mã khoá bí mật

Hệ mã hoá bí mật hay còn gọi là Hệ mã khoá đối xứng là Hệ mã hóa mà

biết được khóa lập mã thì có thể “dễ dàng” tính được khóa giải mã và ngược lại

[4],[5]

Quá trình thực hiện cơ chế mã hoá như sau:

Trang 14

Hình 1.1 Quá trình thực hiện cơ chế mã hoá

Hình 1.1 mô tả quá trình trao đổi thông tin giữa bên gửi và bên nhậnthông qua việc sử dụng phương pháp mã hoá đối xứng Trong quá trình này, thìthành phần quan trọng nhất cần phải được giữ bí mật chính là khoá Việc traođổi, thoả thuận về thuật toán được sử dụng trong việc mã hoá có thể tiến hànhmột cách công khai, nhưng bước thoả thuận về khoá trong việc mã hoá và giải

mã phải tiến hành bí mật Chúng ta có thể thấy rằng thuật toán mã hoá đối xứng

sẽ rất có lợi khi được áp dụng trong các cơ quan hay tổ chức đơn lẻ Nhưng nếucần phải trao đổi thông tin với một bên thứ ba thì việc đảm bảo tính bí mật củakhoá phải được đặt lên hàng đầu

Người gửi sử dụng một phép biến đổi khả nghịch:

Trang 15

Mã hoá đối xứng có thể được phân thành 02 loại:

1 Loại thứ nhất tác động trên bản rõ theo từng nhóm bits Từng nhóm bitsnày được gọi với một cái tên khác là khối (Block) và thuật toán được áp dụnggọi là Block Cipher Theo đó, từng khối dữ liệu trong văn bản ban đầu đượcthay thế bằng một khối dữ liệu khác có cùng độ dài Đối với các thuật toán ngàynay thì kích thước chung của một Block là 64 bits [5]

2 Loại thứ hai tác động lên bản rõ theo từng bit một Các thuật toán ápdụng được gọi là Stream Cipher Theo đó, dữ liệu của văn bản được mã hoátừng bit một Các thuật toán mã hoá dòng này có tốc độ nhanh hơn các thuậttoán mã hoá khối và nó thường được áp dụng khi lượng dữ liệu cần mã hoáchưa biết trước

Một số thuật toán nổi tiếng trong mã hoá đối xứng là: DES, TripleDES(3DES), RC4, AES…

+ DES (Data Encryption Standard) Với DES, bản rõ (Plaintext) được mãhoá theo từng khối 64 bits và sử dụng một khoá là 64 bits, nhưng thực tế thì chỉ

có 56 bits là thực sự được dùng để tạo khoá, 8 bits còn lại dùng để kiểm tra tínhchẵn, lẻ DES là một thuật toán được sử dụng rộng rãi nhất trên thế giới Hiệntại DES không còn được đánh giá cao do kích thước của khoá quá nhỏ 56 bits,

và dễ dàng bị phá vỡ

+ Triple DES (3DES): 3DES cải thiện độ mạnh của DES bằng việc sửdụng một quá trình mã hoá và giải mã sử dụng 3 khoá Khối 64-bits của bản rõđầu tiên sẽ được mã hoá sử dụng khoá thứ nhất Sau đó, dữ liệu bị mã hóa đượcgiải mã bằng việc sử dụng một khoá thứ hai Cuối cùng, sử dụng khoá thứ ba vàkết quả của quá trình mã hoá trên để mã hoá

C = EK3(DK2(EK1(P)))

P = DK1(EK2(DK3(C)))

Trang 16

+ AES (Advanced Encryption Standard) được sử dụng để thay thế choDES Nó hỗ trợ độ dài của khoá từ 128 bits cho đến 256 bits

Khoá sử dụng 56 bit nhận được từ khoá bí mật 64 bit, có chứa 8 bit kiểmtra chẵn lẻ Thuật giải giải mã được thực hiện theo chiều ngược lại cũng vớikhoá bí mật được dùng khi mã hoá Thuật giải được minh hoạ như trong hình vẽ1.2, trong đó, phép ⊕ ký hiệu phép XOR

Hình 1.2 Thuật toán giải mã của hệ DES

Nhập : M (64 bit)M’ = IP(M)

Trang 17

Bước 2: Chia M’ thành 2 phần: nửa trái L0 32 bit và nửa phải R0 32 bit.

Bước 3: Thi hành các phép toán sau với i = 1, 2,…, 16 (có 16 vòng):

Li = Ri-1

Ri = Li-1 ⊕ f (Ri-1, Ki)

Trong đó, f là hàm nhận nửa phải 32 bit và một khoá vòng 48 bit, sinh ra

một kết xuất 32 bit Mỗi khoá vòng Ki chứa một tập con các khoá 56 bit

Cuối cùng, sau 16 bước ta được C’ = (R16 ,L16) C’ sau đó được hoán vịtương ứng với phép hoán vị IP-1 để được bản mã cuối cùng C

Giải mã được thi hành theo trình tự ngược lại: một phép hoán vị, 16 vòngXOR sử dụng khoá vòng theo thứ tự ngược lại và phép hoán vị sau cùng phụchồi lại bản rõ Tất cả các phép khai triển bit này có thể được kết hợp vào mộtmạch logic chuyên dụng, vì thế DES có thể được cài đặt rất hiệu quả Tuynhiên, theo nghiêm cứu của Electronic Frontier Foundation thì khả năng thám

mã DES 56 bit khoảng 22 giờ Vì thế, NIST khuyên nên sử dụng Triple DES(3DES) bao gồm 3 lần mã hoá DES khác nhau

Đặt E (k, M) và D(k, C) biểu diễn mã hoá và giải mã DES của M và C vớikhoá k Mỗi phép mã/ giải mã TDES là một phép ghép của các phép mã/giải

mã Các phép toán sau được sử dụng trong TDES:

Phép mã hoá TDES: biến đổi một khối M 64 bit thành một khối C 64 bitđược xác định như sau:

Trang 18

Phép giải mã TDES: biến đổi một khối C 64 bit thành một khối M 64 bitđược xác định như sau:

từ các nhà nghiên cứu thuộc 12 nước khác nhau Sau đó, các nhà khoa học thửtìm cách tấn công các thuật giải mã hoá này, để tìm ra điểm yếu nhất có thể có

để tấn công chúng Sau đó, tại Second AES Candidate Conference, tổ chức tạiRôma, Ý, ngày 22-23 tháng 09 năm 1999, NIST thông báo 5 ứng viên sau:

- MARS – do công ty IBM phát triển (Mỹ)

- RC6 – do phòng thí nghiệm RSA tại Bedford, Masachusetts (Mỹ)

- Rijndael – do Joan Deamen và Vincent Rijmen (Bỉ)

- Serpent – do Ros Anderson (Anh), Eli Bihan (Israel) Lars Knudsen (Na-uy)

- Twofish – do Bruce Schneier, John Kelsey, Doug Whiting, David WagnerChris Hall và Niels Ferguson (Mỹ)[5]

Hệ mã hoá khoá đối xứng có ưu điểm và nhược điểm sau:

Trang 19

Ngoài ra với hệ mã hoá khoá đối xứng không thể thực hiện chữ ký điện tử(sẽ được trình bày trong chương 2) do chỉ có một khoá chung duy nhất Vì vậy,không thể dùng trong giao dịch điện tử.Chính vì lý do trên mà hệ mã hoá khoácông khai được sử dụng rộng rãi hơn hệ mã khoá đối xứng

1.3 Hệ mã khoá công khai

1.3.1 Các khái niệm cơ bản

Hệ mã hoá khoá công khai là hệ mã hoá có khoá lập mã và khoá giải mã

khác nhau, biết được khoá này “khó” mà tính được khoá kia [4],[5],[6].

Hệ mã hoá này được gọi là hệ mã hoá khoá công khai vì khoá lập mã

được công khai ( gọi là khoá công khai – Public key), Khoá giải mã giữ bí mật ( gọi là khoá riêng – Private key) Điều quan trọng đối với hệ thống là không

thể tìm ra khóa bí mật nếu chỉ biết khóa công khai

Hình 1.3 Quá trình thực hiện mã hoá khoá công khai

Trang 20

Quá trình truyền và sử dụng mã hoá khoá công khai được thực hiện như sau:

 Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công khai của bên nhận trênmột server chịu trách nhiệm quản lý khoá

 Sau đó hai bên thống nhất thuật toán dùng để mã hoá dữ liệu, bên gửi sửdụng khoá công khai của bên nhận cùng với thuật toán đã thống nhất để

mã hoá thông tin được gửi đi

 Khi nhận được thông tin đã mã hoá, bên nhận sử dụng khoá bí mật củamình để giải mã và lấy ra thông tin ban đầu

Vậy là với sự ra đời của Mã hoá công khai thì khoá được quản lý một cáchlinh hoạt và hiệu quả hơn Người sử dụng chỉ cần bảo vệ khoá bí mật

Do đó hệ mã hoá khoá công khai có ưu điểm và nhược điểm sau:

a Ưu điểm

 Đơn giản trong việc lưu chuyển khóa: Chỉ cần đăng ký một khóa côngkhai và mọi người sẽ lấy khóa này về để trao đổi thông tin với ngườiđăng ký Vì vậy không cần kênh bí mật để truyền khóa

 Mỗi người chỉ cần một cặp khóa công khai – khóa bí mật là có thể traođổi thông tin với tất cả mọi người

 Là tiền đề cho sự ra đời của chữ ký điện tử và các phương pháp chứngthực điện tử

b Nhược điểm

Mã hóa và giải mã chậm hơn hệ mã hóa khóa đối xứng.

1.3.2 Một số khái niệm toán học cơ sở

Phần lớn các tính toán liên quan đến hệ mật mã khoá công khai và tiềnđiện tử, chúng ta thường sử dụng tập các số nguyên từ 0 tới p-1, trong đó p là sốnguyên tố lớn Những số này cùng với hai phép toán, phép nhân * và phép luỹ

Trang 21

thừa sẽ tạo thành các cấu trúc nhóm có những tính chất quan trọng được sửdụng để mật mã và bảo mật tiền điện tử [12].

Trước tiên, chúng ta xét một số tính chất quan trọng của tập Z(p)* = {1, 2,

3, 4, , p-2, p-1} Dễ nhận thấy, nếu ta nhân hai số bất kỳ trong tập này vớinhau, sau đó lấy số dư theo modulo p, thì kết quả là một số vẫn nằm trong tập

đó Nghĩa là Z(p) * đóng với phép nhân Mặt khác, nếu ta lấy một số bất kỳ trong

tệp đó, ví dụ số k, khi đó sẽ tồn tại một số khác, ký hiệu là k-1, sao cho k*k-1 = 1mod p Nghĩa là mọi số nguyên trong tập này đều có phần tử nghịch đảo bội(multiplicative inverse) Hai tính chất này khẳng định rằng Z(p)* là một nhómvới phép nhân mod p Tương tự, chúng ta có thể khẳng định nó cũng là nhómvới phép luỹ thừa, vì phép luỹ thừa thực chất là bội của các phép nhân, ví dụ 23

= 2*2*2 (Lưu ý: 0 được loại khỏi Z(p)* bởi vì nó không có phần tử nghịch đảobội Nếu ta bổ sung 0 vào Z(p)*, thì chúng ta nhận được Z(p), chứa tất cả các số

dư theo mod p, kể cả 0).

Giả sử ta có Z(11)* = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} Nếu nhân 5 với 8, chúng

ta có 5*8 = 40 = 7 mod 11, tất nhiên 7 ∈ Z(11)* Chúng ta cũng có 5*9 = 45 = 1mod 11, nên 9 là nghịch đảo của 5, hoặc ngược lại Tương tự 2 và 6 là nghịchđảo của nhau Vậy Z(11)* là đóng với phép nhân và luỹ thừa, các phần tử đều cóphần tử nghịch đảo nên nó là một nhóm

Ta có thể khẳng định thêm, ước chung lớn nhất, ký hiệu là gcd của p và bất

kỳ số nào trong tập trên luôn là 1, nghĩa là chúng nguyên tố cùng nhau

∀k ∈ Z(p)*, gcd(k,p) =1, p là nguyên tố

Trên tập Z(p)*, chúng ta có thể định nghĩa thêm phép toán khác, phép chia

Chúng ta định nghĩa phép chia cho k, ký hiệu là ‘/’ như là phép nhân với phần tử

nghịch đảo của k, đó là k-1 Ví dụ 8/k = 8*k-1 Nếu k = 9 trong Z(11)*, thì 8/9 =8*9-1 = 8*5 = 40 = 7 mod 11

Tương tự, 3/10 = 3*10-1 = 3*10 = 30 = 8 mod 11

Trang 22

Giả sử g là một số của Z(p)* g được gọi là phần tử sinh (generator) mod p

nếu tập tất cả các luỹ thừa của g tạo ra tập tất cả các phần tử của Z(p)* Nghĩa là{g1 mod p, g2 mod p, , gp-1 mod p} = Z(p)*

Từ đó chúng ta thấy Z(p)* = {1, 2, , p-1} biểu diễn cho một tập (đượcsắp xếp lại) các số g, g2, g3, , gp-1 được tính theo mod p Để cho tiện lợi chúng

ta có thể viết mod p ở bên ngoài cặp ngoặc đơn, hoặc có thể bỏ qua:

{g1 , g2, , gp-1} mod p = Z(p)* hoặc có thể viết ngắn gọn

{g1 , g2, , gp-1} = Z(p)*

Ví dụ, 3 là phần tử sinh của Z(7)*, bởi vì

31 = 3 mod 7, 32 = 2 mod 7, 33 = 6 mod 7,

34 = 4 mod 7, 35 = 5 mod 7, 36 = 1 mod 7

Hiển nhiên là {3, 32, 33, 34, 35, 36} = {1, 2, 3, 4, 5, 6} theo mod 7

Một bộ sinh theo mod p là một tập gồm k phần tử {g1, , gk}, trong đó các

gi, i = 1, 2, …, k là các phần tử sinh khác nhau

Ví dụ, {3, 5} là bộ sinh của Z(7)*, bởi vì cả 3 và 5 đều là phần tử sinh củaZ(7)*

Một nhóm được sinh bởi g được gọi là nhóm có bậc q mod p nếu q là số

luỹ thừa nhỏ nhất sao cho gq = 1 mod p

Chúng ta xét lại hai phần tử sinh của Z(7)* là 3 và 5, bởi vì 6 là số luỹ thừanhỏ nhất để 1=36=56 mod 7, nên Z(7)* là nhóm có bậc 6 mod 7 và không có số luỹthừa nào khác có tính chất trên

Nói chung, với số nguyên tố q, 1< q < p, G(q) được xem như là một nhóm(hoặc nhóm con) bậc q mod p, nếu với phần tử sinh g, 1 < g < p, chúng ta có {g,

g2, g3, , gq} là tập con của Z(p)*

Nhận xét, giả sử g là phần tử của Z(p)* và g là phần tử sinh của Z(p)* nếu g

là phần tử có bậc là p-1, nghĩa là gp-1 = 1, và không có số luỹ thừa nào nhỏ đểbằng 1 theo mod p

Trang 23

17 ≡ 5 (mod 3) vì chia 17 và 5 cho 3, được cùng số dư là 2.

Nhận xét: Các mệnh đề sau đây là tương đương:

1) a ≡ b (mod m)

2) m \ (a – b)

3) Tồn tại số nguyên t sao cho a = b + m t

Chứng minh:

1) ⇒ 2): Nếu có 1), thì theo định nghĩa: a, b chia cho m, phải có cùng số

dư, do đó: a = mqa + r; b = mqb + r; Suy ra (a – b) = m (qa - qb), tức là m \ (a - b).2) ⇒ 3): Nếu có 1), tức là m\(a – b) Nghĩa là có t ∈Z sao cho (a - b) = mthay a= b+ mt

3) ⇒ 1): Nếu có 1), tức là tồn tại số nguyên t sao cho a = b + m t

Lấy a chia cho m, giả sử thương là qa và dư r, hay a = mqa + r (0 ≤ r <m),

do đó: b + m t = a = mqa + r hay b = m(qa - t) + r (0 ≤ r < m) Điều đó chứng tỏkhi chia a và b cho m được cùng số dư r, hay a ≡ b (mod m)

b Các tính chất của quan hệ “đồng dư”

+) Quan hệ “đồng dư” là quan hệ tương đương trong Z:

Với mọi số nguyên dương m ta có:

a ≡ a (mod m) với mọi a ∈ Z; (tính chất phản xạ)

a ≡ b (mod m) thì b ≡ a (mod m); (tính chất đối xứng).

a ≡ b (mod m) và b ≡ c (mod m) thì a ≡ c (mod m); (tính chất bắc cầu)

+) Tổng hay hiệu các “đồng dư”:

Trang 24

(a+b) (mod n) ≡ [(a mod n) + (b mod n)] (mod n)

(a- b) (mod n) ≡ [(a mod n) - (b mod n)] (mod n)

Tổng quát:

Có thể cộng hoặc trừ từng vế nhiều đồng dư thức theo cùng một modulo

m, ta được một đồng dư thức theo cùng modulo m, tức là:

Có thể nhân từng vế nhiều đồng dư thức theo cùng một modulo m,

ta được một đồng dư thức theo cùng modulo m, tức là:

Nếu ai ≡ bi (mod m) với i=1 k, thì ta có:

* Có thể cộng hoặc trừ cùng một số vào hai vế của một đồng dư thức

* Có thể chuyển vế các số hạng của đồng dư thức bằng cách đổi dấu các sốhạng đó

* Có thể cộng vào một vế của đồng dư thức một bội của modulo:

a ≡ b (mod m) → a+km ≡ b (mod m) với mọi k ∈ Z

* Có thể nhân hai vế của một đồng dư thức với cùng một số:

a ≡ b (mod m) → ac ≡ bc (mod m) với mọi c ∈ Z

* Có thể nâng lên lũy thừa bậc nguyên không âm cho 2 vế của một đồng dư

thức: a ≡ b (mod m) → an ≡ bn (mod m) với mọi n ∈ Z+

* Có thể chia 2 vế đồng dư thức cho một ước chung nguyên tố với modulo:

c\a, c\b, (c,m)=1, a ≡ b (mod m) ⇒ a/c ≡ b/c (mod m)

* Có thể nhân 2 vế đồng dư thức và modulo với cùng một số nguyên dương,

Trang 25

Nếu a ≡ b (mod m), c >0 ⇒ ac ≡ bc (mod mc)

* Có thể chia 2 vế đồng dư thức và modulo cho cùng một số nguyên dương

là ước chung của chúng:

Nếu c \ (a, b, m) ⇒ a/c ≡ b/c (mod m/c)

* a ≡ b (mod m) ⇒ a ≡ b (mod k) với k \ m

* a ≡ b (mod m) ⇒ gcd(a, m) = gcd(b, m)

Các lớp thặng dư

Quan hệ “đồng dư” theo modulo m trên tập Z (tập các số nguyên) là một

quan hệ tương đương (vì có tính chất phản xạ, đối xứng, bắc cầu), do đó nó tạo

ra trên tập Z một phân hoạch gồm các lớp tương đương: hai số nguyên thuộccùng một lớp tương đương khi và chỉ khi chúng có cùng một số dư khi chia cho

m.

Mỗi lớp tương đương đại diện bởi một số duy nhất trong tập Z m ={0, 1,

…, m-1} là số dư khi chia các số trong lớp cho m, ký hiệu một lớp được đại diện bởi số a là [a] m

Như vậy [a]m = [b]m ⇔ a ≡ b (mod m)

Vì vậy ta có thể đồng nhất Z m với tập các lớp tương đương theo modulo m

Z m ={0, 1, 2,…, m-1} được gọi là tập các “thặng dư đầy đủ” theo modulo m.

Mọi số nguyên bất kỳ đều có thể tìm được trong Z m một số đồng dư với mình

theo modulo m.

1.3.2.3 Số nguyên tố mạnh (strong prime)

Số nguyên tố p được gọi là số nguyên tố mạnh nếu thoả mãn những điềukiện:

 p - 1 có thừa số nguyên tố lớn, đó là p = a1q1 + 1 cho a1 là số nguyên nào đó

và số nguyên tố lớn q1

 q1 - 1 có thừa số nguyên tố lớn, trong đó q1 = a2q2 + 1 cho a2 là số nguyênnào đó và q2 là số nguyên tố lớn

Trang 26

 p + 1 có thừa số nguyên tố lớn, p = a3q3-1 cho a3 là số nguyên nào đó, q3 là

số nguyên tố lớn

Đôi khi số nguyên tố thoả mãn một tập con của các điều kiện trên cũngđược gọi là số nguyên tố mạnh

Trong lý thuyết số, một số nguyên tố mạnh là một số nguyên tố pn, với n là

chỉ số của số nguyên tố thoả mãn:

P P P

Thì pn được gọi là số nguyên tố mạnh Ví dụ, 17 là số nguyên tố thứ bảy

Số nguyên tố thứ sáu và thứ tám là 13 và 19, áp dụng công thức trên ta có:

16 2

19 13

Từ định lý Fermat chúng ta suy ra, các số nguyên 1, 2, 3, , p-1 đều

không chia hết p, do vậy tất cả các luỹ thừa của chúng với p-1 đều bằng 1 mod

p Ví dụ, trong Z(11)*, chúng ta có p - 1 = 10, và

110 = 210 = 310 = 410 = 510 = 610 = 1 mod 11

710 = 810 = 910 = 1010 = 1 mod 11

Hệ quả của Định lý Fermat nhỏ: Giả sử p là số nguyên tố dương

(i) Với mọi số nguyên a ta có ap ≡ a [mod p]

(ii) Nếu e, d nguyên dương và thoả điều kiện e*d ≡ 1 [mod p - 1] thì ta có(ae)d = (ad)e ≡ a [mod p]

Nhờ hệ quả này ta có thể mã hoá nhờ số e (bằng cách nâng lên luỹ thừa e)

và giải mã bằng một số khác là d (nâng số bị mã hoá lên luỹ thừa d ta trở lại sốcũ) Ngược lại cũng có thể mã hóa bằng d và giải mã bằng e, đây là tính chất

Trang 27

"khoá bằng chìa này nhưng mở bằng chìa khác” Nhờ tính chất này mà ta có thể giao cho mỗi người một "chìa khoá" riêng [15].

Áp dụng định lý Fermat chúng ta có hệ quả là định lý Lagrange

1, 5, 7, 11 thoả điều kiện này nên ta có φ(12) = 4 Trường hợp tổng quát nếu nphân tích thành các thừa số nguyên tố n = p1α1p2α2 pkαk thì ta có:

φ(n) = n  − p  − p   − p n 

1 1

1 1

1 1

2 1

(1.9)

1.3.2.7 Định lý số dư trung hoa

Định lý số dư trung hoa [6] là tên gọi do người phương Tây đặt cho định lýnày Người Trung Hoa gọi nó là bài toán Hàn Tín điểm binh Sử ký Tư MãThiên viết rằng khi Hàn Tín điểm quân số, ông cho quân lính xếp hàng 3, hàng

5, hàng 7 rồi báo cáo số dư Từ đó ông tính chính xác quân số đến từng người.Gần đây, định lý số dư Trung Quốc có nhiều ứng dụng trong các bài toán

về số nguyên lớn áp dụng vào lý thuyết mật mã

Trang 28

Định lý: Giả sử n>1 là số nguyên dương và m1, m2, , mn là n số nguyênlớn hơn 1 đôi một nguyên tố cùng nhau Đặt M = m1m2 mn Cho trước các sốnguyên a1, a2, , an khi đó tồn tài duy nhất một số nguyên x (0≤x<M) thoả mãncác phương trình đồng dư sau đây:

x

m a

x

mod

mod

mod

2 2

1 1

m a

x

m a

x

mod

mod

mod

2 2

1 1

Hệ phương trình đồng dư nói trên có nghiệm duy nhất theo mođun M =m1.m2 mk, trong đó m1, m2, , mn đôi một nguyên tố cùng nhau Trong bài toánHàn Tín n = 3 và m1 = 3, m2 = 5, m3 = 7

1.3.3 Các nguyên lý của hệ mật khoá công khai

Năm 1976, Diffie và Hellman công bố một phát triển mới mang tên “các

phương hướng mới trong mật mã” [1],[4],[5] Công trình đề xuất một dạng mớicủa hệ thống mật mã, trong đó người gửi và người nhận sử dụng các khoá mãkhác nhau nhưng có mối liên hệ với nhau, và một trong hai khoá đó được giữ bímật Bên nhận dữ liệu giữ một khoá bí mật cho phép giải mã với khoá đó, cònbên gửi sử dụng một khoá khác tương ứng với khoá bí mật trên để mã hoá dữliệu, khoá đó gọi là khoá công khai Hệ thống dùng khoá như vậy gọi là hệthống “bất đối xứng” bởi vì nó bảo đảm bí mật cho việc truyền tin chỉ mộtchiều, muốn thiết lập bí mật truyền tin theo chiều ngược lại phải sử dụng mộtcặp khoá khác Để dùng một hệ thống mật mã khoá công khai trong một hệ

Trang 29

thống có n cá thể cùng trao đổi các thông tin mật Mỗi cá thể chọn cho mìnhmột khoá lập mã ki và một hàm mã hoá E k i được thông báo công khai Như vậy

có n khoá lập mã được công khai k1, k2,…,kn Khi cá thể thứ i muốn gửi thôngđiệp cho cá thể thứ j: mỗi chữ trong thông điệp được số hoá, nhóm thành từng

“khối” với độ dài nào đó Mỗi khối P trong văn bản được mã hoá bằng khoá lập

mã kj của cá thể thứ j (đã được thông báo công khai) dùng hàm mã hoá Ej, vàgửi đi dưới dạng: C = E k j(P)

Để giải mã thông điệp này, cá thể thứ j chỉ cần dùng khoá riêng của mình(chỉ một mình cá thể j biết khoá này) với hàm giải mã D k j:

D : là khoá giải mã (khoá riêng hay còn gọi là khoá bí mật)

Như vậy, các thuật toán khoá công khai sử dụng một khoá riêng để mã hoá

và một khoá chung khác để giải mã (tạo thành một cặp khoá), chúng có các tínhchất và đặc điểm quan trọng sau:

(i) Không cần phải thiết lập một kênh bảo vệ với những thể thức phức tạp,rườm rà để truyền khoá như trong hệ mã bí mật (mật mã đối xứng)

(ii) Cặp khoá công khai được tạo ra theo một phương pháp đặc biệt có quan

hệ với nhau và được chọn trong nhiều khoá có thể (trong đó nếu khoá này dùng

để mã hoá thì khoá kia dùng để giải mã) Hình 1.4 mô tả rõ ràng mối quan hệ

G

D

Trang 30

Hình 1.4: Sơ đồ khối nguyên lý hoạt động của mật mã khoá công khai.

1.3.4 Một số hệ mã hoá khoá công khai

1.3.4.1 Hệ mã hoá khoá công khai RABIN

Trang 31

+ P = C = Zn, trong đó n là một số nguyên Blum, Zn là tập hợp các số nguyên

<=n Tính n = p.q;

Trong toán học , một số tự nhiên n là một số nguyên Blum nếu n = p × q

mà p và q là riêng biệt các số nguyên tố đồng dư với 3 mod 4 Đó là, p và q phải

có hình thức 4 t 3, đối với một số t số nguyên Số nguyên tố của hình thức nàyđược gọi là số nguyên tố Blum Điều này có nghĩa rằng các yếu tố của một sốnguyên Blum là số nguyên tố Gauss không có một phần tưởng tượng Các Blum

số nguyên đầu tiên là 21 , 33 , 57 , 69 , 77 , 93 , 129 , 133 , 141 , 161 , 177 , (Chuỗi A016105 trong OEIS ) Số nguyên Blum đã được đặt tên khoa học máytính Manuel Blum

+ Chọn khóa công khai là n và b (0 ≤ b ≤ n-1); chọn khóa bí mật là p và q; + Chọn p và q là hai số nguyên tố lớn khác nhau có tính chất sau: p ≡ 3 mod 4;

+ Đặt T = b 2/4 +y, ta có phương trình z 2 ≡ T (mod n), n = p*q (1)

Phương trình (1) tương đương với hệ phương trình (2):

Trang 32

Vận dụng sơ đồ mã hóa Rabin thực hiện ví dụ minh họa:

+ Hai số nguyên tố khác nhau: p = 7; q = 11;

Trang 34

M2 = m/ m2 = 77/ 11 = 7

Phần tử nghịch đảo của 7 theo mod 11 là 8, vì: 7*8 ≡1 (mod 11)  b2 = 8.

Nghiệm của hệ này là:

z ≡ a1*M1*b1 + a2*M2*b2 (mod m) với: a1 = 529; a2 = 12.167

Nghiệm của hệ này là:

z ≡ a1*M1*b1 + a2*M2*b2 (mod m) với: a1 = 529; a2 = -12.167

Nghiệm của hệ này là:

z ≡a1*M1*b1 + a2*M2*b2 (mod m) với: a1 = -529; a2 = 12.167

≡ (-529)*11*2 + 12.16)*7*8 (mod 77)

≡ -11.638 + 681.352 (mod 77)

Trang 35

≡ [(681.352 mod 77)] - (11.638 mod 77)] (mod 77)

≡ (56 - 11) (mod 77) ≡ 45 (mod 77) ≡ 45

+ Giải hệ phương trình (4)

(4)

(p 1) / 4 (q 1) / 4

Nghiệm của hệ này là:

z ≡a1*M1*b1 + a2*M2*b2 (mod m) với: a1 = -529; a2 = -12.167

+ Với z = 67 thì x = 23 - 43 mod 77 = 67 – 43 mod 77 = 24

+ Với z = 32 thì x = 23 - 43 mod 77 = 32 – 43 mod 77 = 66

+ Với z = 45 thì x = 23 - 43 mod 77 = 45 – 43 mod 77 = 2

+ Với z = 10 thì x = 23 - 43 mod 77 = 10 – 43 mod 77 = 44

Việc chọn giá trị nào trong trong 4 giá trị tìm được làm bản rõ là tùythuộc vào những đặc trưng khác của bản rõ mà người giải mã nhận biết (thí dụbản rõ dưới dạng số phải có biểu diễn nhị phân là mã của một văn bản tiếngAnh thông thường) Trong trường hợp này chọn bản rõ là 44

1.3.4.2 Hệ mã hóa khoá công khai ELGAML

a Sơ đồ

Hệ mã hóa là bộ gồm 5 thành phần: {P, C, K, E, D} [8], trong đó:

+ P (Plaintext): là tập hữu hạn các bản rõ có thể;

Trang 36

∀ ∈ : y = ek(x); y C∀ ∈ : dk(y) = x (vì: dk(ek(x)) = x)

*Tạo cặp khóa (bí mật, công khai) (a, h) :

Chọn số nguyên tố p sao cho bài toán logarit rời rạc trong Z p là “khó”

giải Chọn phần tử nguyên thuỷ g Z p * Đặt P = Z p *, C = Z pZ p*

Chọn khóa bí mật là a Z p * Tính khóa công khai h g a mod p.

Định nghĩa tập khóa:κ = {(p, g, a, h): h g a mod p} Các giá trị p, g,

h được công khai, phải giữ bí mật a.

Với Bản rõ x P và Bản mã y C, với khóa k ∈κ định nghĩa:

Trang 37

1.3.4.3 Hệ mã hóa khoá công khai RSA

 Hệ mã hóa khóa công khai được đề xuất bởi Ron Rivest, Adi Shamir vàLen Adleman (MIT) vào năm 1978 [4],[5],[12]

 Hệ mã hóa sử dụng phương pháp mã hóa khối với mỗi khối là một số

nguyên < n: Thông thường kích cỡ n là 1024 bit ≈ 309 chữ số thập phân.

a Sơ đồ

Hình 1.5 Sơ đồ biểu diễn thuật toán mã hóa

Giả sử khối bản gốc của người gửi là M và khối bản mã của người nhận là C,

quá trình mã hóa và giải mã RSA là: C = M e mod n và M = C d mod n

Cả người gửi và người nhận phải biết giá trị n Người gửi biết giá trị e và chỉngười nhận biết giá trị d Đây là một thuật toán mã hóa khóa công khai với khóacông khai KU = {e,n} và khóa riêng KR = {d,n}

b Ví dụ minh hoạ

* Bản rõ chữ: B A O M A T T H O N G T I N

Trang 38

+ Khóa bí mật d là phần tử nghịch đảo của e theo mod φ(n):

d*e ≡ 1 (mod φ(n)) Từ d*e ≡ 1 (mod φ(n)), ta nhận được khóa bí mật d = 103

Trong hệ mã RSA, người ta công bố n và e (public key) và giữa bí mật p,

q, d (private key) Như vậy với thông điệp mã hóa, chỉ cần có d là có thể giải mãđược Do ed = 1 (mod φ(n) ) nên nếu biết e và φ(n) thì ta có thể dễ dàng tìm dbằng thuật toán Euclid mở rộng Nhưng vấn đề là chỉ có n được công bố còn

φ(n) thì không Ta đã biết φ(n) = (p-1) * (q-1) và n = p*q Vậy để tìm φ(n) thì ta

Trang 39

phải tìm được p và q từ n Đây chính là bài toán phân tích thừa số nguyên tố của

số nguyên lớn

Do thám mã RSA dựa chủ yếu trên phân tích thừa số nguyên tố p, q từ nnên việc chọn các số nguyên tố p, q như thế nào để việc phân tích gặp khó khăncũng rất quan trọng Vấn đề này đòi hỏi p, q phải là những số nguyên tố mạnh

Ta sẽ chứng tỏ rằng, nếu biết số mũ mã hoá e không thể dẫn đến việc tìmđược số mũ giải mã d

Thật vậy: muốn tìm nghịch đảo d của e modulo φ(n) thì trước hết phải tìmđược φ(n), nhưng việc tìm được φ(n) không dễ hơn với việc phân tích số n Bởi

vì một khi đã biết n và φ(n) thì dễ dàng tìm được p và q Thật vậy:

Với các ví dụ nêu trên, chúng ta dễ dàng đọc, hiểu được sơ đồ mã hoá khoá

công khai RSA như trong hình 1.6 sau:

Giải mã

Khoá bí mật

Hình 1.6 Minh hoạ quá trình mã hoá khoá công khai

RSA

Trang 40

1 Mỗi thành viên sinh một cặp khoá (n; e; d), một khoá dùng để mã hoá vàmột khoá dùng để giải mã các thông điệp

2 Mỗi thành viên công bố khoá công khai của mình (n; e) cho các thànhviên khác trong hệ thống biết Khoá cùng cặp (n; d) được giữ riêng làm khoá bímật (dùng để giải mã thông điệp)

3 A gửi thông điệp cho B thì A mã hoá thông điệp bằng khoá công khai (n;eb) của B

4 Khi B nhận được thông điệp của A gửi, B giải mã thông điệp bằng khoáriêng (n; db) của mình Không một người nào khác có thể giải mã thông điệpngoài B, vì chỉ có B mới biết khoá riêng của mình

Dựa vào thuật toán RSA đã mô tả trên, ta thấy, để sinh được cặp khoá vàthực hiện được các phép lập mã, giải mã ta phải giải quyết các bài toán sau đây:

 Tìm các số nguyên tố lớn để lấy làm các giá trị p và q (mỗi số có độ lớnkhông ít hơn 100 chữ số thập phân)

 Thực hiện nhanh các phép toán số học trên các số rất lớn, đặc biệt là phép

mũ với số mũ lớn theo modulo n

Độ bảo mật của RSA phụ thuộc vào mức độ khó của phân tích ra thừa sốcủa các số lớn Ví dụ với n đủ lớn thì hoàn toàn không dễ gì mà tìm được hai số

nguyên tố n = p*q Khi đã biết p và q, thì vấn đề tiếp theo là tìm khoá công khai

e cũng như khoá bí mật d sao cho e*d = 1 mod (p - 1)*(q - 1)

Đối với hệ mật công khai (năm 1997) người ta cho rằng với 768 bits (đểtạo ra hai số nguyên tố khoảng 384 bits) đủ bảo đảm an toàn cho đến năm 2004không ai phá được Thuật toán phân tích một số n thành hai thừa số là thuậttoán sàng trường số (number field sieve), có độ phức tạp cỡ

1.9223*(ln n)(1/3) *(ln ln n)(2/3)

Ngày đăng: 16/04/2017, 17:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Đình Diệu (2002), Lý thuyết mật mã và an toàn thông tin, Nxb Đại học Quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Lý thuyết mật mã và an toàn thông tin
Tác giả: Phan Đình Diệu
Nhà XB: Nxb Đại học Quốc gia Hà Nội
Năm: 2002
[2] Phạm Thế Bảo, Phương Lan (2005), Bảo mật lập trình mạng trong Java 2, NXB Thống Kê Sách, tạp chí
Tiêu đề: Bảo mật lập trình mạng trong Java 2
Tác giả: Phạm Thế Bảo, Phương Lan
Nhà XB: NXB Thống Kê
Năm: 2005
[3] Phạm Huy Điển, Hà Huy Khoái (2004), Mã hoá thông tin cơ sở toán học và ứng dụng, Viện toán học Sách, tạp chí
Tiêu đề: Mã hoá thông tin cơ sở toán học và ứng dụng
Tác giả: Phạm Huy Điển, Hà Huy Khoái
Năm: 2004
[4] Dương Anh Đức, Trần Minh Triết (2005), Mã hoát và ứng dụng, Nxb Đại học Quốc gia TP Hồ Chí Minh Sách, tạp chí
Tiêu đề: Mã hoát và ứng dụng
Tác giả: Dương Anh Đức, Trần Minh Triết
Nhà XB: Nxb Đại học Quốc gia TP Hồ Chí Minh
Năm: 2005
[5] Bùi Doãn Khanh, Nguyễn Đình Thúc (2004), Mã hoá thông tin Lý thuyết và ứng dụng, Nxb Lao Động Sách, tạp chí
Tiêu đề: Mã hoá thông tin Lý thuyết và ứng dụng
Tác giả: Bùi Doãn Khanh, Nguyễn Đình Thúc
Nhà XB: Nxb Lao Động
Năm: 2004
[6] Nguyễn Đình Thúc, Bùi Doãn Khanh (2006), Mã hoá thông tin với JAVA tập 2 – Mã hoá - Mật mã, Nxb Lao động Xã hội Sách, tạp chí
Tiêu đề: Mã hoá thông tin với JAVA tập 2 – Mã hoá - Mật mã
Tác giả: Nguyễn Đình Thúc, Bùi Doãn Khanh
Nhà XB: Nxb Lao động Xã hội
Năm: 2006
[7] Thái Hồng Nhị, Phạm Minh Việt (2004), An toàn thông tin - mạng máy tính, truyền tin số và truyền số liệu, Nxb Khoa học vàkỹ thuật Sách, tạp chí
Tiêu đề: An toàn thông tin - mạng máy tính, truyền tin số và truyền số liệu
Tác giả: Thái Hồng Nhị, Phạm Minh Việt
Nhà XB: Nxb Khoa học và kỹ thuật
Năm: 2004
[9] Ngọc Anh Thư, Nguyễn Tiến, Nguyễn Văn Hoài (2002), Giáo trình Thuật toán – Lý thuyết và bài tập, Nxb Thống kê.Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình Thuật toán – Lý thuyết và bài tập
Tác giả: Ngọc Anh Thư, Nguyễn Tiến, Nguyễn Văn Hoài
Nhà XB: Nxb Thống kê.Tiếng Anh
Năm: 2002
[10] A. MENEZES, P. VAN OORSCHOT, AND S. VANSTONE, “Handbook of Applied Cryptography”, CRC Press, 1996. See [11] O’Reilly and Associates, Java Security 2nd, IncĐịa chỉ trên internet Sách, tạp chí
Tiêu đề: Handbook of Applied Cryptography”, CRC Press, 1996. See [11] O’Reilly and Associates, "Java Security 2nd
[8] Hồ Thuần (2000), Giáo trình Lý thuyết mật mã và an toàn dữ liệu Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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