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

Lý thuyết mã hóa và vấn đề xác minh thông tin

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.09 MB, 93 trang )

1

LỜI CAM ĐOAN
Sau quá trình học tập tại Trường Đại học công nghệ thông tin & truyền
thông, với những kiến thức lý thuyết và thực hành đã tích lũy được, với việc vận dụng
các kiến thức vào thực tế, em đã tự nghiên cứu các tài liệu, các công trình nghiên cứu,
đồng thời có sự phân tích, tổng hợp, đúc kết và phát triển để hoàn thành luận văn thạc
sĩ của mình.
Em xin cam đoan luận văn này là công trình do bản thân em tự tìm hiểu, nghiên
cứu và hoàn thành dưới sự hướng dẫn của thầy giáo TS. Vũ Vinh Quang.

Thái Nguyên, tháng 9 năm 2014
Học viên

Đặng Thị Như Trang


2

LỜI CẢM ƠN
Trong thời gian hai năm của chương trình đào tạo thạc sĩ, trong đó gần một nửa
thời gian dành cho các môn học, thời gian còn lại dành cho việc lựa chọn đề tài, giáo
viên hướng dẫn, tập trung vào nghiên cứu, viết, chỉnh sửa và hoàn thiện luận văn. Với
quỹ thời gian như vậy và với vị trí công việc đang phải đảm nhận, không riêng bản
thân em mà hầu hết các học viên cao học muốn hoàn thành tốt luận văn của mình trước
hết đều phải có sự sắp xếp thời gian hợp lý, có sự tập trung học tập và nghiên cứu với
tinh thần nghiêm túc, nỗ lực hết mình; tiếp đến cần có sự ủng hộ về tinh thần, sự giúp
đỡ về chuyên môn, một trong những điều kiện không thể thiếu quyết định đến việc
thành công của luận văn.
Để hoàn thành được luận văn này trước tiên em xin gửi lời cảm ơn đến thầy
giáo hướng dẫn TS. Vũ Vinh Quang, người đã có những định hướng cho em về nội


dung và hướng phát triển của đề tài, người đã có những đóng góp quý báu cho em về
những vấn đề chuyên môn của luận văn, giúp em tháo gỡ kịp thời những vướng mắc
trong quá trình làm luận văn.
Em cũng xin cảm ơn các thầy cô giáo Trường Đại học Công nghệ thông tin và
Truyền thông cũng như bạn bè cùng lớp đã có những ý kiến đóng góp bổ sung cho đề
tài luận văn của em. Xin cảm ơn gia đình, người thân cũng như đồng nghiệp luôn quan
tâm, ủng hộ hỗ trợ về mặt tinh thần trong suốt thời gian từ khi nhận đề tài đến khi hoàn
thiện luận văn này.
Em xin hứa sẽ cố gắng hơn nữa, tự trau dồi bản thân, tích cực nâng cao năng lực
chuyên môn của mình để sau khi hoàn thành luận văn này sẽ có hướng tập trung
nghiên cứu sâu hơn, không ngừng hoàn thiện hơn nữa luận văn của mình để có những
ứng dụng thực tiễn cao trong thực tế.
Thái Nguyên, tháng 9 năm 2014
Học viên

Đặng Thị Như 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 CHỮ VIẾT TẮT ......................................................................................... 5
DANH MỤC BẢNG BIỂU ........................................................................................................ 6
DANH MỤC HÌNH VẼ ............................................................................................................. 7
MỞ ĐẦU .................................................................................................................................... 8
Chương 1. TỔNG QUAN VỀ HỆ MÃ ..................................................................................... 12
1.1. GIỚI THIỆU CHUNG VỀ MÃ HÓA ........................................................................... 12

1.1.1. An toàn và bảo mật thông tin ............................................................................... 12
1.1.2. Mục tiêu của an toàn bảo mật thông tin ................................................................ 13
1.1.3. Các chiến lược an toàn hệ thống ........................................................................... 14
1.1.4. An toàn thông tin bằng mật mã ............................................................................. 15
1.1.5. Vai trò của hệ mật mã............................................................................................ 16
1.1.6. Các thành phần của một hệ mật mã ....................................................................... 16
1.1.7. Tiêu chuẩn đánh giá hệ mật mã ............................................................................. 17
1.2. CƠ SỞ TOÁN HỌC ...................................................................................................... 18
1.2.1. Cơ sở toán học ....................................................................................................... 18
1.2.2. Số nguyên tố và phân tích thành thừa số ............................................................... 19
1.2.3. Phép mũ hóa và khai căn modul ............................................................................ 22
1.3. MẬT MÃ HỌC VÀ MẬT MÃ KHÓA CÔNG KHAI RSA ........................................ 23
1.3.1. Mã hóa dữ liệu ....................................................................................................... 23
1.3.2. Ứng dụng của mã hóa ............................................................................................ 24
1.3.3. Phân loại mã hóa ................................................................................................... 24
1.3.4. Ưu khuyết điểm của hai phương pháp................................................................... 27
1.3.5. Hệ mã RSA (R.Rivest, A.Shamir, L.Adleman) ..................................................... 28
1.3.6. Một số vấn đề về khóa của RSA ........................................................................... 33
1.3.7. Module trong hệ thống RSA.................................................................................. 39
1.3.8. Tốc độ của RSA..................................................................................................... 41
1.3.9. Vấn đề tìm văn bản bằng RSA .............................................................................. 42
1.3.10. Vấn đề sử dụng RSA hiện nay ............................................................................ 42
1.4. KẾT LUẬN CHƯƠNG 1 .............................................................................................. 43
Chương 2. CHỮ KÝ ĐIỆN TỬ ................................................................................................ 44
2.1. ĐẶT VẤN ĐỀ ............................................................................................................... 44
2.1.1. Vấn đề xác thực ..................................................................................................... 44
2.1.2. Vấn đề chữ ký số ................................................................................................... 45
2.2. HÀM BĂM MẬT MÃ .................................................................................................. 46
2.2.1. Định nghĩa ............................................................................................................. 46
2.2.2. Phân loại ................................................................................................................ 47

2.2.3 Cấu trúc cơ bản của thuật toán băm ....................................................................... 47
2.2.4. Hàm băm MD5 ...................................................................................................... 48


4

2.2.5. Hàm băm SHA-1 ................................................................................................... 49
2.3. MỘT SỐ KHÁI NIỆM VÀ TÍNH CHẤT CHỮ KÝ ĐIỆN TỬ ................................... 49
2.3.1. Khái niệm: ............................................................................................................. 49
2.3.2. Các bước tạo và kiểm tra chữ ký điện tử ............................................................... 50
2.3.3. Vị trí, vai trò của chữ ký số ................................................................................... 50
2.3.4. Phân loại chữ ký số................................................................................................ 51
2.3.5. Sơ đồ chữ ký số ..................................................................................................... 52
2.3.6. Sơ đồ chữ ký RSA ................................................................................................. 53
2.3.7. Lược đồ chữ ký số ................................................................................................. 54
2.3.8. Yêu cầu chữ ký số ................................................................................................. 55
2.3.9. Đặc điểm của chữ ký số......................................................................................... 55
2.3.10. Tấn công chữ ký số.............................................................................................. 56
2.3.11. So sánh chữ ký thông thường và chữ ký số ......................................................... 57
2.3.12. Độ an toàn của chữ ký RSA ................................................................................ 58
2.4. MÔ HÌNH CHỮ KÝ SỐ DỰA TRÊN RSA ................................................................. 59
2.4.1. Quá trình ký và gửi các tệp văn bản ...................................................................... 59
2.4.2. Quá trình nhận các tệp văn bản ............................................................................. 60
2.5. KẾT LUẬN CHƯƠNG 2 .............................................................................................. 61
Chương 3. MỘT SỐ KẾT QUẢ ỨNG DỤNG CHỮ KÝ ĐIỆN TỬ ....................... 62
3.1. MÔ HÌNH BÀI TOÁN THỰC TẾ ............................................................................... 62
3.1.1. Một vài nét về tổ chức của cơ quan ....................................................................... 62
3.1.2. Vấn đề ứng dụng công nghệ thông tin hiện nay .................................................... 63
3.1.3. Vấn đề lưu trữ văn bản .......................................................................................... 65
3.1.4. Vấn đề bảo mật văn bản ........................................................................................ 67

3.2. ĐỀ XUẤT PHƯƠNG ÁN BẢO MẬT ......................................................................... 72
3.2.1. Các module ............................................................................................................ 76
3.2.2. Cấu hình hệ thống.................................................................................................. 77
3.2.3. Quy trình thực hiện ký văn bản khi gửi có xác thực. ............................................ 78
3.3. MỘT SỐ HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH CHỮ KÝ SỐ...................... 78
3.3.1. Giao diện chính...................................................................................................... 78
3.3.2. Giao diện chương trình nhập khóa cho thuật toán RSA ........................................ 79
3.3.3. Giao diện chương trình thuật toán RSA ................................................................ 79
3.3.4. Giao diện chương trình chữ ký (phần ký kiểm tra chữ ký) ................................... 81
3.4. MỘT SỐ ĐÁNH GIÁ KHI THỬ NGHIỆM TẠI CƠ SỞ THỰC TẾ .......................... 82
3.5. KẾT LUẬN CHƯƠNG 3 .............................................................................................. 82
KẾT LUẬN............................................................................................................................... 83
TÀI LIỆU THAM KHẢO ........................................................................................................ 84
PHỤ LỤC ................................................................................................................................. 85
Phụ lục 1: Tạo cặp khóa bí mật – công khai.................................................................... 85
Phụ lục 2: Tạo chữ ký số ................................................................................................. 86
Phụ lục 3: Xác thực chữ ký số ......................................................................................... 90


5

DANH MỤC CÁC CHỮ VIẾT TẮT
RSA

R.Rivest A.Shamir L.Adleman

DES

Data Encrypt Standar


MAC

Media Access Control


6

DANH MỤC BẢNG BIỂU
Các ưu khuyết điểm của hệ thống khóa bí mật

20

Các ưu khuyết điểm của hệ thống mã hóa khóa công khai

21

Chiều dài khóa công khai

27


7

DANH MỤC HÌNH VẼ
Hình 1.1. Mã hoá với khóa mã và khóa giải giống nhau

10

Hinh 1.2. Quy trình mã hóa dữ liệu


16

Hình 1.3. Sơ đồ mã hóa và giải mã

17

Hình 1.4. Sơ đồ mã hóa và giải mã bằng khóa riêng

19

Hình 1.5. Sơ đồ mã hóa và giải mã bằng khóa công khai

20

Hình 1.6. Kiểm tra khóa

30

Hình 1.7. Hình thức kiểm tra khóa bảo mật

30

Hình 1.8. Bảo mật tại nơi ra và nơi nhận vào của hai người sử dụng

31

Hình 1.9. Bảo mật tại nơi ra của người gửi và tại nơi nhận trước khi vào hệ

31


thống của người nhận.
Hình 1.10. Kết hợp bảo mật tại các máy chủ

32

Hình 2.1. Tổng quan về chữ ký số

38

Hình 2.2. Minh họa chữ ký số của bên gửi cho thông báo M

42

Hình 2.3. Sơ đồ chữ ký số

45

Hình 2.4. Ký văn bản

53

Hình 2.5. Xác thực chữ ký

54

Hình 3.1. Sơ đồ chương trình chữ ký số

70

Hình 3.2. Quy trình thực hiện ký văn bản khi gửi có xác thực


71

Hình 3.3. Giao diện chính

71

Hình 3.4. Giao diện chương trình nhập khóa cho thuật toán RSA

72

Hình 3.5. Giao diện chương trình thuật toán RSA

72

Hình 3.6. Giao diện chương trình chữ ký (phần ký văn bản)

73

Hình 3.7. Giao diện chương trình chữ ký (phần ký kiểm tra chữ ký)

74


8

MỞ ĐẦU
1. Lý do lựa chọn đề tài
Văn bản là phương tiện lưu giữ và truyền đạt thông tin bằng ngôn ngữ hay ký
hiệu nhất định. Ở Việt Nam, Theo thống kê của Bộ Công thương, trong năm 2012 cả

nước có tới 2,9 triệu tấn giấy đã được tiêu thụ. Điều này cho thấy văn bản, tài liệu bằng
giấy vẫn tiếp tục là một phương tiện quan trọng trong mọi hoạt động kinh doanh và
nghiệp vụ. Tuy nhiên, đây cũng là thách thức về vấn đề lưu trữ và quản lý, khai thác,
sử dụng thông tin đối với các cơ quan, doanh nghiệp Việt Nam, nhất là trong thời kỳ
bùng nổ công nghệ thông tin.
Trong khi tại Việt Nam, một số giải pháp phần mềm đang được phát triển và
triển khai liên quan đến công tác văn bản, lưu trữ tài liệu như dịch vụ số hóa dữ liệu,
các phần mềm quản lý văn bản, công văn…nhằm giải quyết hiệu quả trong việc số hóa
văn bản giấy, giải toả các tủ hồ sơ lưu trữ với hàng chồng văn bản có nguy cơ bị hư hại
theo thời gian; thì hiện nay trên thế giới đã được áp dụng rộng rãi tại những nước phát
triển như Mỹ, Nhật… Chúng được sử dụng trong nhiều tổ chức Chính Phủ, bao gồm
các chi nhánh của Chính Phủ Mỹ, những tập đoàn chính yếu, những thư viện quốc tế
và các trường Đại học. Nhiều nước không chỉ triển khai chữ ký số trên mạng máy tính
mà còn áp dụng trên mạng điện thoại di động để thực hiện các giao dịch điện tử.
Hầu như các hoạt động, giao dịch đều được sử dụng qua mạng máy tính và văn
bản không nằm ngoài sự phát triển chung đó. Tuy nhiên, các văn bản khi giao dịch trao
đổi trên mạng có nguy cơ bị thay đổi, sao chép hoặc mất mát dữ liệu trong các ứng
dụng luôn là vấn đề gây bức xúc được nhiều người quan tâm.
Trong bối cảnh hiện tại, mọi hệ thống thông tin điện tử đều phải đương đầu với
bài toán đảm bảo an toàn và bảo mật. Trong đó, an toàn thông tin bằng mật mã có vai
trò rất quan trọng và được ứng dụng rộng khắp. Nắm bắt được thông tin nhiều khi
mang ý nghĩa quyết định, sống còn đặc biệt trong các lĩnh vực: kinh tế, chính trị, an


9

ninh, quốc phòng…Vì vậy việc bảo mật thông tin đã, đang và sẽ là vấn đề được đặt ra
rất cấp bách. Để giải quyết vấn đề đó các hệ mật mã đã ra đời. Từ các hệ mật mã sơ
khai cổ điển như: Hệ mã Dịch Vòng, hệ mã Hill, hệ mã Affine,…, cho đến các hệ mật
mã hiện đại, phức tạp như hệ mã DES. Các hệ mật mã công khai như hệ mã RSA, hệ

mã Ba Lô. Nhưng đi kèm với sự ra đời và phát triển của các hệ mật mã là các phương
pháp phá khóa các hệ mật mã đó. Cuộc chiến giữa bảo mật thông tin và xâm phạm
thông tin vẫn luôn diễn ra một cách thầm lặng nhưng vô cùng gay gắt.
Internet ngoài những mặt mạnh như chúng ta đã biết là cho phép mọi người truy
cập, khai thác, chia sẻ thông tin; thì nó cũng là nguyên nhân chính dẫn đến thông tin bị
rò rỉ hoặc bị phá hoại. Lúc này việc bảo mật an toàn dữ liệu là vấn đề thời sự. Nhằm
giải quyết vấn đề xử lý các giao dịch trao đổi văn bản trên mạng chữ ký điện tử đã
được ứng dụng rộng rãi. Một trong những ứng dụng cực kỳ quan trọng của chữ ký điện
tử là đảm bảo an toàn dữ liệu khi truyền trên mạng.
Chính vì vậy, với mong muốn tìm hiểu một trong những phương pháp bảo vệ
an toàn thông tin có tính an toàn cao hiện nay là dùng mật mã khóa công khai RSA và
một vài ứng dụng của mật mã khóa công khai: Sử dụng chữ ký số trong việc xác thực,
mã hóa và giải mã các tập tin văn bản. Đồng thời được sự đồng ý và hướng dẫn của
thầy giáo, TS. Vũ Vinh Quang, tác giả lựa chọn đề tài luận văn tốt nghiệp “Lý thuyết
mã hóa và vấn đề xác minh thông tin” với mong muốn áp dụng các kiến thức đã được
học, xây dựng thử nghiệm mô hình giải quyết bài toán ký và xác thực trong văn bản
quản lý Nhà nước tại Sở Thông tin và Truyền thông Tuyên Quang.
2. Mục đích nghiên cứu
Qua việc phân tích, khảo sát và đánh giá thực trạng sử dụng văn bản quản lý
Nhà nước tại Việt Nam cũng như trên thế giới, kết hợp với việc nghiên cứu các kỹ
thuật, phương pháp, thuật toán mã hóa, mục tiêu chính của luận văn được xác định là:
Nghiên cứu về lý thuyết mật mã, mật mã khóa công khai RSA, chữ ký số và ứng dụng
thuật toán RSA trong mã hóa dữ liệu. Từ đó xây dựng hệ thống cho phép tạo và kiểm


10

tra chữ ký số đối với các tài liệu văn bản quản lý nhà nước để bảo mật nội dung thông
tin cũng như xác thực nguồn gốc của thông tin. Ứng dụng chữ ký số RSA để giải quyết
bài toán ký và xác thực trong văn bản quản lý Nhà nước tại tỉnh Tuyên Quang.

3. Đối tượng và phạm vi nghiên cứu
Hệ mật mã khóa công khai RSA.
Mô hình chung về chữ ký số và chữ ký số RSA.
Trong phạm vi luận văn, tác giả sử dụng giải pháp của Lược đồ Chữ ký số RSA
để giải quyết các vấn đề đã nêu.
4. Phương pháp luận nghiên cứu
Phương pháp nghiên cứu lý thuyết: Tổng hợp tài liệu; Nghiên cứu các tài liệu về
văn bản quản lý Nhà nước; Nghiên cứu về hệ mã hóa công khai, hệ mật RSA, chữ ký
số và các loại chữ ký số sử dụng hệ mật RSA; Tìm hiểu các kiến thức liên quan đến
chữ ký số RSA, các kỹ thuật giao thức sử dụng giải quyết bài toán ký và xác thực trong
văn bản quản lý Nhà nước.
Phương pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, phát biểu
bài toán, đưa ra giải pháp xử lý; Mô phỏng thử nghiệm chương trình trên phần mềm
Visual Studio; Đánh giá các kết quả đạt được.
Phương pháp trao đổi khoa học: Thảo luận, xemina, lấy ý kiến chuyên gia, công
bố các kết quả nghiên cứu trên tạp chí khoa học.
5. Ý nghĩa khoa học và thực tiễn của luận văn
Về mặt lý thuyết:
Trình bày khái quát về hệ mật mã, hệ mật mã khóa bí mật, hệ mật mã khóa công
khai.
Trình bày lý thuyết chung về các phương pháp mã hóa: phương pháp mã hóa
khóa bí mật và phương pháp mã hóa khóa công khai, nêu được ưu nhược điểm của hai
phương pháp này. Trình bày chi tiết hệ mật mã khóa công khai RSA.


11

Trình bày lý thuyết chung về chữ ký số, mô hình chữ ký số RSA.
Về mặt thực tiễn:
Xây dựng được chương trình ứng dụng dựa vào hệ mật RSA có chức năng bảo

mật nội dung cho các tập tin văn bản, tạo và kiểm tra chữ ký số cho các tập tin đó để
xác định tính toàn vẹn nội dung và chủ nhân của tập tin khi thực hiện trao đổi qua
Internet.
6. Nội dung chính của luận văn
Nội dung luận văn bao gồm 3 chương:
Chương 1: Tổng quan về hệ mã. Trong chương này cung cấp các kiến thức lý
thuyết cơ bản, những khái niệm về mật mã học; đi sâu về mật mã khóa công khai RSA.
Chương 2: Chữ ký số. Với những nội dung chính như: Khái niệm và tính chất
chữ ký điện tử; Mô hình chữ ký số dựa trên RSA.
Chương 3: Một số kết quả ứng dụng chữ ký điện tử. Dựa vào những cơ sở lý
thuyết đã nghiên cứu, trong chương này luận văn sẽ trình bày kết quả của việc triển
khai vấn đề bảo mật các tài liệu số trên mạng máy tính tại các cơ quan tỉnh Tuyên
quang dựa trên hệ mật mã RSA và chữ ký số. Phần cuối chương giới thiệu việc xây
dựng chương trình demo cho bài toán ký và xác thực trong văn bản quản lý Nhà nước.
Các kết quả này đã và đang được thử nghiệm tại Sở thông tin truyền thông.


12

Chương 1. TỔNG QUAN VỀ HỆ MÃ

1.1. GIỚI THIỆU CHUNG VỀ MÃ HÓA
1.1.1. An toàn và bảo mật thông tin
Thông tin luôn là yếu tố quan trọng trong các hoạt động của đời sống con người.
Trong thời đại ngày nay, khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa
dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng được
phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý
tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới. Bảo vệ an toàn thông
tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể
có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu. Các

phương pháp bảo vệ an toàn thông tin dữ liệu có thể được quy tụ vào ba nhóm sau:
- Bảo vệ an toàn thông tin bằng các biện pháp hành chính.
- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng).
- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm).
Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp. Môi trường khó
bảo vệ an toàn thông tin nhất và cũng là môi trường đối phương dễ xâm nhập nhất đó
là môi trường mạng và truyền tin. Biện pháp hiệu quả nhất và kinh tế nhất hiện nay
trên mạng truyền tin và mạng máy tính là biện pháp thuật toán.
An toàn thông tin bao gồm các nội dung sau:
- Tính bí mật: tính kín đáo riêng tư của thông tin
- Tính xác thực của thông tin, bao gồm xác thực đối tác (bài toán nhận danh),
xác thực thông tin trao đổi.
- Tính trách nhiệm: đảm bảo người gửi thông tin không thể thoái thác trách
nhiệm về thông tin mà mình đã gửi.


13

Để đảm bảo an toàn thông tin dữ liệu trên đường truyền tin và trên mạng máy
tính có hiệu quả thì điều trước tiên là phải lường trước hoặc dự đoán trước các khả
năng không an toàn, khả năng xâm phạm, các sự cố rủi ro có thể xảy ra đối với thông
tin dữ liệu được lưu trữ và trao đổi trên đường truyền tin cũng như trên mạng. Xác định
càng chính xác các nguy cơ nói trên thì càng quyết định được tốt các giải pháp để giảm
thiểu các thiệt hại.
Có hai loại hành vi xâm phạm thông tin dữ liệu đó là: vi phạm chủ động và vi
phạm thụ động. Vi phạm thụ động chỉ nhằm mục đích cuối cùng là nắm bắt được thông
tin (đánh cắp thông tin). Việc làm đó có khi không biết được nội dung cụ thể nhưng có
thể dò ra được người gửi, người nhận nhờ thông tin điều khiển giao thức chứa trong
phần đầu các gói tin. Kẻ xâm nhập có thể kiểm tra được số lượng, độ dài và tần số trao
đổi. Vì vậy vi phạm thụ động không làm sai lệch hoặc hủy hoại nội dung thông tin dữ

liệu được trao đổi. Vi phạm thụ động thường khó phát hiện nhưng có thể có những biện
pháp ngăn chặn hiệu quả. Vi phạm chủ động là dạng vi phạm có thể làm thay đổi nội
dung, xóa bỏ, làm trễ, sắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời điểm đó hoặc
sau đó một thời gian. Vi phạm chủ động có thể thêm vào một số thông tin ngoại lai để
làm sai lệch nội dung thông tin trao đổi. Vi phạm chủ động dễ phát hiện nhưng để ngăn
chặn hiệu quả thì khó khăn hơn nhiều.
Một thực tế là không có một biện pháp bảo vệ an toàn thông tin dữ liệu nào là
an toàn tuyệt đối. Một hệ thống dù được bảo vệ chắc chắn đến đâu cũng không thể đảm
bảo là an toàn tuyệt đối.
1.1.2. Mục tiêu của an toàn bảo mật thông tin
Bên cạnh việc làm thế nào để che dấu nội dung thông tin thì mã hoá phải đảm
bảo các mục tiêu sau:


14

Tính bí mật (Confjdentialy): Đảm bảo dữ liệu được truyền đi một cách an toàn
và không thể bị lộ thông tin nếu như có ai đó cố tình muốn có được nội dung của dữ
liệu gốc ban đầu. Chỉ những người được phép mới có khả năng đọc được nội dung
thông tin ban đầu.
Tính xác thực (Authentication): Giúp cho người nhận dữ liệu xác định được
chắc chắn dữ liệu mà họ nhận là dữ liệu gốc ban đầu. Kẻ giả mạo không thể có khả
năng để giả dạng một người khác hay nói cách khác không thể mạo danh để gửi dữ
liệu. Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được.
Tính toàn vẹn (Integrity): Giúp cho người nhận dữ liệu kiểm tra được rằng dữ
liệu không bị thay đổi trong quá trình truyền đi. Kẻ giả mạo không thể có khả năng
thay thế dữ liệu ban đầu bằng dữ liệu giả mạo.
Tính không thể chối bỏ (Non-repudation): Người gửi hay người nhận không thể
chối bỏ sau khi đã gửi hoặc nhận thông tin.
1.1.3. Các chiến lược an toàn hệ thống

- Giới hạn quyền hạn tối thiểu (Last Privilege):
Đây là chiến lược cơ bản nhất theo nguyên tắc này bất kỳ một đối tượng nào
cũng chỉ có những quyền hạn nhất định đối với tài nguyên mạng, khi thâm nhập vào
mạng đối tượng đó chỉ được sử dụng một số tài nguyên nhất định.
- Bảo vệ theo chiều sâu (Defence In Depth):
Nguyên tắc này nhắc nhở chúng ta: Không nên dựa vào một chế độ an toàn nào
dù cho chúng rất mạnh, mà nên tạo nhiều cơ chế an toàn để tương hỗ lẫn nhau.
- Nút thắt (Choke Point):
Tạo ra một “cửa khẩu” hẹp, và chỉ cho phép thông tin đi vào hệ thống của mình
bằng con đường duy nhất chính là “cửa khẩu” này => phải tổ chức một cơ cấu kiểm
soát và điều khiển thông tin đi qua cửa này.


15

- Điểm nối yếu nhất (Weakest Link):
Chiến lược này dựa trên nguyên tắc: “Một dây xích chỉ chắc tại mắt duy nhất,
một bức tường chỉ cứng tại điểm yếu nhất”.
Kẻ phá hoại thường tìm những chỗ yếu nhất của hệ thống để tấn công, do đó ta
cần phải gia cố các yếu điểm của hệ thống. Thông thường chúng ta chỉ quan tâm đến
kẻ tấn công trên mạng hơn là kẻ tiếp cận hệ thống, do đó an toàn vật lý được coi là yếu
điểm nhất trong hệ thống của chúng ta.
- Tính toàn cục:
Các hệ thống an toàn đòi hỏi phải có tính toàn cục của các hệ thống cục bộ. Nếu
có một kẻ nào đó có thể bẻ gãy một cơ chế an toàn thì chúng có thể thành công bằng
cách tấn công hệ thống tự do của ai đó và sau đó tấn công hệ thống từ nội bộ bên trong.
- Tính đa dạng bảo vệ:
Cần phải sử dụng nhiều biện pháp bảo vệ khác nhau cho hệ thống khác nhau, nếu
không có kẻ tấn công vào được một hệ thống thì chúng cũng dễ dàng tấn công vào các
hệ thống khác.

1.1.4. An toàn thông tin bằng mật mã
Mật mã là một ngành khoa học chuyên nghiên cứu các phương pháp truyền tin
bí mật. Mật mã bao gồm: Lập mã và phá mã. Lập mã bao gồm hai quá trình: mã hóa và
giải mã.
Để bảo vệ thông tin trên đường truyền người ta thường biến đổi nó từ dạng nhận
thức được sang dạng không nhận thức được trước khi truyền đi trên mạng, quá trình
này được gọi là mã hoá thông tin (encryption), ở trạm nhận phải thực hiện quá trình
ngược lại, tức là biến đổi thông tin từ dạng không nhận thức được (dữ liệu đã được mã
hoá) về dạng nhận thức được (dạng gốc), quá trình này được gọi là giải mã. Đây là một
lớp bảo vệ thông tin rất quan trọng và được sử dụng rộng rãi trong môi trường mạng.
Để bảo vệ thông tin bằng mật mã người ta thường tiếp cận theo hai hướng:
-

Theo đường truyền (Link_Oriented_Security).


16

-

Từ nút đến nút (End_to_End).

Theo cách thứ nhất thông tin được mã hoá để bảo vệ trên đường truyền giữa hai
nút mà không quan tâm đến nguồn và đích của thông tin đó. Ở đây ta lưu ý rằng thông
tin chỉ được bảo vệ trên đường truyền, tức là ở mỗi nút đều có quá trình giải mã sau đó
mã hoá để truyền đi tiếp, do đó các nút cần phải được bảo vệ tốt.
Ngược lại theo cách thứ hai thông tin trên mạng được bảo vệ trên toàn đường
truyền từ nguồn đến đích. Thông tin sẽ được mã hoá ngay sau khi mới tạo ra và chỉ
được giải mã khi về đến đích. Cách này mắc phải nhược điểm là chỉ có dữ liệu của
người dùng thì mới có thể mã hóa được còn dữ liệu điều khiển thì giữ nguyên để có thể

xử lý tại các nút.
1.1.5. Vai trò của hệ mật mã
Các hệ mật mã phải thực hiện được các vai trò sau:
- Hệ mật mã phải che dấu được nội dung của văn bản rõ (PlainText) để đảm bảo
sao cho chỉ người chủ hợp pháp của thông tin mới có quyền truy cập thông tin
(Secrety), hay nói cách khác là chống truy nhập không đúng quyền hạn.
- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ thống
đến người nhận hợp pháp là xác thực (Authenticity).
- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo không có hiện tượng giả mạo, mạo
danh để gửi thông tin trên mạng.
Ưu điểm lớn nhất của bất kỳ hệ mật mã nào đó là có thể đánh giá được độ phức
tạp tính toán mà “kẻ địch” phải giải quyết bài toán để có thể lấy được thông tin của dữ
liệu đã được mã hoá. Tuy nhiên mỗi hệ mật mã có một số ưu và nhược điểm khác
nhau, nhưng nhờ đánh giá được độ phức tạp tính toán mà ta có thể áp dụng các thuật
toán mã hoá khác nhau cho từng ứng dụng cụ thể tuỳ theo độ yêu cầu về độ an toàn.
1.1.6. Các thành phần của một hệ mật mã
 Định nghĩa :
Một hệ mật mã là một bộ 5 (P,C,K,E,D) thoả mãn các điều kiện sau:


17

- P: Là một tập hợp hữu hạn các bản rõ, nó được gọi là không gian bản rõ.
- C: Là tập hữu hạn các bản mã, nó được gọi là không gian bản mã. Mỗi phần tử
của C có thể nhận được bằng cách áp dụng phép mã hoá Ek lên một phần tử của P, với
k  K.
- K: Là tập hữu hạn các khóa hay còn gọi là không gian khóa. Đối với mỗi phần tử
k của K được gọi là một khóa. Số lượng của không gian khóa phải đủ lớn để “kẻ địch”
không có đủ thời gian để thử mọi khóa có thể (phương pháp vét cạn). Đối với mỗi k 
K có một quy tắc mã ek: PC và một quy tắc giải mã tương ứng dk D. Mỗi ek: P C

và dk: CP là những hàm mà: Dk(ek(x))=x với mọi bản rõ x P.

Hình 1.1. Mã hoá với khóa mã và khóa giải giống nhau
1.1.7. Tiêu chuẩn đánh giá hệ mật mã
Để đánh giá một hệ mật mã người ta thường đánh giá thông qua các tiêu chí sau:
* Độ an toàn: Một hệ mật được đưa vào sử dụng điều đầu tiên phải có độ an
toàn cao. Ưu điểm của mật mã là có thể đánh giá được độ an toàn thông qua độ an toàn
tính toán mà không cần phải cài đặt. Một hệ mật được coi là an toàn nếu để phá hệ mật
mã này phải dùng n phép toán. Mà để giải quyết n phép toán cần thời gian vô cùng lớn,
không thể chấp nhận được.
Một hệ mật mã được gọi là tốt thì nó cần phải đảm bảo các tiêu chuẩn sau:


18

- Chúng phải có phương pháp bảo vệ mà chỉ dựa trên sự bí mật của các khóa,
công khai thuật toán.
- Khi cho khóa công khai ek và bản rõ P thì chúng ta dễ dàng tính được
ek(P)=C. Ngược lại khi cho dk và bản mã C thì dễ dàng tính được dk(M)=P. Khi không
biết dk thì không có khả năng để tìm được M từ C, nghĩa là khi cho hàm f: X Y thì
việc tính y=f(x) với mọi x thuộc X là dễ còn việc tìm x khi biết y lại là vấn đề khó và
nó được gọi là hàm một chiều.
- Bản mã C không được có các đặc điểm gây chú ý, nghi ngờ.
* Tốc độ mã và giải mã: Khi đánh giá hệ mật mã chúng ta phải chú ý đến tốc độ
mã và giải mã. Hệ mật tốt thì thời gian mã và giải mã nhanh.
* Phân phối khóa: Một hệ mật mã phụ thuộc vào khóa, khóa này được truyền
công khai hay truyền khóa bí mật. Phân phối khóa bí mật thì chi phí sẽ cao hơn so với
các hệ mật có khóa công khai. Vì vậy đây cũng là một tiêu chí khi lựa chọn hệ mật mã.
Trong mật mã học nói chung thì toán học là công cụ không thể thiếu. Các thuật
toán mã hóa đều dùng công thức toán học làm nền cơ bản. Vì vậy phần tiếp theo sẽ

trình bày ngắn gọn về số học và hình học đại số có ứng dụng trực tiếp trong mã hóa
thông tin, đặc biệt là trong thuật toán mã hóa RSA.
1.2. CƠ SỞ TOÁN HỌC
1.2.1. Cơ sở toán học
Mục này được trình bày trong [2].
Số học là một nhánh của toán học, nhưng nó lại trở thành một trong những công
cụ hữu hiệu nhất trong an ninh máy tính. Số học giúp người dùng mua sắm trực tuyến
bằng cách bảo vệ số thẻ tín dụng. Đó là một trong những thành tựu đáng ghi nhận từ
năm 1970 đến nay và đã được áp dụng rộng rãi trên thế giới. Những giao thức mã hóa
đặc biệt là chữ ký số điện tử đều dựa trên kiến thức số học để tạo khóa, mã hóa và giải
mã. An toàn của những giao thức này đều liên quan đến vấn đề trong số học: Số
nguyên tố và phân tích thành thừa số.


19

1.2.2. Số nguyên tố và phân tích thành thừa số
1.2.2.1. Phát sinh số nguyên tố
Hai số nguyên tố p và q nên có chiều dài bằng nhau, điều này sẽ làm cho mođun
n khó phân tích hơn là có một trong hai số nguyên tố rất nhỏ. Vì vậy, nếu ta chọn dùng
module n 512 bít thì mỗi số nguyên tố nên có chiều dài xấp xỉ 256 bít.
Trong hầu hết tất cả hệ khóa công khai, kích thước của khóa phù hợp với kích
thước những đầu vào cho hàm một chiều, kích thước càng lớn thì sự khác biệt trong
việc tính toán hàm theo hướng thuận và hướng nghịch càng lớn.
Những hệ mật mã khóa công khai trong thực tế dựa trên những hàm được xem
là một chiều nhưng chúng không được chứng minh có nghĩa là về mặt lý thuyết, một
giải thuật sẽ có thể được phục hồi để có thể tính hàm nghịch một cách dễ dàng.
Thủ tục kiểm tra số nguyên tố:
int BN_is_prime(const BIGNUM *a, int checks, void (^callback) (int, int, void
*), BN_CTX *ctx_passed, void *cb_arg)

{
return BN_is_prime_fasttest(a, checks, callback, ctx_passed, cb_arg, 0); }
Hàm phát sinh số nguyên tố:
BIGNUM *BN_generatase_prime(BIGNUM *ret, intbits, int safe,
const BIGNUM *add, const BIGNUM *rem, void (*callback)(int, int, void
*), void *cb_arg)
{loop:
/* tạo ra một số ngẫu nhiên và thiết lập bít đầu và bít cuối */ if (add == NULL)
{if (!probable_prime(rnd, bits)) goto err; }
else {if(safe)
{if (!probable_prime_dh_safe(md, bits, add, rem, ctx)) goto err;}
else {if (!probable_prime_dh(rnd, bits, add, rem, ctx)) goto err;}
}


20

1.2.2.2. Phân tích thành thừa số
Phân tích thành thừa số là việc phân những số nguyên thành những số nguyên
nhỏ hơn mà khi nhân những số đó với nhau sẽ thành số nguyên ban đầu. Phân tích thừa
số nguyên tố đòi hỏi phải phân tích một số nguyên thành những thừa số là những số
nguyên tố. Rõ ràng việc phân tích thành thừa số nguyên tố là một bài toán khó trong lý
thuyết số học.
Phân tích thừa số nguyên tố là vấn đề khó khăn trong nhiều hệ mã khóa công
khai, kể cả RSA. Nếu việc phân tích thành thừa số nguyên tố thành công sẽ cho phép
tìm ra khóa riêng tức là hệ mật mã bị bẻ khóa. Vì vậy bất cứ ai có thể phân tích thành
thừa số một muđun đều có thể mã hoá thông điệp và giả mạo chữ ký. Nhưng đây là
một việc hết sức khó khăn.
Phân tích thành thừa số những số nguyên lớn mất nhiều thời gian hơn so với
những số nguyên nhỏ. Điều này lý giải tại sao kích thước muđun RSA xác định tính

bảo mật như thế nào; module càng lớn, việc phân tích thành thừa số nguyên tố càng
khó.
+ Vấn đề của phân tích thừa số:
Việc phân tích thành thừa số trở nên dễ dàng hơn cách đây 15 năm bởi phần
cứng máy tính ngày càng mạnh hơn và những giải thuật phân tích thừa số nguyên tố
ngày càng phát triển.
Sự phát triển về phần cứng làm cho RSA càng bảo mật hơn bởi vì nó làm cho
người phá khóa phải phân tích thành thừa số những số lớn hơn trong cùng một thời
gian so với trước kia và cho phép người sử dụng dùng một khóa có nhiều số có độ dài
lớn hơn. Quy luật chung này có thể thất bại trong trường hợp dùng những máy có tốc
độ cao của tương lai để tấn công vào những khóa đời cũ nhờ vào sự tiến bộ của phần
cứng.
Những giải thuật phân tích thành thừa số tốt hơn sẽ giúp cho vấn đề phá khóa tốt
hơn so với việc phát triển phần cứng. Để giải quyết những khó khăn trong việc phân


21

tích thừa số, nhiều nhà nghiên cứu đã tìm ra những phương pháp phân tích thừa số mới.
Điều này làm cho việc phân tích thừa số dễ dàng hơn đối với những số có kích thước
bất kỳ và không quan tâm đến sự phát triển về phần cứng. Tuy nhiên, vấn đề này vẫn
còn nhiều khó khăn. Khi phần cứng ngày càng phát triển mà độ phức tạp của thuật toán
không tăng thì việc bảo mật của RSA càng cao vì khóa có kích thước càng lớn.
1.2.2.3. Kiểm tra ước số chung lớn nhất
Hàm tính ước số chung lớn nhất:
int BN_gcd(BIGNUM *r, const BIGNUM *in_a, const BIGNUM *in_b,
BN_CTX *ctx)
{
BIGNUM *a, *b, *t; int ret=0;
bn_check_top(in_a);

bn_check_top(in_b);
BN_CTX_start(ctx); a = BN_CTX_get(ctx); b = BN_CTX_get(ctx); if (a ==
NULL II b == NULL) goto err;
if (BN_copy(a, in_a) == NULL) goto err; if (BN_copy(b, in_b) == NULL) goto
err; a->neg = 0; b->neg = 0;
if (BN_cmp(a, b) < 0) { t=a; a=b; b=t; } t=euclid(a, b); // gọi thuật toán euclid if
(t == NULL) goto err;
if (BN_copy(r, t) == NULL) goto err; ret= 1;
BN_CTX_end(ctx);
return(ret);
}
Hàm kiểm tra số nguyên tố nhanh nhất:
int BN_is_prime_fasttest(const BIGNUM *a, int checks, void (*callback)(int,
int, void *), BN_CTX *ctx_passed, void *cb_arg, int do_trial_division)


22

1.2.3. Phép mũ hóa và khai căn modul
Như ở trên ta đã khai báo n là kết quả của phép nhân hai số nguyên tố lớn được
sinh ngẫu nhiên. Cho m và c là những số nguyên nằm trong khoảng (0,n-1) và e là một
số nguyên lẻ trong khoảng (3,n-1) và nguyên tố cùng nhau với p-1 và q-1.
Thao tác mã hóa và giải mã trong hệ mã hóa khóa công khai RSA được thực
hiện dựa trên 2 hệ quả và 1 ước lượng sau:
Hệ quả 1: Cho n, m và e. Việc tính c = me mod n là dễ dàng. Giá trị me mod n
chính thức là kết quả của nâng lũy thừa e của m, chia cho n và lấy phần dư.
Điều này có thể là một phép tính toán phức tạp liên quan tới việc nhân (e-1) số
m và kết quả trả về là một số nguyên lớn, trước khi việc thực hiện phép chia cho n. Tuy
nhiên hai cách tối ưu hóa sau làm cho việc tính toán trở nên dễ dàng:
- Nhân với một trình tự thích hợp của các giá trị trung gian trước đó, thay vì hơn

chỉ bằng m, có thể giảm số lượng các phép nhân để không quá hai lần kích thước của e
trong hệ nhị phân.
- Chia và lấy phần dư sau khi mỗi phép nhân giữ kết quả trung gian có cùng
kích thước như n.
Hệ quả 2: Cho n, e, c và những thừa số nguyên tố p, q; việc khôi phục lại giá trị
m sao cho c = me mod n là dễ dàng.
Giá trị m có thể khôi phục từ c bởi thao tác mũ hóa modul với một số nguyên lẻ
d nằm trong khoảng (3,n-1). Đặc biệt, với số d này, biểu thức sau thể hiện cho tất cả m:
m = (me)d mod n.
Số nguyên d này thì dễ dàng tính với e, p, q cho trước.
Hệ quả 3: Cho n, e và c nhưng không biết những thừa số nguyên tố, việc khôi
phục lại m là khó khăn.
Phương pháp nhanh nhất thì có sẵn trong việc tính toán khai căn modul dưới
điều kiện dựa là n và e là phân tích thừa số n và áp dụng hệ quả 5 để quyết định d.
Thực sự, bất kỳ phương thức nào quyết định d đều bị chuyển về một cách khác của


23

việc phân tích thừa số n. Đúng là có thể khi mà tồn tại một phương pháp mà tính toán
khai căn modul mà không cần phân tích n hoặc quyết định d. Nhưng cho đến nay chưa
phương pháp nào có thể làm như vậy nhanh hơn việc phân tích thừa số n.
Nhận xét: Số học, đặc biệt là số nguyên lớn và các phép tính đồng dư là những
công cụ quan trọng trong mật mã học đặc biệt là trong việc tính toán mật mã học khóa
công khai, điển hình là RSA.
1.3. MẬT MÃ HỌC VÀ MẬT MÃ KHÓA CÔNG KHAI RSA
1.3.1. Mã hóa dữ liệu
Mã hóa dữ liệu là sử dụng một phương pháp biến đổi dữ liệu từ dạng bình
thường sang một dạng khác, mà một người không có thẩm quyền, không có phương
tiện giải mã thì không thể đọc hiểu được. Giải mã dữ liệu là quá trình ngược lại, là sử

dụng một phương pháp biến đổi dữ liệu đã được mã hóa về dạng thông tin ban đầu.

Hinh 1.2. Quy trình mã hóa dữ liệu
- Mã hóa: Quá trình chuyển đổi dữ liệu gốc thành dữ liệu được mã hóa sao cho
người khác không thể đọc hiểu được.
- Giải mã: Là quá trình ngược lại của mã hóa, biến đổi dữ liệu đã được mã hóa
thành dạng gốc ban đầu.
- Bản mã: Tệp dữ liệu đã được mã hóa.
Một hệ thống mã hóa bao gồm các thành phần sau:
PlainText: Bản tin sẽ được mã hóa hay bản tin gốc.
CipherText: Bản tin đã được mã hóa hay bản tin mã.
Thuật toán mã hóa và giải mã:


24

Encryption: Quá trình chuyển bản tin gốc sang dạng mật mã.
Decryption: Quá trình giải bản tin dạng mật mã trở về bản tin gốc.
Cách chọn khóa: Giá trị toán học dùng để thực hiện mã hóa.
Nhiều phương pháp mã hóa đã được đưa ra dựa trên những giải thuật toán phức
tạp, để tạo khó khăn cho những ai đó muốn phá mật mã mà không cần được ai trao chìa
khóa. Nói tạo khó khăn là vì trên lý thuyết ta không thể nói việc tìm chìa khóa là vô
phương. Nhưng nếu trở ngại đủ lớn để làm nản lòng kẻ gian thì đã là một mức độ an
toàn tốt.
Quá trình mã hóa và giải mã có thể được minh họa theo sơ đồ sau:

```
```

-------------------------


Quá trình truyền
dữ liệu

```
```

-------------------------

Hình 1.3. Sơ đồ mã hóa và giải mã
1.3.2. Ứng dụng của mã hóa
Mã hóa có vai trò rất quan trọng, đặc biệt là trong các lĩnh vực như: giao dịch
điện tử, quản lý văn bản … Nó giúp đảm bảo bí mật, toàn vẹn của thông tin, khi thông
tin đó được truyền trên mạng.
Mã hóa cũng là nền tảng của kỹ thuật chữ ký điện tử.
1.3.3. Phân loại mã hóa
Có nhiều cách để phân loại hệ mật mã. Dựa vào cách truyền khóa có thể phân
các hệ mật mã thành hai loại:


25

- Hệ mật đối xứng (hay còn gọi là mật mã khóa bí mật): là những hệ mật dùng
chung một khóa cả trong quá trình mã hoá dữ liệu và giải mã dữ liệu. Do đó khóa phải
được giữ bí mật tuyệt đối.
- Hệ mật mã bất đối xứng (hay còn gọi là mật mã khóa công khai): Hay còn gọi
là hệ mật mã công khai, các hệ mật này dùng một khóa để mã hoá sau đó dùng một
khóa khác để giải mã, nghĩa là khóa để mã hoá và giải mã là khác nhau. Các khóa này
tạo nên từng cặp chuyển đổi ngược nhau và không có khóa nào có thể suy được từ
khóa kia. Khóa dùng để mã hoá có thể công khai nhưng khóa dùng để giải mã phải giữ

bí mật.
Ngoài ra nếu dựa vào thời gian đưa ra hệ mật mã ta còn có thể phân làm hai
loại: Mật mã cổ điển (là hệ mật mã ra đời trước năm 1970) và mật mã hiện đại (ra đời
sau năm 1970). Còn nếu dựa vào cách thức tiến hành mã thì hệ mật mã còn được chia
làm hai loại là mã dòng (tiến hành mã từng khối dữ liệu, mỗi khối lại dựa vào các khóa
khác nhau, các khóa này được sinh ra từ hàm sinh khóa, được gọi là dòng khóa) và mã
khối (tiến hành mã từng khối dữ liệu với khóa như nhau).
1.3.3.1 Mã hóa bằng khóa bí mật
Các hệ thống mã hóa với khóa bí mật còn được gọi là mã hóa bằng khóa riêng,
mã hóa đối xứng sử dụng duy nhất một khóa cho cả quá trình mã hóa lẫn quá trình giải
mã.
Có hai loại thuật toán mã hóa bí mật:
- Stream Algorithms/Stream Ciphers: các thuật toán hoạt động trên văn bản bình
thường theo từng bit một.
- Block Algorithms/Block Ciphers: các thuật toán hoạt động trên văn bản theo
các khối (32 bit, 64 bit, 128 bit, ...).
- Một số thuật toán đang được sử dụng rộng rãi hiện nay : DES, Triple-DES,
RC5, RC6, Rijndael ...


×