Cơ sở lý thuyết

Một phần của tài liệu Tìm hiểu một số phương pháp thám mã hệ mật mã khóa công khai ứng dụng trong bảo mật dữ liệu (Trang 56)

a. Hệ mó húa RSA

* Thuật toỏn sinh khúa:

- Chọn bớ mật hai số nguyờn tố lớn p và q cú giỏ trị xấp xỉ nhau. - Tớnh n = p.q. Đặt P = C = Zn và tớnh bớ mật (n) = (p -1).(q - 1). - Chọn một số ngẫu nhiờn b, 1 < b < (n), sao cho gcd (b, (n)) = 1. - Sử dụng thuật toỏn Euclide để tớnh số a, 1 < a < (n), sao cho

a.b 1(mod (n))

- Khúa cụng khai là K’ = (n, b), khúa bớ mật là K’’ = a.

* Thuật toỏn mó húa RSA

(i). Lập mó;

- Lấy khúa cụng khai K’ = (n, b) theo thuật toỏn trờn. - Chọn một bản rừ x P.

- Tớnh bản mó y = ek(x) = xb mod n. (ii). Giải mó:

Với bản mó y C

Sử dụng khúa bớ mật K’’ = a, để giải mó: x = dk(y) = ya mod n

b. Vớ dụ

* Sinh khúa:

- Chọn bớ mật số nguyờn tố p = 2357, q = 2551.

- Tớnh n = p.q = 6012707, và tớnh bớ mật (n) = (p -1).(q -1) =6007800. - Chọn ngẫu nhiờn b, 1 < b < (n) là số nguyờn tố với (n) tức ƣớc chung lớn nhất (b, (n)) = 1. Vớ dụ chọn b = 3674911.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ Ta đƣợc a = 422191

- Khúa cụng khai K’ = (6012707, 374911). Khúa bớ mật K’’ = (422191)

* Mó húa: (i). Lập mó - Cho bản rừ x = 5234673. - Tớnh đƣợc bản mó y = xb mod n = 3650502 (ii). Giải mó Từ bản mó y, tớnh đƣợc bản rừ x = ya mod n = 5234673. 3.2.2. Thuật toỏn

Bài toỏn: Bài toỏn thỏm mó yờu cầu từ cỏc dữ liệu đầu vào là thuật toỏn RSA đó đƣợc cụng khai với cỏc cặp bản rừ, bản mó tƣơng ứng. Ngƣời thỏm mó cú thể sử dụng khúa cụng khai và bớ mật của mỡnh để sinh ra khúa bớ mật của ngƣời dựng khỏc từ đú giải mó tỡm ra bản rừ. Tức là căn cứ vào số mũ mó húa cụng khai e1, ngƣời giữ cặp số mũ mó húa/giải mó e2, d2 cú thể tỡm đƣợc số nguyờn d1’ sao cho e1.d1’ = 1 mod (n) mà khụng cần biết (n).

Input: e1, e2, d2 Output: d1’

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Hỡnh 3.1: Lưu đồ giải thuật thỏm mó RSA

BEGIN e2, d2, e1 t=e2*d2-1 f=gcd(e1,t) r,s|r*t+s*e1=f f=1 t=t/f d’1=s d’1| e1* d’1=1modΦ(n) END False True

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Ƣu điểm

Thuật toỏn thực hiện việc tỡm kiếm khúa bớ mật với độ phức tạp O(log2n). Vỡ vậy thời gian tớnh toỏn ra khúa bớ mật là rất nhanh, đõy là mối đe dọa của hệ thống

Nhƣợc điểm

Thuật toỏn chỉ thực hiện đƣợc trong trƣờng hợp hệ thống ký số RSA sử dụng mụ đun chung.

Kết luận

Giao thức mụ đun chung sẽ gặp thất bại trong việc đảm bảo tớnh bớ mật của thụng tin gửi đi và tớnh xỏc thực của chữ ký số. Vỡ vậy, trong việc thiết kế giao thức với hệ mật RSA cần chỏnh việc sử dụng mụ dun chung.

3.3.3. Thử nghiệm (adsbygoogle = window.adsbygoogle || []).push({});

Chƣơng trỡnh minh hoạ thỏm mó hệ mật RSA đƣợc viết dƣới dạng cỏc modul bằng ngụn ngữ C#; giao diện hiển thị đƣợc viết bằng ngụn ngữ Visual Studio, kết nối cỏc modul con của chƣơng trỡnh. Cỏc số nhập vào và kết quả in ra hiển thị theo cơ số 10 quen thuộc với ngƣời sử dụng nhờ chƣơng trỡnh chuyển đổi từ cơ số 256 sang cơ số 10 và ngƣợc lại..

- Đầu vào của chƣơng trỡnh: n, e1, e2, Y1, Y2. Khối văn bản cần mó húa (khụng phõn biệt chữ hoa hay chữ thƣờng, dựng bảng mó chuẩn ASCII (mó Unicode), văn bản đƣợc nhập trực tiếp từ giao diện của chƣơng trỡnh.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Hỡnh 3.2: Giao diện chớnh của chương trỡnh thỏm mó RSA

Chƣơng trỡnh thỏm mó hệ mật RSA bao gồm cỏc modul chớnh: - Tham số RSA: p, q, n, (n), e1, e2, d1, d2.

- Tham số mó húa: Bản rừ, bản mó theo e1, bản mó theo e2, mó húa theo e1, mó húa theo e2, giải mó theo d1, giải mó theo d2, thỏm mó.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Bƣớc 1:

Chọn độ dài cho hai số nguyờn tố p và q Tớnh n = p*q

(n) = (p - 1).(q - 1)

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ Bƣớc 2: Nhập e1, e2 Tớnh d1 = e1-1mod Φ(n) d2 = e2-1mod Φ(n) Hỡnh 3.4: Tớnh khúa bớ mật d1, d2

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ Bƣớc 3: Chọn bản mó Mó húa theo e1: c1 = me1mod n Mó húa theo e2: c2 = me2mod n Hỡnh 3.5: Mó húa

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Bƣớc 4:

Chọn một thụng điệp muốn gửi đi rồi tiến hành mó húa mó húa thụng điệp

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Bƣớc 5:

Thỏm mó tỡm ra khúa bớ mật d1 Đặt t = e2d2 - 1;

Sử dụng thuật toỏn Euclid mở rộng để tỡm ƣớc số chung lớn nhất f của e1 và t. Đồng thời cũng tỡm đƣợc hai số r và s thoả r.t + s.e1 = f.

Nếu f = 1 thỡ đặt d1’ = s và ta tỡm đƣợc khúa bớ mật d1

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Bƣớc 6:

Giải mó tỡm ra bản rừ theo khúa bớ mật d1 m = cd1 mod n

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

Bƣớc 7:

Giải mó tỡm ra thụng điệp ban đầu: sau khi tỡm ra khúa bớ mật d1 ta cú thể dễ dàng tỡm ra đƣợc bản rừ bằng cụng thức m = cd1

mod n, khi bản rừ đó biết thỡ dễ dàng giải mó đƣa ra đƣợc thụng điệp ban đầu.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

3.4. Kết luận

Qua ba cỏch tấn cụng ở trờn cú thể kết luận rằng giao thức số modul chung sẽ gặp thất bại trong việc bảo đảm bớ mật cỏc văn bản hoặc cung cấp việc xỏc thực cho chữ ký của ngƣời dựng trong hệ thống. Vỡ vậy, trong việc thiết kế cỏc giao thức mới với thuật toỏn RSA, việc sử dụng số modul chung cần phải trỏnh. Cụ thể, ngƣời thiết kế giao thức phải lƣu ý xem đối thủ sẽ cú thể làm đƣợc gỡ với những bản mó mà những bản rừ của chỳng cú liờn quan (trong vớ dụ là giống nhau) hoặc khúa của họ cú liờn quan (trong vớ dụ là nguyờn tố cựng nhau). Cú thể đƣa ra hai nguyờn tắc sau đõy khi ỏp dụng RSA đú là, cần phải đảm bảo: (adsbygoogle = window.adsbygoogle || []).push({});

1. Thụng tin của một cặp số mũ mó húa/giải mó với số modul đó cho cú khả năng đối phú với thuật toỏn xỏc suất phõn tớch số modul.

2. Thụng tin của một cặp số mũ mó húa/giải mó với số modul n đó cho cú khả năng đối phú với thuật toỏn tất định để tớnh toỏn cỏc cặp mó húa/giải mó khỏc mà khụng cần xỏc định trƣớc (n).

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

KẾT LUẬN

Kết quả đạt đƣợc

Qua kết quả thực hiện luận văn tốt nghiệp, em nhận thấy việc nghiờn cứu cỏc giao thức sử dụng mật mó khoỏ cụng khai là một trong những vấn đề quan trọng trong lĩnh vực nghiờn cứu mật mó hiện đại. Cỏc hệ mật, cỏc lƣợc đồ chữ ký thƣờng đƣợc sử dụng trong cỏc giao thức. Độ bảo mật của cỏc hệ mật là rất cao nếu chỳng đƣợc dựng trong giao thức cú độ an toàn cao. Cú hai hƣớng nghiờn cứu độ an toàn của giao thức. Hƣớng thứ nhất ta tạm gọi là hƣớng lý thuyết, chẳng hạn dựng Logic BAN để nghiờn cứu, đỏnh giỏ. Hƣớng thứ hai là nghiờn cứu cỏc tấn cụng vào từng giao thức cụ thể. Nội dung của luận văn này đi theo hƣớng thứ hai. Khi nghiờn cứu về cỏc giao thức yếu sử dụng hệ mật mó khoỏ cụng khai, chỳng ta biết rằng cũn nhiều giao thức khụng đạt đƣợc độ an toàn nhƣ mong muốn. Việc nghiờn cứu cỏc phƣơng phỏp tấn cụng giao thức yếu sử dụng mật mó khoỏ cụng khai chớnh là điểm bắt đầu tốt nhất để tiếp tục nghiờn cứu tấn cụng những giao thức cú độ an toàn cao hơn.

Kết quả chớnh của luận văn là tỡm hiểu và nghiờn cứu tài liệu để hệ thống lại cỏc vấn đề sau:

- Trỡnh bày một số khỏi niệm cơ bản về mó húa dữ liệu, về thỏm mó.

- Trỡnh bày một số sơ hở của hệ mật mó khúa cụng khai, từ đú cú khả năng thỏm mó và cỏch phũng trỏnh.

- Nghiờn cứu và đỏnh giỏ cỏc phƣơng phỏp thỏm mó đối với hệ mật RSA - Xõy dựng chƣơng trỡnh tấn cụng hệ mật RSA sử dụng modul n chung.

Mặc dự đó cú nhiều cố gắng nhằm hoàn thành luận văn cú chất lƣợng nhất cú thể đƣợc, song do hạn chế về mặt thời gian và trỡnh độ toỏn học, trong luận văn của em cũn một số vấn đề chƣa giải quyết đƣợc. Đú là so sỏnh độ phức tạp thuật toỏn mới đƣợc đề xuất với độ phức tạp của cỏc thuật toỏn khỏc. Hy vọng trong thời gian tới, với sự gúp ý, giỳp đỡ của cỏc thầy cụ em sẽ hoàn thiện cỏc vấn đề đặt ra trong phƣơng phỏp này.

Hƣớng phỏt triển của đề tài

Xõy dựng chƣơng trỡnh thỏm mó hệ mật RSA ứng dụng trong thực tế, vớ dụ cho bản rừ là tiếng Việt cú dấu bằng nhiều phƣơng phỏp tấn cụng khỏc nhau để từ đú nõng cao độ an toàn của hệ mật mó bởi vỡ việc tỡm ra những sơ hở trong việc thỏm mó sẽ giỳp cho việc phỏt triển cỏc hệ mật mó an toàn hơn.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Hồ Văn Canh - Nguyễn Viết Thế (2010), Nhập mụn phõn tớch thụng tin cú bảo mật , Nhà xuất bản Thụng tin và truyền thụng.

[2] Nguyễn Văn Tảo - Hà Thị Thanh - Nguyễn Lan Oanh, Giỏo trỡnh An toàn và bảo mật thụng tin, Đại học Cụng nghệ thụng tin & Truyền thụng - Đại học Thỏi Nguyờn.

[3] Trịnh Nhật Tiến ( 2008), Giỏo trỡnh An toàn dữ liệu, Trƣờng Đại học Cụng Nghệ - ĐHQGHN.

[4] Đặng Văn Cƣơng (2003), Vấn đề an toàn của hệ mật mó khúa cụng khai, Luận văn cao học - Khoa CNTT - Đại học Cụng nghệ - Đại học Quốc gia Hà Nội.

[5] Nguyễn Bỡnh, Mật mó lý thuyết và thực hành, Cục Kỹ thuật – Viện Kỹ thuật Thụng tin.

[6] Phan Đỡnh Diệu (1999), Giỏo trỡnh lý thuyết mật mó và An toàn thụng tin, Nhà xuất bản Đại học Quốc Gia Hà Nội.

Tiếng Anh

[7] Mark Stamp Richard M.Low: “Applied Cryptanalysis”, A John Wiley & Sons INC publication, San Jose state University, San Jose CA 2007.

[8] Fauza Mirzan (2000), Blook Ciphersand Cryptanalysis, Department of Mathematics, Royal Holloway University of London

[9] D.Bleichenbacher, Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS #1.

[10] D.R.Stinson (Douglas Robert) (1995), Cryptography: Theory and Practive. [11] H.M.Deitel, P.J.Deitel, (1994), C How to program, Vol.II Prentice-Hall, United State of America.

[12] J.H.Moore, (1991), Protocol Failures in Cryptosystems, Contemporary Cryptology The Science of Information Intergrity, pp. 541-558.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn/ [14] M. Wiener: Cryptanalysis of Short RSA secret exponents, IEEE Trans, inform. Theory 36 (1990).

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Tìm hiểu một số phương pháp thám mã hệ mật mã khóa công khai ứng dụng trong bảo mật dữ liệu (Trang 56)