Tải bản đầy đủ (.pdf) (40 trang)

Hệ mật mã hóa khóa công khai rsa

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 (1.11 MB, 40 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA VIỄN THƠNG I
----------

TIỂU LUẬN MÔN HỌC

AN NINH MẠNG VIỄN THÔNG
Mã học phần: TEL1401M
ĐỀ TÀI : HỆ MẬT MÃ HĨA KHĨA CƠNG KHAI RSA
Giảng viên

:

Nguyễn Thanh Trà


MỤC LỤC
BẢNG PHÂN CÔNG CÔNG VIỆC ...........................................................................................................1
DANH MỤC THUẬT NGỮ VÀ VIẾT TẮT .............................................................................................2
DANH MỤC HÌNH VẼ ...............................................................................................................................3
DANH MỤC BẢNG BIỂU ..........................................................................................................................3
LỜI CẢM ƠN ...............................................................................................................................................4
MỞ ĐẦU .......................................................................................................................................................5
1.

Lý do chọn đề tài ..............................................................................................................................5

2.

Mục đích nghiên cứu ........................................................................................................................5


3.

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

Chương 1: Tổng quan về hệ thống mật mã hóa khóa cơng khai .............................................................7
1.1. Đặt vấn đề và ý tưởng .......................................................................................................................9
1.2. Nguyên lý hoạt động........................................................................................................................10
1.3.Yêu cầu của hệ thống mật mã hóa cơng khai.................................................................................16
1.4. Ứng dụng của hệ thống mật mã hóa cơng khai ............................................................................16
1.4.1. Mã hóa giải mã ........................................................................................................................16
1.4.2. Xác thực chữ ký điện tử ...........................................................................................................16
1.4.3. Trao đổi khóa............................................................................................................................17
1.4.4. Dập thời gian.............................................................................................................................17
1.4.5. Tiền điện tử ...............................................................................................................................17
Chương 2: Hệ thống mật mã hóa khóa cơng khai RSA ..........................................................................19
2.1. Cơ sở toán học .................................................................................................................................19
2.1.1. Số nguyên tố(prime) .................................................................................................................19
2.1.2. Số nguyên tố cùng nhau (relatively prime or coprime).........................................................19
2.1.3. Khái niệm modulo ....................................................................................................................19
2.1.4. Phi - Hàm EULER....................................................................................................................19
2.2. Lịch sử phát triển của hệ thống RSA ............................................................................................19


2.3.Tìm hiểu thuật tốn RSA .................................................................................................................20
2.4. Ngun lý hoạt động giải thuật RSA .............................................................................................22
2.4.1. Tạo khóa ....................................................................................................................................23
2.4.2. Mã hóa RSA ..............................................................................................................................24
2.4.3. Ví dụ minh họa .........................................................................................................................25
2.5. Tốc độ ...............................................................................................................................................26
2.6. Ưu nhược điểm của hệ thống mật mã hóa cơng khai RSA ..........................................................26

2.6.1. Ưu điểm .....................................................................................................................................26
2.6.2. Nhược điểm ...............................................................................................................................27
2.7. Bảo mật trong hệ thống RSA .........................................................................................................27
2.7.1. Tấn công vét cạn .......................................................................................................................28
2.7.2. Tấn cơng thời gian ....................................................................................................................28
2.7.3. Tấn cơng tốn học ....................................................................................................................29
2.7.4. Tấn cơng lựa chọn thích nghi bản mã ....................................................................................30
2.7.5. Tấn cơng dựa trên lỗi ...............................................................................................................30
2.7.6. Một số khía cạnh bảo mật khác ..............................................................................................30
2.7.6.1.Dùng mô đun n chung ....................................................................................................30
2.7.6.2.Dùng số mũ lập mã e bé .................................................................................................31
2.7.6.3.Khả năng che dấu của bản mật mã...............................................................................32
2.8. Ứng dụng của hệ thống mật mã hóa RSA .....................................................................................32
2.8.1. Chữ ký điện tử (Digital Signature) .........................................................................................32
2.8.2. SSL (Secure Socket Layer) .......................................................................................................34
Chương 3: Kết luận ....................................................................................................................................35
Tài liệu tham khảo: ......................................................................................................................................37


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

BẢNG PHÂN CƠNG CƠNG VIỆC

Họ và tên

Mã sinh viên

Cơng việc
Làm nội dung chương 1, kết
luận, danh mục tài liệu tham

khảo, chỉnh sửa nội dung
Làm nội dung các phần từ 2.1
đến 2.6, lời cảm ơn, phần mở
đầu
Làm nội dung phần 2.7 và
2.8, mục lục, thuật ngữ viết
tắt, danh mục hình vẽ, bảng
biểu

1


Bài thi cuối kỳ môn ANM

DANH MỤC THUẬT NGỮ VÀ VIẾT TẮT

ANSI

American National Standards Institute

Viện Tiêu chuẩn Quốc gia Hoa Kỳ

CRT

Chinese Remainder Theorem

Định lý phần dư Trung Quốc

GCD


Greatest Common Divisor

Uớc chung lớn nhất

GCHQ

Government Communications Headquarters

Trụ sở Truyền thơng Chính phủ

IEEE

Institute

of

Electrical

Electronics Viện Kỹ nghệ Điện và Điện tử

and

Engineers
IBM

International Business Machines

Tập đoàn cơng nghệ máy tính

MIT


Massachusetts Institute of Technology

Học viện Cơng nghệ Massachusetts

MOD

Modulo

Chia lấy dư

PKI

Public Key Infrastructure

Cơ sở hạ tầng khóa cơng khai

PR

Private key

Khóa riêng

PU

Public key

Khóa cơng khai

DES


Data Encryption Standard

Tiêu chuẩn mã hóa dữ liệu

RSA

Ron Rivest, Adi Shamir và Leonard Adleman Thuật tốn mã hóa cơng khai RSA

SHA

Secure Hash Algorithm

Thuật tốn băm an toàn

2


Bài thi cuối kỳ mơn ANM

DANH MỤC HÌNH VẼ

Hình 1.1: Quy trình mã hóa cơng khai
Hình 1.2: Hoạt động thuật tốn
Hình 1.3: Thơng tin trao đổi mật mã khóa bất đối xứngVietnamese translation.
Hình 1.4 : Mật mã khóa cơng khai
Hình 2.1: Các giai đoạn mã hóa khóa cơng khai
Hình 2.2: Sơ đồ q trình hoạt động của RSA
Hình 2.3: Ví dụ tính tốn của thuật tốn RSA
Hình 2.4 : Q trình tạo và kiểm tra chữ ký số sử dụng giải thuật RSA


DANH MỤC BẢNG BIỂU

Bảng 1.1: Chi tiết khóa A & B
Bảng 1.2: So sánh khóa đối xứng & bất đối xứng
Bảng 1.3: Ứng dụng của hệ thống mật mã hố cơng khai

3


Bài thi cuối kỳ mơn ANM

LỜI CẢM ƠN

Để hồn thành tiểu luận này, chúng em xin cảm ơn chân thành đến các thầy cô chủ
nhiệm bộ môn “An ninh mạng viễn thơng” đã giao những đề tài bổ ích, thực tiễn sát với
kiến thức học trên trường. Đặc biệt, xin cảm ơn đến cô Nguyễn Thanh Trà giảng viên môn
học đã tận tình giảng dạy và giúp đỡ chúng em trong bài tiểu luận cuối kì này. Mong cơ có
những đánh giá và nhận xét khách quan để chúng em hồn thiện hơn, có thêm kinh nghiệm
cho lần thực tập tới.

4


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

MỞ ĐẦU

1. Lý do chọn đề tài
Trong mọi lĩnh vực kinh tế, chính trị, xã hội, qn sự… ln có nhu cầu trao đổi

thông tin giữa các cá nhân, các công ty, tổ chức, hoặc giữa các quốc gia với nhau. Ngày
nay, với sự phát triển của công nghệ thông tin đặt biệt là mạng internet thì việc truyền
tải thơng tin đã dể dàng và nhanh chóng hơn.
Và vấn đề đặt ra là tính bảo mật trong q trình truyền tải thông tin, đặt biệt quan
trọng đối với những thông tin liên quan đến chính trị, quân sự, hợp đồng kinh tế… Vì
vậy nghành khoa học nghiên cứu vế mã hóa thơng tin được phát triển. Việc mã hóa là
làm cho thơng tin biến sang một dạng khác khi đó chỉ có bên gửi và bên nhận mới đọc
được, cịn người ngồi dù nhận được thơng tin nhưng cũng khơng thể hiểu được nôi
dung.
Trong mật mã học, RSA là một thuật tốn mã hóa cơng khai. Đây là thuật tốn đầu
tiên phù hợp với việc tạo ra chữ ký điện tử. RSA đánh dấu sự tiến bộ vượt trội của lĩnh
vực mật mã học trong việc sử dụng mã công khai. RSA được sử dụng rộng rãi trong
thương mại điện tử và đảm bảo dộ an toàn tuyệt đối với điều kiện độ dài khóa đủ lớn.
Thực tại, cơng nghệ mật mã phát triển đi đôi với những kẻ xấu sử dụng cơng cụ,
phần mềm cải tiến tìm cách bẻ khóa lấy cắp các thơng tin mật, vì thế hệ mật mã cần
nâng cấp, cập nhật tính bảo mật từng ngày.
Trên đây là những lý mà chúng em chọn nghiên cứu và thực hiện đề tài.
2. Mục đích nghiên cứu
Mục đích của đề tài là nghiên cứu hoạt động của mật mã khóa cơng khai và giải
thuật RSA, tối ưu hóa thuật tốn, tăng tính tối ưu của các phép tính tốn với số ngun
lớn, từ đó tăng tốc độ xử lý, bảo mật của hệ mã và mã hóa, giải mã các tập tin văn bản
quan trọng.

5


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

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

Nghiên cứu cơ bản về nguyên lý hoạt động mã hóa khóa cơng khai, đặc biệt hệ mã
hóa RSA là đối tượng nghiên chính của đề tài.
- Phạm vi nghiên cứu:
Trong phạm vi nghiên cứu của đề tài này, ta sẽ tìm hiểu về cơ sở lý thuyết để thiết
kế một hệ thống RSA đồng thời xây dựng các phương án bảo mật để đảm bảo tính
an tồn cho hệ thống mật mã RSA. Từ đó đưa ra một số ứng dụng giải thuật để truyền
các thông điệp an tồn trên mơi trường truyền thơng.
Phương pháp nghiên cứu
-

Tập hơp và phân tích các tài liệu bản cứng, tài liệu trên mạng liên quan đến đề
tài.

-

Bàn họp, lựa chọn đưa ra hướng giải quyết vấn đề.

-

Tìm hiểu nguyên lý hoạt động của mã hóa khóa cơng khai và mã hóa RSA.

-

Tìm hiểu các thuật tốn xử lý số ngun lớn.

-

Tối ưu hóa các phép tốn, tăng khả năng xử lý ở từng bước.

-


Những ứng dụng thực tế đánh giá và so sánh kết quả.

6


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Chương 1: Tổng quan về hệ thống mật mã hóa khóa cơng khai

Sự phát triển của mật mã khóa cơng khai là cuộc cách mạng vĩ đại nhất và có lẽ là cuộc
cách mạng thực sự duy nhất trong toàn bộ lịch sử mật mã. Từ những ngày sơ khai nhất cho
đến thời hiện đại, hầu như tất cả các hệ thống mật mã đều dựa trên các công cụ cơ bản là
thay thế và hoán vị. Sau hàng thiên niên kỷ làm việc với các thuật tốn có thể được tính
tốn bằng tay, một bước tiến lớn trong mật mã đối xứng đã xảy ra với sự phát triển của máy
mã hóa / giải mã rơto. Rotor cơ điện đã cho phép phát triển các hệ thống mật mã phức tạp.
Với sự sẵn có của máy tính, các hệ thống thậm chí phức tạp hơn đã được phát minh ra,
trong đó nổi bật nhất là nỗ lực của Lucifer tại IBM với đỉnh cao là Tiêu chuẩn Mã hóa Dữ
liệu (DES).
Mật mã khóa cơng khai cung cấp một sự khởi đầu triệt để so với tất cả những gì đã có
trước đây. Thứ nhất, các thuật tốn khóa cơng khai dựa trên các hàm toán học hơn là thay
thế và hốn vị. Quan trọng hơn, mật mã khóa cơng khai là không đối xứng, liên quan đến
việc sử dụng hai khóa riêng biệt, trái ngược với mã hóa đối xứng, chỉ sử dụng một khóa.
Việc sử dụng hai khóa có hậu quả sâu sắc trong các lĩnh vực bảo mật, phân phối khóa và
xác thực, như chúng ta sẽ thấy.
Trước khi tiếp tục, chúng ta nên đề cập đến một số quan niệm sai lầm phổ biến liên
quan đến mã hóa khóa cơng khai. Một quan niệm sai lầm như vậy là mã hóa khóa cơng
khai an tồn hơn trước sự phân tích mật mã hơn là mã hóa đối xứng. Trên thực tế bảo mật
của bất kỳ sơ đồ mã hóa nào phụ thuộc vào độ dài của khóa và cơng việc tính tốn liên quan
đến việc phá vỡ mật mã. Về ngun tắc, khơng có gì về ngun tắc đối xứng hoặc mã hóa

khóa cơng khai khiến cái này vượt trội hơn cái khác theo quan điểm chống lại sự phân tích
mật mã
Một quan niệm sai lầm thứ hai là mã hóa khóa cơng khai là một kỹ thuật có mục đích
chung đã làm cho mã hóa đối xứng trở nên lỗi thời. Ngược lại, do chi phí tính tốn của các
kế hoạch mã hóa khóa cơng khai hiện tại, dường như khơng có khả năng nào có thể thấy
trước là mã hóa đối xứng sẽ bị loại bỏ. Như một trong những người phát minh ra mã hóa
7


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

khóa cơng khai đã nói rằng “việc hạn chế mật mã khóa cơng khai đối với các ứng dụng
quản lý khóa và chữ ký hầu như được chấp nhận rộng rãi”.
Cuối cùng, có cảm giác rằng việc phân phối khóa là tầm thường khi sử dụng mã hóa
publickey, so với việc bắt tay khá rườm rà liên quan đến các trung tâm phân phối khóa để
mã hóa đối xứng. Trên thực tế, một số dạng giao thức là cần thiết, thường liên quan đến tác
nhân trung tâm và các thủ tục liên quan thì khơng đơn giản hơn và cũng khơng hiệu quả
hơn những gì cần thiết cho mã hóa đối xứng.
Đầu tiên, chúng ta nhìn vào khung khái niệm của nó. Thật thú vị, khái niệm cho kỹ
thuật này đã được phát triển và cơng bố trước khi nó được chứng minh là thực tế để áp dụng
nó. Tiếp theo, chúng tơi kiểm tra thuật tốn RSA, đây là thuật tốn mã hóa / giải mã quan
trọng nhất đã được chứng minh là khả thi đối với mã hóa khóa cơng khai.
❖ Thuật ngữ liên quan đến mã hóa khơng đối xứng:
➢ Các khóa bất đối xứng
Hai khóa có liên quan, khóa cơng khai và khóa riêng tư, được sử dụng để thực hiện các hoạt
động bổ sung, chẳng hạn như mã hóa và giải mã hoặc tạo chữ ký và xác minh chữ ký.
➢ Chứng chỉ khóa cơng khai
Một tài liệu kỹ thuật số được phát hành và ký điện tử bằng khóa cá nhân của Tổ chức cấp
chứng chỉ liên kết tên của người đăng ký với khóa cơng khai. Chứng chỉ chỉ ra rằng người
đăng ký được xác định trong chứng chỉ có quyền kiểm sốt và quyền truy cập duy nhất vào

khóa cá nhân tương ứng.
➢ Thuật tốn mật mã khóa cơng khai (bất đối xứng)
Một thuật tốn mật mã sử dụng hai khóa liên quan, một khóa cơng khai và một khóa riêng
tư. Hai khóa có thuộc tính dẫn xuất khóa cá nhân từ khóa cơng khai là khơng khả thi về mặt
tính tốn.
➢ Cơ sở hạ tầng khóa cơng khai (PKI)

8


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Một tập hợp các chính sách, quy trình, nền tảng máy chủ, phần mềm và máy trạm được sử
dụng cho mục đích quản lý chứng chỉ và các cặp khóa cơng khai-riêng tư, bao gồm khả
năng phát hành, duy trì và thu hồi khóa cơng khai chứng chỉ.
1.1. Đặt vấn đề và ý tưởng
Đặt vấn đề:
-

Theo phương pháp truyền thống, người ta thường dùng cùng một khóa để mã hóa và
giải mã. Lúc đó khóa phải được giữ bí mật tuyệt đối.

-

Người ta gọi đây là hệ thống mã hóa cổ điển (các tên gọi khác: đối xứng, một khóa,
khóa bí mật...).

-

Mã hóa đối xứng dù phát triển từ cổ điển đến hiện đại, vẫn tồn tại 2 điểm yếu sau:

• Vấn đề trao đổi khóa giữa người gửi và người nhận: cần có một kênh an tồn để trao
đổi khóa bí mật.
• Tính bí mật của khóa: khơng có cơ sở để quy trách nhiệm nếu khóa bị tiết lộ.

-

Năm 1976 Whitfield Diffie và Martin Hellman đưa ra giải pháp giải quyết vấn đề trên:
mã hóa khóa cơng khai.

Ý tưởng:
-

Sử dụng khóa cơng khai (cịn gọi là phương pháp mã hóa bất đối xứng, hay hệ thống
hai khóa) trong đó khóa để mã hóa và khóa để giải mã là khác nhau.

-

Các khóa này tạo thành một cặp chuyển đổi ngược nhau và khơng khóa nào có thể suy
ra được từ khóa kia.

-

Khóa mỗi người dùng được chia ra làm hai phần:
• Khoa chung: để mã hóa cơng khai với mọi người
• Khóa bí mật: để giải mã thì được giữ bí mật chỉ được biết bởi chủ nhân của nó.

-

Nếu khóa bí mật ở người nhận thì bộ sinh khóa nằm ở người nhận.
Quy trình mã hóa khóa cơng khai gồm có các bước cơ bản như sau:


-

Mỗi một hệ thống đầu cuối tạo một cặp khóa dùng cho q trình mã hóa và giải mã mà
hệ thống đó sẽ nhận.
9


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

-

Mỗi hệ thống cơng bố khóa mã hóa của mình, gọi là khóa cơng khai, khóa cịn lại gọi
là khóa bí mật (khóa riêng) và phải được giữ an tồn.

-

Nếu Bên gửi muốn gửi thông điệp cho Bên nhận, Bên gửi mã hóa thơng điệp sử dụng
khóa cơng khai của Bên nhận.

-

Khi Bên nhận nhận thông điệp, Bên nhận giải mã bằng khóa riêng của Bên nhận.

Hình 1.1: Quy trình mã hóa cơng khai
1.2. Ngun lý hoạt động
Trong Mật mã khóa bất đối xứng, cịn được gọi là Mật mã khóa cơng khai, hai khóa
khác nhau (tạo thành một cặp khóa) được sử dụng. Một khóa được sử dụng để mã hóa và
chỉ khóa tương ứng khác phải được sử dụng để giải mã. Khơng có khóa nào khác có thể
giải mã tin nhắn - ngay cả khóa gốc (tức là khóa đầu tiên) được sử dụng để mã hóa. Mỗi

bên giao tiếp chỉ cần một cặp quan trọng để giao tiếp với bất kỳ số lượng các bên giao tiếp
khác thuật tốn như trong hình.

10


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Hình 1.2: Hoạt động thuật tốn
Nếu một bên muốn gửi tin nhắn cho bên kia, thì bên thứ nhất (người gửi) phải có khóa
cơng khai của bên thứ 2 (người nhận) Ví dụ Sadeeq muốn gửi tin nhắn đến Tariq, Sadeeq
trước tiên mã hóa tin nhắn bằng Khóa cơng khai của Tariq và sau đó truyền nó. Tariq nhận
được tin nhắn được mã hóa và giải mã nó bằng khóa riêng của mình. Khơng ai ngoại trừ
Tariq có thể giải mã tin nhắn vì khơng ai biết khóa riêng của Tariq.
Có một cơ sở tốn học đơn giản cho sơ đồ này. Nếu một người có một số cực lớn chỉ
có hai yếu tố là số nguyên tố, người ta có thể tạo một cặp khóa. Ví dụ: hãy xem xét số 10.
Số 10 chỉ có hai yếu tố, 5 và 2, Nếu chúng ta áp dụng 5 làm yếu tố mã hóa; chỉ có 2 có thể
được sử dụng làm yếu tố giải mã. Khơng có gì khác- thậm chí 5 khơng thể giải mã. Vì 10
là một con số nhỏ, nó có thể bị phá vỡ dễ dàng tuy nhiên đối với số lượng lớn ngay cả nhiều
năm tính tốn khơng thể phá vỡ sơ đồ.
Ví dụ minh họa
Giả sử A muốn gửi tin nhắn đến B mà khơng phải lo lắng về tính bảo mật của nó. Sau
đó, A và B nên mỗi người có một khóa riêng và khóa cơng khai.
• A nên giữ bí mật chìa khóa riêng của cơ ấy.
• B nên giữ bí mật chìa khóa riêng của cơ ấy
• A nên thơng báo cho B về khóa cơng khai của cơ ấy.
• B nên thơng báo cho A về khóa cơng khai của cô ấy.
11



Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Chi tiết khóa

A Biết

B Biết

A’s Private key

Yes

No

A’s Public Key

Yes

Yes

B’s Private Key

No

Yes

B’s Public Key

Yes


Yes

Bảng 1.1: Chi tiết khóa A & B
Mật mã khóa bất đối xứng hoạt động như sau:
1. Khi A muốn gửi tin nhắn đến B, A mã hóa thư bằng khóa cơng khai của B. Điều này
là có thể bởi vì A biết chìa khóa cơng khai của B.
2. A gửi tin nhắn được mã hóa bằng khóa công khai của B đến B.
3. B giải mã tin nhắn của A bằng khóa riêng của B. Chỉ có B biết khóa riêng của cơ ấy
và tin nhắn chỉ có thể được giải mã bằng khóa riêng của B. Khơng ai khác có thể
hiểu được thơng điệp ngay cả khi người ta có thể chặn tin nhắn

Hình 1.3: Thơng tin trao đổi mật mã khóa bất đối xứng
12


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Tương tự như vậy khi B muốn gửi tin nhắn đến A, chính xác các bước đảo ngược diễn
ra. B mã hóa thư bằng khóa cơng khai của A. Do đó, chỉ A mới có thể giải mã tin nhắn trở
lại dạng ban đầu, sử dụng khóa riêng của cơ ấy.
So sánh giữa mật mã khóa đối xứng và mật mã khóa bất đối xứng

Đặc tính

Đối xứng

Bất đối xứng

Khóa được sử dụng để mã
hóa/giải mã


Giống nhau cho cả hai

hai phím được sử dụng. Một
cho Mã hóa và một để giải mã.

Tốc độ mã hóa/giải mã

Rất nhanh

Chậm hơn

Kích thước của văn bản
được mã hóa kết quả

Thường giống nhau hoặc ít hơn so
với bản gốc

Nhiều hơn bản gốc

Vấn đề lớn

Khơng có vấn đề

Bằng nhau về bình phương số lượng
người tham gia

Giống như số những người
tham gia


Khóa thỏa thuận /Trao đổi

Khơng. u cầu chìa khóa

Sử dụng

Chủ yếu để mã hóa và Giải mã,
Có thể được sử dụng cho mã
không thể sử dụng Đối với chữ ký hóa và Giải mã cũng như Chữ
điện tử.
ký điện tử

Bảng 1.2: So sánh khóa đối xứng & bất đối xứng
Các thuật toán bất đối xứng dựa vào một khóa để mã hóa và một khóa khác nhưng có
liên quan để giải mã. Các thuật tốn này có đặc điểm quan trọng sau đây.
Về mặt tính tốn, việc xác định khóa giải mã chỉ có kiến thức về thuật tốn mật mã và
khóa mã hóa là khơng khả thi.
13


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Ngồi ra, một số thuật tốn, chẳng hạn như RSA, cũng thể hiện đặc điểm sau:
Một trong hai khóa liên quan có thể được sử dụng để mã hóa, khóa cịn lại được sử
dụng để giải mã.

a. Mã hóa bằng khóa cơng khai

b. Mã hóa bằng khóa cá nhân
Hình 1.4 : Mật mã khóa cơng khai

14


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Một lược đồ mã hóa khóa cơng khai có sáu thành phần (Hình 1a).
Bản rõ: Đây là thơng báo hoặc dữ liệu có thể đọc được được đưa vào thuật tốn làm
đầu vào.
Thuật tốn mã hóa: Thuật tốn mã hóa thực hiện các phép biến đổi khác nhau trên bản
rõ.
Khóa cơng khai và khóa riêng tư: Đây là một cặp khóa đã được chọn để nếu một cái
được dùng để mã hóa, cái kia được dùng để giải mã. Các phép biến đổi chính xác được
thực hiện bởi thuật tốn phụ thuộc vào khóa cơng khai hoặc khóa riêng tư được cung
cấp làm đầu vào.
Bản mã: Đây là thông báo xáo trộn được tạo ra dưới dạng đầu ra. Nó phụ thuộc vào
bản rõ và khóa. Đối với một thơng điệp nhất định, hai khóa khác nhau sẽ tạo ra hai bản
mã khác nhau.
Thuật toán giải mã: Thuật toán này chấp nhận bản mã và khóa phù hợp và tạo ra bản
rõ ban đầu.
Các bước cần thiết như sau:
1. Mỗi người dùng tạo một cặp khóa được sử dụng để mã hóa và giải mã thơng điệp.
2. Mỗi người dùng đặt một trong hai khóa vào sổ đăng ký cơng khai hoặc tệp có thể
truy cập khác. Đây là khóa cơng khai. Khóa riêng được giữ kín. Như hình 1.4.a gợi
ý, mỗi người dùng duy trì một bộ sưu tập các khóa cơng khai có được từ những
người khác.
3. Nếu Bob muốn gửi một tin nhắn bí mật cho Alice, Bob sẽ mã hóa tin nhắn bằng
khóa cơng khai của Alice
4. Khi Alice nhận được tin nhắn, cô ấy sẽ giải mã nó bằng khóa riêng của mình. Khơng
người nhận nào khác có thể giải mã tin nhắn vì chỉ Alice mới biết khóa riêng của
Alice.


15


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

1.3. u cầu của hệ thống mật mã hóa cơng khai
1. Về mặt tính tốn, một bên B tạo một cặp (mã PUb khóa cơng khai, khóa riêng PRb)
rất dễ dàng về mặt tính tốn.
2. Thật dễ dàng về mặt tính tốn đối với người gửi A, biết khóa cơng khai và thơng
điệp được mã hóa, M, để tạo ra bản mã tương ứng:
C = EPub (M)

(1.1)

3. Về mặt tính tốn, người nhận B có thể dễ dàng giải mã bản mã kết quả bằng cách sử
dụng khóa riêng để khôi phục thông điệp ban đầu:
M = DPRb(C) = DPRb [EPUb(M)]

(1.2)

4. Về mặt tính tốn, đối thủ biết khóa cơng khai, PUb, để xác định khóa riêng, PRb là
khơng khả thi về mặt tính tốn.
5. Khơng khả thi về mặt tính tốn đối với kẻ thù, biết khóa cơng khai, PUb và bản mã
C, để khôi phục thông điệp ban đầu, M.
Chúng ta có thể thêm một yêu cầu thứ sáu, mặc dù hữu ích, nhưng khơng cần thiết cho
tất cả các ứng dụng khóa cơng khai:
6. Hai phím có thể được áp dụng theo một trong hai thứ tự:
M = DPub[ EPRb(M)] = DPRb[EPUb(M)]


(1.3)

1.4. Ứng dụng của hệ thống mật mã hóa cơng khai
1.4.1. Mã hóa giải mã
Người gửi mã hóa thư bằng khóa cơng khai của người nhận. Ví dụ: trong các chương
trình mã hóa đĩa mã hóa tồn bộ đĩa cứng của bạn để bạn khơng phải lo lắng về dữ liệu
khơng được mã hóa trên đĩa của mình.
1.4.2. Xác thực chữ ký điện tử
Xác thực và chữ ký số là một ứng dụng rất quan trọng của mật mã khóa cơng khai,
trong đó người gửi "ký" một tin nhắn bằng khóa riêng của nó. Ví dụ: nếu bạn nhận được
tin nhắn từ tôi rằng tôi đã mã hóa bằng khóa riêng của tơi và bạn giải mã nó bằng khóa cơng
16


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

khai của tôi, bạn nên cảm thấy rằng tin nhắn đến từ tôi. Nếu tôi nghĩ rằng cần phải giữ bí
mật tin nhắn, tơi có thể mã hóa tin nhắn bằng khóa riêng của tơi và sau đó bằng khóa cơng
khai của bạn, bằng cách đó chỉ có bạn mới có thể đọc tin nhắn và bạn sẽ biết rằng tin nhắn
đến từ tơi. u cầu duy nhất là khóa công khai được liên kết với người dùng của họ theo
cách đáng tin cậy, ví dụ như một thư mục đáng tin cậy. Do điểm yếu này, cộng đồng tiêu
chuẩn đã sử dụng một đối tượng gọi là chứng chỉ. Nó chứa, tên của nhà phát hành chứng
chỉ, tên chủ đề mà chứng chỉ đang được cấp, khóa cơng khai của chủ đề và một số tem thời
gian. Bạn biết khóa cơng khai là tốt, bởi vì nhà phát hành chứng chỉ cũng có chứng chỉ.
1.4.3. Trao đổi khóa
Chúng ta có thể sử dụng Mật mã khóa bất đối xứng để trao đổi Khóa. tức là khóa phiên
có thể được truyền bằng Mật mã khóa bất đối xứng.
1.4.4. Dập thời gian
Dập thời gian là một kỹ thuật có thể chứng nhận rằng một tài liệu điện tử nhất định đã
được phân phối tại một thời điểm nhất định. Dập thời gian sử dụng mơ hình mã hóa lược

đồ chữ ký mù. Các chương trình chữ ký mù cho phép người gửi nhận được tin nhắn do bên
khác nhận mà không tiết lộ bất kỳ thông tin nào về tin nhắn cho bên kia. Dập thời gian cũng
hoạt động giống như gửi thư đã đăng ký qua thư thông thường, nhưng với mức độ bằng
chứng bổ sung, người nhận đã nhận được một tài liệu cụ thể. Các ứng dụng sau đây bao
gồm đơn xin cấp bằng sáng chế, lưu trữ bản quyền và hợp đồng.
1.4.5. Tiền điện tử
Tiền điện tử còn được gọi là tiền điện tử hoặc tiền kỹ thuật số. Nó vẫn đang phát triển.
Giao dịch được thực hiện bằng điện tử với việc chuyển tiền ròng từ bên này sang bên khác.
Nó có thể là ghi nợ hoặc tín dụng và có thể ẩn danh hoặc được xác định. Các ứng dụng ẩn
danh hoạt động trên các chương trình chữ ký mù. Các chương trình ẩn danh là tương tự
điện tử của tiền mặt, trong khi các chương trình được xác định là tương tự điện tử của thẻ
ghi nợ hoặc thẻ tín dụng.
Mã hóa được sử dụng cho dữ liệu giao dịch thông thường trong các chương trình tiền
điện tử như số tài khoản và số tiền giao dịch. Chữ ký điện tử có thể thay thế chữ ký viết tay
17


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

và mã hóa khóa cơng khai có thể cung cấp bảo mật. Có một số hệ thống của phạm vi ứng
dụng này, từ các giao dịch bắt chước các giao dịch giấy thông thường với giá trị từ vài đô
la trở lên. Các chương trình thanh tốn vi mơ khác nhau gửi các giao dịch chi phí cực kỳ
thấp thành các khoản tiền sẽ chịu chi phí mã hóa và thanh toán bù trừ ngân hàng.

Bảng 1.3: Ứng dụng của hệ thống mật mã hố cơng khai
Trước khi tiếp tục, chúng ta cần làm rõ một khía cạnh của các hệ thống mật mã khóa
cơng khai có khả năng dẫn đến nhầm lẫn. Hệ thống khóa cơng khai được đặc trưng bởi việc
sử dụng một thuật toán mật mã với hai khóa, một khóa được giữ riêng tư và một khóa có
sẵn cơng khai. Tùy thuộc vào ứng dụng, người gửi sử dụng khóa riêng của người gửi hoặc
khóa cơng khai của người nhận hoặc cả hai để thực hiện một số loại chức năng mật mã.

❖ Theo nghĩa rộng, chúng ta có thể phân loại việc sử dụng hệ thống mật mã khóa cơng
khai thành ba loại :
1. Mã hóa / giải mã: Người gửi mã hóa tin nhắn bằng khóa cơng khai của người nhận.
2. Chữ ký điện tử: Người gửi “ký” một tin nhắn bằng khóa riêng của nó. Việc ký được
thực hiện bằng một thuật tốn mật mã được áp dụng cho thông điệp hoặc cho một
khối dữ liệu nhỏ là một chức năng của thông điệp.
3. Trao đổi khóa: Hai bên hợp tác để trao đổi khóa phiên. Có thể có một số cách tiếp
cận khác nhau, liên quan đến (các) khóa riêng của một hoặc cả hai bên.
Một số thuật toán phù hợp với cả ba ứng dụng, trong khi những thuật toán khác chỉ có
thể được sử dụng cho một hoặc hai ứng dụng này. Bảng 3 chỉ ra các ứng dụng được hỗ trợ
bởi các thuật toán được thảo luận trong cuốn sách này.
18


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Chương 2: Hệ thống mật mã hóa khóa cơng khai RSA
2.1. Cơ sở toán học
Nhắc lại những khái niệm toán học cơ bản cần thiết cho việc tìm hiểu thuật toán RSA.
2.1.1. Số nguyên tố(prime)
Số nguyên tố là những số ngun có ước chung là 1 và chính nó.
Ví dụ : 2, 3, 5, 7, 11, 13, 17, 23, 29, 31...
2.1.2. Số nguyên tố cùng nhau (relatively prime or coprime)
Với hai số nguyên dương a và b. Ký hiệu GCD (a, b) : Ước chung lớn nhất của a và b
( Greatest Common Divisor)
Ví dụ : GCD(6, 9) = 3
GCD(1, 3) = 1
Hai số a và b gọi là nguyên tố cùng nhau khi (a, b) = 1
Ví dụ: 9 và 10 nguyên tố cùng nhau vì (9, 10) = 1
2.1.3. Khái niệm modulo

Với m là một số nguyên dương .Ta nói hai số nguyên a va b là đồng dư với nhau modulo
m nếu m chia hết hiệu a - b Ký hiệu a ≡ b ( mod m)
Như vậy a ≡ b (mod m ) khi và chỉ khi tồn tại số nguyên k sao cho a = b + km

(2.1)
(2.2)

Ví dụ : 13 ≡ 3 ( mod 10 ) vì 13 = 3 + 1*10
2.1.4. Phi - Hàm EULER
Định nghĩa : Phi – Hàm Euler ∅(n) có giá trị tại n bằng số các số không vượt quá n và
nguyên tố cùng nhau với n. Ví dụ : ∅(5) = 4 , ∅(10) = 4
2.2. Lịch sử phát triển của hệ thống RSA
Tiêu chuẩn Rivest-Shamir-Adleman (RSA) - Giải thuật mã hóa cơng khai RSA là một
tiêu chuẩn được các tác giả Ronal Rivest, Adi Shamir và Leonard Adleman phát triển và
tìm hiểu tại Học viện Cơng nghệ Massachusetts (MIT) vào năm 1977, tên tiêu chuẩn được
lấy từ 3 chữ cái đầu của tên 3 tác giả, hiện tiêu chuẩn được các tổ chức Viện Tiêu chuẩn
19


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Quốc gia Hoa Kỳ (American National Standards Institute – ANSI), Viện Kỹ nghệ Điện và
Điện tử (Institute of Electrical and Electronics Engineers – IEEE) và Phịng thí nghiệm
RSA cơng nhận (RSA Laboratories là một bộ phận của Tập đoàn EMC).
Trước đó, vào năm 1973, Clifford Cocks, một nhà tốn học người Anh làm việc tại
GCHQ, đã mô tả một thuật tốn tương tự. Với khả năng tính tốn tại thời điểm đó thì thuật
tốn này khơng khả thi và chưa bao giờ được thực nghiệm. Tuy nhiên, phát minh này chỉ
được cơng bố vào năm 1997 vì được xếp vào loại tuyệt mật.
RSA là một thí dụ điển hình về một đề tài tốn học trừu tượng lại có thể áp dụng thực
tiễn vào đời sống thường nhật . Khi nghiên cứu về các số ngun tố, ít có ai nghĩ rằng khái

niệm số nguyên tố lại có thể hữu dụng vào lãnh vực truyền thơng.
2.3.Tìm hiểu thuật tốn RSA
RSA là một thuật tốn mật mã khóa cơng khai thành cơng đầu tiên. Nó cịn được gọi
là thuật tốn mật mã khơng đối xứng vì hai khóa khác nhau được sử dụng để mã hóa và giải
mã.
Mật mã khóa bất đối xứng phát triển do hai vấn đề của mật mã khóa đối xứng:
- Vấn đề đầu tiên: với chìa khóa mật mã đối xứng là sự phân bố trọng. Hai bên giao
tiếp có thể đã chia sẻ khóa đã được phân phối cho họ bằng bất kỳ phương tiện nào
hoặc khóa phải được chia sẻ với sự trợ giúp của trung tâm phân phối khóa . Tuy nhiên,
việc sử dụng trung tâm phân phối khóa làm tổn hại đến tính bí mật của khóa, cản trở
tính bảo mật của thơng điệp.
- Vấn đề thứ hai: với chìa khóa mật mã đối xứng là chữ ký số . Đó là, có một yêu cầu
về chữ ký điện tử sẽ đảm bảo với tất cả các bên rằng thông điệp đã được gửi từ một
cá nhân cụ thể. Vì vậy, đã thiếu xác thực.
Cả hai vấn đề này của mật mã khóa đối xứng đều dẫn đến sự phát triển của mật mã
khóa bất đối xứng. Vào năm 1978, ba nhà phát minh tại MIT; Rivest, Shamir và Adleman
đã giới thiệu thuật tốn khóa cơng khai RSA theo các bước cơ bản bên dưới:
20


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

Trong mật mã khóa cơng khai RSA, mỗi người dùng phải tạo hai khóa, một
khóa riêng và một khóa cơng khai:
- Khóa cơng khai được lưu hành hoặc cơng bố cho tất cả mọi người và do đó những
người khác biết về nó trong khi khóa riêng tư chỉ được giữ bí mật với người dùng.
- Người gửi phải mã hóa tin nhắn bằng khóa cơng khai của người nhận dự định.
- Chỉ người nhận dự định mới có thể bẻ khóa tin nhắn. Trong q trình liên lạc, khơng
ai có thể làm gây hại đến tính bí mật của thơng điệp vì thơng báo chỉ có thể được giải
mã bằng khóa riêng của người nhận dự định mà chỉ người nhận đó mới biết.


Hai vấn đề của mật mã khóa đối xứng là tính bảo mật và xác thực có thể được khắc
phục bằng cách sử dụng kép mật mã khóa cơng khai.
Trong mật mã RSA, cả khóa cơng khai và khóa riêng đều có thể mã hóa một tin
nhắn; khóa đối diện với khóa được sử dụng để mã hóa một tin nhắn được sử dụng để giải
mã nó. Thuộc tính này là một lý do tại sao RSA đã trở thành thuật toán bất đối xứng được
sử dụng rộng rãi nhất: Nó cung cấp một phương pháp để đảm bảo tính bảo mật, tính tồn
vẹn, tính xác thực và không từ chối của truyền thông điện tử và lưu trữ dữ liệu.
Thuật toán RSA được sử dụng vì:
- RSA có được tính bảo mật từ khó khăn trong việc tính tốn các số ngun lớn là tích
của hai số nguyên tố lớn. Việc nhân hai số này rất dễ dàng, nhưng việc xác định các
số nguyên tố ban đầu từ tổng - hoặc tính thừa - được coi là không khả thi do tốn nhiều
thời gian khi sử dụng ngay cả các siêu máy tính ngày nay.
- Thuật tốn tạo khóa cơng khai và riêng tư là phần phức tạp nhất của mật mã RSA. Hai
số nguyên tố lớn p và q được tạo ra bằng cách sử dụng thuật tốn kiểm tra tính ngun
tố Rabin-Miller. Mơđun, n, được tính bằng cách nhân p và q. Số này được sử dụng
bởi cả khóa cơng khai và khóa riêng tư và cung cấp liên kết giữa chúng. Độ dài của
nó, thường được biểu thị bằng bit, được gọi là độ dài khóa.

21


Bài thi cuối kỳ mơn ANM – Nhóm tiểu luận 12

- Khóa cơng khai bao gồm mơđun n và số mũ công khai e. e không nhất thiết phải là số
ngun tố được chọn bí mật, vì khóa cơng khai được chia sẻ với mọi người.
- Khóa riêng bao gồm mơđun n và số mũ riêng d, được tính tốn bằng cách sử dụng
thuật tốn Euclide mở rộng để tìm nghịch đảo nhân modulo ∅(n).
2.4. Nguyên lý hoạt động giải thuật RSA
Có ba giai đoạn chính trong việc mã hóa cơng khai: Generate(Tạo khóa), Encrypt(Mã

hóa), Decrypt(Giải mã):
-

Generate(Tạo khóa): Tạo ra khóa riêng và khóa cơng khai

-

Encrypt(Mã hóa):

▪ Mã hóa tin nhắn bằng khóa riêng của người gửi, khóa này có thể được giải mã bằng
khóa cơng khai của người gửi (tất cả đều biết). Điều này cung cấp một chữ ký điện
tử cho tin nhắn của người gửi và do đó xác thực đạt được.
▪ Mã hóa lại bằng khóa công khai của người nhận . Điều này sẽ chỉ cho phép người
nhận dự định giải mã tin nhắn, điều này cung cấp tính bảo mật cho tin nhắn.
-

Decrypt(Giải mã): Giải mã được hiển thị.

Hình 2.1: Các giai đoạn mã hóa khóa cơng khai
22


×