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

Bài tập lớn An toàn bảo mật thông tin Đại học Công nghiệp Hà Nội

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 (130.94 KB, 16 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA: CÔNG NGHỆ THÔNG TIN
---------------------------------------

BÁO CÁO HỌC PHẦN: AN TỒN BẢO MẬT THƠNG TIN

TÌM HIỂU VỀ CHỮ KÝ ĐIỆN TỬ RSA VÀ VIẾT ỨNG DỤNG MINH HỌA
GVHD:
Nhóm:
Sinh viên:

Lớp: 20201IT6001001. Khóa: 12

Hà Nội – Năm 2020
LỜI MỞ ĐẦU


Ngày nay, các ứng dụng Công nghệ thông tin đã và đang ngày càng phổ
biến rộng rãi đã ảnh hưởng rất lớn đến diện mạo của đời sống, kinh tế, xã hội.
Đối với những thơng tin bình thường thì khơng có ai chú ý đến, nhưng đối với
những thơng tin mang tính chất sống cịn đối với một số cá nhân (hay tổ chức)
thì vấn đề bảo mật thật sự rất quan trọng, vấn đề khó khăn đặt ra là làm sao giữ
được thơng tin bí mật và giữ cho đến đúng được địa chỉ cần đến. Chữ ký điện tử
đã chở nên phổ biến và được nhiều công ty xây dựng và áp dụng. Nhiều tổ chức,
cá nhân đã tìm kiếm và đưa ra nhiều giải pháp bảo mật phương pháp mã hóa
khóa cơng khai được xem là phương pháp có tính an tồn khá cao. Như vậy việc
đảm bảo an tồn thơng tin, tránh mọi nguy cơ bị thay đổi, sao chép hoặc mất mát
dữ liệu trong các ứng dụng trên mạng luôn là vấn đề bức xúc, được nhiều người
quan tâm. Trong bài báo cáo này, em trình bày những vấn đề liên quan về chữ
ký điện tử, chữ ký điện tử RSA, hàm băm MD5 và mã hóa bất đối xứng. Từ đó,
ứng dụng thuật tốn MD5 và RSA để phân tích q trình hoạt động của chữ ký


điện tử.
Chúng em xin chân thành cảm ơn cơ Trần Phương Nhung đã chỉ bảo tận
tình và giúp đỡ chúng em trong suốt quá trình làm bài tập lớn mơn học. Với sự
hướng dẫn của thầy, nhóm chúng em đã có những định hướng tốt trong việc triển
khai và thực hiện các yêu cầu làm bài tập lớn trong mơn học.
Nhóm sinh viên thực hiện:


MỤC LỤC


4

Chương 1. TỔNG QUAN VỀ CHỮ KÝ ĐIỆN TỬ
1.1 Tổng quan về chữ ký điện tử


Kể tử khi con người phát minh ra chữ viết, các chữ ký thường luôn được sử
dụng hàng ngày, chẳng hạn như ký một biên biên nhận trên một bức thư nhận
tiền từ ngân hàng, ký hợp đồng hay một văn bản bất kỳ nào đó. Chữ ký viết



tay thơng thường trên tài liệu thường được sử dụng để xác định người ký nó.
Sơ đồ chữ ký điện tử là một phương pháp ký một văn bản hay lưu bức điện
dưới dạng điện tử. Chẳng hạn một bức điện có chữ ký được lưu hành trên
mạng máy tính. Chữ ký điện tử từ khi ra đời đã có nhiều ứng dụng rộng rãi
trong các giao dịch thương mại, từ việc xác minh chữ ký cho đến các thẻ tín




dụng, các sơ đồ định danh và các sơ đồ chia sẻ bí mật.
Một sơ đồ chữ ký điện tử thưởng chứa hai thành phần: thuật toán ký sig ( ) và
thuật toán xác minh ver ( ). B có thể ký một bức điện x dùng thuật tốn kỳ an
tồn (bí mật). Kết quả chữ ký y = sig(x) nhận được có thể được kiểm tra bằng
thuật tốn xác minh cơng khai ver(y). Khi cho trước cặp (x,y), thuật toán xác
minh cho giá trị TRUE hay FALSE tuỳ thuộc vào việc chữ ký được xác thực



như thế nào.
Vậy, một số định nghĩa về chữ ký điện tử như sau:
- Là một định danh điện tử được tạo ra bởi máy tính được các tổ chức sử
-

dụng nhằm đạt được tính hiệu quả và có hiệu lực như là các chữ ký tay.
Là một cơ chế xác thực hóa cho phép người tạo ra thơng điệp đính kèm
một mã số vào thông điệp giống như là việc ký một chữ kỹ lên một văn
bản bình thường.

1.2 So sánh chữ kí điện tử với chữ kí thơng thường trên văn bản


Sau đây, chúng ta sẽ tìm hiểu một số sơ đồ chữ kỷ quan trọng. Song trước hết,
chúng ta sẽ thảo luận một vài điểm khác biệt cơ bản giữa chữ ký thơng



thường và chữ ký điện tử.
Đầu tiên là vấn đề ký một tài liệu. Với chữ ký thơng thưởng nó là một phần

vật lý của tài liệu. Tuy nhiên, một chữ ký điện tử không gắn theo kiểu vật lý


5

vào bức điện nên thuật toán được dùng phải là "khơng nhìn thấy” theo cách


nào đó trên bức điện.
Thứ hai là vấn đề kiểm tra. Chữ ký thông thường được kiểm tra bằng cách so
sánh nó với các chữ ký xác thực khác. Ví dụ, ai đó ký một tấm séc để mua
hàng, người bán sẽ so sánh chữ ký trên mảnh giấy đó với chữ ký nằm ở mặt
sau thẻ tín dụng để kiểm tra. Mặt khác, chữ ký số có thể kiểm tra bằng một
thuật tốn kiểm tra một cách công khai. Như vậy, bất kỳ ai cũng có thể kiểm
tra được chữ ký điện tử. Việc sử dụng một sơ đồ ký an tồn có thể ngăn chặn



được khả năng giả mạo.
Sự khác biệt cơ bản gia chữ ký điện tử và chữ ký thông thường là ở chỗ: một
bản copy tài liệu có chữ ký được đồng nhất với bản gốc. Nói cách khác, tài
liệu có chữ ký trên giấy thường có thể khác biệt với bản gốc điều này để ngăn
chặn một bức điện được ký khỏi bị dừng lại. Ví dụ, nếu B ký một bức điện
xác minh cho A rút 100$ từ tài khoản của mình, anh ta chỉ muốn A có khả
năng làm điều đó một lần. Vì thế, bản thân bức điện phải chứa thông tin để
khỏi bị dùng lại, chẳng hạn như dùng dịch vụ gán nhãn thời gian (Time



Stamping Service).

Chữ ký điện tử và chữ ký thường có nhiều điểm khác nhau:
- Về tài liệu được ký: Với tài liệu thơng thường, nó là một phần vật lý của
tài liệu. Ngược lại, chữ ký điện tử không phải theo kiểu vật lý gắn vào
-

thơng báo nên khơng nhìn thấy trên bức điện.
Về vấn đề kiểm tra chữ ký: Chữ ký thơng thường được kiểm tra bằng cách
so sánh nó với các chữ ký xác thực khác (chữ ký mẫu). Điểm yếu của chữ
ký thơng thường là khơng an tồn, và dễ có thể giả mạo. Ngược lại, chữ ký
điện lại được kiểm tra nhờ dùng thuật toán kiểm tra cơng khai, bất kỳ ai
cũng có thể kiểm tra được. Việc dùng một sơ đồ chữ ký an tồn có thể
ngăn chặn được giả mạo.


6

1.3 Vị trí, vai trị của chữ ký điện tử


Xu hướng quốc tế hóa và tồn cầu hóa đã và đang ảnh hưởng đến sự phát
triển của thế giới. Việc trao đổi thơng tin cũng từ đó u cầu nhanh gọn, chính
xác và đặc biệt là phải an tồn. Việc trao đổi thông tin, chứng thực thông tin
theo phong cách truyền thống làm giảm tốc độ, cũng như sự chính xác của
thơng tin. Những cộng việc đó mang tính chất thủ cơng gây ra sự chậm trễ và



thiếu chính xác trong trao đổi.
Chính khó khăn đã nảy sinh sự phát triển mạnh mẽ của công nghệ thông tin
và công nghệ mã hóa. Hiện nay, ở tất cả các nước phát triển cũng như đang

phát triển, mạng máy tính đang ngày càng đóng vai trị thiết yếu trong mọi
lĩnh vực hoạt động của toàn xã hội và nhu cầu bảo mật thơng tin được đặt lên
hàng đầu. Điển hình là việc mã hóa bảo mật các thơng tin số của doanh
nghiệp, dùng chữ ký số xác thực email trao đổi thông tin, kiểm soát truy cập
vào các sàn thương mại điện tử và các đơn đặt hàng, ngân hàng điện tử, mua



sắm trực tuyền… mà vai trị chủ yếu là chữ ký số điện tử.
Trên thực tế, chữ ký điện tử không chỉ được thực hiện cho các giao dịch điện
tử trên mạng Internet mà còn qua hệ thống mạng viễn thông di động. Đặc
biệt, hiện nay nhiều nước trên thế giới không chỉ triển khai ứng dụng chữ ký
điện tử 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ướng đi này giúp đẩy nhanh giao dịch, đơn
giản hóa mua sắm trực tuyến và giúp người dùng có thể truy cập mọi lúc, mọi



nơi.
Sự ra đời của chữ ký điện tử khẳng định được lợi ích to lớn về chiến lược và
kinh tế, đồng thời các vấn đề liên quan đến chữ ký điện tử cũng là nhưng chủ
đề quan trọng nhất của mật mã học.


7

1.4 Sơ đồ tổng quát của một chữ ký điện tử


Các chữ ký điện tử được sinh và sử dụng bởi các hệ chữ ký (sơ đồ) điện tử,



-

dưới đây là định nghĩa một hệ chữ ký điện tử.
Định nghĩa:
Một sơ đồ chữ ký điện tử là bộ 5 (P, A, K, S, V) thỏa mãn các điều kiện dưới

1
2
3
4

đây:
P là tập hữu hạn các bức điện (thông điệp, bản rõ) có thể.
A là tập các chữ ký có thể.
K là tập khơng gian khóa (tập hữu hạn các khóa có thể).
Với mỗi khóa k K tồn tại một thuật toán ký sig k S và một thuật toán xác
minh verk V. Mỗi sigk : P A và verk :P x A {TRUE, FALSE} là những hàm
sao cho mỗi bức điện x P và mỗi chữ ký y A thỏa mã phương trình dưới đây:
Ver(x,y) =

-

TRUE
FALSE

nếu
nếu


y = sig(x)
y sig(x)

[5]

Với mỗi k K , hàm sig k và verk là các hàng đa thức thời gian. Hàm ver k sẽ là
hàm cơng khai cịn hàm sigk là bí mật. Khơng thể dễ dàng tính tốn để giả
mạo chữ ký của B trên bức điện x , nghĩa là với x cho trước chỉ có B mới có
thể tích được y để ver(x,y ) = TRUE. Một sơ đồ chữ ký không thể an tồn vơ
điều kiện vì một người C nào đó có thể kiểm tra tất cả chữ số y trên bức điện
x nhờ dùng thuật tốn ver() cơng khai cho tới khi anh ta tìm thấy chữ ký
đúng. Vì thế, nếu có đủ thời gian, C ln có thể giả mạo chữ ký của B. Như
vậy mục đích của chúng ta là tìm các sơ đồ chữ ký điện tử an tồn về mặt tính

-

tốn.
Chú ý rằng ai đó có thể giả mạo chữ ký của B trên một bức điện “ngẫu nhiên"
x bằng cách tính x = ek(y) với y nào đó; khi đó y = sig k(x). Một biện pháp
xung quanh vấn đề khó khăn này là yêu cầu các bức điện chưa đủ phần dư để
chữ ký giả mạo kiểu này khơng phù hợp với tồn bộ nội dung của bức điện x
trừ một xác suất rất nhỏ. Có thể dùng các hàm Băm(hash function) như MD4 ,


8

MD5 trong việc tính kết nối các sơ đồ chữ ký điện tử sẽ loại trừ phương pháp
giả mạo này.

Chương 2. TỔNG QUAN VỀ CHỮ KÝ ĐIỆN TỬ RSA

2.1 Khái niệm về mã hóa RSA


RSA là một hệ mã hóa bất đối xứng được phát triển bởi Ron Rivest, Adi
Shamir và Leonard Adleman và được sử dụng rộng rãi trong cơng tác mã hố
và cơng nghệ chữ ký điện tử. Trong hệ mã hóa này, public key có thể chia sẻ


9

công khai cho tất cả mọi người. Hoạt động của RSA dựa trên 4 bước chính:
sinh khóa, chia sẻ key, mã hóa và giải mã.
2.2 Chữ ký số sử dụng hệ mã hóa RSA


Việc ký tên và xác thực chữ ký số sử dụng hệ mã hóa RSA tương tự như q
trình mã hóa mà giải mã ở trên. Tuy nhiên vai trị của public key và private thì



có thay đổi đôi chút.
Để tạo chữ ký, người gửi sẽ dùng private key và người nhận sẽ dùng public



key để xác thực chữ ký đó.
Tuy nhiên, vì bản tin rất dài nên việc mã hóa tồn bộ bản tin sẽ rất mất thời
gian. Vì vậy, trong thực hành, chữ ký số thường sử dụng phương pháp mã hóa
giá trị hash của bản tin. Việc này mang lại rất nhiều lợi ích như:
- Các hàm hash là hàm 1 chiều, vì vậy dù có được hash cũng khơng thể biết

-

được bản tin gốc như thế nào.
Độ dài hash là cố định và thường rất nhỏ, vì vậy chữ số sẽ khơng chiếm

-

q nhiều dung lượng.
Giá trị hash cịn có thể dùng để kiểm tra lại bản tin nhận được có nguyên
vẹn hay khơng?

2.3 Hệ chữ ký RSA


Dựa vào ưu điểm của hệ ma hóa RSA, nếu thiết lập được sơ đồ chữ ký dựa
trên bài tốn phân tích ra thừa số ngun tố thì độ an tồn của chữ ký sẽ rất
cao. Việc thiết lập sơ đồ chữ ký RSA rất đơn giản, ta chỉ cần đảo ngược hàm
mã hóa và giải mã. Sau đây là sơ đồ chữ ký RSA:
- Cho n=p*q, trong đó p, q là các số nguyên tố. Đặt p=a=z, và định nghĩa .
- K={(n, p,q,b,a):n=p*q, p và q lần lượt là các số nguyên tố , ab đồng dư với
-

1(mod cho phi của n) }
Các giá trị n và b là cơng khai ; cịn p, q, a là bí mật
Với k = (n, p, q, a, b), ta xác định:
a
b
+ Sigk(x) = x mod n và Verk(x, y) = TRUE  x đồng dư với y (mod n)
với x, y thuộc vào zn[5]



10
-

Thông thường, chữ ký được kết hợp với hàm mã hóa cơng khai. Giả sử A
muốn gửi một bức điện đã được mã hóa và đã được ký đến cho B. Với bản
rõ x cho trước, A sẽ tính tốn chữ ký của mình y = sig A(x) và sau đó mã
hóa cả x và y sử dụng khóa cơng khai e B của B, kết quả nhận được là z =
eB(x, y). Bản mã z sẽ được gửi tới B, khi B nhận được z, đầu tiên anh ta
giải mã với hàm giải mã dB của mình để nhận được (x, y). Sau đó anh ta
dùng hàm xác minh công khai của A để kiểm tra xem ver A(x, y) = TRUE

-

hay khơng
Song nếu đầu tiên A mã hóa x, rồi sau đó mới ký lên bản mã nhận được thì
sao? Khi đó A sẽ tính:
+ Y = sigA(eB(x))
+ A sẽ truyền cặp (z, y) tới B, B sẽ giải mã z và nhận được x, sau đó
xác minh chữ ký y trên x nhờ dùng verA. Một vấn đề nảy sinh nếu A
truyền (x, y) kiểu này thì một người thứ ba C có thể thay chữ ký A

-

bằng chữ ký của mình:

+ Y = sigC(eB(x))
Chú ý rằng, C có thể ký lên bản mã eB(x) ngay cả khi anh ta khơng biết
bản rõ x. Khi đó nếu C truyền (z, y’) đến B, chữ ký của C được B xác
minh bằng verC và do đó, B cho rằng bản rõ x xuất phát từ C. Do khó khăn

này, hầu hết người sử dụng được khuyến nghị “ký trước khi mã”
Chương 3. GIỚI THIỆU HÀM BĂM MD5

3.1 HÀM BĂM LÀ GÌ?
• Khái niệm:
- Hàm băm (hash function) là giải thuật nhằm sinh ra các giá trị băm tương
ứng với mỗi khối dữ liệu (có thể là một chuỗi ký tự, một đối tượng trong
lập trình hướng đối tượng, v.v…). Giá trị băm đóng vai gần như một khóa
để phân biệt các khối dữ liệu. Trong khoa học máy tính, hàm băm lấy đầu
vào có độ dài và nội dung bất kỳ (ví dụ: chữ cái, số và ký hiệu) và sử dụng
cơng thức tốn học để cắt, trộn và tạo đầu ra có độ dài cụ thể.
• Các tính chất:
- Tính một chiều: khơng thể suy ra dữ liệu ban đầu từ kết quả, điều này
tương tự như việc bạn không thể chỉ dựa vào một dấu vân tay lạ mà suy ra
là chủ của nó được.


11
-

Tính duy nhất: xác suất để có một vụ va chạm, tức là hai thơng điệp khác
nhau có cùng một kết quả hash là cực kỳ nhỏ.

3.2 HÀM BĂM MD5
3.2.1 Lịch sử
• Được phát minh bởi Ronald Rivest là người đã phát minh ra các hàm băm
MD2, MD4(1990) và MD5(1991). MD5 là một cải tiến của MD4, đây là một
hàm băm được sử dụng rộng rãi nhất, nguyên tắc thiết kế của MD5 cũng được
áp dụng cho nhiều hàm băm khác.
3.2.2 Giới thiệu

• MD5 khơng phải là thuật tốn nhanh như thuật toán MD4, nhưng bảo mật dữ
liệu trên MD5 an toàn hơn. MD5 được sử dụng trong nhiều ứng dụng bảo mật
và để kiểm tra tính tồn vẹn của file dữ liệu, xác minh xem file đã bị thay đổi
hay chưa. Hàm băm MD5 có chiều dài băm 128 bit. Một bảng băm MD5
thường được diễn tả bằng một số hệ thập lục phân 32 ký tự.
• Thơng điệp ban đầu x sẽ được mở rộng thành dãy bit X có độ dài là bội số



của 512. Một bit 1 được thêm vào sau dãy bit x, tiếp đến là dãy gồm d bit 0 và
cuối cùng là dãy 64 bit l biểu diễn độ dài của thông điệp x. Dãy gồm d bit 0
được thêm vào sao cho dãy X có độ dài là bội số 512.
Đầu vào là những khối 512 bit, được chia thành 16 khối 32 bit. Đầu ra của
hàm băm là một thiết lập của 4 khối 32 bit. Hàm băm trả về một khối có độ
dài 128 bit duy nhất.

3.2.3 Ứng dụng
• MD5 có 2 ứng dụng quan trọng:
-

-

MD5 được sử dụng rộng rãi trong thế giới phần mềm để đảm bảo rằng tập
tin tải về khơng bị hỏng. Người sử dụng có thể so sánh giữa thông số kiểm
tra phần mềm bằng MD5 được công bố với thông số kiểm tra phần mềm
tải về bằng MD5.
MD5 được dùng để mã hóa mật khẩu. Mục đích của việc mã hóa này là
biến đổi một chuổi mật khẩu thành một đoạn mã khác, sao cho từ đoạn mã
đó khơng thể nào lần trở lại mật khẩu. Có nghĩa là việc giải mã là khơng
thể hoặc phải mất một khỗng thời gian vơ tận.


3.2.4 Thuật giải MD5
• MD5 biến đổi một thơng điệp có chiều dài bất kì thành một khối có kích


12

thước cố định 128 bit. Thông điệp đưa vào sẻ được cắt thành các khối 512
bits. Thông điệp được đưa vào bộ đệm để chiều dài của nó sẻ chia hết cho
512. Bộ đệm hoạt động như sau:
- Trước tiên chèn bit 1 vào cuối thơng điệp.
- Tiếp đó là hàng loạt bit 0 cho tới khi chiều dài của nó nhỏ hơn bội số của
512 một khoảng 64 bit .
- Phần còn lại sẽ được lấp đầy bởi một số nguyên 64 bit biểu diển chiều dài
ban đầu của thơng điệp. Thuật tốn chính của MD5 hoạt động trên một bộ
128 bit. Chia nhỏ nó ra thành 4 khối 32 bit, kí hiệu là A,B,C và D. Các giá
trị này là các hằng số cố định.
- Sau đó thuật tốn chính sẽ ln phiên hoạt động trên các khối 512 bit. Mỗi
khối lại được chia ra thành 16 khối 32 bit đi vào 4 vịng lặp của MD5. Q
trình xử lý một khối thơng điệp bao gồm 4 vịng tương tự nhau. Mỗi vịng
lại gồm 16 q trình tương tự nhau dựa trên hàm một chiều F, phép cộng
module và phép xoay trái…
3.2.5 Sự khác nhau giữa MD4 và MD5
• MD4 chỉ có ba chu kỳ biến đổi trong khi MD5 được bổ sung thêm chu kỳ thứ


tư giúp tăng mức độ an toàn.
Mỗi thao tác trong từng chu kỳ biến đổi của MD5 sử dụng các hằng số ti phân




biệt trong khi MD4 sử dụng hằng số chung cho mọi thao tác trong cùng chu
kỳ biến đổi (Trong MD4, hằng số ti sử dụng trong mỗi chu kỳ lần lượt là:0,
0x5a827999, 0x6ed9eba1).
Mỗi bước biến đổi trong từng chu kỳ chịu ảnh hưởng kết quả của bước biến



đổi trước đó nhằm tăng nhanh tốc độ của hiệu ứng lan truyền.
Các hệ số dịch chuyển xoay vòng trong mỗi chu kỳ được tối ưu hóa nhằm
tăng tốc độ hiệu ứng lan truyền.


13

Chương 4. MÃ HĨA BẤT ĐỐI XỨNG
4.1 Mã hóa bất đối xứng là gì?
• Hệ thống mã hóa bất đối xứng (Asymmetric cryptosystem) là hệ thống mã
hóa sử dụng một khóa cơng khai (public key) và một khóa bí mật (private
key) cho q trình mã hóa và giải mã.
• Hệ thống mã hóa bất đối xứng cịn được gọi là hệ thống mã hóa khóa cơng
khai (public-key cryptosystem)
• Kỹ thuật mã hóa bất đối xứng:
- Kỹ thuật mã hóa bất đối xứng phổ biến: RSA.
- RSA: tên được đặt theo tên 3 nhà phát minh ra giải thuật Rivest, Shamir và
Adleman.
- Thuật tốn sử dụng 2 khóa có quan hệ tốn học với nhau: khóa cơng khai
và khóa bí mật.
- 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. Khóa bí mật dùng để giải mã.

• Nhiều giao thức dựa trên mật mã không đối xứng, bao gồm giao thức bảo mật
lớp truyền tải ( TLS ) và giao thức lớp cổng bảo mật ( SSL ), giúp HTTPS khả
thi. Quá trình mã hóa cũng được sử dụng trong các chương trình phần mềm chẳng hạn như trình duyệt - cần thiết lập kết nối an tồn qua mạng khơng an
tồn như Internet hoặc cần xác thực chữ ký điện tử .


14

4.2 Cách hoạt động của mật mã bất đối xứng
• Mã hóa khơng đối xứng sử dụng một cặp khóa liên quan đến tốn học để mã
hóa và giải mã: khóa cơng khai và khóa riêng tư. Nếu khóa cơng khai được sử
dụng để mã hóa, thì khóa cá nhân liên quan được sử dụng để giải mã; nếu
khóa riêng tư được sử dụng để mã hóa, thì khóa cơng khai liên quan được sử
dụng để giải mã.
• Hai người tham gia vào quy trình mã hóa bất đối xứng là người gửi và người
nhận; mỗi khóa có cặp khóa cơng khai và khóa riêng. Đầu tiên, người gửi
nhận được khóa cơng khai của người nhận. Tiếp theo, bản rõ - hoặc văn bản
thơng thường, có thể đọc được - được mã hóa bởi người gửi bằng khóa cơng
khai của người nhận; điều này tạo ra bản mã . Sau đó, bản mã được gửi đến
người nhận, người sẽ giải mã bản mã bằng khóa riêng của họ và trả nó về bản
rõ dễ đọc.
• Do tính chất một chiều của chức năng mã hóa, một người gửi khơng thể đọc
tin nhắn của người gửi khác, mặc dù mỗi người đều có khóa cơng khai của
người nhận.
4.3 Sử dụng mật mã khơng đối xứng
• Mật mã khơng đối xứng thường được sử dụng để xác thực dữ liệu bằng chữ
ký số . Chữ ký điện tử là một kỹ thuật tốn học được sử dụng để xác nhận
tính xác thực và tính tồn vẹn của một thơng điệp, phần mềm hoặc tài liệu kỹ
thuật số. Nó là dạng kỹ thuật số tương đương với chữ ký viết tay hoặc con
dấu có đóng dấu.

• Dựa trên mật mã khơng đối xứng, chữ ký điện tử có thể cung cấp bằng chứng
đảm bảo về nguồn gốc, danh tính và trạng thái của một tài liệu, giao dịch hoặc
thông điệp điện tử, cũng như xác nhận sự đồng ý của người ký.
• Mật mã khơng đối xứng cũng có thể được áp dụng cho các hệ thống trong đó
nhiều người dùng có thể cần mã hóa và giải mã các thơng điệp, bao gồm:
• Email được mã hóa - một khóa cơng khai có thể được sử dụng để mã hóa một
tin nhắn và một khóa riêng tư có thể được sử dụng để giải mã nó.
• Các giao thức mật mã SSL / TSL - thiết lập các liên kết được mã hóa giữa các
trang web và trình duyệt cũng sử dụng mã hóa khơng đối xứng.
• Bitcoin và các cryptocurrencies dựa vào mật mã khơng đối xứng như người
dùng có khóa cơng khai rằng tất cả mọi người có thể xem và khóa riêng được
giữ bí mật. Bitcoin sử dụng một thuật toán mật mã để đảm bảo rằng chỉ
những chủ sở hữu hợp pháp mới có thể chi tiêu tiền.
• Trong trường hợp sổ cái Bitcoin, mỗi đầu ra giao dịch chưa sử dụng (UTXO)
thường được liên kết với một khóa cơng khai. Vì vậy, nếu người dùng X,
người có UTXO được liên kết với khóa cơng khai của mình, muốn gửi tiền


15

cho người dùng Y, thì người dùng X sử dụng khóa riêng của mình để ký một
giao dịch sử dụng UTXO và tạo một UTXO mới được liên kết với khóa cơng
khai của người dùng Y.
4.4 Lợi ích và bất lợi của mật mã khơng đối xứng
• Các lợi ích của mật mã không đối xứng bao gồm:
- Vấn đề phân phối khóa được loại bỏ vì khơng cần trao đổi khóa.
- Bảo mật được tăng cường vì các khóa riêng tư không bao giờ phải truyền
hoặc tiết lộ cho bất kỳ ai. Đây là quy trình mã hóa an tồn nhất vì người
dùng khơng bao giờ bị u cầu tiết lộ hoặc chia sẻ khóa riêng tư của họ, do
đó làm giảm khả năng tội phạm mạng phát hiện ra khóa riêng của người

dùng trong q trình truyền.
- Việc sử dụng chữ ký điện tử được kích hoạt để người nhận có thể xác
minh rằng thư đến từ một người gửi cụ thể.
- Nó cho phép khơng từ chối để người gửi khơng thể từ chối gửi tin nhắn.
• Nhược điểm bao gồm:
- Đó là một q trình chậm so với mật mã đối xứng , vì vậy nó khơng thích
hợp để giải mã hàng loạt tin nhắn.
- Nếu một cá nhân mất khóa cá nhân của mình, anh ta không thể giải mã các
tin nhắn mà anh ta nhận được.
- Vì khóa cơng khai khơng được xác thực, khơng ai thực sự biết liệu khóa
cơng khai có thuộc về người được chỉ định hay khơng. Do đó, người dùng
phải xác minh rằng khóa cơng khai của họ thuộc về họ.
- Nếu một tin tặc xác định khóa cá nhân của một người, kẻ tấn cơng có thể
đọc tất cả các tin nhắn của cá nhân đó.
4.5 Sự khác biệt giữa mã hóa đối xứng và khơng đối xứng
Mã hóa đối xứng

Mã hóa khơng đối xứng

Mã hóa đối xứng bao gồm một
khóa để mã hóa và giải mã.

Mã hóa khơng đối xứng bao gồm hai khóa
mật mã được gọi là Khóa cơng khai và
Khóa cá nhân.

Mã hóa đối xứng nhanh hơn rất
nhiều so với phương pháp khơng
đối xứng.


Vì Mã hóa khơng đối xứng kết hợp hai
khóa riêng biệt, q trình này bị chậm lại
đáng kể.

RC4

RSA

AES

Diffie-Hellman

DES

ECC


16

3DES

El Gamal

QUAD

DSA




×