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

Vấn đề an toàn của các hệ mật mã khoá công khai

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 (29.72 MB, 76 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
KHOA CÔNG NGHỆ

Đặng Văn Cường

VẤN ĐỂ AN TỒN
CỦA CÁC HỆ MẬT MÃ KHỐ CƠNG KHAI

Chun ngành: Công nghệ thông tin
Mã sô: 1.01.10

LUẬN VĂN THẠC sĩ

NGƯỜI HƯỚNG DẪN KHOA HỌC

GS. TSKH Phan Đình Diêu

Hà Nội - 2003
u
I:-UNG■

■:

Ị - . . . . j i . r T

v;

}

'V: i f ; ' .


M

?

'

ị ’ 1. ( 1,!

/ Í E K Ị


2

MỤC LỤC

MỞ ĐẦU................................................................................................................................4
C H U Ơ N G 1- T Ổ N G Q U A N V Ề M Ậ T M Ã .............................................................................................................. 6

1.1. Giới thiệu................................................................................................. 6

1.2. Hệ mật mã khố đối xứng..............................................................11
1.3. Hộ mật mã khố cơng khai............................................................15
1.4. Thám mã các hệ mật mã............................................................... 18
C H Ư Ơ N G 2- c ơ s ở T O Á N H Ọ C C Ủ A C Á C H Ệ M Ậ T M Ã K H O Á C Ô N G K H A I .......................... 2 0

2.1. Giới thiệu................................................................................... 20
2.2. Lý thuyết về độ phức tạp tính tốn................................................. 20
2.3. Một số kết quả về đại số và số học................................................. 25
2.4. Một số thuật toán phục vụ cho tính tốn số lớn................................42
C H Ư Ơ N G 3 - T ÍN H A N T O À N C Ủ A C Á C H Ệ M Ậ T M Ã K H O Á C Ô N G K H A I ............................... 4 6


3.1. Tính an tồn của hệ mật mã khố cơng khai RSA............................ 46
3.2. Tính an tồn của hệ mật mã khố cơng khai ElGamal.......................54
C H Ư Ơ N G 4 -N H Ũ N G N H Â N T ố L À M S U Y G I Ả M T ÍN H A N T O À N C Ủ A C Á C H Ệ M Ậ T M Ã 5 8

4.1. Những nhân tố làm suy giảm tính an tồn của hệ mật mã RSA......... 58
4.2. Nhũng nhân tố làm suy giảm tính an tồn của hệ mật mãElGamal..... 62
C H Ư Ơ N G 5 - N H Ũ N G G I Ả I P H Á P Đ Ả M B Ả O T ÍN H A N T O À N C H O C Á C H Ệ M Ậ T M Ã ....... 6 8

5.1. Giải pháp đảm bảo tính an toàn cho hệ mật mã RSA......................... 68
5.2. Giải pháp đảm bảo tính an tồn cho hệ mật mã ElGamal....................67
Vấn đề an tồn của các hệ mật mã khố cơng khai


_______________________________ 3_______________________________

5.3. Khả năng sinh số nguyên tố dùng cho hệ mật mã RSA và ElGamal....69
K Ế T L U Ậ N ......................................................................................................................................................................... 73

T À I LIỆU TH AM K H Ả O ............................................................................................................................................. 74

Vấn đề an toàn của các hệ mật mã khố cơng khai


4

MỞ ĐẨU

Khoa học mật mã từ khi ra đời tới nay đã trải qua nhiều giai đoạn phát
triển, từ một mơn khoa học thực nghiệm đã nhanh chóng trở thành môn khoa

học logic đỉnh cao và ngày càng hội tụ những kiến thức tinh tuý của loài
người. Sự phát triển của khoa học mật mã đã góp phần thúc đẩy xã hội loài
người ngày càng tiến lên. Đặc biệt trong thời đại ngày nay dưới tác động của
cuộc cách mạng viễn thơng - tin học hố tồn cầu, khi các hoạt động kinh tế,
xã hội trong mơ hình thế giới mở và biến động khơn lường thì khoa học mật
mã ngày càng chiếm vị trí quan trọng, và thực sự đã có những đóng góp khơng
nhỏ trong việc bảo đảm an ninh cho các quốc gia, an tồn cho thơng tin kinh
tế xã hội.
Như chúng ta đã biết, năm 1949, c. Shannon đã đưa ra mơ hình hệ mật
mã đối xứng an tồn vơ điều kiện dựa trên cơ sở lý thuyết thông tin. Trong
thời đại ngày nay, nhiều bài toán mật mã trong thực tế được đặt ra là “chỉ cần
giữ bí mật trong một thời gian nào đó cho một số thơng tin nào đó mà thơi”.
Với mục đích giải quyết vấn đề trên, vào năm 1976, W.Diffie - M.E.Hellman
[11] đã để xuất mơ hình hệ mật mã phi đối xứng hay cịn gọi là hệ mật mã
khố cơng khai, an tồn về mặt tính tốn dựa trên cơ sở lý thuyết độ phức tạp
tính tốn. Có thể nói rằng, đây là hai thành tựu vĩ đại nhất và là hai điểm mốc
quan trọng nhất đánh dấu sự phát triển của khoa học mật mã. Trên nền tảng
của hai mơ hình hệ mật mã này, các nghiên cứu và ứng dụng mật mã đã có
những nền móng vững chắc để phát triển.
Trong một hệ mật mã, khoá là yếu tố cốt lõi, quyết định tính an tồn
của hệ mật mã. Trong mơ hình hệ mật mã khố đối xứng, khoá cần phải là
một dãy ngẫu nhiên lý tưởng các phần tử khố. Cịn trong mơ hình hệ mật mã
khố cơng khai, khố là một cặp gồm khố bí mật và khố cơng khai cỡ hàng
Vấn dề an tồn của các hệ mật mã khoả công khai


5

trăm chữ số thập phân không thể suy được ra nhau về mặt tính tốn. Như vậy,
ta thấy việc tạo khố là vơ cùng quan trong, nó quyết định sự sống cịn của hệ

mật mã, nếu khố được tạo ra tốt - thoả mãn u cầu về khố thì hệ mật mã
được an tồn, cịn ngược lại, khố được tạo ra khơng tốt - khồng thoả mãn u
cầu về khố thì hệ mật mã sẽ mất an tồn. Trong mơ hình hệ mật mã khố
cơng khai để tạo được khố thoả mãn yêu cầu nhằm đảm bảo độ mật thì việc
chọn các tham số tạo khố là vơ cùng quan trọng, tức ta phải tìm được những
tham số tạo khố mà khơng gây mất an tồn cho hệ mật mã. Để tìm được
những tham số này, ta phải nghiên cứu tính an tồn của các hệ mật mã, sau đó
tìm ra những nhân tố gây mất an toàn của các hệ mật mã, từ đó đưa ra các giải
pháp để tìm được các tham số tạo khố tốt - thoả mãn u cầu về khố nhằm
đảm bảo an tồn cho các hệ mật mã. Chính vì lý do trên, để xây dựng được mơ
hình hệ mật mã khố cơng khai an tồn nhằm ứng dụng trong thực tế thì việc
nghiên cứu vấn đề an toàn của các hệ mật mã khố cơng khai là hết sức cấp
bách và cần thiết.
Trong bản luận văn này, chúng tôi nghiên cứu các nội dung sau: tính an
tồn của các hệ mật mã khố cơng khai và những nhân tố làm suy giảm tính
an tồn của các hệ mật mã khố cơng khai. Từ đó, chúng tơi đưa ra các giải
pháp để xây dựng được các hệ mật mã khố cơng khai an tồn nhằm đáp ứng
thực tế đang đòi hỏi. Do thời gian, khả năng của bản thân, chúng tôi không thể
khảo sát hết được tất cả các hệ mật mã khố cơng khai đã được biết, mà chỉ
nghiên cứu một số hệ mật mã được thế giới sử dụng nhiều, rộng rãi nhất hiện
nay, đó là hệ mật mã RSA do Ron Rivert, Adi Shamir và Len Adleman [17]
sáng tạo và được cơng bố vào năm 1977 dựa vào bài tốn phân tích số nguyên
thành thừa số nguyên tố và hệ mật mã ElGamal do T. El Gamal [21] sáng tạo
và công bố vào năm 1985 dựa vào bài toán logarithm rời rạc trong trường hữu
hạn. Trong đề tài này, chúng tồi đặt ra mục tiêu là xây dựng được mơ hình hệ

Vấn dề an toàn của các hệ mật mã khoắ công khai


6


mật mã an toàn với hệ mật mã RSA và ElGamal và đưa ra hướng nghiên cứu
tiếp.
Phần còn lại của luận văn có cấu trúc như sau: trong chương 1 trình bày
và làm rõ một số khái niệm cơ bản của khoa học mật mã; chương 2 trình bày
về cơ sở tốn học của mật mã khố cơng khai; chương 3 nghiên cứu tính an
tồn của hai hệ mật mã RSA và ElGamal; chương 4 tìm những nhân tố làm
suy giảm tính an tồn của hai hệ mật mã RSA, ElGamal; và trong chương 5
đưa ra các giải pháp khắc phục những điểm yếu để bảo đảm tính an tồn cho
hai hệ mật mã RSA và ElGamal; trong phần kết luận, khái quát các kết quả
đạt được của bản luận văn và đưa ra hướng nghiên cứu tiếp; cuối cùng là phần
tài liệu tham khảo.

Vấn đề an toàn của các hệ mật mã khố cơng khai


7

CHƯƠNG 1
TỔNG QUAN VỂ MẬT MÃ

1.1. Giới thiệu

Sự phát triển của khoa học mật mã trên thế giới trong những năm gần
đây đã đạt được những thành tựu hết sức rực rỡ, nó đã thực sự mở đường cho
những ứng dụng quan trọng trong các lĩnh vực bảo mật thông tin dưới mọi
hình thức. Như chúng ta đã biết, năm 1949, c. Shannon đã đưa ra mơ hình hệ
mật mã đối xứng an tồn vơ điều kiện dựa trên cơ sở lý thuyết thông tin. Vào
năm 1976, W.Diffie - M.E.Hellman [11] đã đề xuất mơ hình hệ mật mã phi
đối xứng an tồn về mặt tính tốn dựa trên cơ sở lý thuyết độ phức tạp tính

tốn. Có thể nói rằng, đây là hai thành tựu vĩ đại nhất và là hai điểm mốc quan
trọng nhất đánh dấu sự phát triển của khoa học mật mã. Trên nền tảng của hai
mơ hình hệ mật mã này, các nghiên cứu và ứng dụng mật mã đã có những nền
móng vững chắc để phát triển.
Trước tiên, có thể nói trong mơ hình hệ mật mã, yếu tố quan trọng nhất
là khố, nó quyết định đến độ mật của hệ mật mã. Trong mơ hình hệ mật mã
của Shannon, khố cần phải là một dãy ngẫu nhiên lý tưởng các phần tử khố,
cịn trong mơ hình hệ mật mã khố cơng khai, khố là một cặp gồm khố bí
mật và khố cơng khai cỡ hàng trăm chữ số thập phân không thể suy được ra
nhau về mặt tính tốn. Theo hướng tạo khố, đã có rất nhiều cơng trình nghiên
cứu của các nhà toán học, mật mã học và cả các nhà vật lý, cơ học lượng tử
trên thế giới cống hiến nhiều đóng góp hết sức q giá trong lĩnh vực này. Để
tạo khoá ngẫu nhiên cho các hệ mật mã cổ điển, có thể có giải pháp hồn tồn
thủ cơng và có các giải pháp hiện đại, tự động hố như các phương pháp tạo
khoá từ nguồn nhiễu vật lý, từ các photon ánh sáng và đặc biệt là các phương
Tổng quan về mật mã


8

pháp tạo khố bằng thuật tốn trên máy tính điện tử hoặc trên các thiết bị điện
tử chuyên dụng. Nghiên cứu các phương pháp tạo khoá thuật toán là một
mảng hết sức sơi nổi và có thể thấy rằng, thế giới có rất nhiều cơng trình về
vấn đề này. Thơng qua các tài liệu, có thể chia các phương pháp đó thành hai
kiểu. Kiểu thứ nhất, tìm cách phức tạp hố các m-dãy trong các mơ hình tổ
hợp tối ưu, vừa đảm bảo tính dãy ra có chu kỳ, độ phức tạp lớn đồng thời lại
có cấu trúc phân bố ngẫu nhiên với tương quan cực nhỏ. Kiểu thứ hai, sử dụng
các bài tốn có độ phức tạp lớn để sinh ra lớp dãy giả ngẫu nhiên mạnh. Mỗi
kiểu trên đây có các ưu thế khác nhau và chúng sẽ bổ sung cho nhau trong
nghiên cứu các phương pháp tạo khoá giả ngẫu nhiên. Để tạo khoá mã dịch

cho các hệ mật mã khố cơng khai, các nhà mật mã học và tốn học trên thế
giới đã có rất nhiều cơng trình nghiên cứu, đưa bộ mơn lý thuyết số và hình
học đại số phát triển đến đỉnh cao mà thơng qua đó đã giải quyết được những
vấn đề hóc búa về mặt lý thuyết cũng như giải pháp thực tế cho việc tạo số
nguyên tố lớn cỡ hành trăm chữ số thập phân, đặc biệt là vào đầu tháng 8 năm
2002, cơng trình nghiên cứu của nhóm nghiên cứu trẻ tại Học viện Cồng nghệ
Ấn Độ ở Kanpur đã giải được bài tốn kiểm tra tính ngun tố trong thời gian
đa thức, mà các bộ óc giỏi nhất đã khơng thực hiện được trong hàng thập niên
qua. Có thể nói, đây là mảng nghiên cứu thời sự bậc nhất trong những năm
vừa qua. Song song với nó là những vấn đề nghiên cứu các phương pháp phân
tích số nguyên lớn, giải bài toán logarithm rời rạc trên trường hữu hạn,... cũng
là lĩnh vực được thế giới đặc biệt quan tâm để có thể tạo và thiết kế được các
hệ mật mã khố cơng khai trong thực tiễn. Qua theo dõi tình hình nghiên cứu
những năm qua, ta có thể thấy vấn đề nghiên cứu tạo khoá mật mã trên thế
giới đã đạt được những đỉnh cao cần thiết, tuy nhiên nó vẫn ln là lĩnh vực
thời sự, cốt yếu trong thời đại ngày nay.
Năm 1976, mật mã khố cơng khai ra đời đã đánh dấu một bước ngoặt
trong lịch sử phát triển của khoa học mật mã, nó đã tạo ra một cuộc cách
Tổng quan về mật mã


9

mạng thực sự trong ngành mật mã học và ứng dụng. Khơng những nó cung
cấp một phương thức trao đổi an tồn mới mà cịn tạo ra khả năng thúc đẩy
nhanh q trình xã hội hố thơng tin trên mạng mở tồn cầu nhưng vẫn bảo
đảm những bí mật riêng tư của mỗi thực thể. Mật mã khóa cơng khai đã giải
quyết được căn bản vấn đề phân phối khoá tự động hiệu quả mà các hệ mật
mã cổ điển khơng giải quyết được, đồng thời nó cũng giải quyết vấn đề xác
thực tự động mà trong mật mã cổ điển không đặt ra. Như chúng ta đã biết, mật

mã khố cơng khai ra đời trong điều kiện thế giới đang bước vào kỷ nguyên
công nghệ thông tin - tự động hố cao. Sự phát triển của cơng nghệ viễn thông
- tin học vừa là tiền đề cho sự ra đời của các hệ mật mã khố cơng khai đồng
thời nó vừa là chỗ dựa vững chắc để mật mã khố cơng khai có thể đưa vào
ứng dụng phục vụ con người. Do đó, tuy mới ra đời nhưng mật mã khố cơng
khai đã khảng định được vị trí quan trọng và không thể thiếu trong đời sống xã
hội hiện đại. Hai thập kỷ qua, chúng ta đã được chứng kiến sự phát triển như
vũ bão của lĩnh vực khoa học mới mẻ này. Hàng năm, trên thế giới đều tổ
chức các hội nghị quốc tế về mật mã. Qua các tài liệu hội nghị có thể thấy hầu
hết các báo cáo đều tập trung nghiên cứu lý thuyết và khai thác ứng đụng về
hệ mật mã khố cơng khai. Có rất nhiều khía cạnh có thể áp dụng các hệ mật
mã khố cơng khai như quản lý và phân phối khoá qui ước, chữ ký số và xác
thực văn bản, các thủ tục LOGIN vào một hệ thống tự động, phân chia bí mật
thơng tin, thanh tốn chuyển trả tiền điện tử, các phương pháp chứng minh
không tiết lộ thơng tin,... Để đưa mật mã khố cơng khai vào ứng dụng thực
tế, thế giới đang rất quan tầm về các thủ tục tương tác an toàn trên các hệ tự
động hố. Có thể nói đây là lĩnh vực nghiên cứu còn hứa hẹn rất nhiều kết quả
bất ngờ.
Trong thời đại ngày nay, nhiều bài toán mật mã trong thực tế được đặt
ra là “chỉ cần giữ bí mật trong một thời gian nào đó cho một số thơng tin nào
đó mà thơi”. Với mục đích giải quyết vấn đề trên, một độ đo về tính an tồn
Tổng quan về mật mã


10

cho hệ mật mã được đưa ra liên quan đến những nổ lực tính tốn cần thiết để
phá hệ mật mã. Một hệ mật mã được gọi là an toàn tính tốn nếu một thuật
tốn tốt nhất để phá nó phải cần đến một số lượng rất lớn các bước tính tốn.
Nhưng cho đến nay chưa có một hệ mật mã nào được biết là an toàn theo

nghĩa trên đã được chứng minh, do vậy trong thực tế người ta thơng thường coi
một hệ mật mã là “an tồn tính tốn” nếu có một phương pháp tốt nhất trong
thời điểm đó để phá nó nhưng yêu cầu về thời gian lớn đến mức không thể
chấp nhận được. Việc chứng minh về tính an tồn tính tốn cho một hệ mật
mã cho đến nay thường được tiến hành theo phương thức đó là quy độ an tồn
của hệ mật mã đó về một bài tốn đã được biết là khó theo góc độ độ phức tạp
tính tốn, tức là khơng thuộc lớp p.
Trong lý thuyết độ phức tạp tính tốn có đề cập đến khái niệm hàm một
phía, đó là những hàm f có đặc tính mặc dù đã biết chúng nhưng việc tìm được
hàm ngược f'1của nó lại vơ cùng khó khăn. Trong lớp các hàm một phía, có
một số hàm có tính chất là nếu biết thêm một số thơng tin nào đó thì việc tìm
f"1lại trở nên dễ dàng, và gọi những hàm đó là hàm một phía cửa sập. Với
nhũng hàm một phía cửa sập, vấn đề thoả thuận trước về khố sẽ khơng cần
nữa. Mỗi thực thể trong một mạng liên lạc chọn cho mình một hàm một phía
cửa sập f, cơng bố một cách cơng khai cho những người khác hàm này để ỉàm
hàm mã hố các thơng tin muốn gửi cho anh ta, cịn hàm f 1được giữ bí mật
để làm khố giải các bản mã gửi cho mình. Hệ mật mã dùng các hàm và theo
phương thức đã nói ở trên được gọi là các hộ mật mã khố cơng khai.
Đối tượng cơ bản của mật mã là tạo ra khả nãng liên ỉạc trên một kênh
không mật cho hai người sử dụng - giả sử Alice ỉà người gửi tin và Bob là
người nhận tin, sao cho đối phương - giả sử Oscar là người thám mã, không
thể hiểu được thông tin được truyền đi trên kênh. Kênh này có thể là một
đường dây điện thoại hoặc một mạng máy tính.

Tổng quan về mật mã




Trước khi Alice muốn truyền tin mật cho Bob thì họ phải nhận được

khoá - đây là bài toán phân phối khố, sau đó phải thống nhất với nhau dùng
khố nào để mã và dịch - đây là bài toán thoả thuận khoá. Sau khi hai người
đã được phân phối khoá và thoả thuận với nhau về khoá dùng để mã-dịch thì
Alice dùng khố để mã, gọi là khố mã và Bob dùng khố để dịch, gọi là khố
dịch.
Thơng tin mà Alice muốn gửi cho Bob khi chưa được mã hố, gọi là
bản rõ, có thể là một văn bản tiếng Anh, có thể là các dữ liệu bằng số hoặc bất
cứ tài liệu nào có cấu trúc tuỳ ý. Alice sẽ mã hoá bản rõ bằng một khoá mã đã
được xác định trước thành kết quả, gọi là bản mã, và gửi bản mã trên kênh cho
Bob. Oscar có thể thu trộm được bản mã trên kênh, song không thể xác định
được nội dung của bản rõ vì khơng có khố dịch, nhưng Bob - người đã biết
khố dịch, có thể giải mã và thu được bản rõ ban đầu.
Trong chương này, chúng ta sẽ đi nghiên cứu một số khái niệm hết sức
cơ bản về các hệ mật mã để làm tiền đề cho các nghiên cứu tiếp theo. Các kết
quả của chương này có thể tìm trong [9, 12, 13, 14, 15, 16, 18,20].

1.2. Hệ m ật m ã kh oá đối xứng
1.2.1. Đ ịnh nghĩa

Định nghĩa 1.1: Một hệ mật mã khoá đối xứng là một bộ 5 (P, c, K, E,
D) thoả mãn các điều kiện sau:
1. p là một tập hữu hạn các bản rõ có thể.
2. c là một tập hữu hạn các bản mã có thể.
3. K là một tập hữu hạn các khố có thể.

Tổng quan về mật mã


12


4. Đối với mỗi keK có một qui tắc mã EkeE, và một qui tắc giải mã
DkeD. Khoá k được dùng chung để mã và dịch, đồng thời phải giữ bí
mật. Mỗi Ek: P—>c và Dk: C—>p là những hàm mà: Dk(Ek(m))=m, với
mọi bản rõ meP.
Nội dung của tính chất 4 là nếu một bản rõ m được mã hoá bằng Ek và
bản mã nhận được sau đó được giải mã bằng Dk thì phải thu được bản rõ ban
đầu m.

Một số hệ mật mã khoá đối xứng như: hệ mật mã Cezar, hệ mật mã
Vigenere, hệ mật mã Hill,...

1.2.2. Thủ tục truyền tin mật trong hệ mật mã khoá đối xứng

Gỉa sử Alice và Bob muốn truyền tin mật cho nhau, họ sẽ áp dụng thủ
tục sau để truyền tin mật cho nhau bằng hệ mật mã khoá đối xứng. Trước tiên,
họ phải giải quyết hai bài toán phân phối khoá và thoả thuận khoá để mã dịch
bằng một kênh an toàn - thường vận chuyển và bảo quản bằng con đường vật
lý. Sau đó, giả sử Alice muốn gửi một thông báo cho Bob trên một kênh
không mật và ta xem thông báo này là một chuỗi:
m=m1m2...mn
với số nguyên n > 1 nào đó. Ở đây mỗi ký hiệu của bản rõ n^eP, 1 < i < n.
Mỗi rrij sẽ được mã hoá bằng qui tắc Efc với khố k xác định trước đó. Bởi vậy,
Alice sẽ tính Cj=Ek(mj), 1 < i < n và được chuỗi bản mã là:
c=c1c2...cn
được gửi trên kênh. Khi Bob nhận được c= C |C 2...e n , anh ta sẽ giải mã bằng
hàm giải mã Dkvà thu được bản rõ m=mim2...mn
sẽ

Tổng quan về mật mã



13

Hình i. 1 là một ví dụ về một kênh liên lạc trong hệ mật mã khố đối
xứng.

Hình 1.1

1.2.3. Độ an tồn của hệ mật mã khố đối xứng - độ mật hồn thiện

Năm 1949, c. Shannon cơng bố cơng trình “Lý thuyết truyền thơng của
các hệ bí mật”, đưa ra nhiều quan niệm làm cơ sở cho việc đánh giá tính bí
mật của các hệ mật mã. Trong phần này chúng ta sẽ đưa ra quan điểm của ông
về tính bí mật - độ mật hồn thiện.
Việc thám mã thường gặp nhất là khi chỉ biết bản mã, trong trường hợp
đó, mục đích của thám mã là từ bản mã mà tìm ra bản rõ tương ứng. Hệ mật
mã là có độ mật hồn thiện, nếu việc biết bản mã khơng cho một chút thơng
tin nào để tìm bản rõ. Nội dung này được định nghĩa chính xác như sau:
Cho hệ mật mã (P, c, K, E, D). Gía sử trên các tập p, c và K được xác
định các phân bố xác suất tương ứng. Ta ký hiệu P p ( m ) , pc(c) và pK(k) tương
Tổng quan về mật mã


14

ứng là xác suất để bản rõ là m, bản mã là c, và khoá là k. Xác suất của việc
bản rõ là m khi biết bản m ã là c, được ký hiệu là Pp(mlc).
Định nghĩa 1.2: Hệ mật mã (P, c, K, E, D) được gọi là có độ mật hồn
thiện nếu Pp(mlc)=Pp(m), với mọi meP.ceC.
Cơng thức trên có nghĩa là trong điều kiện đã có bản mã là c thì xác

suất để m là bản rõ của nó vẫn bằng xác suất xuất hiện m trong khơng gian rõ
khi khơng có điều kiện trên.
Định lý 1.3: Gỉa sử (P, c, K, E, D) ỉà một hệ mật mã với IKI=IPI=ICI.
Khi đó hệ mật mã có độ mật hồn thiện nếu và chỉ nếu mỗi khố được sử
dụng với xác suất bằng nhau 1/IKI, và với mọi meP và mọi ceC có một khố
duy nhất k sao cho Ek(m)=c.

1.2.4. Ưu nhược điểm của hệ mật mã khoá đối xứng

Ưu điểm nổi bật của các hệ mật mã khoá đối xứng là việc xây dựng một
hệ mật mã có độ bảo mật cao khá dễ dàng về mặt lý thuyết. Nhưng nếu như
khơng kể đến việc cần có một nguồn sinh khố ngãu nhiên (giả định chúng ta
đã có) thì việc phân phối rồi lưu trữ bảo mật và thoả thuận các khố là một vấn
đề khơng thể chấp nhận được trong lĩnh vực truyền thồng mạng ngày nay.
Để khắc phục hiện tượng không thể lưu trữ nổi một khối lượng khoá
quá lớn đáp ứng được nhu cầu mã dịch, người ta xem xét đến việc sử dụng các
hệ mật mã khối với độ dài khối không lớn lắm như DES,... hoặc các hệ mật
mã dịng mà khố được sinh từ một nguổn giả ngẫu nhiên bằng thuật toán.
Mặc dù đã thực hiện việc mã hoá và giải mã bằng các hệ mật mã khối
hay bằng thuật toán sinh khố như đã nêu ở trên thì vấn đề phân phối và thoả
thuận về khoá (mầm sinh khoá) vẫn phải được thực hiện. Như vậy, vấn đé

Tổng quan về mật mã


15

phân phối và thoả thuận về khoá chưa thể giải quyết được trong các hệ mật mã
khoá đối xứng.


1.3. Hệ mật mã khố cơng khai
1.3.1. Đ ịnh nghĩa

Định nghĩa 1.4: Một hệ mật mã khố cơng khai là một bộ 5 (P, c, K, E,
D) thoả mãn các điều kiện sau:
1. p là một tập hữu hạn các bản rõ có thể.
2. c là một tập hữu hạn các bản mã có thể.
3. K là một tập hữu hạn các khố có thể.
4. Đối với mỗi k=(ks, k )eK có môt qui tắc mã Ek eE, và môt qui tắc
F

p

giải mã DkeD. kplà khố cơng khai dùng để mã hố, ks là khố bí mật
dùng để giải mã, từ khố cơng khai kp khơng thể tìm được khố bí mật
ks. Mỗi Ek : P—>c và Dỹ C—>p là những hàm mà: Dk(Ek (m))=m, với
mọi bản rõ meP
Một số hệ mật mã khố cơng khai như: hệ mật mã RSA, hệ mật mã
ElGamal,...

1.3.2. Thủ tục truyền tin mật trong hệ mật mã khố cơng khai

Trong hệ mật mã khố cơng khai, bài toán phân phối khoá và thoả
thuận khoá được giải quyết tự động như sau: mỗi người dùng A tham gia vào
mạng tạo cho mình một cặp khố (ks, kp), sau đó cơng khai khố mã kp trên
mạng cùng với địa chỉ của mình và giữ bí mật khố dịch ks để giải mã. Khi đó
trong mạng ai muốn gửi thơng tin cho A, họ lấy khóa mã cơng khai kp của A
Tổng quan về mật mã



16

trên mạng và mã hố bản tin của mình thành bản mã và gửi bản mã đến địa
chỉ của A, sau khi nhận được bản mã, A sẽ dùng khoá bí mật ks của mình dịch
bản mã thành bản rõ.
Alice và Bob sẽ áp dụng thủ tục sau để truyền tin mật cho nhau bằng hệ mật
mã khố cơng khai. Giả sử Alice muốn gửi một thông háo cho Bob trên một
kênh không mật và ta xem thông báo này là một chuỗi:
m=m1m2...mn
với số nguyên n > 1 nào đó. Ở đây mỗi ký hiệu của bản rõ n^eP, 1 < i < n.
Alice lấy khố cơng khai của Bob là kp trên mạng về và mã hoá Ek (m^Cị. Bởi
vậy, Alice sẽ tính Cj=Ek (ỵỵij), 1 < i < n và được chuỗi bản mã là:
c=c1c2...cn
sẽ được gửi trên kênh. Khi Bob nhận được c=cjc2...cn, anh ta sẽ giải mã bằng
hàm giải mã Dks của mình , tính nrii=Dk(Cị), 1 < i < n và thu được bản rõ là:
m=m,m2...mn.
Hình 1.2 là một ví dụ về một kênh liên lạc trong hệ mật mã khố cơng
khai.

Hình 1.2

Tổng quan về mật mã


17

1.3.3. Độ an tồn của hệ mật mã khố cơng khai - độ an tồn tính tốn.

Quan điểm về tính hồn thiện về độ mật đã trình bày ở phần trên cịn
được gọi là quan điểm về độ an tồn không điều kiện. Diffie-Hellman [11]

xem xét vấn đề bảo mật dưới một góc độ thấp hơn một chút nhưng vẫn đảm
bảo tính mục đích của nó đó là việc quan tâm thêm tham số thời gian. Nhiều
bài toán trong thực tế được đặt ra là “chỉ cần giữ bí mật trong một thời gian
nào đó cho một số thơng tin nào đó mà thơi”. Với mục đích giải quyết vấn đề
trên, một độ đo về tính an tồn cho hệ mật mã được đưa ra liên quan đến
những nỗ lực tính tốn cần thiết để phá hệ mật mã. Một hệ mật mã được gọi là
an tồn tính tốn nếu một thuật tốn tốt nhất để phá nó phải cần đến một số
lượng rất lớn các bước tính tốn. Vấn đề nảy sinh là cho đến nay chưa có một
hệ mật mã nào được biết là an toàn theo nghĩa trên (được chứng minh), do
vậy trong thực tế người ta thơng thường coi một hệ mật mã là “an tồn tính
tốn” nếu có một phương pháp tốt nhất để phá nó nhưng u cầu về thời gian
lớn đến mức khơng thể chấp nhận được. Việc chứng minh về tính an tồn tính
tốn cho một hệ mật mã cho đến nay thường được tiến hành theo phương thức
đó là quy độ an tồn của hệ mật mã đó về một bài tốn đã được biết là “khó”
theo góc độ độ phức tạp tính tốn.

1.3.4. Ưu nhược điểm của hệ mật mã khố cơng khai

Vấn đẻ cịn tồn đọng của các hệ mật mã khoá đối xứng được giải quyết
dễ dàng nhờ các hệ mật mã khố cơng khai. Chính ưu điểm nổi bật này là
nguyên nhân thu hút nhiều trí tuệ vào việc đề xuất, đánh giá các hệ mật mã
này. Do bản thân các hệ mật mã khố cơng khai đều dựa vào các giả thiết liên
quan đến các bài tốn khó cho nên một cách tự nhiên đa số các hệ mật mã loại
này đều có tốc độ mã dịch khơng nhanh lắm. Chính nhược điểm này làm cho
các hệ mật mã khố cơng khai khó được dùng một cách độc lập.
Tổng quan về mật mã


18


Một vấn để nữa nảy sinh khi sử dụng các hệ mật mã khố cơng khai đó
là việc xác thực mà trong mơ hình hệ mật mã khố đối xứng khơng đặt ra. Do
các khố mã cơng khai được cơng bố một cách công khai trên mạng cho nên
việc bảo đảm rằng “khố được cơng bố có đúng là của đối tượng cần liên lạc
hay không?” là một kẽ hở có thể bị lợi dụng. Việc nghiên cứu các thủ tục xác
thực cũng được xúc tiến mạnh mẽ. Hàng hoạt các thủ tục xác thực như
Kerbross, X509,... đã được nghiên cứu kỹ lưỡng và được sử dụng, một điều
khá thú vị là việc giải quyết vấn đề xác thực cũng chỉ cần chính bằng các hệ
mật mã khố cơng khai. Một ưu điểm có thể được kể ra ở đây về các hệ mật
mã khố cơng khai là các ứng dụng của nó trong lĩnh vực chữ ký số, cùng với
các kết quả về hàm Hash, thủ tục ký để bảo đảm tính tồn vẹn của một văn
bản được giải quyết.
Cuối cùng vấn đề đe doạ có tính tiềm tàng khi sử dụng các hệ mật mã
khố cơng khai xuất phát ở chính cơ sở an tồn của các hệ mật mã này. Như
chúng ta đã biết, tất cả các hệ mật mã khố cồng khai được biết, thậm chí đã
được sử dụng cũng đều chỉ dựa vào các bài tốn mà hiện nay được coi là khó,
việc mạnh dạn đưa các hệ mật mã này vào sử dụng ngay cả trong tình huống
các bài tốn nó dựa vào để đảm bảo sự an tồn đã được coi là khó thật, thì
chúng ta cũng phải lựa chọn một cách thận trọng các tham số để ít ra thì cũng
khơng dùng phải những tham số mà bài toán được dựa vào khơng cịn khó
nữa.

1.4.

Thám mã các hệ mật mă

1.4.1. Ngun ỉý Kerekhoff

Chúng ta muốn xây dựng một hệ mật mã đạt được độ mật dưới giả
thuyết là luôn coi đối phương Oscar đã biết sơ đổ hệ mật mã đang dùng

(nhưng khơng biết khố). Gỉa thuyết này gọi là ngun lý Kerekhoff. Dĩ
Tổng quan về mật mã


19

nhiên, nếu Oscar không biết sơ đồ hệ mật mã được dùng thì nhiệm vụ của anh
ta sẽ khó khăn hơn. Tuy nhiên, ta không muốn độ mật của một hệ mậl mã lại
dựa trên giả thuyết không chắc chắn là Oscar không biết sơ đồ hệ mật mã
được sử dụng.

1.4.2. Các bài toán thám mã

Với nguyên lý Kerekhoff, người thám mã luôn biết trước sơ đồ hệ mật
mã được sử dụng thì việc thám mã có thể qui về việc phát hiện khóa. Ngồi
việc biết sơ đồ hệ mật mã được dùng, người thám mã cịn cần có các thơng tin
khác để phát hiện khố. Tuỳ theo thơng tin đó là gì mà D.R. Stinson [20] phàn
ra các bài tốn thám mã thành các loại:
1. Chỉ có bản mã: thám mã chỉ có xâu bản mã c.
2. Bản rõ đã biêt: thám mã có xâu bản rõ m và xâu bản mã tương ứng c.
3. Bản rõ được lựa chọn: thám mã đã nhận được quyền truy nhập vào
cơ chế mã hố. Bởi vậy, thám mã có thể chọn một xâu bản rõ m và
tạo nên xâu bản mã c tương ứng.
4. Bản mã được lựa chọn: thám mã có được quyền truy nhập tạm thời
vào cơ chế giải mã. Bởi vậy, thám mã có thể chọn một xâu bản mã c
và tạo nên xâu bản rõ m tương ứng.

Tổng quan về mật mã



20

CHƯƠNG 2
C ơ SỞ TOÁN HỌC CỦA CÁC HỆ MẬT MÃ KHỐ CƠNG KHAI

2.1. Giới thiệu

Năm 1976, Diffie-Hellman [11] đề xuất một hướng nghiên cứu mới về
khoa học mật mã dựa trên cơ sở về lý thuyết độ phức tạp tính tốn. Vào giữa
những năm 60, lý thuyết về độ phức tạp tính tốn ra đời và phát triển nhanh
chóng đã tạo cơ sở mới cho việc bảo mật. Nếu cần phải khắc phục một độ
phức tạp tính tốn rất lớn không thể chấp nhận được trong thực tế để phá mã
thì bản mật mã đó được xem là bảo đảm bí mật. Tất nhiên, việc khó giải mã
đó ỉà dành cho những người thám mã, còn những người trong cuộc thì cả việc
lập mã và giải mã phải dễ dàng. Cơ sở toán học cho phương thức trên là các
hàm một phía và hàm một phía cửa sập được đề cập đến trong lý thuyết về độ
phức tạp tính tốn. Độ an tồn của các hệ mật mã khố cơng khai dựa vào các
bài tốn khó mà chúng đã được nghiên cứu trong đại số và lý thuyết số, hơn
nữa việc tìm các tham số để xây dựng được một hệ mật mã an toàn cũng dẫn
đến giải quyết hàng loạt các bài toán trong đại số và lý thuyết số. Vì vậy, việc
trình bày những kiến thức cơ bản về lý thuyết độ phức tạp tính tốn, một số
kết quả về đại số và lý thuyết số, một số thuật tốn phục vụ cho tính tốn các
số lớn là hết sức cần thiết. Trong chương này chúng ta sẽ trình bày sơ lược
những kiến thức tốn học làm cơ sở cho nghiên cứu sau này. Các kết quả của
chương này có thể tìm trong [2, 3, 4, 5, 6, 7, 8, 14, 20].

2.2. Lý thuyết về độ phức tạp tính tốn
2.2.1. Độ phức tạp tính tốn

Cơ sở tốn học của các hệ mật mã khoẩ công khai



21

Trong hoạt động thực tiễn, chúng ta gặp phải những bài toán quyết định
như sau: Cho một tập dữ kiện D, và một câu hỏi Q trên các dữ kiện thuộc tập
đó. Bài tốn bao gồm việc quyết định xem, với mỗi dữ kiện cụ thể IeD, thì
câu hỏi Q được trả lời là “đúng” hay “sai”?
Ví dụ:
Bài tốn hợp số:
Dữ liệu: số ngun dương N.
Câu hỏi: có hay khơng hai số m, n>l sao cho N=m.n?
Bài toán logarithm rời rạc:
Dữ liệu: các số nguyên a, p, số nguyên tố p
Câu hỏi: có hay khơng số a sao cho a=logap mod p
Bài toán đổng dư bậc hai:
Dữ liệu: các số ngun dương a, b, c
Câu hỏi: có hay khơng số x
Như chúng ta đã biết, các bài toán quyết định được chia làm hai lớp, đó
là lớp các bài tốn quyết định giải được và lớp các bài tốn quyết định khơng
giải được. Lớp các bài tốn khơng giải được là những bài tốn khơng có lời
giải, tức là khơng có thuật tốn để xác định xem bài toán cho câu trả lời đúng
hay sai. Cịn lớp các bài tốn quyết định giải được là
những bài tốn cóthuật
tốn đểxác định xem bài tốn cho câu trả lời là đúnghay sai. Nhưng với mỗi
bài tốn giải được lại có độ phức tạp tính tốn khác nhau, có bài tốn giải
được có độ phức tạp tính tốn chấp nhận được trong thực tế, đồng thời có
những bài tốn giải được lại có độ phức tạp tính tốn vơ cùng lớn, khơng thể
chấp nhận được trong thực tế. Vì vậy, từ cái giải được một cách trừu tượng,

Cơ sở toán học của các hệ mật mã khoẩ công khai


22

tiềm năng đến việc giải được trong thực tế của khoa học tính tốn bằng máy
tính điện tử là một khoảng cách rất lớn. Song có những bài tốn giải được
trong trường hợp tổng qt thì nó có độ phức tạp tính tốn lớn, nhưng với bài
tốn con của nó, tức với một dữ liệu đầu vào đặc biệt nào đó thì nó lại trở
thành bài tốn giải được có độ phức tạp tính tốn chấp nhận được trong thực
tế.
Độ phức tạp tính tốn của một q trình tính tốn được định nghĩa là số
ồ nhớ hay số các phép tốn được thực hiện trong q trình tính tốn đó. Độ
phức tạp tính tốn của một thuật tốn được hiểu là một hàm số f, sao cho với
mỗi n, f(n) là số ơ nhớ hay số các phép tốn tối đa mà thuật tốn thực hiện q
trình tính tốn của mình trên các dữ liệu vào có độ lớn n. Độ phức tạp tính
tốn của một bài tốn hay một hàm f được định nghĩa là độ phức tạp của một
thuật tốn tốt nhất có thể tìm được để giải bài tốn hay hàm f đó.

2.2.2. Các lớp phức tạp

Ta định nghĩa p là lớp các bài tốn có độ phức tạp thời gian là đa thức,
tức lớp các bài tốn mà đối với chúng có thuật tốn giải bài tốn đó trong thời
gian đa thức. Các bài tốn thuộc lớp p là các bài tốn có thể giải được trong
thực tế của khoa học tính tốn bằng máy tính điện tử.
Định nghĩa NP là lớp các bài toán mà đối với chúng có thuật tốn
khơng đơn định giải chúng trong thời gian đa thức. Thuật tốn khơng đơn định
là một mơ hình tính tốn trừu tượng, được giả định là sau mỗi bước có thể có
một số hữu hạn bước được lựa chọn đồng thời tiếp sau. Trong thực tế có nhiều
bài tốn thuộc lớp NP, nhưng chưa có ai chứng minh được là chúng có thuộc

lớp p hay khơng. Như vậy, bài tốn NP=P? đến nay vẫn cịn mở, chưa có lời
giải.

Cơ sở tốn học của các hệ mật mã khố cơng khai


23

Gỉa sử NP^P, thì trong NP có một lớp con các bài tốn được gọi là
NPC, đó là những bài toán mà bản thân thuộc lớp NP, và mọi bài tốn bất kỳ
thuộc NP đều có thể qui dẫn về bài tốn đó bằng một hàm tính được trong thời
gian đa thức. Chúng ta đã chứng minh được rất nhiều bài toán thuộc lớp NPC,
đây là lớp các bài toán khó nhất trong NP, cịn lớp p là lớp các bài toán dễ
nhất trong NP.
Liệu lớp các bài toán NP - (NPC u P) = <Ị>?, ta gọi lớp các bài tốn đó
là NPI, chúng ta đã biết rằng lớp các bài toán NPI* (Ị), và như vậy lớp các bài
tốn NPI có độ khó thuộc loại trung gian giữa NPC và p, tức là NPI có độ
phức tạp tính toán lớn hon lớp p và nhỏ hơn lớp NPC.
Từ trên ta thấy NP có cấu trúc như sau: NP=P u NPI u NPC, được minh hoạ ở
hình 2.1

Như vậy, hai lớp NPI và NPC là hai lớp khó nhất của NP, các bài tốn
thuộc hai lớp này khơng thể giải được trong thực tế của khoa học tính tốn
bằng máy tính điện tử trong trường hợp tổng quát. Trong thực tế gặp phải
những bài toán này, chúng ta sẽ đi tìm các bài tốn con của nó, tức là tỡm cỏc
tp d liu DỗzD rng, sao cho bi toán con tương ứng thuộc lớp p để giải.
Trong mật mã khố cơng khai có ứng dụng rất nhiều bài tốn thuộc lớp
NPC hoặc lớp NPI, người ta tìm được một dữ liệu D’ mà khi đó bài tốn con
tương ứng Q(D’) thuộc lớp p để làm hàm giải mã, sau đó người ta dùng hàm
Cơ sở tốn học của các hệ mật m ẵkhố cơng khai



24

một phía cửa sập fzđể biến đổi dữ liệu D’ thành D rồi cơng khai làm hàm mã
hố, khi đó người thám mã muốn giải mã họ phải đương đầu với bài tốn
thuộc lớp NPC, hoặc lớp NPI, cịn người nhận tin hợp pháp, do họ có cửa sập z
nên họ đưa được dữ liệu D thành D’ và giải được dễ dàng. Như vậy, hàm một
phía và hàm một phía cửa sập có vai trị vị trí đặc biệt trong mật mã khố cơng
khai, nó là cơ sở để xây dựng các hệ mật mã khố cơng khai.

2.2.3. Hàm một phía và hàm một phía cửa sập
2.2.3.1. Hàm một phía

Hàm f(x) được gọi là hàm một phía, nếu cho X tính y=f(x) là dễ, nhưng
việc tính ngược, tức cho y tính x=f' *(y) là rất khó. Dễ là tính được trong thời
gian đa thức, cịn khó là khơng tính được trong thời gian đa thức.
Ví dụ:
Cho p là số nguên tố, g là phần tử sinh của nhóm nhân Zp, thì hàm
f(x)= gx mod p là hàm một phía.
Cho p, q là hai số nguyên tố, n=pq, thì hàm f(x)=x2 mod n là hàm một
phía.

2.2.3.2. Hàm một phía cửa sập

Hàm f(x) được gọi là hàm một phía cửa sập, nếu tính y=f(x) là dễ, tính
x=f‘(y) là khó, nhưng có cửa sập z để tính x=fz''(y) là dễ.
Ví dụ:
Cho n=pq là tích của hai số nguyên tố lớn, a là số nguyên, hàm f(x)=xa
mod n là hàm một phía cửa sập, nếu chỉ biết n và a thì tính x=f'(y) là


Cơ sở toán học của cắc hệ mật mã khoấ công khai


25

khó, nhưng nếu biết cửa sập, chẳng hạn biết hai thừa số của n thì tính
được x=f'(y) dễ.

2.3. Một sơ kết quả về đại sô và sô học
2.3.1. Cấu trúc đại số

Trước tiên giới thiệu khái niệm cơ bản nhất là tập hợp. Tập hợp là một
tập các phần tử có cùng một thuộc tính nào đó. Một tập hợp có thể là hữu hạn,
vơ hạn khơng đếm được hay vô hạn đếm được. Lực lượng của một tập hợp là
số ỉượng các phần tử chứa trong tập hợp. Người ta định nghĩa các phép toán
trên các phần tử của tập hợp. Việc định nghĩa các phép toán trên tập hợp dẫn
đến một số khái niệm tốn học như nhóm, vành, trường,...

2.3.1.1. Nhóm

Định nghĩa 2.1: Ta gọi phép tốn hai ngôi trong một tập hợp X là một
ánh xạ f từ XxX đến X. Gía trị f(x,y) của f tại (x,y) gọi là cái hợp thành của X
và y.
Cái hợp thành của X và y thường được ký hiệu bằng cách viết

X và

y


theo một thứ tự nhất định với m ột dấu đặc trưng cho phép toán đặt giữa X và y.

Người ta dùng ký hiệu x+y để chỉ phép cộng, dùng ký hiệu x.y để chỉ phép
nhân, trong trường hợp tổng quát dùng ký hiệu x*y để chỉ cái hợp thành của X

và y. Sau đây, trong các lý luận tổng quát, ta sẽ viết cái hợp thành của X và y
là xy, nếu khơng có lý do nào khiến ta phải viết khác.

Định nghĩa 2.2: Một bộ phận A của X gọi là ổn định đối đối với phép
toán trong X nếu và chỉ nếu xyeA với mọi X , yeA.

Cơ sở toán học của các hệ mật mã khố cơng khai


×