Chữ ký số và ứng dụng

  • Số trang: 78 |
  • Loại file: PDF |
  • Lượt xem: 34 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ------------------- NGUYỄN VĂN THỰC CHỮ KÝ SỐ VÀ ỨNG DỤNG LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH Chuyên ngành : Khoa học máy tính Mã số : 60 48 01 Thái Nguyên, năm 2011 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn i LỜI CẢM ƠN Tôi xin chân thành cảm ơn PGS.TS. Đặng Văn Đức đã trực tiếp hƣớng dẫn, tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình nghiên cứu và thực hiện báo cáo luận văn. Thầy đã định hƣớng nghiên cứu, giúp tôi hoàn thành tốt luận văn này. Trong quá trình học tập và thực hiện luận văn tốt nghiệp tại Trƣờng Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên, tôi xin chân thành cảm ơn các thầy cô trong đào tạo sau Đại học, các thầy cô đã trực tiếp giảng dạy, giúp đỡ tôi hoàn thành tốt chƣơng trình học tập và luận văn tốt nghiệp. Tôi xin cảm ơn toàn thể các anh chị học viên lớp Cao học Khoa học máy tính, cùng gia đình, bạn bè đã động viên giúp đỡ tôi trong quá trình học tập cũng nhƣ nghiên cứu đề tài Luận văn này. Học viên Nguyễn Văn Thực Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn ii MỤC LỤC LỜI CẢM ƠN ..............................................................................................................i DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ................................................iv DANH MỤC CÁC HÌNH VẼ ÐỒ THỊ ......................................................................v MỞ ĐẦU ....................................................................................................................1 CHƢƠNG 1 TỔNG QUAN VỀ MẬT MÃ VÀ ỨNG DỤNG CHỮ KÝ SỐ ............................. 3 1.1. Giới thiệu: ...........................................................................................................3 1.2. Khái niệm hệ mật mã .........................................................................................4 1.3. Hệ mật mã đối xứng ...........................................................................................4 1.3.1. Khái niệm ......................................................................................................... 4 1.3.2. Khái niệm Block ciphers (khối mật mã) và Stream ciphers (dòng mậtmã)5 1.3.3. Thuật toán DES ............................................................................................... 6 1.3.4. Ƣu, nhƣợc điểm của Hệ mật mã khóa đối xứng ......................................... 13 1.4. Hệ mật mã khóa công khai ..............................................................................14 1.4.1. Hệ mật mã khóa công khai là gì ?................................................................ 14 1.4.2. Thuật toán RSA ............................................................................................. 15 1.4.3. Ƣu, nhƣợc điểm của Hệ mật mã khóa công khai ....................................... 17 1.5. Hàm băm ...........................................................................................................19 1.5.1. Khái niệm ....................................................................................................... 19 1.5.2. Đặc tính của hàm băm một chiều ................................................................ 19 1.6. Chữ ký số ...........................................................................................................20 1.7. Hiện trạng triển khai chữ ký số ......................................................................24 1.7.1 Hiện trạng triển khai chữ ký số trên thế giới .............................................. 24 1.7.2 Hiện trạng triển khai chữ ký số tại Việt Nam ............................................. 26 1.7.3 các tiêu chuẩn đƣợc ban hành về chữ ký số tại Việt Nam .......................... 28 CHƢƠNG 2 CHỨNG CHỈ SỐ VÀ HỆ THỐNG CHỨNG THỰC SỐ ....................................31 2.1. Giới thiệu chứng chỉ số ....................................................................................31 2.1.1. Giới thiệu........................................................................................................ 31 2.1.2. Chứng chỉ khóa công khai X.509 ............................................................... 33 2.1.3. Thu hồi chứng chỉ.......................................................................................... 38 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn iii 2.1.4. Chính sách của chứng chỉ ............................................................................ 38 2.1.5. Công bố và gửi thông báo thu hồi chứng chỉ .............................................. 39 2.2. Hạ tầng khóa công khai PKI ...........................................................................42 2.2.1. Các thành phần của PKI .............................................................................. 42 2.2.2. Chức năng cơ bản của PKI .......................................................................... 46 2.2.3. Một số chức năng khác của PKI .................................................................. 47 2.3. Hệ thống chứng chỉ số CA (Certificate Authority) .......................................49 2.3.1. Chức năng của CA ........................................................................................ 50 2.3.2. Các mô hình CA ............................................................................................ 52 2.3.3. Một số chứng chỉ số do CA phát hành ........................................................ 57 CHƢƠNG 3 CÀI ĐẶT HỆ THỐNG CHỨNG CHỈ SỐ THỦ NGHIỆM ................................ 59 3.1 Tổng quan về hệ thống chứng chỉ số thử nghiệm tại Trƣờng Dự bị Đại học Dân tộc Sầm Sơn (phát biểu bài toán, mô hình hệ thống)...................................59 3.1.1 Phát biểu bài toán........................................................................................... 59 3.2. Quy trình đăng kí, cấp phát và huỷ bỏ chứng chỉ .........................................64 3.2.1. Qui trình đăng ký và cấp chứng chỉ ............................................................ 64 3.2.2. Qui trình huỷ bỏ chứng chỉ .......................................................................... 65 3.3 Xây dựng phần mềm Demo về việc tạo Ký và Xác thực ..............................65 3.3.1 Ký văn bản và xác thực chữ ký ..................................................................... 65 3.3.2 Ký trên thông điệp ......................................................................................... 68 3.3.3 Tạo chữ ký ...................................................................................................... 69 KẾT LUẬN ..............................................................................................................70 KIẾN NGHỊ CÁC HƢỚNG NGHIÊN CỨU TIẾP THEO ................................ 71 DANH MỤC TÀI LIỆU THAM KHẢO ............................................................... 72 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn iv DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT STT TÊN VIẾT TẮT 1 2 3 4 5 RSA DES PKI VRS AIS 6 7 8 9 10 11 12 13 CA IIS DNS WAN LAN MMC CRL LDAP 14 15 16 RA TSA OCSP Ý NGHĨA Hệ mật mã khóa công khai Hệ mật mã khóa đối xứng Public key infrastructure - Hạ tầng khóa công khai Hệ thống báo cáo điều hành VRS (VNPT Reports System) Hệ thống thông tin điều hành AIS (Administrative Information System) Bộ cấp chứng thực số (Certificate Authorities) Internet Information Services Domain Name System Wide Area Networks Local Area Network Microsoft Management Console Certificate Revocation List Giao thức truy nhập nhanh dịch vụ thƣ mục ( Lightweight Directory Access Protocol) Thành phần cấp quyền đǎng nhập (Registration Authorities) Thành phần gán nhãn thời gian (Timestamp Authorities) Online Certificate Status Protocol Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn v DANH MỤC CÁC HÌNH VẼ ÐỒ THỊ Hình 2.1 : Quá trình mã hóa và giải mã . ………………………………………………..4 Hình 3.1: Mô hình mã hóa khóa đối xứng………………………………………...........5 Hình 4.1: Quá trình mã hóa và giải mã trong hệ mật mã khoá công khai .... …….14 Hình 4.2 : Thuật toán RSA ....................................................................................... 15 Hình 4.3.2.1 : Mã hóa thông điệp sử dụng khóa bí mật S để mã thông điệp và khóa công khai P để mã khoa bí mật S .............................................................................. 18 Hình 4.3.2.2 : Giải mã thông điệp sử dụng khóa bí mật S để giải mã thông điệp và khóa riêng P để giải mã khóa bí mật S ............................................................ …….18 Hình 5.1. Minh họa hàm băm .................................................................................. 19 Hình 6.1 : Mô hình tổng quát quá trình ký và kiểm tra chữ ký ................................ 21 Hình 6.2 a : Băm thông điệp .................................................................................... 22 Hình 6.2 b : Ký trê n bản băm ................................................................................... 22 Hình 6.2 c : Truyền dữ liệu thông tin cần gửi .......................................................... 22 Hình 6.3 a : Xác minh chữ ký ................................................................................... 23 Hình 6.3 b : Tiến hành băm thông điệp gốc đi kèm................................................. 23 Hình 6.3 c : Kiểm tra tính toàn vẹn của thông điệp ................................................. 24 Hình 2.1 : Chứng chỉ số ............................................................................................ 31 Hình 2.2 : Khuôn dạng chứng chỉ X.509 .................................................................. 34 Hình 2.3 : Nội dung chi tiết của chứng chỉ ............................................................... 37 Hình 2.4 : Khuôn dạng danh sách chứng chỉ bị thu hồi ........................................... 40 Hình 2.5 : Client kiểm tra trạng thái Chứng chỉ sử dụng OCSP .............................. 42 Hình 2.6 : Các thành phần của PKI.......................................................................... 43 Hình 2.7: Mô hình trao đổi dữ liệu giữa CA, RA, Clients với Repository ................ 45 Hình 2.7 : Mối quan hệ giữa các thành phần của PKI ............................................. 46 Hình 2.8 : Mô hình tổng quan xác thực chéo............................................................ 48 Hình 2.9 : Mô hình thiết lập xác thực chéo .............................................................. 49 Hình 2.10 : Quá trình cấp chứng chỉ số với khóa công khai do người dùng tạo ..... 50 Hình 2.11 : Quá trình cấp chứng chỉ với cặp khóa do CA tạo ra............................. 51 Hình 2.12 : Quá trình chứng thực khóa công khai ................................................... 52 Hình 2.12 : Mô hình CA đơn ..................................................................................... 52 Hình 2.13 : Mô hình phân cấp .................................................................................. 53 Hình 2.15 : Mô hình mắt lưới ................................................................................... 54 Hình 2.15 : Mô hình Bridge CA ................................................................................ 55 Hình 2.16 : Danh sách các Root CA tin cậy trong Internet Explorer ...................... 56 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn MỞ ĐẦU Trong sự phát triển không ngừng của ngành Công nghệ thông tin kéo theo là rất nhiều ứng dụng vào đời sống của con ngƣời, tạo cho chúng ta sự thoái mái trong việc giao tiếp, trao đổi thông tin, tất cả các sự việc đều đƣợc cập nhật một cách nhanh chóng trên các phƣơng tiện truyền thông. Mọi thông tin của cá nhân, tập thể, doanh nghiệp, hay thâm chí của các Bộ, Ban ngành các cấp đều có thể đƣợc đƣa lên mạng Internet. Làm thế nào để có thể khẳng định những thông tin đó là của ai? để giải quyết vấn đề này không nên sử dụng con dấu hay chữ ký thông thƣờng mà sử dụng chữ ký số là một giải pháp tốt nhất. Mặt khác sự bùng nổ phƣơng thức truyền thông tin thông qua Internet và các phƣơng tiện truyền thông khác đã đƣa chúng ta đến việc cần phải đối mặt với việc bảo mật những thông tin cá nhân, thông tin riêng tƣ, các thông tin cá nhân riêng tƣ có thể bị thay đổi khi đƣa lên Internet, để đảm bảo sự không thể chối cãi khi ai đó đƣa thông tin cá nhân của ngƣời khác lên mạng Internet cần phải chứng thực rằng mình đã đƣa ra thông tin đó, để khi cần thì các cơ quan pháp luật có thể sử dụng khi có sự kiện tụng, hay tranh chấp. Trong sự phát triển không ngừng của ngành Công nghệ thông tin kéo theo là rất nhiều ứng dụng vào đời sống của con ngƣời, tạo cho chúng ta sự thoái mái trong việc giao tiếp, trao đổi thông tin, tất cả các sự việc đều đƣợc cập nhật một cách nhanh chóng trên các phƣơng tiện truyền thông. Mọi thông tin của cá nhân, tập thể, doanh nghiệp, hay thâm chí của các Bộ, Ban ngành các cấp đều có thể đƣợc đƣa lên mạng Internet. Làm thế nào để có thể khẳng định những thông tin đó là của ai? để giải quyết vấn đề này không nên sử dụng con dấu hay chữ ký thông thƣờng mà sử dụng chữ ký số là một giải pháp tốt nhất. 2 Mặt khác sự bùng nổ phƣơng thức truyền thông tin thông qua Internet và các phƣơng tiện truyền thông khác đã đƣa chúng ta đến việc cần phải đối mặt với việc bảo mật những thông tin cá nhân, thông tin riêng tƣ, các thông tin cá nhân riêng tƣ có thể bị thay đổi khi đƣa lên Internet, để đảm bảo sự không thể chối cãi khi ai đó đƣa thông tin cá nhân của ngƣời khác lên mạng Internet, trao đổi thông tin giữa các cơ quan, trong một cơ quan cần phải chứng thực rằng mình đã đƣa ra thông tin đó, để khi cần thì các cơ quan pháp luật có thể sử dụng khi có sự kiện tụng, hay tranh chấp. Cấu trúc của luận văn bao gồm 3 chƣơng với những nội dung cụ thể nhƣ sau: Chương 1: Tổng quan về mật mã và ứng dụng chữ ký số Chương 2: Chứng chỉ số và hệ thống chứng thực số Chương 3: Cài đặt hệ thống chứng chỉ số thử nghiệm Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 3 CHƢƠNG 1: TỔNG QUAN VỀ MẬT MÃ VÀ ỨNG DỤNG CHỮ KÝ SỐ 1.1. Giới thiệu: Mật mã đã đƣợc con ngƣời sử dụng từ lâu đời. Các hình thức mật mã sơ khai đã đƣợc tìm thấy từ khoảng bốn nghìn năm trƣớc trong nền văn minh Ai Cập cổ đại. Trải qua hàng nghìn năm lịch sử, mật mã đã đƣợc sử dụng rộng rãi ở khắp nơi trê n thế giới từ Đông sang Tây để giữ bí mật cho việc giao lƣu thông tin trong nhiều lĩnh vực hoạt động giữa con ngƣời và các quốc gia, đặc biệt trong các lĩnh vực quân sự , chính trị, ngoại giao. Mật mã trƣớc hết là một loại hoạt động thực tiễn, chức năng chính của nó là để giữ bí mật thông tin. Ví dụ muốn gửi một văn bản từ một ngƣời gửi A đến một ngƣời nhận B, A phải tạo cho văn bản đó một bản mã mật tƣơng ứng và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản mã mật, B nhận đƣợc bản mã mật và khôi phục lại văn bản mã mật mình nhận đƣợc thành văn bản rõ để hiểu đƣợc thông tin mà A muốn gửi cho mình. Do văn bản gửi đi thƣờng đƣợc chuyển qua các con đƣờng công khai nên ngƣời khá c có thể “lấy trộm” đƣợc, nhƣng vì đó là bản mật mã nên không đọc hiểu đƣợc nội dung thông tin; Còn A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu đƣợc là do hai ngƣời đã có một thoả thuận về một chìa khóa chung, chỉ với khóa chung này thì A mới tạo đƣợc bản mã mật từ bản rõ và B mới khôi phục đƣợc bản rõ từ bản mã mật. Khóa chung đó đƣợc gọi là khóa mật mã. Để thực hiện đƣợc một phép mật mã, ta còn cần có một thuật toán biến bản rõ cùng với khóa mật Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 4 mã thành bản mã mật và một thuật toán ngƣợc lại biến bản mật cùng với khóa mật mã thành bản rõ. Các thuật toán đó đƣợc gọi tƣơng ứng là thuật toán lập mã và thuật toán giải mã. Các thuật toán này thƣờng không nhất thiết phải giữ bí mật, mà cái luôn cần đƣợc giữ bí mật là khóa mật mã. Trong thực tiễn, có những hoạt động ngƣợc lại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” đƣợc, hoạt động này thƣờng đƣợc gọi là mã thám hay phá khóa. [3] 1.2. Khái niệm hệ mật mã Hệ mật mã đƣợc định nghĩa là một bộ năm (P, C, K, E, D) trong đó: 1 . P là tập hữu hạn các các bản rõ có thể 2 . C tập hữu hạn các bản mã có thể 3 . K là tập hữu hạn các khóa có thể 4 . E là tập các hàm lập mã 5 . D là tập các hàm giải mã. Với mỗi k  K, có một hàm lập mã ek  E, ek : P → C và một hàm giải mã dk  D, dk: C → P sao cho dk (ek(x)) =x,xP Quá trình mã hóa và giải mã Hình 2.1 : Quá trình mã hóa và giải mã 1.3. Hệ mật mã đối xứng 1.3.1. Khái niệm Trong các hệ mã đối xứng chỉ có một khóa đƣợc chia sẻ giữa các bên tham gia liên lạc, trao đổi thông tin. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 5 Cứ mỗi lần truyền tin bảo mật, cả ngƣời gửi A và ngƣời nhận B cùng thoả thuận trƣớc với nhau một khóa chung K, sau đó ngƣời gửi dùng ek để lập mã cho thông báo gửi đi và ngƣời nhận dùng dk để giải mã bản mật mã nhận đƣợc. Ngƣời gửi và ngƣời nhận có cùng một khóa chung K, đƣợc giữ bí mật dùng cho cả ngƣời lập mã và ngƣời giải mã. Hệ mật mã với cách sử dụng trê n đƣợc gọi là mật mã khóa đối xứng hay còn gọi là mật mã khóa bí mật. Hình 3.1: Mô hình mã hóa khóa đối xứng Hình 3 . 1 chính là quá trình tiến hành trao đổi thông tin giữa bên gửi và bên nhận thông qua việc sử dụng phƣơng pháp mã hóa đối xứng. Trong quá trình này thì thành phần quan trọng nhất cần phải đƣợc giữ bí mật chính là khóa. Việc trao đổi, thỏa thuận về thuật toán đƣợc sử dụng trong việc mã hóa có thể tiến hành một cách công khai, nhƣng bƣớc thỏa thuận về khóa dùng cho việc mã hóa và giải mã phải tiến hành bí mật. [4] 1.3.2. Khái niệm Block ciphers (khối mật mã) và Stream ciphers (dòng mật mã) Mã hóa đối xứng có thể phâ n thành hai nhóm phụ : 1.3.2.1. Block ciphers (khối mật mã) - Block ciphers: thuật toán khối - trong đó từng khối dữ liệu trong văn bản ban đầu đƣợc thay thế bằng một khối dữ liệu khác có cùng độ dài. Độ dài mỗi khối gọi là block size, thƣờng đƣợc tính bằng đơn vị bit . Ví dụ : + Thuật toán 3 – Way có kích thƣớc khối bằng 96 bit . Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 6 + Thuật toán DES có kích thƣớc khối là 64 bit. - Một số thuật toán khối nhƣ DES , 3DES , AES , 3 - Way… 1.3.2.2. Stream ciphers (dòng mật mã) - Stream ciphers: thuật toán dòng - trong đó dữ liệu đầu vào đƣợc mã hóa từng bit một . - Các thuật toán dòng có tốc độ nhanh hơn các thuật toán khối, đƣợc dùng khi khối lƣợng dữ liệu cần mã hóa chƣa đƣợc biết trƣớc, ví dụ trong kết nối không dây. - Có thể coi thuật toán dòng là thuật toán khối với kích thƣớc mỗi khối là 1 bit - Một số thuật toán dòng nhƣ : RC4 , A5 / 1 , A5 / 2 … 1.3.3. Thuật toán DES 1.3.3.1. Sự ra đời của thuật toán DES Mã hóa cổ điển có thuật toán đơn giản và dễ hiểu. Chính phƣơng pháp mã hóa cổ điển đã giúp chúng ta tiếp cận với các thuật toán mã hóa đối xứng đƣợc sử dụng ngày nay. Mã hóa cổ điển có 2 phƣơng pháp nổi bật đó là phép thay thế và phép chuyển dịch. Trong phép thay thế, một chữ cái này đƣợc thay thế bởi chữ cái khác và trong phép chuyển dịch, các chữ cái đƣợc sắp xếp theo một trật tự khác. Hệ mã chuẩn DES đƣợc xâ y dựng tại Mỹ trong những năm 70 theo yêu cầu của Văn phòng quốc gia về chuẩn (NBS) và đƣợc sự thẩm định của an ninh quốc gia là một ví dụ về mật mã cổ điển. DES kết hợp cả hai phƣơng pháp thay thế và chuyển dịch. DES thực hiện mã hóa trê n từng khối bản rõ là một xâ u 64 bit, có khóa là một xâu 56 bit và cho ra bản mã cũng là một xâu 64 bit. Hiện nay, DES và biến thể của nó (3DES) vẫn đƣợc sử dụng thành công trong nhiều ứng dụng. 1.3.3.2. Quy trình của thuật toán DES Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 7 1.3.2.2.1. Qui trình mã hóa theo DES. Giai đoạn 1 : Bản Rõ chữ ===== Bản Rõ số (Dạng nhị phân) Chia thành Giai đoạn 2 : Bản Rõ số ===== Các đoạn 64 bit Rõ số Giai đoạn 3 : 64 bit Rõ số ===== 64 bit Mã số Kết nối Giai đoạn 4 : Các đoạn 64 bit Mã số == Bản Mã số (Dạng nhị phân) Giai đoạn 5 : Bản Mã số ===== Bản Mã chữ 1.3.2.2.2. Lập mã và Giải mã DES 1.3.2.2.2.1. Qui trình lập mã DES Thuật toán DES tập trung thực hiện Giai đoạn 3 .của qui trình mã hóa. Đó là chuyển đổi bản rõ số với 64 bit thành bản mã với 64 bit. Sơ đồ Bản rõ: 64 bit L0 R0 f L1 = R0 R1 = L0  f ( R0, k1) f L2 = R1 L15 = R14 Số hóa bởi Trung tâm Học liệu – ĐHTN R16 = L15  f (R15, k1 k2 R2 = L1  f ( R1, k2) R15 = L14  f ( R14, k15) f k16 http://www.lrc-tnu.edu.vn L16 = R15 8 1.3.2.2.2.2. Thực hiện mã hóa DES theo Sơ đồ - Bản rõ là xâu x , Bản mã là xâu y, Khoá là xâu K, đều có độ dài 64 bit. - Thuật toán mã hóa DES thực hiện qua 3 bước chính nhƣ sau: Bước 1: Bản rõ x đƣợc hoán vị theo phép hoán vị IP, thành IP (x). IP (x) = L0 R0 ,trong đó L0 là 32 bit đầu (Left),R0 là 32 bit cuối (Right). (IP (x) tách thành L0 R0 ). Bước 2: Thực hiện 16 vòng mã hoá với những phép toán giống nhau. Dữ liệu đƣợc kết hợp với khoá thông qua hàm f : L i = R i -1, R i = L i -1  f (R i -1 , k i ), trong đó:  là phép toán hoặc loại trừ của hai xâu bit (cộng theo modulo 2). k1, k2, ..., k16 là các khoá con (48 bit) đƣợc tính từ khóa gốc K. Bước 3: Thực hiện phép hoán vị ngƣợc IP-1 cho xâu R16L16 , thu đƣợc bản mã y. y = IP -1 (R16 , L16). - Bảng hoán vị ban đầu IP: + bit 1 của IP(x) là bit 58 của x. + bit 2 của IP(x) là bit 50 của x. 58 60 62 64 57 59 61 63 50 52 54 56 49 51 53 55 42 44 46 48 41 43 45 47 34 36 38 40 33 35 37 39 26 28 30 32 25 27 29 31 18 20 22 24 17 19 21 23 10 12 14 16 9 11 13 15 - Bảng hoán vị cuối cùng IP-1: Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 2 4 6 8 1 3 5 7 9 40 39 38 37 36 35 34 33 8 7 6 5 4 3 2 1 48 47 46 45 44 43 42 41 16 15 14 13 12 11 10 9 56 55 54 53 52 51 50 49 24 23 22 21 20 19 18 17 64 63 62 61 60 59 58 57 1.3.2.2.2.3 Tính các khóa con k1 , k2, … , k16 từ khóa gốc K. Sơ đồ K PC - 1 C0 D0 LS1 LS1 C1 LS2 D1 PC - 2 k1 PC - 2 k2 PC - 2 k16 LS2 C2 D2 …………………………… LS16 C 16 Tính khoá LS16 D 16 ki (48 bit): Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 32 31 30 29 28 27 26 25 10 1). Khoá K là xâu dài 64 bit, trong đó 56 bit là khoá và 8 bit để kiểm tra tính chẵn lẻ nhằm phát hiện sai, các bit này không tham gia vào quá trình tính toán. Các bit kiểm tra tính chẵn lẻ nằm ở vị trí 8, 16, 24,…, 64 đƣợc xác định, sao cho mỗi byte chứa một số lẻ các số 1. Bởi vậy mỗi sai sót đơn lẻ đƣợc xác định trong mỗi nhóm 8 bit. 2). Tính khoá k i nhƣ sau: + Với khoá K độ dài 64 bit, ta loại bỏ các bit kiểm tra tính chẵn lẻ, hoán vị 56 bit còn lại theo phép hoán vị PC-1: PC-1 (K ) = C0 D0 Trong đó C0 là 28 bit đầu, D0 là 28 bit cuối cùng của PC-1( K ). + Với i = 1, 2, ... , 16, ta tính: Ci = LSi ( Ci-1 ), Di = LSi ( Di-1 ). Trong đó LS i là phép chuyển dịch vòng sang trái: Dịch 1 vị trí nếu i = 1, 2, 9, 16. Dịch 2 vị trí với những giá trị i khác. + Với i = 1, 2, ... , 16, khóa k i đƣợc tính theo phép hoán vị PC-2 từ Ci Di : k i = PC-2 (Ci Di ) (48 bit). - Phép hoán vị PC - 1: 57 1 10 19 63 7 14 21 49 58 2 11 55 62 6 13 41 50 59 3 47 54 61 5 33 42 51 60 39 46 53 28 25 34 43 52 31 38 45 20 - Phép hoán vị PC - 2: 17 26 35 44 23 30 37 12 Số hóa bởi Trung tâm Học liệu – ĐHTN 9 18 27 36 15 22 29 4 14 3 23 16 41 30 44 46 17 28 19 7 52 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 http://www.lrc-tnu.edu.vn 5 10 8 2 55 48 53 32 11 1.3.2.2.2.4 Tính hàm f (R i -1 , k i ) Sơ đồ ki Ri-1 E E(Ri-1) + B1 B2 B3 B4 B5 B6 B7 S1 S2 S3 S4 S5 S6 S7 C1 C2 C3 C4 C5 C6 C7 B8 S8 C8 P f (Ri-1, ki) Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 12 - Tính hàm f (R i -1 , k i ) Để cho đơn giản, ta không ghi chỉ số i-1, i, và mô tả cách tính f (R ,k ): 1). Mở rộng xâu R (32 bit) thành xâu 48 bit, theo hàm mở rộng E: E: R (32 bit) --- > E(R) (48 bit). E(R) gồm 32 bit của cũ của R và 16 bit của R xuất hiện lần thứ 2. 2). Tính E(R)  k, trong đó E(R) (48 bit) và k (48 bit). Kết quả gồm 8 xâu Bj, mỗi xâu Bj có 6 bit (8*6 = 48): B = B1 B2 B3 B4 B5 B6 B7 B8. 3). Tính Cj = Sj (Bj), j = 1,… , 8. Dùng 8 bảng S1, S2, …, S8. Sj là bảng cố định với r * c số nguyên từ 0 -> 15, (0  r  3,0  c  15). Sj thể hiện việc thay thế mỗi Bj thành Cj (Cj là xâu 4 bit) theo qui tắc sau: - Giả sử Bj = b1 b2 b3 b4 b5 b6. (6 bit). + b1 b6 xác định biểu diển nhị phân của hàng r trong Sj (0  r  3 ). + b2 b3 b4 b5 xác định biểu diển nhị phân của cột c trong Sj (0  c  15 ). Xâu Cj (4bit) đƣợc định nghĩa là biểu diển nhị phân của phần tử Sj(r,c). 4). Thực hiện 8 lần bƣớc 3), ta nhận đƣợc xâu C = C1 C2 … C8 (32 bit). Sau hoán vị P, cho kết quả P (C), đó chính là f (R, k). - Phép hoán vị mở rộng E: 32 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 27 31 4 8 12 16 20 24 28 32 5 9 13 17 21 25 29 1 Số hóa bởi Trung tâm Học liệu – ĐHTN - Phép hoán vị P: 16 7 20 21 29 12 28 17 1 15 23 26 2 5 18 31 10 8 24 14 32 27 19 13 30 6 22 11 3 9 4 25 http://www.lrc-tnu.edu.vn 13 1.3.2.2.2.5. Qui trình giải mã DES Qui trình giải mã của DES tƣơng tự nhƣ qui trình lập mã, nhƣng theo dùng các khóa thứ tự ngƣợc lại: k16 , k15, … , k1 . Xuất phát (đầu vào) từ bản mã y, kết quả (đầu ra) là bản ró x. 1.3.4. Ưu, nhược điểm của Hệ mật mã khóa đối xứng 1.3.4.1. Ưu điểm Các thuật toán đối xứng nói chung đòi hỏi công suất tính toán ít hơn các thuật toán bất đối xứng. Vì vậy hiệu suất của các ứng dụng sử dụng khóa đối xứng thƣờng tốt hơn. Tốc độ mã hóa và giải mã nhanh. 1.3.4.2. Nhược điểm Nhƣợc điểm của các thuật toán khóa đối xứng bắt nguồn từ yêu cầu về sự phân hưởng chìa khóa bí mật, mỗi bê n phải có một bản sao của chìa. Do khả năng các chìa khóa có thể bị phát hiện bởi đối thủ mật mã, chúng thƣờng phải đƣợc bảo an trong khi phân phối và trong khi dùng. Yêu cầu về việc lựa chọn, phân phối và lƣu trữ các chìa khóa một cách không có lỗi, không bị mất mát là một việc làm khó khăn, khó có thể đạt đƣợc một cách đáng tin cậy. Để đảm bảo giao thông liên lạc an toàn cho tất cả mọi ngƣời trong một nhóm gồm n ngƣời, tổng số lƣợng chìa khoá cần phải có là Để khắc phục hiện tƣợng không thể lƣu trữ một khối lƣợng khóa 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ông lớn lắm nhƣ DES… Mặc dù đã thực hiện việc mã hóa và giải mã bằng các hệ mật mã khối nhƣ đã nêu ở trên thì vấn đề phân phối và thoả thuận khóa vẫn phải đƣợc thực hiện. Nhƣ vậy phân phối và thoả thuận khóa là một vấn đề chƣa thể đƣợc giải quyết trong các hệ mật mã khóa đối xứng. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 14 1.4. Hệ mật mã khóa công khai Hệ mật mã khóa công khai ra đời đã giải quyết vấn đề phân phối và thoả thuận khóa của mật mã khóa đối xứng. 1.4.1. Hệ mật mã khóa công khai là gì ? Hệ mật mã khóa công khai hay còn đƣợc gọi là hệ mật mã phi đối xứng sử dụng một cặp khóa, khóa mã hóa còn gọi là khóa công khai (public key) và khóa giải mã đƣợc gọi là khóa bí mật hay khóa riê ng (private key). Trong hệ mật này, khóa mã hóa khác với khóa giải mã. Về mặt toán học thì từ khóa công k h a i rất khó tính đƣợc khóa riê ng. Biết đƣợc khóa này không dễ dàng tìm đƣợc khóa kia. Khóa giải mã đƣợc giữ bí mật trong khi khóa mã hóa đƣợc công bố công khai. Một ngƣời bất kỳ có thể sử dụng khóa công khai để mã hóa tin tức, nhƣng chỉ có ngƣời nào có đúng khóa giải mã mới có khả năng xem đƣợc bản rõ. Quá trình mã hóa và giải mã Ngƣời gửi A sẽ mã hóa thông điệp bằng khóa công khai của ngƣời nhận và ngƣời nhận B sẽ giải mã thông điệp với khóa riêng tƣơng ứng của mình. Quá trình này đƣợc mô tả trong hình 4.1: Hình 4.1: Quá trình mã hóa và giải mã trong hệ mật mã khoá công khai Quá trình này đƣợc mô tả cụ thể nhƣ sau : Nếu Alice muốn gửi một thông điệp bí mật tới Bob, Alice sẽ tìm chìa Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn
- Xem thêm -