Chương 1: Cơ sở toán học một số khái niệm toán học liên quan đến lý thuyết mật mã học sẽ được trình bày trong chương này làm tiền đề cho việc nghiên cứu ứng dụng các thuật toán mật mã hoá trong các chương sau. Phần này sẽ cung cấp đủ cơ sở toán giúp người đọc tiếp cận dễ dàng với ngành mật mã học nói chung và luận văn nói riêng. Chương 2: Mật mã học bảo mật ra đời ngay sau khi nhu cầu truyền tải dữ liệu xuất hiện. Mục đích cuối cùng là cần bảo vệ các thông tin, chống lại mọi sự xâm phạm bất hợp lệ.
Trước khi tiến hành thiết kế hệ thống bảo mật, chương này, cung cấp hầu hết các thuật toán mã hoá từ cổ điển đến hiện đại, kèm theo chi tiết đánh giá về độ an toàn, hiệu năng mã hoá, phạm vi ứng dụng của từng thuật toán. ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 7 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ Người đọc có thể tìm thấy một tài liệu khá đầy đủ về các thuật toán mật mã hoá. Ngoài ra, học viên còn xây dựng một mô hình mật mã theo khoá bất đối xứng có tên là Advanced Elgamal với nhiều ưu điểm vượt trội so với các mô hình khác đang ứng dụng trong thực tế. Phần 2: An toàn và bảo mật thông tin trên mạng gồm 2 chương Chương 1: An toàn và bảo mật trong giao dịch điện tử thuật ngữ thương mại điện và chính phủ điện tử có lẽ không còn xa lạ với mọi người, vì nó là phương tiện đã và đang trở thành chiến lược kinh tế của các nước trên thế giới, đặc biệt là các nước đang phát triển như Việt Nam.
Đó chính là phương cách tốt nhất để rút ngắn khoảng cách kinh tế với các nước trong khu vực và các siêu cường quốc tế. Thế nhưng, cho đến thời điểm này (tháng 12/2003), thị trường sách nước ta chưa xuất bản một quyển sách về thương mại điện tử đúng nghĩa của nó. Bởi lẽ, thuật ngữ thương mại điện tử cần phải gắn liền với sự an toàn và bảo mật khi giao dịch. Xét ở khía cạnh kỹ thuật, cần có cái nhìn sâu vào hệ thống hơn là tạo giao diện đẹp mắt.
Chương này, sẽ cho ta cái nhìn toàn diện hơn về thương mại điện tử. Chương 2: An toàn và bảo mật thông tin trong thư điện tử dữ liệu lưu trữ bên trong hệ thống đôi khi không an toàn tuyệt đối do nguyên nhân cả khách quan lẫn chủ quan. Như vậy bằng cách nào có thể bảo vệ thông tin mật khi chúng di chuyển trên mạng Internet, một môi trường không tin cậy? Đặc biệt là các thông tin nhạy cảm chứa đựng bên trong các bức thư điện tử? Chương này, ứng dụng lại các kiến thức trong phần 1 và 2, trình bày các vấn đề an toàn và bảo mật trên mạng, đồng thời đưa ra hướng bảo vệ các thư điện tử. Phần 3: Kết quả đạt được và hướng phát triển tổng kết lại những kết quả đã đạt được đồng thời nêu bật lên vấn đề cần mở rộng trong tương lai của luận án.
TÀI LIỆU THAM KHẢO [1] Tata Infotech Ltd Networking with WinNT [2] William Stallings, Ph.D, Prentice Hall ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 8 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ Network and internetwork security principles and practice [3] A. Vanston, CRC Handbook of Applied Cryptography [4] Kamlesh Kbaijaj – Debjani Nag, McGraw Hill Ecommerce the cutting edge of business [5] Carl H.Matyas, John Wiley and Son Crytography: a new dimension in computerdata security, [6] RFC: SMTP, POP3, POP2, MIME, IMAP Các tài liệu trên mạng [7] RC6 as the AES: Ronald L. Robshaw and Yiqun Lisa Yin; M. Laboratory for Computer Science, 545 Technology Square, Cambridge, MA 02139, USA.edu; 88 Hadyn Pk., London, W12 9AG, UK.com; NTT Multimedia Communications Laboratories, 250 Cambridge Ave., Palo Alto, CA 94306, USA.no/~larsr/papers/rc6-statement.pdf [8] The Advanced Encryption Standard (AES): Bill Burr, Computer Security Division, Information Technology Laboratory, National Institute of Standards and Technology http://csrc.gov/pki/twg/y2000/ presentations/twg-00-20.pdf [9] MARS Attacks! Preliminary Cryptanalysis of Reduced-Round MARS Variants: John Kelsey and Bruce Schneier, Counterpane Internet Security, Inc., 3031 Tisch Way, San Jose, CA 95128 http://csrc.gov/encryption/aes/round2/ conf3/papers/16-jkelsey.pdf ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 9 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ [10] The MARS Encryption Algorithm: Carolynn Burwick, Don Coppersmith, Edward D'Avignon, Rosario Gennaro, Shai Halevi, Charanjit Jutla, Stephen M., Luke O'Connor, Mohammad Peyravian, David Safford, Nevenko Zunic – IBM T.
Watson Research, Yorktown Heights, NY 10598, USA; IBM Corparation, Research Triangle Park, NC 27709, USA; IBM Corparation, Poughkeepsie, NY 12601, USA; IBM Zurich Research, Rueschlikon, Switzerland – August 27, 1999 http://www.com/security/mars-short.ps [11] The RC6TM Block Cipher: Ronald L. Laboratory for Computer Science, 545 Technology Square, Cambridge, MA 02139, USA, rivest@theory.edu; RSA Laboratories, 2955 Campus Drive, Suite 400, San Mateo, CA 94403, USA, {matt, ray, yiqun}@rsa. [12] DES to AES: Miles E.Smid, NIST http://csrc.gov/encryption/aes/round2/DEStoAES.zip [13] IBM comments: Don Coppersmith, Rosario Gennaro, Shai Halevi, Charanjit Jutla, Stephen M., Mohammad Peyravian, David Safford, Nevenko Zunic – Third AES Conference – April 13, 2000 [14] The RC6 Block Cipher: A simple fast secure AES proposal: Ronald L.Rivest, MIT; Matt Robshaw, RSA Labs; Ray Sidney, RSA Labs; Yiqun Lisa Yin, RSA Labs; August 21, 1998.gov/encryption/aes/ round1/conf1/rc6-slides.pdf [15] Pháp lệnh thương mại điện tử Việt Nam năm 2003. ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 10 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ Phần 1 LÝ THUYẾT CƠ SỞ ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 11 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ Chương 1 CƠ SỞ TOÁN HỌC Tóm tắt Một số khái niệm toán học liên quan đến lý thuyết mật mã học sẽ được trình bày trong chương này làm tiền đề cho việc nghiên cứu ứng dụng các thuật toán mật mã hoá trong các chương sau.
Phần này sẽ cung cấp đủ cơ sở toán giúp người đọc tiếp cận dễ dàng với ngành mật mã học nói chung và luận văn nói riêng. Gồm ba phần như sau: Mục I: Một số định nghĩa toán cơ bản liên quan đến mật mã học: trình bày các định nghĩa toán học cơ sở, chủ yếu là các định nghĩa số học liên quan trực tiếp đến vấn đề mật mã hoá sẽ đề cập trong đề tài. Những định nghĩa này hoàn toàn “xa lạ” đối với kiến thức toán phổ thông cũng như các môn toán đã được học ở giai đoạn đại cương ở bậc đại học. Mục II: Một số định lý: Trình bày các định lý một cách rõ ràng chuẩn bị cho quá trình hiện thực bằng thuật toán trong mục tiếp theo.
Mục III: Một số thuật toán: Trên cơ sở lý thuyết mục I và II, mục III tổng hợp lại và trình bày một số giải thuật nổi tiếng làm công cụ bổ trợ cho quá trình tạo khóa trong mật mã khoá bất đối xứng. ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 12 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ I. MỘT SỐ ĐỊNH NGHĨA TOÁN HỌC LIÊN QUAN ĐẾN MẬT MÃ HỌC Xin vui lòng xem phụ lục A, phần I II. MỘT SỐ ĐỊNH LÝ Xin vui lòng xem phụ lục A, phần II III.
MỘT SỐ THUẬT TOÁN 1. THUẬT TOÁN EUCLIDEAN Nhận xét: theo định nghiã Z*m , mọi phần tử thuộc Z*m đều nguyên tố cùng nhau với m. Vì vậy dễ dàng nhận ra rằng mọi phần tử a trong Z*m đều tồn tại một nghịch đảo nhân a-1. Thuật toán Euclide tìm ước số chung của hai số nguyên dương a và b (a>b): ∀i>j, 0<ri<rj , ta luôn có: a=q0b + r1 b=q1r1 + r2 r1=q2r2 + r3 r2=q3r3 + r4 r3=q4r4 + r5.
rk=qk+1rk+1 + rk+2 rk+1=qk+2rk+2 Dễ dàng nhận ra: gcd(a,b)=gcd(b,r1)=gcd(r1,r2)=.=gcd(rk,rk+1)=rk+2 Như vậy: gcd(a,b)=rk+2 Đoạn mã giả cho thuật toán trên: Vào: a ≥ b>0 a,b nguyên dương. Ra: gcd(a,b) + while b≠0 do ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 13 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ r = a mod b a=b b=r + Return (a) Ứng dụng thuật toán trong luận văn: Nhờ thuật toán Euclide, có thể xác định hai số nguyên dương bất kỳ có nguyên tố cùng nhau hay không. Từ đó suy ra có tồn tại nghịch đảo nhân của một số hay không. THUẬT TOÁN EXTENDED EUCLIDEAN (Euclidean mở rộng) Ta định nghĩa day u như sau: u0 = 0 u1 = 1 ui = ui-2-qi-1ui-1 mod r0 với i >1 Mệnh đề: 0 ≤ i ≤ m, ta có ri ≡ ui r1 (mod r0) (có thể sử dụng qui nạp để chứng minh mệnh đề này).
Vì vậy um là nghịch đảo nhân của r1 theo modulo r0 Người ta sử dụng thuật toán Euclidean mở rộng: Vào: a, b nguyên, không âm và a ≥ b Ra: d=gcd(a,b) và hai số nguyên x, y thoả ax + by = d + if b=0 then d=a, x=1, y=0, return(x) + x2=1, x1=0, y2=0, y1=1 + while b>0 do r=a-qb x=x2-qx1 y=y2-qy1 ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 14 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ a=b b=r x2=x1 x=x2 y2=y1 y1=y + d=a, x=x2, y=y2 + return(d,x,y) Ứng dụng thuật toán trong luận văn: Dựa vào thuật toán Euclidean mở rộng, ta có thể tìm nghịch đảo nhân của phần tử a như sau: Thuật toán tìm phần tử nghịch đảo nhân: Vào: m∈Z*a ,m<a Ra: m-1 mod a - Sử dụng thuật toán Euclidean mở rộng để tìm d, x, y sao cho ax+my=d + if m=0 then d=a, x=1, y=0, return(y) + x2=1, x1=0, y2=0, y1=1 + while m>0 do r=a-qm x=x2-qx1 y=y2-qy1 a=m m=r x2=x1 x=x2 y2=y1 y1=y + d=a, x=x2, y=y2 ____________________________________________________________________________________________________________________________________ CBHD: Ts Phaïm Hoàng Lieân HVTH: Nguyeãn Thaønh Sôn 15 An toaøn vaø baûo maät thoâng tin treân maïng-Xaây döïng öùng duïng mail client ____________________________________________________________________________________________________________________________________ + return(d,x,y) - if d>1 thì không tồn tại phần tử nghịch đảo nhân, ngược lại return (y) Nếu đã tìm được m-1 mod a =y thì rất dễ suy ra nghịch đảo nhân của m m-1=i*a+y Trong đó i là số tự nhiên nhỏ nhất sao cho m-1>0 3. THUẬT TOÁN SINH SỐ NGUYÊN TỐ NGẪU NHIÊN Để chuẩn bị cho quá trình khởi tạo khoá công khai, bài toán sinh số nguyên tố ngẫu nhiên cực lớn phải được giải quyết tốt. Cho đến hiện tại, bài toán này trong thực tế được liệt kê vào dạng bài toán khó hay bất trị (hard / intractable) vì chưa có thuật toán giải quyết triệt để. Thông thường người ta giải quyết bằng cách sinh các số ngẫu nhiên cực lớn có độ dài bit xác định, sau đó dùng một số giải thuật mang tính chất xác suất để kiêm tra xem nó có là nguyên tố không như: thuật toán Miller-Rabin, Soloway-Strassen, Fermat, Mersenne.
Các thuật toán này có tốc độ thực thi khá nhanh phụ thuộc độ dài n bit của số cần kiểm tra (độ phức tạp là O(n2)).