lOMoARcPSD| 45470709
TRƯỜNG ĐẠI HỌC THƯƠNG MẠI
KHOA HỆ THỐNG THÔNG TIN KINH TẾ THƯƠNG MẠI ĐIỆN TỬ
BÀI THẢO LUẬN
HỌC PHẦN: AN TOÀN VÀ BẢO MẬT THÔNG TIN
ĐỀ TÀI: TRÌNH BÀY KHÁI NIỆM, ĐẶC ĐIỂM, PHÂN LOẠI
CÁC HỆ THỐNG MÃ HÓA KHÔNG ĐỐI XỨNG
Giảng viên:
Trần Thị Nhung
Mã lớp học phần:
251_ECIT0921_01
Nhóm thực hiện:
Nhóm 4
Hà Nội, năm 2025
lOMoARcPSD| 45470709
2
LỜI CẢM ƠN
Trong quá trình nghiên cứu và hoàn thành đề tài “Trình bày khái niệm, đặc điểm,
phân loại các hệ thống hoá không đối xứng”, nhóm 4 đã nhận được sự quan tâm,
hướng dẫn và giúp đỡ quý báu từ nhiều cá nhân và tập thể.
Trước hết, nhóm chúng em xin gửi lời cảm ơn chân thành tới cô Trần Thị Nhung
đã tận tình giảng dạy hướng dẫn trong suốt quá trình học tập bộ môn Công nghệ thông
tin. Những kiến thức cô truyền đạt không chỉ giúp chúng em hiểu hơn về An toàn
Bảo mật thông tin theo cách tiếp cận quản trị rủi ro cho thông tin trong hệ thống thông
tin mà còn tạo điều kiện để chúng em tiếp cận và nghiên cứu đề tài thảo luận của nhóm.
Em cũng xin gửi lời cảm ơn chân thành đến các thầy trong khoa HTTT Kinh
tế và TMĐT, bộ môn Công nghệ thông tin đã truyền đạt những kiến thức bổ ích, là nền
tảng để em thực hiện nghiên cứu. Mặc đã rất nỗ lực, song đề tài chắc chắn không
tránh khỏi những thiếu sót. Em rất mong nhận được sự góp ý, chdẫn của quý thầy
và bạn bè để bài nghiên cứu được hoàn thiện hơn.
Nhóm chúng em xin chân thành cảm ơn!
Nhóm sinh viên
Nhóm 4
LỜI MỞ ĐẦU
Trong bối cảnh chuyển đổi số sự bùng nổ của Internet hiện nay, vấn đề an toàn
và bảo mật thông tin ngày càng trở nên cấp thiết. Việc trao đổi, lưu trữ xử dữ liệu
trên môi trường mạng tiềm ẩn nhiều rủi ro về tấn công, đánh cắp hoặc giả mạo thông tin.
Do đó, mã hóa dữ liệu được xem là một trong những giải pháp cốt lõi giúp bảo vệ thông
tin khỏi sự truy cập trái phép.
Trong số các phương pháp mã hóa hiện nay, hệ hóa không đối xứng
(Asymmetric Cryptosystem) giữ vai trò đặc biệt quan trọng nhờ chế sử dụng hai khóa
riêng biệt khóa công khai (Public Key) khóa mật (Private Key), nhằm đảm bảo
tính bảo mật, xác thực toàn vẹn của thông tin trong quá trình truyền tin. Nhờ chế
đặc trưng này, mã hóa không đối xứng được ứng dụng rộng rãi trong nhiều lĩnh vực như
chữ số, xác thực người dùng, thương mại điện tử, ngân hàng trực tuyến các hệ
thống bảo mật dữ liệu quy mô lớn.
Với mục tiêu tìm hiểu sâu hơn về lĩnh vực y, nhóm chúng em thực hiện đề tài
“Trình bày khái niệm, đặc điểm, phân loại các hệ thống mã hóa không đối xứng”. Thông
lOMoARcPSD| 45470709
3
qua bài thảo luận, nhóm mong muốn làm sở thuyết, chế hoạt động ứng
dụng thực tiễn của các hệ thống hóa không đối xứng trong bảo mật thông tin, từ đó
góp phần nâng cao nhận thức về vai trò của mã hóa trong thế giới số hiện đại.
MỤC LỤC
LỜI CẢM ƠN ................................................................................................................. 2
LỜI MỞ ĐẦU ................................................................................................................. 2
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHUNG VỀ MÃ HÓA THÔNG TIN .............. 4
1.1. Khái niệm hệ mã hóa ................................................................................................................... 4
1.2. Vài nét về lịch sử mã hóa ............................................................................................................. 8
1.3. Vai trò của mã hóa và quy trình mã hóa .................................................................................... 8
1.4. Các yêu cầu của hệ mã hóa ....................................................................................................... 11
1.5. Các kỹ thuật phá mã phổ biến .................................................................................................. 14
CHƯƠNG 2: HỆ THỐNG MÃ HÓA KHÔNG ĐỐI XỨNG ................................... 16
2.1. Khái niệm về hệ thống mã hóa không đối xứng ...................................................................... 16
2.2. Đặc điểm của hệ mã hóa không đối xứng ................................................................................ 17
2.3. Ưu điểm, nhược điểm của hệ mã hóa không đối xứng ........................................................... 19
2.4 Phân loại hệ thống mã hóa không đối xứng .............................................................................. 21
CHƯƠNG 3: ỨNG DỤNG VÀ XU HƯỚNG PHÁT TRIỂN CỦA
HÓAKHÔNG ĐỐI
lOMoARcPSD| 45470709
4
XỨNG.................................................................................................543.1. Ứng dụng
thực tiễn ........................................................................................................................... 54
3.2. Xu hướng phát
triển.................................................................................................................68 .............................. 69
3.3. Thách thức và triển vọng ........................................................................................................... 76
KẾT
LUẬN.................................................................................................................79
TÀI LIỆU THAM KHẢO..........................................................................................80
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHUNG VỀ MÃ HÓA THÔNG TIN
1.1. Khái niệm hệ mã hóa
1.1.1. Khái niệm hệ mã hóa
hóa phương thức biến đổi thông tin từ định dạng thông thường (văn bản,
hình ảnh, âm thanh, biểu tượng,...) thành một định dạng khác không giống như ban đầu
nhưng thể khôi phục lại được, (việc khôi phục này gọi giải mã). Mục đích chính
của mã hóa là để đảm bảo tínhmật của thông tin khi chúng được truyền trong những
môi trường không đảm bảo an toàn.
Việc hóa thông tin được thực hiện bằng việc sử dụng một giá trị đặc biệt gọi
khóa (key). Cả hai phía gửi nhận thông tin đều phải biết giải thuật mã hóa
khóa để thực hiện việc mã hóa và giải mã thông tin. Thông tin đã được mã hóa có thể bị
nghe (xem) trộm nhưng không thể bị giải đlấy ra thông tin đích thực nếu không biết
giải thuật mã hóa và khóa. Như vậy, mã hóa cung cấp tính mật cho thông tin trong quá
trình truyền thông trên các kênh truyền.
lOMoARcPSD| 45470709
5
Ngành khoa học chuyên nghiên cứu về mã hóa và giải mã là ngành mật mã. Đây
một ngành khoa học ng dụng toán học, c thuật toán ứng dụng vào biến đổi thông
tin từ định dạng ban đầu một định dạng khác.đóng vai trò quan trọng và có rất nhiều
ứng dụng trong đời sống hội ngày nay, từ các lĩnh vực như an ninh, quốc phòng,...
đến các hoạt động trong sản xuất kinh doanh của các tổ chức, doanh nghiệp.
Mã hóa thông tin nhằm mục đích giấu đi nội dung thực tế của thông tin mà người
dùng muốn truyền trong quá trình truyền tin cũng như trong việc u trữ thông tin.
Phương pháp này dùng để tránh tình trạng thông tin bị đánh cắp sử dụng vào những
mục đích không tốt. Có thể chia quá trình mã hóa thông tin thành hai phần:
hóa: giai đoạn chuyển đổi thông tin nguyên gốc ban đầu thành các định
dạng thông tin được mã hóa (gọi là bản mã).
Về mặt toán học, quá trình mã hóa có thể được biểu diễn là:
C = E(K, P)
Trong đó:
C là văn bản mã hóa (Ciphertext).
E là hàm mã hóa (thuật toán).
K là khóa mã (Key).
P là văn bản rõ (Plaintext)
Giải mã: từ bản mã thông tin nhận được, tiến hành biến đổi để thu lại được thông
tin nguyên gốc như trước khi mã hóa.
Về mặt toán học, quá trình giải mã được biểu diễn là:
P = D(K, C)
Trong đó:
P là văn bản rõ (Plaintext).
D là hàm giải mã (thuật toán).
K là khóa mã (Key).
C là văn bản mã hóa (Ciphertext).
lOMoARcPSD| 45470709
6
1.1.2. Một số thuật ngữ cơ bản
STT
Thuật ngữ
Nội dung, ý nghĩa
1
Plaintext
Bản rõ, bản gốc, nội dung thông điệp gốc
2
Ciphertext
Bản mã, bản mật, bản kết quả sau khi mã hóa
3
Encryption
Mật mã hóa, mã hóa, quá trình chuyển bản rõ thành bản
4
Decryption
Giải mã, quá trình biến đổi bản mã thành bản rõ
5
Cryptosystem
Hệ mã, hệ mã hóa
6
Cryptanalysis
Phá mã, quá trình cố gắng chuyển đổi bản mật thành bản rõ mà
không có khóa
7
Key space
Không gian khóa là tổng số khóa có thể có của một hệ mã hóa
8
Hash
function
Hàm băm
1.1.3. Mô hình truyền tin có bảo mật cơ bản
Trong truyền thông, để đảm bảo sự mật của thông tin thì trước khi truyền, thông
tin được mã hoá ở phía người gửi sau đó được giải mã ở phía người nhận. Quá trình này
còn gọi là quá trình truyền thông tin có bảo mật hay truyền tin an toàn. Có thể mô tả mô
hình truyền thông tin có bảo mật như sau:
lOMoARcPSD| 45470709
7
Sơ đồ mô hình truyền tin bảo mật trên có thể giải thích ngắn gọn: Giả sử có 3 đối
tượng tham gia quá trình truyền tin là người gửi là S, người nhận là R và kẻ tấn công
E.
S muốn gửi một thông điệp X đến R qua một kênh truyền thông tin nào đó E
thể nghe trộm và ăn cắp thông tin này. Để chống lại việc mất thông tin, S sử dụng một
phép biến đổi (mã hóa) lên thông điệp X đang dạng nguyên gốc ban đầu (dạng đọc
được - Plaintext) để tạo thành một đoạn hóa Y (Cryptogram) không thể đọc được
hoặc nội dung đã bị thay đổi đi nhiều.
Khi đó Cryptogram Y (hay còn gọi là Ciphertext - thông điệp đã được mã hoá) đã
thực hiện che giấu nội dung của đoạn Plaintext X ban đầu. Khóa ng để mã hóa dữ liệu
này một thông số chỉ bên gửi S bên nhận R biết thôi, sau khi R nhận được
bản Ciphertext sẽ tiến hành giải mã và lấy về nội dung ban đầu.
Giả sử trong quá trình truyền tin, E nghe lén đánh cắp được thông tin (Y) thì
cũng không thể giải mã và biết được nội dung của thông tin ban đầu.
lOMoARcPSD| 45470709
8
1.2. Vài nét về lịch sử mã hóa
Lịch sử của mật mã học đã có từ hàng nghìn năm, bắt đầu từ những phương pháp
cổ điển đơn giản như sử dụng bút, giấy, khắc trên thẻ tre, da động vật hay vách đá.
Thời Cổ đại: Bằng chứng sớm nhất được tìm thấy trên các bức ợng Ai Cập cổ
đại (khoảng 4500 năm trước) với các hiệu tượng hình nhằm tạo sự ẩn, mò. Người
Hebrew cũng sử dụng phương pháp thay thế ký tự đơn giản như mật Atbash (khoảng
500 năm trước Công nguyên). Người Hy Lạp La cổ đại cũng đã biết đến sử
dụng các kỹ thuật mật mã, nổi bật là mật mã Caesar. Mật còn được đề cập trong cuốn
sách Kama Sutra của Ấn Độ như một cách để những người yêu nhau trao đổi thông tin
bí mật.
Thời Phục ng và Trung Cổ: Mật học trở nên quan trọng hơn do những thay
đổi và cạnh tranh về chính trị, tôn giáo. Tại châu Âu, đặc biệt là ở các thành bang thuộc
Ý, các kỹ thuật mật được sử dụng phát triển rộng rãi. Tuy nhiên, ở Trung Đông,
châu Á và Nhật Bản, lĩnh vực này ít phát triển hơn cho đến khoảng sau năm 1510.
Từ thế kỷ 19 đến Thế chiến II: Mãi đến thế kỷ 19 20, mật học mới phát
triển một cách hệ thống. Các ng trình phân tích mật đơn tự của Charles
Babbage và Friedrich Kasiski đã đặt nền móng quan trọng. Đặc biệt, vào đầu thế kỷ 20,
các cỗ máy cơ khí và điện cơ như máy Enigma của Đức đã tạo ra những cơ chế mã hóa
phức tạp hiệu quả. Trong Thế chiến II, các phương pháp toán học thống kê, tiêu
biểu là công trình của William F. Friedman và Marian Rejewski, đã có những bước tiến
vượt bậc trong việc phân tích và phá vỡ các hệ thống mật mã phức tạp như Enigma.
Thời hiện đại: Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máy tính đã
đưa mật học lên một tầm cao mới. Sau Thế chiến II, cả hai ngành mật phân
tích mật ngày càng sử dụng nhiều stoán học. Khi máy tính Internet trở nên
phổ biến, mật học không n bị giới hạn trong quân sự hay các tập đoàn lớn đã
trở thành một công cụ hữu dụng, quen thuộc được mọi người sử dụng hàng ngày để bảo
vệ thông tin.
1.3. Vai trò của mã hóa và quy trình mã hóa
1.3.1. Vai trò của mã hóa
1.3.1.1. Bảo vệ tính riêng tư trong giao tiếp
lOMoARcPSD| 45470709
9
Đây là ứng dụng phổ biến nhất. Khi chúng ta sử dụng các ứng dụng nhắn tin như
Zalo, WhatsApp, hay Telegram, công nghệ "mã hóa đầu cuối" (End-to-End Encryption)
thường được triển khai.
Công nghệ này đảm bảo rằng nội dung tin nhắn, hình ảnh, hay cuộc gọi của bạn
được mã hóa ngay trên thiết bị của người gửi và chỉ được giải mã trên thiết bị của người
nhận. Điều này bảo vệ quyền riêng tư tuyệt đối, ngăn chặn ngay cả nhà cung cấp dịch vụ
đọc hay can thiệp vào nội dung cuộc trò chuyện.
1.3.1.2. Đảm bảo an toàn cho giao dịch tài chính và thương mại điện tử
Khi bạn truy cập vào website của ngân hàng hoặc các trang thương mại điện tử,
bạn sẽ thấy biểu tượng ổ khóa và địa chỉ web bắt đầu bằng "https" (thay vì "http").
Chữ "s" (Secure) đó đại diện cho việc kết nối giữa trình duyệt của bạn và máy chủ
đang được hóa. Tn bộ thông tin nhạy cảm—như mật khẩu đăng nhập, thông tin thẻ
tín dụng, dữ liệu cá nhân—được bảo vệ an toàn trong quá trình truyền tải. Mã hóa ngăn
chặn tin tặc "nghe lén" và đánh cắp các thông tin tài chính quan trọng này.
1.3.1.3. Bảo vệ dữ liệu lưu trữ trên thiết bị cá nhân
hóa cũng đóng vai trò tấm khiên bảo vệ dữ liệu "ở trạng thái nghỉ", tức
dữ liệu được lưu trên ổ cứng máy tính hoặc bộ nhớ điện thoại.
Các hệ điều hành như iOS, Android, Windows (với BitLocker) hay macOS (với
FileVault) đều sử dụng mã hóa toàn bộ ổ đĩa. Trong trường hợp bạn không may làm mất
điện thoại hoặc laptop, kẻ xấu sẽ không thể truy cập vào dữ liệu nhân, nh ảnh hay
tài liệu công việc của bạn, ngay cả khi họ tháo ổ cứng ra khỏi thiết bị.
1.3.1.4. Xác thực danh tính và đảm bảo tính toàn vẹn dữ liệu
hóa không chỉ ng để che giấu, còn dùng để xác thực. Công nghệ "chữ
ký số" là một ví dụ điển hình.
Khi một tổ chức hoặc nhân sử dụng chữ số trên một văn bản điện tử (như
hợp đồng, hóa đơn điện tử), hệ thống mã hóa sẽ giúp người nhận xác minh hai điều:
Tính xác thực: Văn bản này chắc chắn đến từ đúng người gửi.
Tính toàn vẹn: Nội dung văn bản không hề bị thay đổi hay giả mạo kể từ khi
nó được ký.
lOMoARcPSD| 45470709
10
1.3.1.5. An ninh mạng không dây (Wi-Fi)
Khi bạn kết nối vào mạng Wi-Fi nhà nhập mật khẩu, bạn đang sử dụng một
giao thức mã hóa (như WPA2 hoặc WPA3). Giao thức này mã hóa toàn bộ dữ liệu truyền
qua lại giữa thiết bị của bạn (điện thoại, laptop) router Wi-Fi. Điều này ngăn chặn
những người lạ trong cùng phạm vi mạng theo dõi hoạt động trực tuyến hoặc đánh cắp
thông tin đăng nhập của bạn.
1.3.2. Quy trình mã hóa chung.
Dựa trên đồ, quy trình hóa giải một chu trình khép kín gồm các
bước sau:
Bước 1: Chuẩn bị văn bản gốc (Plaintext): Đây là thông tin ban đầu, trạng thái
có thể đọc và hiểu được.
Bước 2: hóa (Encryption): Văn bản gốc được xử bởi một Thuật toán
hóa (Encryption Algorithm). Thuật toán này sthực hiện các phép biến đổi toán học để
chuyển đổi dữ liệu gốc thành một định dạng mới.
Bước 3: Tạo ra bản mã (Ciphertext): Đây là kết quả của quá trình mã hóa. Thông
tin lúc này đã dạng bị xáo trộn, không mang ý nghĩa ràng không thể đọc hiểu
được nếu chỉ nhìn vào.
Bước 4: Giải (Decryption): Bản sau đó được xử lý bởi một Thuật toán Giải
(Decryption Algorithm). Đây quy trình ngược lại với hóa, sẽ áp dụng các
phép biến đổi tương ứng để khôi phục bản mã về lại trạng thái ban đầu.
Kết quả cuối cùng của quá trình giải mã Văn bản gốc (Plaintext) được phục hồi
hoàn toàn, giống hệt như trước khi được mã hóa.
lOMoARcPSD| 45470709
11
1.4. Các yêu cầu của hệ mã hóa
Để đảm bảo được các yêu cầu về an toàn và bảo mật thông tin, các hệ mã hóa cần
phải có các tính chất cơ bản sau:
1.4.1. Yêu cầu với hệ mã hóa
Các hệ hóa phải đạt được hai tính chất quan trọng nhằm mục đích gây khó
khăn cho kẻ tấn công trong việc tìm ra quy luật mã hóa:
Tính hỗn loạn:
Định nghĩa: hóa phải làm cho sự phụ thuộc của bản (ciphertext) vào
bản rõ (plaintext) và khóa là thực sự phức tạp, nghĩa là không có quan hệ trực
tiếp, tuyến tính dễ nhận biết giữa chúng.
Mục tiêu là gây rối cho kẻ tấn công khi cố gắng suy ngược khóa hoặc nguyên
bản từ quan sát bản mã. Khi hệ có độ rối (confusion) cao, thay đổi nhỏ ở bản
rõ hoặc khóa sẽ dẫn đến những biến đổi khó dự đoán trên bản mã, làm phá vỡ
các phương pháp phân tích tuyến tính hoặc suy diễn giản đơn. Độ rối
(confusion) thường đạt được bằng các thành phần phi-tuyến (ví dụ: Sbox trong
block cipher) để loại bmối quan hệ đơn giản giữa bit vào bit ra. Trong
một block cipher, một S-box mạnh sẽ ánh xạ một tập bit đầu vào thành bit đầu
ra theo cách không tuyến tính - nên biết nhiều cặp (plaintext, ciphertext)
cũng khó rút ra quy luật ánh xạ.
Tính khuếch tán:
Định nghĩa: Quá trình làm phân tán ảnh hưởng của từng tự/bit của bản
ra trên nhiều vị trí trong bản mã, dẫn đến việc cân bằng/tán rộng tỷ lệ xuất
hiện các ký tự hoặc mẫu trong bản mã hóa.
Mục tiêu ngăn chặn các tấn ng thống (ví dụ phân tích tần suất) bằng
cách làm “phẳng” phân bố ký tự một ký tự hay mẫu xuất hiện nhiều trong
bản rõ không nên tương ứng với tần suất cao rõ rệt trong bản mã. Tính khuếch
tán khiến thông tin thống ban đầu bị hòa lẫn, do đó kẻ tấn công khó tìm
mẫu lặp hay suy ra cấu trúc. Thông thường tính khuếch tán thực hiện bằng
tráo vị trí, hoán vị và nhiều vòng XOR/phép tráo. Nếu một văn bản gốc có rất
nhiều chữ 'a', sau khi mã hóa với tính khuếch tán tốt, chữ 'a' không còn tạo ra
một ký tự hay mẫu đặc trưng trong bản mã. Một kỹ thuật đơn giản minh họa
lOMoARcPSD| 45470709
12
ý tưởng chèn thêm đoạn văn bản giả (padding/ngẫu nhiên) hoặc thực hiện
nhiều vòng tráo/xor để “phủ” tần suất ban đầu - tuy nhiên trong thực tế người
ta dùng các lớp permutation (hoán vị) mixing trong cipher thay vì thêm văn
bản dư. Ví dụ: Giả sử bản rõ là: AAAAAABBBBBB. Nếu ta chèn thêm ký tự
ngẫu nhiên giữa các chữ (ví dụ: A X A Y A B T B U...), thì tần suất xuất hiện
của chữ cái thật sẽ bị “che đi”, khiến việc phân tích thống khó hơn. Tuy
nhiên, cách này chỉ là kỹ thuật đơn giản, không đủ an toàn.
1.4.2. Yêu cầu của hệ mật mã
Yêu cầu của một hệ mật mã trước hết là phải che giấu được nội dung của văn bản
(Plaintext) để đảm bảo chỉ người có quyền hợp pháp mới có thể truy cập và hiểu được
thông tin (Secrecy). Mục tiêu của yêu cầu y ngăn chặn việc truy nhập trái phép
đảm bảo tính mật của dữ liệu trong quá trình lưu trữ hoặc truyền tải. Ví dụ, dữ liệu
khách hàng của ngân hàng thường được hóa bằng thuật toán AES trước khi truyền
qua Internet; nếu không có khóa giải mã, kẻ tấn công chỉ nhìn thấy chuỗi ký tự vô nghĩa
và không thể đọc được thông tin thật.
Bên cạnh đó, hệ mật mã cần tạo ra các yếu tố xác thực thông tin (Authentication)
nhằm đảm bảo dữ liệu đến đúng người nhận hợp pháp không bị thay đổi trên đường
truyền. Việc xác thực thường được thực hiện thông qua các cơ chế như mã HMAC hoặc
chữ ký số. Chẳng hạn, trong hệ thống gửi email kích hoạt tài khoản, mỗi email đều được
gắn xác thực giúp người nhận kiểm tra được rằng thư đến từ hệ thống chính thức chứ
không phải giả mạo.
Cuối cùng, hệ mật phải tổ chức các đồ chữ điện tử để đảm bảo không
hiện tượng giả mạo hoặc mạo danh khi gửi thông tin qua mạng. Chữ điện tử cho
phép xác minh nguồn gốc thông điệp ngăn người gửi phủ nhận hành vi gửi dữ liệu,
đồng thời phát hiện mọi chỉnh sửa nội dung sau khi ký. dụ, trong hợp đồng điện tử,
người sử dụng khóa riêng được lưu trong USB token để văn bản; bên nhận dùng
khóa công khai để kiểm tra, nếu chữ ký hợp lệ thì có thể khẳng định hợp đồng là thật và
toàn vẹn.
1.4.3. Độ an toàn của hệ mã hóa (Phân loại theo Lý thuyết)
Độ an toàn của một hệ hóa yếu tố then chốt quyết định khả năng bảo vệ
thông tin trước các hình thức tấn công xâm nhập trái phép. Mọi thuật toán mã hóa đều
lOMoARcPSD| 45470709
13
sử dụng khóa mật trong quá trình hóa giải mã, chính độ bảo mật của khóa
này là yếu tố trọng tâm quyết định tính an toàn của cả hệ thống. Nếu khóa bị lộ hoặc có
thể bị suy đoán dễ dàng, thì thuật toán có phức tạp đến đâu, hệ hóa vẫn bị coi
không an toàn.
Trên phương diện thuyết, độ an toàn của hệ hóa được chia thành hai loại
chính:an toàn vô điều kiện và an toàn tính toán An toàn vô điều kiện:
Định nghĩa: Một hệ hóa được coi an toàn điều kiện nếu bản thu
được không chứa đủ thông tin để xác định duy nhất bản gốc, cho dù kẻ tấn
công có khả năng tính toán vô hạn và thời gian vô hạn đi chăng nữa.
Điều này nghĩa không tồn tại bất kỳ phương pháp toán học hoặc máy
tính nào có thể giải mã được thông tin, trừ khi biết chính xác khóa bí mật. Tức
là, ngay cả khi hacker có toàn bộ bản mã và thuật toán mã hóa, họ vẫn không
thể suy ra bản gốc. Hệ hóa One-Time Pad (OTP) dụ điển hình duy
nhất cho loại an toàn này. Trong hệ này, mỗi tự của bản gốc được hóa
bằng cách kết hợp với một ký tự ngẫu nhiên trong khóa có độ dài bằng chính
thông điệp. Nếu khóa chỉ được sử dụng một lần và hoàn toàn ngẫu nhiên, việc
phá mã là bất khả thi — vì mỗi bản mã có thể tương ứng
với mọi bản gốc độ dài tương tự, khiến việc xác định bản thật trở nên không
thể.
An toàn tính toán:
Định nghĩa: Một hệ hóa được coi an toàn tính toán nếu việc phá
quá tốn m về thời gian hoặc chi phí, khiến cho nỗ lực tấn công không còn ý
nghĩa thực tế. Nói cách khác, hệ mã hóa này không đảm bảo an toàn tuyệt đối
về mặt thuyết, nhưng đủ an toàn trong phạm vi khả năng tính toán hiện tại
của con người và máy móc.
Phần lớn các hệ hóa hiện nay như RSA, AES, hay DES đều thuộc nhóm
an toàn tính toán. Mức độ an toàn của chúng dựa trên giả định rằng không có
thuật toán hiệu quả nào để giải các bài toán nền tảng như phân tích số nguyên
lớn (RSA) hoặc tìm khóa bí mật (AES) trong thời gian hợp lý.
Hai điều kiện để đảm bảo an toàn tính toán:
lOMoARcPSD| 45470709
14
Chi phí phá mã vượt quá giá trị thông tin có thể mang lại: Nếu chi phí cần bỏ
ra (về phần cứng, điện năng, nhân lực, thời gian...) để phá cao hơn giá trị
của thông tin thu được, kẻ tấn công sẽ không có động lực thực hiện. Ví dụ: Để
đánh cắp 1 tỷ đồng từ ngân hàng, nếu hacker cần đầu tư hệ thống máy tính trị
giá 2 tỷ đồng để phá mã, thì việc tấn công trở nên vô nghĩa về mặt kinh tế.
Thời gian pvượt quá tuổi thọ của thông tin: Nếu thời gian cần để giải
vượt quá thời gian hữu ích của dữ liệu, thì thông tin đó sẽ mất giá trị khi
được giải mã. dụ: Một thông điệp giao dịch chỉ giá trị trong 24 giờ,
nhưng nếu phải mất 10 năm để phá mã, thì kết quả thu được không còn giá trị
sử dụng.
Trong thực tế, không cần thiết phải đạt tới mức “an toàn tuyệt đối” chỉ cần
đảm bảo tính an toàn nh toán - tức làm cho việc phá trở nên phi kinh tế hoặc
ích về thời gian. Điều này lý giải sao hầu hết các hệ thống bảo mật hiện nay, từ ngân
hàng điện tử, thương mại điện tử cho đến hệ thống chính phủ số, đều dựa trên các thuật
toán an toàn tính toán thay vì an toàn tuyệt đối.
1.5. Các kỹ thuật phá mã phổ biến
Phá (cryptanalysis) nỗ lực giải văn bản đã được hóa trong trường
hợp không biết trước khóa của hệ mã. Phá dựa trên giả thiết người giải mã nhận
biết được nguyên bản cần tìm, còn quá trình này còn được gọi là hack bản mã.
1.5.1. Phương pháp vét cạn
Khái niệm: Phương pháp vét cạn trong phá mã là phương pháp thử tất cả các khóa
có thể cho đến khi xác định được nguyên bản từ bản mã. Ví dụ: Plaintext (gốc):
HELLO WORLD; k=3 => Ciphertext(mã): KHOOR ZRUOG
Giả sử kẻ tấn công chỉ có ciphertext KHOOR ZRUOG biết đây Caesar cipher
(khóa một số 0–25). Áp dụng vét cạn tức thử tất cả các khóa thể, thử các dịch
trái (shift ngược) từ 1 đến 25: k=1 → J G N N Q Y Q T N F (không đọc được) k= 2 → I
F M M P X P S M E
k=3 → H E L L O W O R L D ← đọc được, đây là plaintext đúng…. tương tự
đến k=25.
Giới hạn: Phương pháp này chỉ khả thi đối với các khóa có độ dài ngắn.
lOMoARcPSD| 45470709
15
Độ an toàn: Độ an toàn của một hhóa chống lại phương pháp vét cạn phụ
thuộc vào độ dài của khóa (kích thước khóa).
Nếu sử dụng khóa kích thước 168 bit, ngay cả khi một chiếc máy tính thể
giải mã 1012 mã trong 1 giây, thì việc phá mã cũng mất khoảng 5,9 x 1036 năm. Vì vậy,
nếu sử dụng khóa có độ dài 168 tự, hệ có thể được coi là an toàn đối với phương
pháp phá mã bằng vét cạn.
(Bảng thời gian tìm khóa đối với các khóa có kích thước khác nhau)
1.5.2. Phương pháp thám mã
Khái niệm: Phương pháp thám mã dùng để khai thác những nhược điểm của giải
thuật hóa dựa trên những đặc trưng chung của nguyên bản hoặc một số cặp nguyên
bản - bản mã. dụ: Nếu bản (plaintext) tự lặp nhiều (AAAAAA), bản
(ciphertext) cũng có thể lặp — kẻ tấn công thể đoán được ký tự gốc. Nếu banr mã lộ
một quy luật (ví dụ tần suất ký tự cao, chu kỳ lặp do khóa ngắn), kẻ tấn công có thể tìm
ra chu kỳ và suy ra khóa.
Các trường hợp tấn ng thám mã: Để tiện cho việc nghiên cứu độ an toàn của
một giải thuật hóa, người ta phân loại ra một số trường hợp đphá mã. Thuật toán
mã hóa phải đảm bảo độ an toàn trong mọi trường hợp sau:
- Chỉ có bản mã: Chỉ biết giải thuật mã hóa và bản mã hiện có. - Biết
nguyên bản: Biết thêm một số cặp nguyên bản - bản mã.
- Chọn nguyên bản: Chọn 1 nguyên bản, biết bản mã tương ứng.
- Chọn bản mã: Chọn 1 bản mã, biết nguyên bản tương ứng.
lOMoARcPSD| 45470709
16
- Chọn văn bản: Kết hợp chọn nguyên bản và chọn bản mã.
- Trên thực tế, trường hợp khả năng người giải mã chỉ biết giải thuật mã hóa và
một số bản mã là lớn nhất, và đây cũng là trường hợp khó phá mã nhất.
CHƯƠNG 2: HỆ THỐNG MÃ HÓA KHÔNG ĐỐI XỨNG
2.1. Khái niệm về hệ thống mã hóa không đối xứng
2.1.1. Khái niệm
Thuật toán hóa khóa công khai có cơ sở hoàn chỉnh đầu tiên được Ron Rivest,
Adi Shamir Leonard Adleman (Gọi tắt RSA) khởi xướng vào năm 1977 tại Học
viện Kỹ thuật Massachusett - MIT (Massachusett Institute of Technology). Công trình
này được công bố vào năm 1978 thuật toán được đặt tên thuật toán RSA - theo 3
chữ cái đầu của các đồng tác giả. RSA sử dụng phép toán lũy thừa theo modulo (với
modulo được tính bằng tích số của 2 số nguyên tố lớn) để hóa giải cũng như
tạo chữ số. Độ an toàn của thuật toán được đảm bảo không tồn tại kỹ thuật hiệu
quả để phân tích một số rất lớn thành thừa số nguyên tố.
hóa khóa công khai (hay khoá bất đối xứng) một dạng hóa cho phép
người sử dụng trao đổi các thông tin mật không cần phải trao đổi các khóa mật
trước đó, điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học
với nhau khóa công khai (Public key) khóa riêng (Private key) hay khóa mật
(Secret key).
2.1.2. Mô tả quá trình mã hóa công khai theo sơ đồ
lOMoARcPSD| 45470709
17
(Sơ đồ truyền tin bằng mã hoá khoá công khai)
Quá trình truyền tin sử dụng phương pháp mã hóa bất đối xứng có thể mô tả như
sau:
- Người nhận tin B phát sinh ra một cặp khóa: Khóa công khai KcB và khóa bí
mật KrB.
- B gửi khóa công khai KcB cho A (và có thể công bố cho tất cả mọi người) còn
khóa bí mật KrB được B giữ một cách an toàn.
- A dùng khóa KcB để mã hóa thông điệp và gửi bản mã cho B, B dùng khóa bí
mật KrB để giải mã. Quá trình này được mô tả như sơ đồ trên.
2.2. Đặc điểm của hệ mã hóa không đối xứng
Đặc điểm nổi bật:
Đặc điểm
Mô tả chi tiết
Mã hoá sử dụng 2
khóa khác nhau
Mã hoá thực hiện bằng cách sử dụng một cặp khóa có quan hệ
toán học với nhau khóa công khai (Public key) khóa riêng
(Private key) hay khóa bí mật (Secret key).
- Khóa công khai (Kc): công bố cho tất cả mọi người
biết.
- Khóa riêng (Kr): bên nhận giữ bí mật, không chia sẻ
cho bất kỳ ai.
Tính bảo mật cao
Ngay cả khi khóa công khai bị lộ, dữ liệu vẫn an toàn nếu khóa
bí mật được giữ kín.
Dựa trên các thuật
toán khó trong toán
học
dụ: phân tích snguyên lớn (RSA), logarit rời rạc (ElGamal,
ECC).
lOMoARcPSD| 45470709
18
Tốc độ chậm hơn mã
hóa đối xứng
Do tính toán phức tạp nên không phù hợp để hóa dữ liệu
lớn, thường chỉ dùng để trao đổi khóa hoặc xác thực.
Hỗ trợ chữ số
chứng thực
thể dùng khóa mật để (tạo chữ số), người khác
dùng khóa công khai để kiểm tra tính xác thực.
Không cần chia sẻ
khóa bí mật
Khóa công khai có thể phát hành rộng rãi, giúp việc trao đổi an
toàn hơn.
Kết hợp với mã hóa
đối xứng
Thường được dùng để trao đổi khóa đối xứng an toàn (ví dụ
trong HTTPS).
Điều quan trọng đối với hệ thống không thể (hoặc rất khó) tìm ra khóa mật
nếu chỉ biết khóa công khai, hệ thống mật mã hóa khóa công khai có thể sử dụng với các
mục đích:
Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã được.
Tạo chữ số: cho phép kiểm tra một văn bản xem phải đã được tạo với
một khóa bí mật nào đó hay không.
Thỏa thuận khóa: cho phép thiết lập khóa để trao đổi thông tin mật giữa hai bên.
Thông thường, các kỹ thuật hóa khóa công khai đòi hỏi khối ợng tính toán
nhiều hơn c kỹ thuật hóa khóa đối xứng nhưng do những ưu điểm nổi bật nên chúng
được sử dụng nhiều. Thuật toán hóa bất đối xứng sử dụng hai khóa: khóa công khai
(hay khóa công cộng) và khóa bí mật (hay khóa riêng). Mỗi khóa là những số cố định sử
dụng trong quá trình mã hóa và giải mã, khóa công khai được công bố rộng rãi cho mọi
người và được dùng để hóa, những thông tin được hóa bằng khóa công khai chỉ
thể được giải bằng khóa mật ơng ng. Nói cách khác, mọi người biết khóa
công khai đều có thể mã hóa thông tin để gửi nhưng chỉ người biết khóa riêng (bí mật)
mới có thể giải mã được thông tin đó.
Đây là loại hình mã hóa ra đời sau mã hóa đối xứng và còn được gọi là công nghệ
mã hóa public-key:
lOMoARcPSD| 45470709
19
- hóa bất đối xứng được cho an toàn hơn hóa đối xứng sử dụng 2
key riêng biệt cho 2 quy trình hóa giải mã. Public key được sử dụng để
hóa sẽ được công khai, nhưng private key để giải mã là hoàn toàn bí mật.
- Phương pháp hóa này được sử dụng trong các giao tiếp hàng ngày qua internet.
Khi một tin nhắn được mã hóa bằng public key, nó chỉ có thể được giải mã bằng
private key. Tuy nhiên, khi một tin nhắn được mã hóa bằng private key, nó có thể
được giải mã bằng public key.
- Chứng chỉ kỹ thuật số trong mô hình y khách-máy chủ thể được sử dụng để
tìm thấy các public key.
- Các kỹ thuật mã hóa bất đối xứng phổ biến bao gồm RSA, DSA và PKCS.
2.3. Ưu điểm, nhược điểm của hệ mã hóa không đối xứng
Ưu điểm của hệ thống mã hóa khóa công khai:
Đơn giản trong việc u chuyển khóa chỉ cần đăng một khóa công khai
những người muốn trao đổi sẽ lấy khóa này về để mã hóa thông tin truyền đi, không cần
phải có một kênh bí mật để truyền khóa mã.
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 trong kênh truyền,
tiền đề cho sự ra đời của chữ ký số các phương pháp chứng thực số sau này.
Nhưng việc tìm được một thuật toán hóa thỏa mãn được các yêu cầu đó
không dễ dàng, do một thuật toán mã hóa như vậy cần phải thỏa mãn các yêu cầu sau:
(1) Dễ dàng tạo ra được cặp khóa công khai và bí mật (KU, KR),
(2) Dễ dàng tính được bản mã C = EKU(M),
(3) Có thể dễ dàng giải mã M = DKR(C),
(4) Đối thủ không thể xác định được KR khi biết KU,
(5) Đối thủ không thể xác định được M khi biết KU và C,
(6) Một trong hai khóa thể dùng hóa trong khi khóa kia thể
dùng giảimã: M = DKR(EKU(M)) = DKU(EKR(M)).
lOMoARcPSD| 45470709
20
Khắc phục nhược điểm của hệ mã hoá đối xứng. Các thuật toán mã hóa khóa đối
xứng có một nhược điểm là nếu hai người dùng muốn trao đổi thông tin bí mật cần phải
trao đổi khóa mật trước đó. Khóa mật này cần phải được trao đổi theo một cách
thức an toàn, không phải bằng các phương thức thường dùng để liên lạc trong i trường
mở vì dễ bị lộ. Điều này khó thực hiện nói chung không thể đảm bảo bí mật, nhất
trong trường hợp muốn trao đổi thông tin với nhiều đối tác thì thực tế không thực
hiện được.
hóa bất đối xứng khắc phục được nhược điểm này khóa công khai thể
được công khai cho mọi người, còn khóa riêng chỉ do chủ sở hữu giữ mật. khóa
công khai được chia sẻ rộng rãi, dữ liệu vẫn an toàn vì chỉ khóa bí mật mới giải mã được
thông tin.
Trong hệ thống a đối xứng, mỗi cặp người dùng phải chia sẻ một khóa
mật riêng để có thể trao đổi thông tin an toàn. Khi số lượng người tham gia tăng lên, số
khóa cần quản cũng tăng theo cấp số nhân, gây khó khăn trong việc u trữ đảm
bảo an toàn cho các khóa này. Ngược lại, trong mã hóa bất đối xứng, mỗi người chỉ cần
sở hữu một cặp khóa duy nhất gồm khóa công khai và khóa riêng tư. Nhờ vậy, họ có thể
dễ dàng thiết lập liên lạc an toàn với bất kỳ ai khác không cần tạo thêm các khóa
riêng biệt cho từng mối quan hệ, giúp hệ thống trở nên linh hoạt, đơn giản và dễ mở rộng
hơn rất nhiều.
hóa đối xứng: Không thể xác minh chắc chắn ai người gửi, cả hai bên
đều dùng chung một khóa. Người gửi thể phủ nhận việc đã gửi thông tin, khóa dùng
chung. Còn hóa bất đối xứng cho phép sử dụng chữ ký số, giúp xác minh danh nh
người gửi và đảm bảo rằng họ không thể phủ nhận việc đã gửi thông tin đó.
vậy hóa khóa công khai (hay khóa bất đối xứng) được đưa ra như một
giải pháp thay thế. Thực ra hóa bất đối xứng không thay thế hoàn toàn hóa đối
xứng mà người ta sử dụng đồng thời cả hai loại để bổ sung, hỗ trợ cho nhau.
Hạn chế của hệ mã hóa khóa công khai:
Tốc độ xử lý tốn nhiều thời gian và cơ chế xác thực cần nhiều không gian trống.
Về tốc độ xử lý: Các giải thuật trong hóa khóa công khai chủ yếu dùng các
phép nhân nên tốc độ chậm hơn nhiều so với các giải thuật hóa đối xứng, vậy,

Preview text:

lOMoAR cPSD| 45470709
TRƯỜNG ĐẠI HỌC THƯƠNG MẠI
KHOA HỆ THỐNG THÔNG TIN KINH TẾ VÀ THƯƠNG MẠI ĐIỆN TỬ BÀI THẢO LUẬN
HỌC PHẦN: AN TOÀN VÀ BẢO MẬT THÔNG TIN
ĐỀ TÀI: TRÌNH BÀY KHÁI NIỆM, ĐẶC ĐIỂM, PHÂN LOẠI
CÁC HỆ THỐNG MÃ HÓA KHÔNG ĐỐI XỨNG Giảng viên: Trần Thị Nhung
Mã lớp học phần: 251_ECIT0921_01 Nhóm thực hiện: Nhóm 4 Hà Nội, năm 2025 lOMoAR cPSD| 45470709 LỜI CẢM ƠN
Trong quá trình nghiên cứu và hoàn thành đề tài “Trình bày khái niệm, đặc điểm,
phân loại các hệ thống mã hoá không đối xứng”, nhóm 4 đã nhận được sự quan tâm,
hướng dẫn và giúp đỡ quý báu từ nhiều cá nhân và tập thể.
Trước hết, nhóm chúng em xin gửi lời cảm ơn chân thành tới cô Trần Thị Nhung
đã tận tình giảng dạy và hướng dẫn trong suốt quá trình học tập bộ môn Công nghệ thông
tin. Những kiến thức cô truyền đạt không chỉ giúp chúng em hiểu rõ hơn về An toàn và
Bảo mật thông tin theo cách tiếp cận quản trị rủi ro cho thông tin trong hệ thống thông
tin mà còn tạo điều kiện để chúng em tiếp cận và nghiên cứu đề tài thảo luận của nhóm.
Em cũng xin gửi lời cảm ơn chân thành đến các thầy cô trong khoa HTTT Kinh
tế và TMĐT, bộ môn Công nghệ thông tin đã truyền đạt những kiến thức bổ ích, là nền
tảng để em thực hiện nghiên cứu. Mặc dù đã rất nỗ lực, song đề tài chắc chắn không
tránh khỏi những thiếu sót. Em rất mong nhận được sự góp ý, chỉ dẫn của quý thầy cô
và bạn bè để bài nghiên cứu được hoàn thiện hơn.
Nhóm chúng em xin chân thành cảm ơn! Nhóm sinh viên Nhóm 4 LỜI MỞ ĐẦU
Trong bối cảnh chuyển đổi số và sự bùng nổ của Internet hiện nay, vấn đề an toàn
và bảo mật thông tin ngày càng trở nên cấp thiết. Việc trao đổi, lưu trữ và xử lý dữ liệu
trên môi trường mạng tiềm ẩn nhiều rủi ro về tấn công, đánh cắp hoặc giả mạo thông tin.
Do đó, mã hóa dữ liệu được xem là một trong những giải pháp cốt lõi giúp bảo vệ thông
tin khỏi sự truy cập trái phép.
Trong số các phương pháp mã hóa hiện nay, hệ mã hóa không đối xứng
(Asymmetric Cryptosystem) giữ vai trò đặc biệt quan trọng nhờ cơ chế sử dụng hai khóa
riêng biệt – khóa công khai (Public Key) và khóa bí mật (Private Key), nhằm đảm bảo
tính bảo mật, xác thực và toàn vẹn của thông tin trong quá trình truyền tin. Nhờ cơ chế
đặc trưng này, mã hóa không đối xứng được ứng dụng rộng rãi trong nhiều lĩnh vực như
chữ ký số, xác thực người dùng, thương mại điện tử, ngân hàng trực tuyến và các hệ
thống bảo mật dữ liệu quy mô lớn.
Với mục tiêu tìm hiểu sâu hơn về lĩnh vực này, nhóm chúng em thực hiện đề tài
“Trình bày khái niệm, đặc điểm, phân loại các hệ thống mã hóa không đối xứng”. Thông 2 lOMoAR cPSD| 45470709
qua bài thảo luận, nhóm mong muốn làm rõ cơ sở lý thuyết, cơ chế hoạt động và ứng
dụng thực tiễn của các hệ thống mã hóa không đối xứng trong bảo mật thông tin, từ đó
góp phần nâng cao nhận thức về vai trò của mã hóa trong thế giới số hiện đại. MỤC LỤC
LỜI CẢM ƠN ................................................................................................................. 2
LỜI MỞ ĐẦU ................................................................................................................. 2
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHUNG VỀ MÃ HÓA THÔNG TIN .............. 4
1.1. Khái niệm hệ mã hóa ................................................................................................................... 4
1.2. Vài nét về lịch sử mã hóa ............................................................................................................. 8
1.3. Vai trò của mã hóa và quy trình mã hóa .................................................................................... 8
1.4. Các yêu cầu của hệ mã hóa ....................................................................................................... 11
1.5. Các kỹ thuật phá mã phổ biến .................................................................................................. 14
CHƯƠNG 2: HỆ THỐNG MÃ HÓA KHÔNG ĐỐI XỨNG ................................... 16
2.1. Khái niệm về hệ thống mã hóa không đối xứng ...................................................................... 16
2.2. Đặc điểm của hệ mã hóa không đối xứng ................................................................................ 17
2.3. Ưu điểm, nhược điểm của hệ mã hóa không đối xứng ........................................................... 19
2.4 Phân loại hệ thống mã hóa không đối xứng .............................................................................. 21
CHƯƠNG 3: ỨNG DỤNG VÀ XU HƯỚNG PHÁT TRIỂN CỦA MÃ HÓAKHÔNG ĐỐI 3 lOMoAR cPSD| 45470709
XỨNG.................................................................................................543.1. Ứng dụng
thực tiễn ........................................................................................................................... 54
3.2. Xu hướng phát
triển.................................................................................................................68 .............................. 69
3.3. Thách thức và triển vọng ........................................................................................................... 76 KẾT
LUẬN.................................................................................................................79
TÀI LIỆU THAM KHẢO..........................................................................................80
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHUNG VỀ MÃ HÓA THÔNG TIN
1.1. Khái niệm hệ mã hóa

1.1.1. Khái niệm hệ mã hóa
Mã hóa là phương thức biến đổi thông tin từ định dạng thông thường (văn bản,
hình ảnh, âm thanh, biểu tượng,...) thành một định dạng khác không giống như ban đầu
nhưng có thể khôi phục lại được, (việc khôi phục này gọi là giải mã). Mục đích chính
của mã hóa là để đảm bảo tính bí mật của thông tin khi chúng được truyền trong những
môi trường không đảm bảo an toàn.
Việc mã hóa thông tin được thực hiện bằng việc sử dụng một giá trị đặc biệt gọi
là khóa mã (key). Cả hai phía gửi và nhận thông tin đều phải biết giải thuật mã hóa và
khóa để thực hiện việc mã hóa và giải mã thông tin. Thông tin đã được mã hóa có thể bị
nghe (xem) trộm nhưng không thể bị giải mã để lấy ra thông tin đích thực nếu không biết
giải thuật mã hóa và khóa. Như vậy, mã hóa cung cấp tính bí mật cho thông tin trong quá
trình truyền thông trên các kênh truyền. 4 lOMoAR cPSD| 45470709
Ngành khoa học chuyên nghiên cứu về mã hóa và giải mã là ngành mật mã. Đây
là một ngành khoa học ứng dụng toán học, các thuật toán ứng dụng vào biến đổi thông
tin từ định dạng ban đầu một định dạng khác. Nó đóng vai trò quan trọng và có rất nhiều
ứng dụng trong đời sống xã hội ngày nay, từ các lĩnh vực như an ninh, quốc phòng,...
đến các hoạt động trong sản xuất kinh doanh của các tổ chức, doanh nghiệp.
Mã hóa thông tin nhằm mục đích giấu đi nội dung thực tế của thông tin mà người
dùng muốn truyền trong quá trình truyền tin cũng như trong việc lưu trữ thông tin.
Phương pháp này dùng để tránh tình trạng thông tin bị đánh cắp và sử dụng vào những
mục đích không tốt. Có thể chia quá trình mã hóa thông tin thành hai phần:
Mã hóa: là giai đoạn chuyển đổi thông tin nguyên gốc ban đầu thành các định
dạng thông tin được mã hóa (gọi là bản mã).
Về mặt toán học, quá trình mã hóa có thể được biểu diễn là: C = E(K, P) Trong đó:
C là văn bản mã hóa (Ciphertext).
E là hàm mã hóa (thuật toán).
K là khóa mã (Key).
P là văn bản rõ (Plaintext)
Giải mã: từ bản mã thông tin nhận được, tiến hành biến đổi để thu lại được thông
tin nguyên gốc như trước khi mã hóa.
Về mặt toán học, quá trình giải mã được biểu diễn là: P = D(K, C) Trong đó:
• P là văn bản rõ (Plaintext).
• D là hàm giải mã (thuật toán). • K là khóa mã (Key).
• C là văn bản mã hóa (Ciphertext). 5 lOMoAR cPSD| 45470709
1.1.2. Một số thuật ngữ cơ bản STT Thuật ngữ Nội dung, ý nghĩa 1 Plaintext
Bản rõ, bản gốc, nội dung thông điệp gốc 2 Ciphertext
Bản mã, bản mật, bản kết quả sau khi mã hóa 3 Encryption
Mật mã hóa, mã hóa, quá trình chuyển bản rõ thành bản mã 4 Decryption
Giải mã, quá trình biến đổi bản mã thành bản rõ 5
Cryptosystem Hệ mã, hệ mã hóa 6
Cryptanalysis Phá mã, quá trình cố gắng chuyển đổi bản mật thành bản rõ mà không có khóa 7 Key space
Không gian khóa là tổng số khóa có thể có của một hệ mã hóa 8 Hash Hàm băm function
1.1.3. Mô hình truyền tin có bảo mật cơ bản
Trong truyền thông, để đảm bảo sự bí mật của thông tin thì trước khi truyền, thông
tin được mã hoá ở phía người gửi sau đó được giải mã ở phía người nhận. Quá trình này
còn gọi là quá trình truyền thông tin có bảo mật hay truyền tin an toàn. Có thể mô tả mô
hình truyền thông tin có bảo mật như sau: 6 lOMoAR cPSD| 45470709
Sơ đồ mô hình truyền tin bảo mật trên có thể giải thích ngắn gọn: Giả sử có 3 đối
tượng tham gia quá trình truyền tin là người gửi là S, người nhận là R và kẻ tấn công là E.
S muốn gửi một thông điệp X đến R qua một kênh truyền thông tin nào đó và E
có thể nghe trộm và ăn cắp thông tin này. Để chống lại việc mất thông tin, S sử dụng một
phép biến đổi (mã hóa) lên thông điệp X đang ở dạng nguyên gốc ban đầu (dạng đọc
được - Plaintext) để tạo thành một đoạn mã hóa Y (Cryptogram) không thể đọc được
hoặc nội dung đã bị thay đổi đi nhiều.
Khi đó Cryptogram Y (hay còn gọi là Ciphertext - thông điệp đã được mã hoá) đã
thực hiện che giấu nội dung của đoạn Plaintext X ban đầu. Khóa dùng để mã hóa dữ liệu
này là một thông số chỉ có bên gửi S và bên nhận R biết mà thôi, sau khi R nhận được
bản Ciphertext sẽ tiến hành giải mã và lấy về nội dung ban đầu.
Giả sử trong quá trình truyền tin, E nghe lén và đánh cắp được thông tin (Y) thì
cũng không thể giải mã và biết được nội dung của thông tin ban đầu. 7 lOMoAR cPSD| 45470709
1.2. Vài nét về lịch sử mã hóa
Lịch sử của mật mã học đã có từ hàng nghìn năm, bắt đầu từ những phương pháp
cổ điển đơn giản như sử dụng bút, giấy, khắc trên thẻ tre, da động vật hay vách đá.
Thời Cổ đại: Bằng chứng sớm nhất được tìm thấy trên các bức tượng Ai Cập cổ
đại (khoảng 4500 năm trước) với các ký hiệu tượng hình nhằm tạo sự bí ẩn, tò mò. Người
Hebrew cũng sử dụng phương pháp thay thế ký tự đơn giản như mật mã Atbash (khoảng
500 năm trước Công nguyên). Người Hy Lạp và La Mã cổ đại cũng đã biết đến và sử
dụng các kỹ thuật mật mã, nổi bật là mật mã Caesar. Mật mã còn được đề cập trong cuốn
sách Kama Sutra của Ấn Độ như một cách để những người yêu nhau trao đổi thông tin bí mật.
Thời Phục Hưng và Trung Cổ: Mật mã học trở nên quan trọng hơn do những thay
đổi và cạnh tranh về chính trị, tôn giáo. Tại châu Âu, đặc biệt là ở các thành bang thuộc
Ý, các kỹ thuật mật mã được sử dụng và phát triển rộng rãi. Tuy nhiên, ở Trung Đông,
châu Á và Nhật Bản, lĩnh vực này ít phát triển hơn cho đến khoảng sau năm 1510.
Từ thế kỷ 19 đến Thế chiến II: Mãi đến thế kỷ 19 và 20, mật mã học mới phát
triển một cách có hệ thống. Các công trình phân tích mật mã đơn ký tự của Charles
Babbage và Friedrich Kasiski đã đặt nền móng quan trọng. Đặc biệt, vào đầu thế kỷ 20,
các cỗ máy cơ khí và điện cơ như máy Enigma của Đức đã tạo ra những cơ chế mã hóa
phức tạp và hiệu quả. Trong Thế chiến II, các phương pháp toán học và thống kê, tiêu
biểu là công trình của William F. Friedman và Marian Rejewski, đã có những bước tiến
vượt bậc trong việc phân tích và phá vỡ các hệ thống mật mã phức tạp như Enigma.
Thời hiện đại: Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máy tính đã
đưa mật mã học lên một tầm cao mới. Sau Thế chiến II, cả hai ngành mật mã và phân
tích mật mã ngày càng sử dụng nhiều cơ sở toán học. Khi máy tính và Internet trở nên
phổ biến, mật mã học không còn bị giới hạn trong quân sự hay các tập đoàn lớn mà đã
trở thành một công cụ hữu dụng, quen thuộc được mọi người sử dụng hàng ngày để bảo vệ thông tin.
1.3. Vai trò của mã hóa và quy trình mã hóa
1.3.1. Vai trò của mã hóa

1.3.1.1. Bảo vệ tính riêng tư trong giao tiếp 8 lOMoAR cPSD| 45470709
Đây là ứng dụng phổ biến nhất. Khi chúng ta sử dụng các ứng dụng nhắn tin như
Zalo, WhatsApp, hay Telegram, công nghệ "mã hóa đầu cuối" (End-to-End Encryption)
thường được triển khai.
Công nghệ này đảm bảo rằng nội dung tin nhắn, hình ảnh, hay cuộc gọi của bạn
được mã hóa ngay trên thiết bị của người gửi và chỉ được giải mã trên thiết bị của người
nhận. Điều này bảo vệ quyền riêng tư tuyệt đối, ngăn chặn ngay cả nhà cung cấp dịch vụ
đọc hay can thiệp vào nội dung cuộc trò chuyện.
1.3.1.2. Đảm bảo an toàn cho giao dịch tài chính và thương mại điện tử
Khi bạn truy cập vào website của ngân hàng hoặc các trang thương mại điện tử,
bạn sẽ thấy biểu tượng ổ khóa và địa chỉ web bắt đầu bằng "https" (thay vì "http").
Chữ "s" (Secure) đó đại diện cho việc kết nối giữa trình duyệt của bạn và máy chủ
đang được mã hóa. Toàn bộ thông tin nhạy cảm—như mật khẩu đăng nhập, thông tin thẻ
tín dụng, dữ liệu cá nhân—được bảo vệ an toàn trong quá trình truyền tải. Mã hóa ngăn
chặn tin tặc "nghe lén" và đánh cắp các thông tin tài chính quan trọng này.
1.3.1.3. Bảo vệ dữ liệu lưu trữ trên thiết bị cá nhân
Mã hóa cũng đóng vai trò là tấm khiên bảo vệ dữ liệu "ở trạng thái nghỉ", tức là
dữ liệu được lưu trên ổ cứng máy tính hoặc bộ nhớ điện thoại.
Các hệ điều hành như iOS, Android, Windows (với BitLocker) hay macOS (với
FileVault) đều sử dụng mã hóa toàn bộ ổ đĩa. Trong trường hợp bạn không may làm mất
điện thoại hoặc laptop, kẻ xấu sẽ không thể truy cập vào dữ liệu cá nhân, hình ảnh hay
tài liệu công việc của bạn, ngay cả khi họ tháo ổ cứng ra khỏi thiết bị.
1.3.1.4. Xác thực danh tính và đảm bảo tính toàn vẹn dữ liệu
Mã hóa không chỉ dùng để che giấu, mà còn dùng để xác thực. Công nghệ "chữ
ký số" là một ví dụ điển hình.
Khi một tổ chức hoặc cá nhân sử dụng chữ ký số trên một văn bản điện tử (như
hợp đồng, hóa đơn điện tử), hệ thống mã hóa sẽ giúp người nhận xác minh hai điều:
• Tính xác thực: Văn bản này chắc chắn đến từ đúng người gửi.
• Tính toàn vẹn: Nội dung văn bản không hề bị thay đổi hay giả mạo kể từ khi nó được ký. 9 lOMoAR cPSD| 45470709
1.3.1.5. An ninh mạng không dây (Wi-Fi)
Khi bạn kết nối vào mạng Wi-Fi ở nhà và nhập mật khẩu, bạn đang sử dụng một
giao thức mã hóa (như WPA2 hoặc WPA3). Giao thức này mã hóa toàn bộ dữ liệu truyền
qua lại giữa thiết bị của bạn (điện thoại, laptop) và router Wi-Fi. Điều này ngăn chặn
những người lạ trong cùng phạm vi mạng theo dõi hoạt động trực tuyến hoặc đánh cắp
thông tin đăng nhập của bạn.
1.3.2. Quy trình mã hóa chung.
Dựa trên sơ đồ, quy trình mã hóa và giải mã là một chu trình khép kín gồm các bước sau:
Bước 1: Chuẩn bị văn bản gốc (Plaintext): Đây là thông tin ban đầu, ở trạng thái
có thể đọc và hiểu được.
Bước 2: Mã hóa (Encryption): Văn bản gốc được xử lý bởi một Thuật toán Mã
hóa (Encryption Algorithm). Thuật toán này sẽ thực hiện các phép biến đổi toán học để
chuyển đổi dữ liệu gốc thành một định dạng mới.
Bước 3: Tạo ra bản mã (Ciphertext): Đây là kết quả của quá trình mã hóa. Thông
tin lúc này đã ở dạng bị xáo trộn, không mang ý nghĩa rõ ràng và không thể đọc hiểu
được nếu chỉ nhìn vào.
Bước 4: Giải mã (Decryption): Bản mã sau đó được xử lý bởi một Thuật toán Giải
mã (Decryption Algorithm). Đây là quy trình ngược lại với mã hóa, nó sẽ áp dụng các
phép biến đổi tương ứng để khôi phục bản mã về lại trạng thái ban đầu.
Kết quả cuối cùng của quá trình giải mã là Văn bản gốc (Plaintext) được phục hồi
hoàn toàn, giống hệt như trước khi được mã hóa. 10 lOMoAR cPSD| 45470709
1.4. Các yêu cầu của hệ mã hóa
Để đảm bảo được các yêu cầu về an toàn và bảo mật thông tin, các hệ mã hóa cần
phải có các tính chất cơ bản sau:
1.4.1. Yêu cầu với hệ mã hóa
Các hệ mã hóa phải đạt được hai tính chất quan trọng nhằm mục đích gây khó
khăn cho kẻ tấn công trong việc tìm ra quy luật mã hóa:
Tính hỗn loạn:
• Định nghĩa: Mã hóa phải làm cho sự phụ thuộc của bản mã (ciphertext) vào
bản rõ (plaintext) và khóa là thực sự phức tạp, nghĩa là không có quan hệ trực
tiếp, tuyến tính dễ nhận biết giữa chúng.
• Mục tiêu là gây rối cho kẻ tấn công khi cố gắng suy ngược khóa hoặc nguyên
bản từ quan sát bản mã. Khi hệ có độ rối (confusion) cao, thay đổi nhỏ ở bản
rõ hoặc khóa sẽ dẫn đến những biến đổi khó dự đoán trên bản mã, làm phá vỡ
các phương pháp phân tích tuyến tính hoặc suy diễn giản đơn. Độ rối
(confusion) thường đạt được bằng các thành phần phi-tuyến (ví dụ: Sbox trong
block cipher) để loại bỏ mối quan hệ đơn giản giữa bit vào và bit ra. Trong
một block cipher, một S-box mạnh sẽ ánh xạ một tập bit đầu vào thành bit đầu
ra theo cách không tuyến tính - nên dù biết nhiều cặp (plaintext, ciphertext)
cũng khó rút ra quy luật ánh xạ.
Tính khuếch tán:
• Định nghĩa: Quá trình làm phân tán ảnh hưởng của từng ký tự/bit của bản rõ
ra trên nhiều vị trí trong bản mã, dẫn đến việc cân bằng/tán rộng tỷ lệ xuất
hiện các ký tự hoặc mẫu trong bản mã hóa.
• Mục tiêu là ngăn chặn các tấn công thống kê (ví dụ phân tích tần suất) bằng
cách làm “phẳng” phân bố ký tự — một ký tự hay mẫu xuất hiện nhiều trong
bản rõ không nên tương ứng với tần suất cao rõ rệt trong bản mã. Tính khuếch
tán khiến thông tin thống kê ban đầu bị hòa lẫn, do đó kẻ tấn công khó tìm
mẫu lặp hay suy ra cấu trúc. Thông thường tính khuếch tán thực hiện bằng
tráo vị trí, hoán vị và nhiều vòng XOR/phép tráo. Nếu một văn bản gốc có rất
nhiều chữ 'a', sau khi mã hóa với tính khuếch tán tốt, chữ 'a' không còn tạo ra
một ký tự hay mẫu đặc trưng trong bản mã. Một kỹ thuật đơn giản minh họa 11 lOMoAR cPSD| 45470709
ý tưởng là chèn thêm đoạn văn bản giả (padding/ngẫu nhiên) hoặc thực hiện
nhiều vòng tráo/xor để “phủ” tần suất ban đầu - tuy nhiên trong thực tế người
ta dùng các lớp permutation (hoán vị) và mixing trong cipher thay vì thêm văn
bản dư. Ví dụ: Giả sử bản rõ là: AAAAAABBBBBB. Nếu ta chèn thêm ký tự
ngẫu nhiên giữa các chữ (ví dụ: A X A Y A B T B U...), thì tần suất xuất hiện
của chữ cái thật sẽ bị “che đi”, khiến việc phân tích thống kê khó hơn. Tuy
nhiên, cách này chỉ là kỹ thuật đơn giản, không đủ an toàn.
1.4.2. Yêu cầu của hệ mật mã
Yêu cầu của một hệ mật mã trước hết là phải che giấu được nội dung của văn bản
rõ (Plaintext) để đảm bảo chỉ người có quyền hợp pháp mới có thể truy cập và hiểu được
thông tin (Secrecy). Mục tiêu của yêu cầu này là ngăn chặn việc truy nhập trái phép và
đảm bảo tính bí mật của dữ liệu trong quá trình lưu trữ hoặc truyền tải. Ví dụ, dữ liệu
khách hàng của ngân hàng thường được mã hóa bằng thuật toán AES trước khi truyền
qua Internet; nếu không có khóa giải mã, kẻ tấn công chỉ nhìn thấy chuỗi ký tự vô nghĩa
và không thể đọc được thông tin thật.
Bên cạnh đó, hệ mật mã cần tạo ra các yếu tố xác thực thông tin (Authentication)
nhằm đảm bảo dữ liệu đến đúng người nhận hợp pháp và không bị thay đổi trên đường
truyền. Việc xác thực thường được thực hiện thông qua các cơ chế như mã HMAC hoặc
chữ ký số. Chẳng hạn, trong hệ thống gửi email kích hoạt tài khoản, mỗi email đều được
gắn mã xác thực giúp người nhận kiểm tra được rằng thư đến từ hệ thống chính thức chứ không phải giả mạo.
Cuối cùng, hệ mật mã phải tổ chức các sơ đồ chữ ký điện tử để đảm bảo không
có hiện tượng giả mạo hoặc mạo danh khi gửi thông tin qua mạng. Chữ ký điện tử cho
phép xác minh nguồn gốc thông điệp và ngăn người gửi phủ nhận hành vi gửi dữ liệu,
đồng thời phát hiện mọi chỉnh sửa nội dung sau khi ký. Ví dụ, trong hợp đồng điện tử,
người ký sử dụng khóa riêng được lưu trong USB token để ký văn bản; bên nhận dùng
khóa công khai để kiểm tra, nếu chữ ký hợp lệ thì có thể khẳng định hợp đồng là thật và toàn vẹn.
1.4.3. Độ an toàn của hệ mã hóa (Phân loại theo Lý thuyết)
Độ an toàn của một hệ mã hóa là yếu tố then chốt quyết định khả năng bảo vệ
thông tin trước các hình thức tấn công và xâm nhập trái phép. Mọi thuật toán mã hóa đều 12 lOMoAR cPSD| 45470709
sử dụng khóa bí mật trong quá trình mã hóa và giải mã, và chính độ bảo mật của khóa
này là yếu tố trọng tâm quyết định tính an toàn của cả hệ thống. Nếu khóa bị lộ hoặc có
thể bị suy đoán dễ dàng, thì dù thuật toán có phức tạp đến đâu, hệ mã hóa vẫn bị coi là không an toàn.
Trên phương diện lý thuyết, độ an toàn của hệ mã hóa được chia thành hai loại
chính:an toàn vô điều kiện và an toàn tính toán An toàn vô điều kiện:
• Định nghĩa: Một hệ mã hóa được coi là an toàn vô điều kiện nếu bản mã thu
được không chứa đủ thông tin để xác định duy nhất bản gốc, cho dù kẻ tấn
công có khả năng tính toán vô hạn và thời gian vô hạn đi chăng nữa.
• Điều này có nghĩa là không tồn tại bất kỳ phương pháp toán học hoặc máy
tính nào có thể giải mã được thông tin, trừ khi biết chính xác khóa bí mật. Tức
là, ngay cả khi hacker có toàn bộ bản mã và thuật toán mã hóa, họ vẫn không
thể suy ra bản gốc. Hệ mã hóa One-Time Pad (OTP) là ví dụ điển hình duy
nhất cho loại an toàn này. Trong hệ này, mỗi ký tự của bản gốc được mã hóa
bằng cách kết hợp với một ký tự ngẫu nhiên trong khóa có độ dài bằng chính
thông điệp. Nếu khóa chỉ được sử dụng một lần và hoàn toàn ngẫu nhiên, việc
phá mã là bất khả thi — vì mỗi bản mã có thể tương ứng
với mọi bản gốc có độ dài tương tự, khiến việc xác định bản thật trở nên không thể.
An toàn tính toán:
• Định nghĩa: Một hệ mã hóa được coi là an toàn tính toán nếu việc phá mã là
quá tốn kém về thời gian hoặc chi phí, khiến cho nỗ lực tấn công không còn ý
nghĩa thực tế. Nói cách khác, hệ mã hóa này không đảm bảo an toàn tuyệt đối
về mặt lý thuyết, nhưng đủ an toàn trong phạm vi khả năng tính toán hiện tại
của con người và máy móc.
• Phần lớn các hệ mã hóa hiện nay như RSA, AES, hay DES đều thuộc nhóm
an toàn tính toán. Mức độ an toàn của chúng dựa trên giả định rằng không có
thuật toán hiệu quả nào để giải các bài toán nền tảng như phân tích số nguyên
lớn (RSA) hoặc tìm khóa bí mật (AES) trong thời gian hợp lý.
Hai điều kiện để đảm bảo an toàn tính toán: 13 lOMoAR cPSD| 45470709
• Chi phí phá mã vượt quá giá trị thông tin có thể mang lại: Nếu chi phí cần bỏ
ra (về phần cứng, điện năng, nhân lực, thời gian...) để phá mã cao hơn giá trị
của thông tin thu được, kẻ tấn công sẽ không có động lực thực hiện. Ví dụ: Để
đánh cắp 1 tỷ đồng từ ngân hàng, nếu hacker cần đầu tư hệ thống máy tính trị
giá 2 tỷ đồng để phá mã, thì việc tấn công trở nên vô nghĩa về mặt kinh tế.
• Thời gian phá mã vượt quá tuổi thọ của thông tin: Nếu thời gian cần để giải
mã vượt quá thời gian hữu ích của dữ liệu, thì thông tin đó sẽ mất giá trị khi
được giải mã. Ví dụ: Một thông điệp giao dịch chỉ có giá trị trong 24 giờ,
nhưng nếu phải mất 10 năm để phá mã, thì kết quả thu được không còn giá trị sử dụng.
Trong thực tế, không cần thiết phải đạt tới mức “an toàn tuyệt đối” mà chỉ cần
đảm bảo tính an toàn tính toán - tức là làm cho việc phá mã trở nên phi kinh tế hoặc vô
ích về thời gian. Điều này lý giải vì sao hầu hết các hệ thống bảo mật hiện nay, từ ngân
hàng điện tử, thương mại điện tử cho đến hệ thống chính phủ số, đều dựa trên các thuật
toán an toàn tính toán thay vì an toàn tuyệt đối.
1.5. Các kỹ thuật phá mã phổ biến
Phá mã (cryptanalysis) là nỗ lực giải mã văn bản đã được mã hóa trong trường
hợp không biết trước khóa của hệ mã. Phá mã dựa trên giả thiết là người giải mã nhận
biết được nguyên bản cần tìm, còn quá trình này còn được gọi là hack bản mã.
1.5.1. Phương pháp vét cạn
Khái niệm: Phương pháp vét cạn trong phá mã là phương pháp thử tất cả các khóa
có thể cho đến khi xác định được nguyên bản từ bản mã. Ví dụ: Plaintext (gốc):
HELLO WORLD; k=3 => Ciphertext(mã): KHOOR ZRUOG
Giả sử kẻ tấn công chỉ có ciphertext KHOOR ZRUOG và biết đây là Caesar cipher
(khóa là một số 0–25). Áp dụng vét cạn tức là thử tất cả các khóa có thể, thử các dịch
trái (shift ngược) từ 1 đến 25: k=1 → J G N N Q Y Q T N F (không đọc được) k= 2 → I F M M P X P S M E
k=3 → H E L L O W O R L D ← đọc được, đây là plaintext đúng…. tương tự đến k=25.
Giới hạn: Phương pháp này chỉ khả thi đối với các khóa có độ dài ngắn. 14 lOMoAR cPSD| 45470709
Độ an toàn: Độ an toàn của một hệ mã hóa chống lại phương pháp vét cạn phụ
thuộc vào độ dài của khóa (kích thước khóa).
Nếu sử dụng khóa có kích thước 168 bit, ngay cả khi một chiếc máy tính có thể
giải mã 1012 mã trong 1 giây, thì việc phá mã cũng mất khoảng 5,9 x 1036 năm. Vì vậy,
nếu sử dụng khóa có độ dài 168 ký tự, hệ mã có thể được coi là an toàn đối với phương
pháp phá mã bằng vét cạn.
(Bảng thời gian tìm khóa đối với các khóa có kích thước khác nhau)
1.5.2. Phương pháp thám mã
Khái niệm: Phương pháp thám mã dùng để khai thác những nhược điểm của giải
thuật mã hóa và dựa trên những đặc trưng chung của nguyên bản hoặc một số cặp nguyên
bản - bản mã. Ví dụ: Nếu bản rõ (plaintext) có ký tự lặp nhiều (AAAAAA), bản mã
(ciphertext) cũng có thể lặp — kẻ tấn công có thể đoán được ký tự gốc. Nếu banr mã lộ
một quy luật (ví dụ tần suất ký tự cao, chu kỳ lặp do khóa ngắn), kẻ tấn công có thể tìm ra chu kỳ và suy ra khóa.
Các trường hợp tấn công thám mã: Để tiện cho việc nghiên cứu độ an toàn của
một giải thuật mã hóa, người ta phân loại ra một số trường hợp để phá mã. Thuật toán
mã hóa phải đảm bảo độ an toàn trong mọi trường hợp sau:
- Chỉ có bản mã: Chỉ biết giải thuật mã hóa và bản mã hiện có. - Biết
nguyên bản: Biết thêm một số cặp nguyên bản - bản mã.
- Chọn nguyên bản: Chọn 1 nguyên bản, biết bản mã tương ứng.
- Chọn bản mã: Chọn 1 bản mã, biết nguyên bản tương ứng. 15 lOMoAR cPSD| 45470709
- Chọn văn bản: Kết hợp chọn nguyên bản và chọn bản mã.
- Trên thực tế, trường hợp khả năng người giải mã chỉ biết giải thuật mã hóa và
một số bản mã là lớn nhất, và đây cũng là trường hợp khó phá mã nhất.
CHƯƠNG 2: HỆ THỐNG MÃ HÓA KHÔNG ĐỐI XỨNG
2.1. Khái niệm về hệ thống mã hóa không đối xứng
2.1.1. Khái niệm

Thuật toán mã hóa khóa công khai có cơ sở hoàn chỉnh đầu tiên được Ron Rivest,
Adi Shamir và Leonard Adleman (Gọi tắt là RSA) khởi xướng vào năm 1977 tại Học
viện Kỹ thuật Massachusett - MIT (Massachusett Institute of Technology). Công trình
này được công bố vào năm 1978 và thuật toán được đặt tên là thuật toán RSA - theo 3
chữ cái đầu của các đồng tác giả. RSA sử dụng phép toán lũy thừa theo modulo (với
modulo được tính bằng tích số của 2 số nguyên tố lớn) để mã hóa và giải mã cũng như
tạo chữ ký số. Độ an toàn của thuật toán được đảm bảo vì không tồn tại kỹ thuật hiệu
quả để phân tích một số rất lớn thành thừa số nguyên tố.
Mã hóa khóa công khai (hay khoá bất đối xứng) là một dạng mã hóa cho phép
người sử dụng trao đổi các thông tin mật mà không cần phải trao đổi các khóa bí mật
trước đó, điều này được thực hiện bằng cách sử dụng một cặp khóa có quan hệ toán học
với nhau là khóa công khai (Public key) và khóa riêng (Private key) hay khóa bí mật (Secret key).
2.1.2. Mô tả quá trình mã hóa công khai theo sơ đồ 16 lOMoAR cPSD| 45470709
(Sơ đồ truyền tin bằng mã hoá khoá công khai)
Quá trình truyền tin sử dụng phương pháp mã hóa bất đối xứng có thể mô tả như sau:
- Người nhận tin B phát sinh ra một cặp khóa: Khóa công khai KcB và khóa bí mật KrB.
- B gửi khóa công khai KcB cho A (và có thể công bố cho tất cả mọi người) còn
khóa bí mật KrB được B giữ một cách an toàn.
- A dùng khóa KcB để mã hóa thông điệp và gửi bản mã cho B, B dùng khóa bí
mật KrB để giải mã. Quá trình này được mô tả như sơ đồ trên.
2.2. Đặc điểm của hệ mã hóa không đối xứng
Đặc điểm nổi bật: Đặc điểm Mô tả chi tiết Mã hoá sử dụng 2
Mã hoá thực hiện bằng cách sử dụng một cặp khóa có quan hệ khóa khác nhau
toán học với nhau là khóa công khai (Public key) và khóa riêng
(Private key) hay khóa bí mật (Secret key).
- Khóa công khai (Kc): công bố cho tất cả mọi người biết.
- Khóa riêng (Kr): bên nhận giữ bí mật, không chia sẻ cho bất kỳ ai. Tính bảo mật cao
Ngay cả khi khóa công khai bị lộ, dữ liệu vẫn an toàn nếu khóa
bí mật được giữ kín. Dựa trên các thuật
Ví dụ: phân tích số nguyên lớn (RSA), logarit rời rạc (ElGamal, toán khó trong toán ECC). học 17 lOMoAR cPSD| 45470709
Tốc độ chậm hơn mã Do tính toán phức tạp nên không phù hợp để mã hóa dữ liệu hóa đối xứng
lớn, thường chỉ dùng để trao đổi khóa hoặc xác thực.
Hỗ trợ chữ ký số và Có thể dùng khóa bí mật để ký (tạo chữ ký số), người khác chứng thực
dùng khóa công khai để kiểm tra tính xác thực.
Không cần chia sẻ Khóa công khai có thể phát hành rộng rãi, giúp việc trao đổi an khóa bí mật toàn hơn.
Kết hợp với mã hóa Thường được dùng để trao đổi khóa đối xứng an toàn (ví dụ đối xứng trong HTTPS).
Điều quan trọng đối với hệ thống là không thể (hoặc rất khó) tìm ra khóa bí mật
nếu chỉ biết khóa công khai, hệ thống mật mã hóa khóa công khai có thể sử dụng với các mục đích:
Mã hóa: giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã được.
Tạo chữ ký số: cho phép kiểm tra một văn bản xem nó có phải đã được tạo với
một khóa bí mật nào đó hay không.
Thỏa thuận khóa: cho phép thiết lập khóa để trao đổi thông tin mật giữa hai bên.
Thông thường, các kỹ thuật mã hóa khóa công khai đòi hỏi khối lượng tính toán
nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhưng do những ưu điểm nổi bật nên chúng
được sử dụng nhiều. Thuật toán mã hóa bất đối xứng sử dụng hai khóa: khóa công khai
(hay khóa công cộng) và khóa bí mật (hay khóa riêng). Mỗi khóa là những số cố định sử
dụng trong quá trình mã hóa và giải mã, khóa công khai được công bố rộng rãi cho mọi
người và được dùng để mã hóa, những thông tin được mã hóa bằng khóa công khai chỉ
có thể được giải mã bằng khóa bí mật tương ứng. Nói cách khác, mọi người biết khóa
công khai đều có thể mã hóa thông tin để gửi nhưng chỉ có người biết khóa riêng (bí mật)
mới có thể giải mã được thông tin đó.
Đây là loại hình mã hóa ra đời sau mã hóa đối xứng và còn được gọi là công nghệ mã hóa public-key: 18 lOMoAR cPSD| 45470709
- Mã hóa bất đối xứng được cho là an toàn hơn mã hóa đối xứng vì nó sử dụng 2
key riêng biệt cho 2 quy trình mã hóa và giải mã. Public key được sử dụng để mã
hóa sẽ được công khai, nhưng private key để giải mã là hoàn toàn bí mật.
- Phương pháp mã hóa này được sử dụng trong các giao tiếp hàng ngày qua internet.
Khi một tin nhắn được mã hóa bằng public key, nó chỉ có thể được giải mã bằng
private key. Tuy nhiên, khi một tin nhắn được mã hóa bằng private key, nó có thể
được giải mã bằng public key.
- Chứng chỉ kỹ thuật số trong mô hình máy khách-máy chủ có thể được sử dụng để tìm thấy các public key.
- Các kỹ thuật mã hóa bất đối xứng phổ biến bao gồm RSA, DSA và PKCS.
2.3. Ưu điểm, nhược điểm của hệ mã hóa không đối xứng
 Ưu điểm của hệ thống mã hóa khóa công khai:
Đơn giản trong việc lưu chuyển khóa vì chỉ cần đăng ký một khóa công khai và
những người muốn trao đổi sẽ lấy khóa này về để mã hóa thông tin truyền đi, không cần
phải có một kênh bí mật để truyền khóa mã.
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 trong kênh truyền,
Là tiền đề cho sự ra đời của chữ ký số và các phương pháp chứng thực số sau này.
Nhưng việc tìm được một thuật toán mã hóa thỏa mãn được các yêu cầu đó là
không dễ dàng, do một thuật toán mã hóa như vậy cần phải thỏa mãn các yêu cầu sau: (1)
Dễ dàng tạo ra được cặp khóa công khai và bí mật (KU, KR), (2)
Dễ dàng tính được bản mã C = EKU(M), (3)
Có thể dễ dàng giải mã M = DKR(C), (4)
Đối thủ không thể xác định được KR khi biết KU, (5)
Đối thủ không thể xác định được M khi biết KU và C, (6)
Một trong hai khóa có thể dùng mã hóa trong khi khóa kia có thể
dùng giảimã: M = DKR(EKU(M)) = DKU(EKR(M)). 19 lOMoAR cPSD| 45470709
Khắc phục nhược điểm của hệ mã hoá đối xứng. Các thuật toán mã hóa khóa đối
xứng có một nhược điểm là nếu hai người dùng muốn trao đổi thông tin bí mật cần phải
trao đổi khóa bí mật trước đó. Khóa bí mật này cần phải được trao đổi theo một cách
thức an toàn, không phải bằng các phương thức thường dùng để liên lạc trong môi trường
mở vì dễ bị lộ. Điều này khó thực hiện và nói chung là không thể đảm bảo bí mật, nhất
là trong trường hợp muốn trao đổi thông tin với nhiều đối tác thì thực tế là không thực hiện được.
Mã hóa bất đối xứng khắc phục được nhược điểm này vì khóa công khai có thể
được công khai cho mọi người, còn khóa riêng chỉ do chủ sở hữu giữ bí mật. Dù khóa
công khai được chia sẻ rộng rãi, dữ liệu vẫn an toàn vì chỉ khóa bí mật mới giải mã được thông tin.
Trong hệ thống mã hóa đối xứng, mỗi cặp người dùng phải chia sẻ một khóa bí
mật riêng để có thể trao đổi thông tin an toàn. Khi số lượng người tham gia tăng lên, số
khóa cần quản lý cũng tăng theo cấp số nhân, gây khó khăn trong việc lưu trữ và đảm
bảo an toàn cho các khóa này. Ngược lại, trong mã hóa bất đối xứng, mỗi người chỉ cần
sở hữu một cặp khóa duy nhất gồm khóa công khai và khóa riêng tư. Nhờ vậy, họ có thể
dễ dàng thiết lập liên lạc an toàn với bất kỳ ai khác mà không cần tạo thêm các khóa
riêng biệt cho từng mối quan hệ, giúp hệ thống trở nên linh hoạt, đơn giản và dễ mở rộng hơn rất nhiều.
Mã hóa đối xứng: Không thể xác minh chắc chắn ai là người gửi, vì cả hai bên
đều dùng chung một khóa. Người gửi có thể phủ nhận việc đã gửi thông tin, vì khóa dùng
chung. Còn mã hóa bất đối xứng cho phép sử dụng chữ ký số, giúp xác minh danh tính
người gửi và đảm bảo rằng họ không thể phủ nhận việc đã gửi thông tin đó.
Vì vậy mã hóa khóa công khai (hay khóa bất đối xứng) được đưa ra như là một
giải pháp thay thế. Thực ra mã hóa bất đối xứng không thay thế hoàn toàn mã hóa đối
xứng mà người ta sử dụng đồng thời cả hai loại để bổ sung, hỗ trợ cho nhau.
 Hạn chế của hệ mã hóa khóa công khai:
Tốc độ xử lý tốn nhiều thời gian và cơ chế xác thực cần nhiều không gian trống.
Về tốc độ xử lý: Các giải thuật trong mã hóa khóa công khai chủ yếu dùng các
phép nhân nên tốc độ chậm hơn nhiều so với các giải thuật mã hóa đối xứng, vì vậy, 20