Bài tập tình huống môn an toàn thông tin

được biên tập bởi DUONG Bich Hang, ANH-DUC HOANG, HONG M.T. BUI

Giới thiệu về cuốn sách này

các bạn tự tìm sách trên google theo gợi ý bên dưới nhé!

1-antoantt-nhapmon01 - [cuuduongthancong.com].pdf

1-antoantt-nhapmon01.pdf

2-antoantt02-mahoadoixung-basic - [cuuduongthancong.com].pdf

2-antoantt02-mahoadoixung-basic.pdf

3-antoantt02-mahoadoixung-des - [cuuduongthancong.com].pdf

3-antoantt02-mahoadoixung-des.pdf

2020apr05-intro to information security-chapter2-giangnl-v1.2.pdf

2020apr12-intro to information security-chapter 3-giangnl-v1.3.pdf

2020apr20-intro to information security-giangnl-chapter5-v1.4.pdf

2020apr20-intro to information security-giangnl-v1.4-chapter04.pdf

2020mar16-intro to infformation security-giangnl-v1.1.2-chapter01.pdf

gtattt_chuong2.pdf

intro-p01-chu de tieu luan-giangnl.pdf

các bạn tự tìm sách trên google theo gợi ý bên dưới nhé!

Cryptography-Network-Security-5th-Edition.Pdf

Swarup Bhunia, Sandip Ray, Susmita Sur-Kolay (Eds.) - Fundamentals Of Ip And Soc Security_ Design, Verification, And Debug-Springer International Publishing (2017).Pdf

Wiley, Information Security Principles And Practice (2007).Pdf

Bài tập lớn môn An Toàn Thông Tin: Hệ mật mã khóa 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 (7.05 MB, 23 trang )

LỜI NÓI ĐẦU
Chúng ta đã biết rằng hiện nay Nhà nước ta đang tiến hành cải cách hành
chính, trong đó việc xây dựng một chính phủ điện tử đóng vài trò trọng tâm. Nói
đến chính phủ điện tử là nói đến những vấn đề như về hạ tầng máy tính, về con
người, về tổ chức, về chính sách, về an toàn – an ninh thông tin….
Trong đó đảm bảo an toàn – an ninh thông tin cho các dịch vụ đóng một
vai trò quan trọng vì nếu thông tin mà không đảm bảo an toàn – an ninh, đặc biệt là
những thông tin nhậy cảm thì việc xây dựng chính phủ điện tử, thương mai điện tử
trở lên vô nghĩa vì lợi bất cập hại. Xây dựng một chính sách, đảm bảo an ninh – an
toàn thông tin liên quan chặt chẽ đến việc xây dựng hệ thống mật mã khóa công
khai, viết tắt là PKC (Public Key Cryptosystems).
Trong thời đại công nghệ thông tin thì giấy tờ không phải là một cách duy
nhất chứng nhận thỏa thuận giữa các bên. Ở nhiều nước tiên tiến, các thỏa thuận
thông qua hệ thống thông tin điện tử giữa các bên được hợp pháp hóa và có giá trị
tương đương với các thỏa thuận thông thường về mặt pháp lý. Sự kiện này đánh
dấu một bước nhảy quan trọng trong việc phát triển chính phủ điện tử, thương mại
điện tử. Tuy nhiên cho đến nay các dự án chưa được triển khai rộng rãi do nhiều
nguyên nhân khác nhau. Một trong những nguyên nhân quan trọng đó là do người
dùng vẫn luôn cảm thấy không an tâm khi sử dụng hệ thống. Chẳng hạn khi gửi
mẫu tin có thể là văn bản, hình ảnh, video… người nhận có quyền nghi ngờ thông
tin đó có phải của đối tác không… Những vấn đề này thu hút sự chú ý của nhiều
nhà khoa học trong lĩnh vực nghiên cứu bảo mật thông tin. Đây cũng là nguyên
nhân giải thích tại sao PKC ngày càng được chú trọng nghiên cứu, phát triển.
Đến nay các nước tiên tiến trên thế giới đã ứng dụng thành công PKC. Ở
Châu Á nhiều nước cũng đã có những ứng dụng tuy mức độ khác nhau như ở
Singapore, Hàn Quốc, Trung Quốc, Thái Lan…. Trong đó Singapore, Hàn Quốc sẵn
sàng tài trợ chính, kỹ thuật, chuyên gia trong lĩnh vực mật mã sang giúp Việt Nam
xây dựng hệ thống PKC. Do đây là một vấn đề mới, nhậy cảm, gắn liền với bảo mật
thông tin nên chúng ta cần những tìm hiểu thận trọng, sâu sắc về vấn đề này. Đây là
một vấn đề cấp thiết nên chúng ta không thể không nghiên cứu.
Là những kỹ sư công nghệ thông tin chúng ta có nhiệm vụ nghiên cứu,


tìm hiểu sâu sắc hơn về vấn đề quan trọng và cấp bách này nhằm đảm bảo an ninh –
an toàn thông tin, điều này càng có ý nghĩa hơn khi chúng ta hội nhập WTO, làm
chủ được công nghệ này giúp giữ vững an ninh quốc gia, thúc đẩy phát triển kinh tế
- xã hội.
1


Xuất phát từ những lý do trên, được sự nhất trí của nhà trường và thầy
giáo hướng dẫn, em đã chọn đề tài “Tìm hiểu và trình bầy về hệ mật mã khóa công
khai” làm đề tài nghiên cứu của mình.

MỤC LỤC
Trang
2


Lời nói đầu…………………………………………………………………………1
1. Khái niệm………………………………………………………………4
1.1 Vấn đề sử dụng và phân phối khóa……………………………………..4
1.2 Các yêu cầu của loại hệ mã PKC……………………………………….4
1.3 Các mô hình sử dụng PKC.…………………………………………….5
1.4 Cấu trúc của PKC……………………………………………………….5
1.5 Một số hệ mật mã bất đối xứng thông dụng…………………………….5
2. Hệ mã knapsack......................................................................................6
2.1 Bài toán xếp ba lô……………………………………………………….6
2.2 Cách xây dựng hệ mã knapsack………………………………………...7
3. Ưu nhược điểm của hệ mật mã khóa công khai……………………..7
3.1 Ưu điểm…………………………………………………………………7
3.2 Nhược điểm……………………………………………………………..7
4. Hệ mật mã RSA………………………………………………………...7


4.1 Định lý RSA…………………………………………………………….7
4.2 Thuật giải RSA………………………………………………………….7
5. Hệ mã Difie – Henman………………………………………………...11
6. Hệ mã El Gamal (1985)………………………………………………..11
6.1 Mã hóa…………………………………………………………………..11
6.2 Giải mã………………………………………………………………….11
Phần silde…………………………………………………………………………..13

1. Khái niệm
Để khắc phục vấn đề phân phối và thỏa thuận khóa của mật mã khóa bí mật,
năm 1976 Diffie và Dellman đã đưa ra khái niệm về mật mã khóa công khai và một
phương pháp trao đổi khóa công khai để tạo ra một khóa bí mật chung và tính an
toàn được bảo đảm bởi độ khó của một bài toán học tính Logarit rời rạc. Hệ mật mã
3


khóa công khai sử dụng một cặp khóa, khóa dùng để mã hóa gọi là khóa công khai
(Public key), khóa dùng để giải mã gọi là khóa bí mật (Private key), về nguyên tắc
thì khóa công khai và khóa bí mật khác nhau. Một người bất kỳ có khả năng sử
dụng khóa công khai để mã hóa tin nhưng chỉ có người có đúng khóa bí mật thì mới
giải mã được tin đó.
Mật mã khóa công khai (Public key) hay còn gọi là mật mã bất đối xứng là
mô hình mã hóa 2 chiều sử dụng một cặp khóa là khóa riêng (Private key) và khóa
công khai (Public key). Khóa công khai dùng để mã hóa, khóa riêng được dùng để
giải mã.
Hệ thống mật mã 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 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 dùng để trao đổi thông tin
mật giữa 2 bên.

Các hệ mật mã khóa công khai được biết đến nhiều nhất là hệ RSA. Trong
các hệ mật mã khóa công khai thì hệ RSA được cộng đồng Quốc tế chấp nhận và
ứng dụng rộng rãi nhất.
1.1 Vấn đề sử dụng và phân phối khóa
Hệ mật bất đối xứng khắc phục được tính chất phức tạp trong việc phân phối
khóa ở hệ mật đối xứng cho phép giao tiếp giữa các đối tượng một cách uyển
chuyển , dễ dàng.
Sử dụng hai khoá Kp (public key ) và Ks (private key ) để mã và giải mật
Có hai mode làm việc :
Bảo mật : Mã bằng public key → giải mật bằng private key.
Xác thực : Mã bằng private key → giải mật bằng public key.
1.2 Các yêu cầu của loại hệ mã PKC
- Việc sinh KP, KS phải dễ dàng.
- Việc tính E(KP, M) là dễ dàng.
- Nếu có C = E(KP, M) và KS thì dễ ràng giải mật.
- Nếu biết KP thì việc dò tìm KS là khó.
- Rất khó tìm bản rõ từ bản mã nếu không biết khóa.
1.3 Các mô hình sử dụng PKC
1.3.1 Mô hình bảo mật

4


Hình 1: Mô hình sử dụng 1 của các hệ mã hóa công khai PKC
Ciphertext = E(KP,P) , Plantext = D(KS, E(KP,P))


1.3.2 Mô hình xác thực

Hình 2: Mô hình sử dụng 2 của các hệ mã hóa công khai PKC
Ciphertext = D(KS, P) , Plaintext = E(KP, D(KS, P))
1.4 Cấu trúc của PKC
- PKC được xây dựng trên các hàm một chiều (one way functions)
- f : X → Y là hàm nếu biết x є X → dễ dàng tính y = f(x). Nhưng với
mọi y є Y việc tìm x є X: y = f(x), có nghĩa tìm hàm ngược f-1 rất
khó.
-

Ví dụ : với P є { P1, P2, ..., Pn } thì việc tính N = P1 * P2 *... * Pn là
dễ tìm Pi є {P} với N đủ lớn ( phân tích ngược – phân rã SNT) là một
bài toán khó.
- Trong các hệ mã PKC sử dụng các “trapdoor” giúp cho việc tìm x :
y = f(x) dễ dàng . Hàm (trapdoor function): là một hàm một chiều
trong đó việc tính f-1 là rất nhanh khi chúng ta biết được “trapdoor”.
1.5 Một số hệ mật mã bất đối xứng thông dụng
- Hệ mã Knapsack.
-

RSA ( Rivest, Adi Shamir, and Leonard Adleman) . RSA dùng để
bảo mật và tạo “digital signatures” .
Diffie-Hellman “Diffie-Hellman key exchange” được sử dụng để
truyền khóa mật mã trên kênh công khai , không dùng để mã hoá
thông điệp .
ECC The Elliptic Curve Cryptosystem (ECC) được sử dụng trên các
thiết bị nhỏ , ít thông minh như “ cell phones” và “wireless”.
El Gamal thuật giả dùng để truyền “digital signatures” và “ key
exchanges”(Cũng tương tự Diffie-Hellman “. The El Gamal còn


được gọi là DSA.
5


2. Hệ mã knapsack
Hệ mã knapsack do Merkle và Hellman (năm 1978).
2.1 Bài toán xếp ba lô
- Cho M, N và A1, A2, ...., AN là các số nguyên dương
Hỏi có tồn tại một véc tơ nhị phân x=(x1, x2,…, xN) sao cho

-

Vectơ A = (A1, A2, ..., AN) gọi là vectơ “xếp balô”
Vectơ X = (x1, x2, …, xN) là vectơ nghiệm.
Đây là bài toán khó có thời gian là hàm mũ O(2N).
Nếu S là dãy siêu tăng thì bài toán trên giải được với thời gian tuyến
tính ON.
- Vector siêu tăng : Dãy A=(Ai ) gọi là siêu tăng nếu với mọi Ai>ΣAj
(j=1,..i-1) (tức là phần tử đứng sau lớn hơn tổng các phần tử đứng
trước nó.
- Khi đó bài toán balo được phát biểu như sau:
- Cho M, N và A’=(A’1, A’2, ...., A’N ) là một dãy siêu tăng. Hỏi có tồn
tại một véc tơ nhị phân x=(x1, x2,…, xN) sao cho:
M=Σi=1xi Ai
(i=1..N)).
* Vecto xếp ba lô siêu tăng:
- Một trường hợp riêng đáng quan tâm của bài toán xếp ba lô tổng quát là
trừờng hợp mà xi є {0, 1}. Khi đó ta có bài toán “xếp ba lô” 0, 1.
- Trong trường hợp vecto (A1, A2, ..., AN) được sắp lại thành (A’1, A’2, ...,
A’N) sao cho: i ta có : thì vecto (A1, A2, ..., AN) được gọi là vecto xếp balo


siêu tăng.
- Khi (A’1, A’2, ..., A’N) là một vecto “xếp balo” siêu tăng ta có ngay tính
chất : Với mọi i : M ≥ A’. Do đó việc giải bài toán xếp ba lô 0/1 trở nên
dễ dàng hơn rất nhiều.
 Thuật giải bài toán xếp balô:
For i:=N downto 1 do
Begin
If M>=ai then
xi=1
else xi:=0;
C := C - xi.ai ;
end;
If C=0 then “bài toán có đáp án là véc tơ x”
else “bài toán không có đáp án”;
2.2 Cách xây dựng hệ mã knapsack
1.Chọn 1 vecto siêu tăng A’ = (a’1, a’2, ..., a’N),
2. Chọn M > 2 * a’N, chọn ngẫu nhiên u < M : (u, M) = 1
3.Xây dựng Vecto S = (s1, s2, ..., sN) với si = (a’i * u) mod M
6


4.Khóa: KP = (S, M), KS = (u, u-1)
5.Không gian rõ : dãy N bit : P = (x1, x2, ..., xN).
6.Mã hóa :

7.Giải mã: Tính C’ = C * u-1 mod M sau đó giải bài toán xếp ba lô 0/1
với A’, C’ từ đó tìm được: P = (x1, x2, ..., xN).
3. Ưu nhược điểm của hệ mật mã khóa công khai
3.1 Ưu điểm
Ưu điểm chính của hệ mật mã khóa công khai là đã giải quyết được vấn


đề phân phối khóa và trao đổi khóa cực kỳ thuận lợi. Một số ứng dụng quan trọng
và phổ biến nhất là xác thực và chữ ký số cái mà hệ mật mã khóa đối xứng chưa
giải quyết được.
3.2 Nhược điểm
Nhược điểm cơ bản của hệ mật mã khóa công khai là tốc độ mã hóa/ giải
mã khá chậm (chậm hơn khoảng một ngàn lần so với mật mã khóa đối xứng như mã
DES chẳng hạn) do phải sử dụng đến các số nguyên tố rất lớn trên trường hữu hạn.
4. Hệ mật mã RSA
Hệ mật mã RSA do Rivest, Shamir, Adleman tìm ra, được công bố lần
đầu tiên vào tháng 8 năm 1977 trên tạp chí Scientific American. Hệ mật mã RSA
được sử dụng rộng rãi trong thực tiễn đặc biệt trong lĩnh vực bảo mật và xác thực
dữ liệu số. Tính bảo mật và an toàn của chúng được đảm bảo bằng bài toán phân
tích số nguyên thành các thừa số nguyên tố.
4.1 Định lý RSA
- Cho p,q là hai SNT phân biệt N=pq.
- Có một hàm φ = φ (n)=(p-1)(q-1), 1≤e≤ φ, (e, φ)=1,
Tính được : d = e-1mod φ, 1

Video liên quan

Chủ đề