1. Thuật toán mã hóa 3DES
Thuật toán mã hoá 3DES là một biến thể phụ của DES, như ta đã biết DES vẫn tồn tại nhiều nhược điểm như: Có thể bẽ gãy bằng những máy có mục đích đặc biệt để tìm ra khóa.
1.2. Mô tả 3DES
Thuật toán mã hoá 3DES gồm 3 chìa khoá 64 bit, tức là toàn bộ chiều dài khoá là 192 bit. Trong khi mã hoá riêng tư, chúng ta đơn giản là nhập toàn bộ 192 bit khoá đơn là vào mỗi 3 chìa khoá cá nhân.
Mô tả 3DES
Thủ tục mã hoá cũng tương tự DES nhưng nó được lặp lại 3 lần tức là tăng lên 3 lần DES. Dữ liệu được mã hoá với chìa khoá đầu tiên, và được giải mã với chìa khoá 2, sau đó mã hoá lần nữa với chìa khoá thứ 3 để thu được dữ liệu mã hoá cuối cùng.
+ Các mẫu hoạt động của 3DES:
- Triple ECB (Triple Electronic Code Book): Sách mã hoá điện tử.
- Triple CBC (Triple Cipher Chaining): Móc nối khối ký số.
1.3. Ưu và nhược điểm của 3DES
- Ưu điểm: Khác với DES, thuật toán mã hoá 3DES được mã hoá 3 lần DES với kích cỡ không gian khoá 168 bit cho nên an toàn hơn rất nhiều so với DES.
- Nhược điểm: Vì 3DES sử dụng 3 lần mã hoá DES cho nên tốc độ mã hoá sẽ chậm hơn rất nhiều so với DES. Phần mềm ứng dụng tỏ ra rất chậm đối với hình ảnh số và một số ứng dụng dữ liệu tốc độ cao vì kích thước khối 64 bit vẫn còn là một nhược điểm đối với những hệ có tốc độ của thế kỷ 21.
2. Thuật toán hàm băm (Hash Algorithm)
Đối với các sơ đồ chữ ký thông thường, ta chỉ có thể ký các bức điện nhỏ. Chẳng hạn khi dùng chuẩn chữ ký số DSS, một tài liệu dài 160 bit sẽ được ký bằng chữ dài 320 bit. Trên thực tế ta cần ký các tài liệu dài hơn nhiều ( Chằng hạn, một tài liệu về pháp luật có thể dài nhiều Megabyte ). Giải pháp để giải quyết các vấn đề này là dùng hàm Hash mã khoá công khai nhanh. Hàm này dựa trên nội dùng một tài liệu có độ dài tuỳ ý để tạo ra một “bản tóm tắt” của tài liệu với kích thước quy định (160 bit nếu dùng DSS). Sau đó, “bản tóm tắt” của tài liệu này (dữ liệu ra của hàm Hash) sẽ được ký. Việc dùng hàm Hash với DSS được biểu diễn như sau.
Bức điện: m: Độ dài tuỳ ý Tính bản tóm lược thông báo: z=h(m) 160 bit. Khi B muốn ký bức điện x, trước tiên B tạo một bản tóm tắt z của tài liệu bằng cách sử dụng hàm băm h và sau đó dùng khoá bí mật của mình để tìm chữ ký s (s=Sigk(z); trong đó Sigk là hàm mã hoá RSA với khoá bí mật của B). Tiếp theo, B gửi cặp (m,s) đến cho A. Để xác thực trước hết A phải khôi phục bản tóm tắt của tài liệu bằng hàm h (z=h(m)) và sau đó thực hiện kiểm tra xem Verk(m,s) có bằng true hay không.
3. Thuật toán RSA
RSA là một hệ mật mã khoá công khai phổ biến và cũng đa năng nhất trong thực tế, được phát minh bởi Rivest, Shamir và Adleman được coi như là một hệ chuẩn đối với các hệ mật mã khoá công khai. RSA dựa trên tính khó của bài toán phân tích các số lớn thành ra thừa số nguyên tố: biết một số nguyên tố nhân chúng với nhau để thu được một hợp số là bài toán dễ. Còn khi biết hợp số, để phân tích nó ra thành thừa số nguyên tố là bài toán rất khó mà hầu như không thực hiện được nếu 2 nguyên tố đó là những số lớn.
Thuật toán mã hoá 3DES là một biến thể phụ của DES, như ta đã biết DES vẫn tồn tại nhiều nhược điểm như: Có thể bẽ gãy bằng những máy có mục đích đặc biệt để tìm ra khóa.
1.2. Mô tả 3DES
Thuật toán mã hoá 3DES gồm 3 chìa khoá 64 bit, tức là toàn bộ chiều dài khoá là 192 bit. Trong khi mã hoá riêng tư, chúng ta đơn giản là nhập toàn bộ 192 bit khoá đơn là vào mỗi 3 chìa khoá cá nhân.
Mô tả 3DES
Thủ tục mã hoá cũng tương tự DES nhưng nó được lặp lại 3 lần tức là tăng lên 3 lần DES. Dữ liệu được mã hoá với chìa khoá đầu tiên, và được giải mã với chìa khoá 2, sau đó mã hoá lần nữa với chìa khoá thứ 3 để thu được dữ liệu mã hoá cuối cùng.
+ Các mẫu hoạt động của 3DES:
- Triple ECB (Triple Electronic Code Book): Sách mã hoá điện tử.
- Triple CBC (Triple Cipher Chaining): Móc nối khối ký số.
1.3. Ưu và nhược điểm của 3DES
- Ưu điểm: Khác với DES, thuật toán mã hoá 3DES được mã hoá 3 lần DES với kích cỡ không gian khoá 168 bit cho nên an toàn hơn rất nhiều so với DES.
- Nhược điểm: Vì 3DES sử dụng 3 lần mã hoá DES cho nên tốc độ mã hoá sẽ chậm hơn rất nhiều so với DES. Phần mềm ứng dụng tỏ ra rất chậm đối với hình ảnh số và một số ứng dụng dữ liệu tốc độ cao vì kích thước khối 64 bit vẫn còn là một nhược điểm đối với những hệ có tốc độ của thế kỷ 21.
2. Thuật toán hàm băm (Hash Algorithm)
Đối với các sơ đồ chữ ký thông thường, ta chỉ có thể ký các bức điện nhỏ. Chẳng hạn khi dùng chuẩn chữ ký số DSS, một tài liệu dài 160 bit sẽ được ký bằng chữ dài 320 bit. Trên thực tế ta cần ký các tài liệu dài hơn nhiều ( Chằng hạn, một tài liệu về pháp luật có thể dài nhiều Megabyte ). Giải pháp để giải quyết các vấn đề này là dùng hàm Hash mã khoá công khai nhanh. Hàm này dựa trên nội dùng một tài liệu có độ dài tuỳ ý để tạo ra một “bản tóm tắt” của tài liệu với kích thước quy định (160 bit nếu dùng DSS). Sau đó, “bản tóm tắt” của tài liệu này (dữ liệu ra của hàm Hash) sẽ được ký. Việc dùng hàm Hash với DSS được biểu diễn như sau.
Bức điện: m: Độ dài tuỳ ý Tính bản tóm lược thông báo: z=h(m) 160 bit. Khi B muốn ký bức điện x, trước tiên B tạo một bản tóm tắt z của tài liệu bằng cách sử dụng hàm băm h và sau đó dùng khoá bí mật của mình để tìm chữ ký s (s=Sigk(z); trong đó Sigk là hàm mã hoá RSA với khoá bí mật của B). Tiếp theo, B gửi cặp (m,s) đến cho A. Để xác thực trước hết A phải khôi phục bản tóm tắt của tài liệu bằng hàm h (z=h(m)) và sau đó thực hiện kiểm tra xem Verk(m,s) có bằng true hay không.
3. Thuật toán RSA
RSA là một hệ mật mã khoá công khai phổ biến và cũng đa năng nhất trong thực tế, được phát minh bởi Rivest, Shamir và Adleman được coi như là một hệ chuẩn đối với các hệ mật mã khoá công khai. RSA dựa trên tính khó của bài toán phân tích các số lớn thành ra thừa số nguyên tố: biết một số nguyên tố nhân chúng với nhau để thu được một hợp số là bài toán dễ. Còn khi biết hợp số, để phân tích nó ra thành thừa số nguyên tố là bài toán rất khó mà hầu như không thực hiện được nếu 2 nguyên tố đó là những số lớn.