1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tiểu luận kết thúc học phần bảo mật dữ liệu chủ Đề thuật toán mật mã 3des

31 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thuật Toán Mật Mã 3DES
Tác giả Nguyễn Trần Gia Thái, Nìn Chí Thắng, Lâm Thành Đăng, Lê An Tuấn Kiệt
Người hướng dẫn Lê Đức Anh
Trường học Trường Cao Đẳng Lý Tự Trọng Thành Phố Hồ Chí Minh
Chuyên ngành Bảo Mật Dữ Liệu
Thể loại tiểu luận
Năm xuất bản 2024
Thành phố Tp.Hồ Chí Minh
Định dạng
Số trang 31
Dung lượng 1,56 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ THUẬT TOÁN 3DES (5)
    • 1.2. Lịch sử hình thành (5)
  • CHƯƠNG 2: MÃ HÓA – GIẢI MÃ (9)
    • 1.3. Chế Độ Vận Hành (16)
    • 2.1 Chuẩn Bị Khóa (19)
    • 2.2. Công thức giải mã 3DES (0)
    • 2.3. Quy Trình Giải Mã (20)
    • 2.4. Cách Thức Thực Hiện (23)
  • CHƯƠNG 3: TRIỂN KHAI THUẬT TOÁN (25)
  • CHƯƠNG 4: TÀI LIỆU THAM KHẢO (31)

Nội dung

2.1 Ứng dụng  Bảo mật dữ liệu: 3DES được sử dụng để mã hóa dữ liệu nhạy cảm trong các hệ thống máy tính, như lưu trữ thông tin cá nhân, thông tin tài chính và dữ liệugiao dịch..  Ứng

TỔNG QUAN VỀ THUẬT TOÁN 3DES

Lịch sử hình thành

Vào năm 1975, Cục Tiêu chuẩn Quốc gia Hoa Kỳ (NBS), hiện nay là Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST), đã khởi xướng việc tìm kiếm một tiêu chuẩn mã hóa cho dữ liệu không quân sự nhưng yêu cầu bảo mật cao, đặc biệt là trong lĩnh vực tài chính và thương mại.

IBM đã phát triển thuật toán mã hóa "Lucifer", và dưới sự dẫn dắt của Horst Feistel, một nhóm kỹ sư của IBM đã cải tiến thuật toán này để đáp ứng yêu cầu của NBS Kết quả là sự ra đời của thuật toán DES (Tiêu chuẩn Mã hóa Dữ liệu).

Vào năm 1977, DES được phê duyệt là Tiêu chuẩn Xử lý Thông tin Liên bang (FIPS) và nhanh chóng trở thành công cụ mã hóa phổ biến trong ngành tài chính, ngân hàng và các lĩnh vực khác cần bảo mật dữ liệu.

1.4 Bất cập của DES và nhu cầu phát triển giải pháp mới (1980-1990)

DES sử dụng khóa 56 bit, được coi là an toàn lúc ban đầu Tuy nhiên, sự phát triển của sức mạnh tính toán và kỹ thuật tấn công mã hóa đã khiến các chuyên gia nhận thấy độ dài khóa này không còn đảm bảo an toàn.

Cuộc tấn công vét cạn (brute-force) đang trở thành một mối nguy hiểm ngày càng hiện hữu, khi một khóa 56 bit có thể dễ dàng bị bẻ khóa bằng cách thử tất cả các tổ hợp khả thi Đến cuối những năm 1980, sự phát triển công nghệ máy tính đã làm cho các cuộc tấn công brute-force trở thành một mối đe dọa nghiêm trọng.

1.5 Giới thiệu Triple DES (3DES) như một bản vá tạm thời (1995)

Để khắc phục hạn chế về độ dài khóa của DES, các nhà nghiên cứu đã đề xuất phương pháp mã hóa dữ liệu nhiều lần bằng DES, dẫn đến sự ra đời của thuật toán Triple DES (3DES).

 3DES được thiết kế để tương thích ngược với DES, nhưng mã hóa dữ liệu bằng cách thực hiện ba lần mã hóa với ba khóa riêng biệt.

3DES sử dụng quy trình mã hóa-giải mã-mã hóa (EDE) để nâng cao độ bảo mật, đồng thời vẫn giữ được tính khả dụng của DES Độ dài khóa được mở rộng lên 112 hoặc 168 bit, tùy thuộc vào việc sử dụng hai hoặc ba khóa.

1.6 Ứng dụng rộng rãi của 3DES (cuối những năm 1990 và đầu 2000)

 3DES nhanh chóng được sử dụng rộng rãi trong nhiều lĩnh vực, đặc biệt là trong ngành ngân hàng và tài chính, do tính bảo mật cao hơn DES.

Các hệ thống như ATM, mạng lưới thanh toán thẻ tín dụng và các ứng dụng tài chính khác đã bắt đầu sử dụng 3DES nhằm bảo vệ dữ liệu nhạy cảm.

 NIST công nhận 3DES là một tiêu chuẩn mã hóa tạm thời và an toàn cho đến khi một giải pháp tốt hơn được phát triển.

1.7 Sự xuất hiện của AES và quá trình thay thế 3DES (2001-2020)

Vào năm 1997, NIST đã khởi động quá trình tìm kiếm một thuật toán mã hóa mới nhằm thay thế DES và 3DES, do những thuật toán này không còn đáp ứng được các tiêu chuẩn bảo mật ngày càng cao.

Sau bốn năm đánh giá và thử nghiệm công khai, thuật toán AES (Advanced Encryption Standard), dựa trên Rijndael, đã được chọn làm tiêu chuẩn mã hóa mới.

Năm 2001, AES được công nhận là chuẩn mã hóa mới, mang lại hiệu suất cao hơn và bảo mật tốt hơn so với 3DES, dẫn đến việc 3DES dần bị thay thế trong các ứng dụng mới.

Vào năm 2017, NIST đã khuyến cáo rằng 3DES chỉ nên áp dụng cho các hệ thống cũ và không nên sử dụng trong các ứng dụng mới, đặc biệt là những hệ thống yêu cầu xử lý nhanh hoặc truyền tải lượng lớn dữ liệu.

 Thuật toán mã hóa dữ liệu ba lần được định nghĩa khác nhau trong một số tài liệu tiêu chuẩn:

 RFC 1851, Chuyển đổi DES ba ESP (được chấp thuận vào năm 1995)

 ANSI ANS X9.52-1998 Thuật toán mã hóa dữ liệu ba chế độ hoạt động (được chấp thuận vào năm 1998, bị thu hồi vào năm 2008)

 Tiêu chuẩn mã hóa dữ liệu FIPS PUB 46-3 (DES)(được chấp thuận vào năm

1999, bị thu hồi vào năm 2005)

Ấn phẩm đặc biệt NIST 800-67 Bản sửa đổi 2 đưa ra khuyến nghị về thuật toán mã hóa dữ liệu ba (TDEA) mã khối, được chấp thuận vào năm 2017 Tuy nhiên, tài liệu này đã bị thu hồi vào năm 2024, phản ánh sự thay đổi trong tiêu chuẩn bảo mật và yêu cầu cập nhật các phương pháp mã hóa an toàn hơn.

 ISO / IEC 18033-3:2010: Phần 3: Mã khối(được phê duyệt vào năm 2005).

1.9 Kết thúc vòng đời của 3DES (2023)

NIST đã quyết định loại bỏ hoàn toàn 3DES khỏi các tiêu chuẩn mã hóa được phê duyệt, đồng thời khuyến khích các tổ chức chuyển sang sử dụng AES hoặc các thuật toán mã hóa hiện đại hơn.

Năm 2023, tiêu chuẩn mã hóa và giao thức bảo mật đã ngừng hỗ trợ 3DES, khiến nó chủ yếu chỉ được sử dụng trong các hệ thống cũ.

2 PHẠM VI ỨNG DỤNG THUẬT TOÁN 3DES

MÃ HÓA – GIẢI MÃ

Chế Độ Vận Hành

3DES hỗ trợ nhiều chế độ vận hành như ECB (Electronic Codebook), CBC (Cipher Block Chaining), CFB (Cipher Feedback) và OFB (Output Feedback) Chế độ vận hành này ảnh hưởng đến cách thức xử lý và kết hợp các khối dữ liệu.

Tóm tắt Mục đích và Chức năng:

 ECB: Dễ dàng triển khai, nhưng bảo mật kém vì dữ liệu giống nhau sẽ có mã hóa giống nhau.

 CBC: Bảo mật cao hơn bằng cách mã hóa từng khối dựa vào khối trước đó, nhưng không thể mã hóa song song.

 CFB: Thích hợp cho mã hóa dòng, có thể mã hóa từng byte hoặc bit, nhưng không thể mã hóa song song.

 OFB: Cải thiện bảo mật và không bị ảnh hưởng bởi lỗi truyền tải, nhưng không thể mã hóa song song.

Mục đích chung của chế độ vận hành trong 3DES:

Mục đích chính của các chế độ vận hành trong 3DES là nâng cao bảo mật và hiệu suất mã hóa dữ liệu Chế độ vận hành kiểm soát cách thức mã hóa và giải mã các khối dữ liệu, tăng cường độ bảo mật, đặc biệt trong các tình huống mà DES đơn giản dễ bị tấn công, như chế độ ECB Ngoài ra, các chế độ này còn bảo vệ dữ liệu khỏi việc bị lặp lại hoặc suy đoán trong quá trình truyền tải.

 Ưu điểm: Độ bảo mật cao hơn DES, vì sử dụng ba lần mã hóa.

3DES được phát triển dựa trên DES, cho phép các hệ thống đã sử dụng DES dễ dàng chuyển sang 3DES mà không cần thay đổi toàn bộ hạ tầng Điều này khiến 3DES trở thành lựa chọn thuận tiện trong giai đoạn chuyển tiếp khi DES không còn đảm bảo an toàn.

3DES từng là tiêu chuẩn mã hóa phổ biến, được kiểm tra và thử nghiệm qua nhiều năm, do đó nó được coi là đáng tin cậy Tiêu chuẩn này đã được ứng dụng rộng rãi trong lĩnh vực ngân hàng, tài chính và các hệ thống bảo mật khác.

Khóa 3DES chỉ có độ dài 112 hoặc 168 bit, tương đương với ba khóa 56-bit Mặc dù 3DES thực hiện mã hóa ba lần và sử dụng ba khóa khác nhau, nhưng độ dài thực tế của khóa không đạt được mức độ an toàn như mong đợi Người dùng có hai lựa chọn về độ dài khóa khi sử dụng 3DES.

 Khi các khóa là khác nhau (K1, K2, K3 khác nhau): Độ dài khóa là 168 bit.

 Khi K1 = K3: Độ dài khóa thực tế chỉ còn 112 bit.

Khóa 112-bit có thể bị tấn công brute-force trong thời gian hợp lý, trong khi đó, với khóa 168-bit, 3DES vẫn không đủ sức mạnh để chống lại các phương thức tấn công hiện đại.

3DES có tốc độ mã hóa và giải mã chậm do yêu cầu ba lần mã hóa mỗi khối dữ liệu, làm cho nó kém hiệu quả hơn so với các thuật toán hiện đại như AES Điều này có thể gây ra vấn đề trong các ứng dụng cần tốc độ xử lý nhanh, chẳng hạn như truyền thông thời gian thực, giao dịch tài chính, và các hệ thống lớn yêu cầu hiệu suất cao.

So với AES, 3DES có độ trễ cao hơn, và khi áp dụng trong các hệ thống cần mã hóa khối lượng lớn dữ liệu, nó có thể làm giảm hiệu suất hệ thống một cách đáng kể.

Các cuộc tấn công hiện đại đang ngày càng dễ dàng hơn, khiến 3DES trở nên kém hiệu quả trong việc bảo vệ dữ liệu Mặc dù 3DES được phát triển để khắc phục những điểm yếu của DES, nhưng sự tiến bộ trong công nghệ tính toán và các phương pháp tấn công như phân tích thời gian và phân tích cấu trúc đã làm cho 3DES không đủ mạnh để chống lại các mối đe dọa hiện đại.

Tấn công meet-in-the-middle là một phương pháp tấn công được phát hiện có khả năng tấn công 3DES nhanh hơn so với phương pháp brute-force Phương pháp này có thể làm giảm độ bảo mật của 3DES, gây lo ngại về tính an toàn của hệ thống mã hóa này.

3DES có khả năng tương thích kém với các hệ thống bảo mật hiện đại, do được phát triển từ những năm 1970 và 1980 Các thuật toán như AES đã trở thành lựa chọn phổ biến hơn nhờ vào tốc độ xử lý nhanh và mức độ bảo mật cao Hiện nay, nhiều hệ thống như HTTPS, VPNs và các dịch vụ tài chính không còn hỗ trợ 3DES, hoặc nếu có, sẽ làm giảm mức độ bảo mật của chúng.

1 Giao dịch ngân hàng và tài chính

3DES từng là một thuật toán mã hóa phổ biến trong ngành ngân hàng, đặc biệt trong mạng lưới thanh toán thẻ tín dụng và thẻ ghi nợ Nhiều máy ATM và hệ thống xử lý giao dịch thẻ đã áp dụng 3DES để bảo vệ dữ liệu nhạy cảm, bao gồm mã PIN và thông tin thẻ, trong quá trình truyền tải.

Nhiều hệ thống cũ, chẳng hạn như hệ thống POS (Point of Sale), vẫn sử dụng phương pháp mã hóa 3DES để bảo vệ thông tin giao dịch, đặc biệt là ở những khu vực chưa được nâng cấp lên tiêu chuẩn AES hiện đại.

2 Bảo mật dữ liệu trong hệ thống viễn thông

Trong hệ thống viễn thông, 3DES đã được áp dụng để bảo vệ các kênh truyền dữ liệu giữa các thiết bị mạng, như VPN (Mạng Riêng Ảo) Công nghệ 3DES mã hóa dữ liệu, đảm bảo rằng thông tin di chuyển trên mạng không bị rò rỉ hoặc đọc trộm khi bị tấn công.

 Một số giao thức truyền dữ liệu cũ nhưIPsec (Internet Protocol Security) ban đầu hỗ trợ 3DES như một tùy chọn để mã hóa các gói tin.

3 Hệ thống lưu trữ dữ liệu

3DES đã được áp dụng trong các hệ thống lưu trữ để mã hóa dữ liệu tại chỗ, nhằm bảo vệ thông tin khỏi việc truy cập trái phép Chẳng hạn, nhiều hệ thống sao lưu và lưu trữ tài liệu cũ sử dụng 3DES để bảo vệ các tập tin, đặc biệt trong các lĩnh vực yêu cầu bảo mật cao như tài chính và y tế.

Chuẩn Bị Khóa

3DES sử dụng ba khóa mã hóa (K1, K2, K3) có thể khác nhau hoặc giống nhau tùy thuộc vào cấu hình Mỗi khóa trong 3DES có chiều dài danh nghĩa 64 bit, nhưng thực tế chỉ sử dụng 56 bit hiệu dụng, trong khi 8 bit còn lại được dùng làm bit kiểm tra chẵn lẻ (parity bit).

2.2.Quy trình mã hóa 3DES:

Giải mã 3DES thực hiện các bước ngược lại như sau:

Do đó,giải mã 3DES là quy trình ngược lại với mã hóa 3DES.

Công thức giải mã 3DES

Quy trình giải mã của 3DES có thể được diễn đạt theo công thức sau:

P=DK1(EK2(DK3(C)))P = D_{K1}(E_{K2}(D_{K3}(C)))P=DK1(EK2(DK3(C))) Trong đó:

 P là bản rõ (plaintext) sau khi giải mã.

 C là bản mã (ciphertext) cần giải mã.

 D_{K1} là giải mã với khóa K1.

 E_{K2} là mã hóa với khóa K2.

 D_{K3} là giải mã với khóa K3.

- Giải mã với Khóa K3 o Áp dụng giải mã DES với khóaK3 trên bản mãC. o Kết quả sau bước này là một khối dữ liệu trung gian, gọi là B1.

- Mã hóa với Khóa K2 o Áp dụng mã hóa DES với khóaK2 trênB1. o Kết quả sau bước này là một khối dữ liệu trung gian khác, gọi làB2. B2=EK2(B1)B2 = E_{K2}(B1)B2=EK2(B1)

- Giải mã với Khóa K1 o Áp dụng giải mã DES với khóaK1 trênB2. o Kết quả cuối cùng là bản rõP(plaintext),dữ liệu ban đầu trước khi mã hóa.

Trường hợp sử dụng 2 khóa (2K):

 Số khóa sử dụng: K1K_1K1 và K2K_2K2.

 Tổng độ dài khóa: o Mỗi khóa DES:64 bit (bao gồm56 bit hiệu dụng và 8 bit kiểm tra chẵn lẻ). o Tổng độ dài: 2×648 bit2 \times 64 = 128 \text{ bit}2×648 bit.

 Độ dài hiệu dụng (bỏ bit kiểm tra chẵn lẻ): 2×562 bit2 \times 56 = 112 \ text{ bit}2×562 bit.

Quá trình giải mã 3DES được thực hiện qua ba bước như sau:

1 Giải mã lần đầu (Decrypt): Dữ liệu đã mã hóa (ciphertext) sẽ được giải mã bằng khóa thứ ba (K3).

2 Mã hóa (Encrypt): Kết quả từ bước 1 sẽ được mã hóa lại bằng khóa thứ hai (K2).

3 Giải mã lần cuối (Decrypt): Kết quả từ bước 2 sẽ được giải mã một lần nữa bằng khóa thứ nhất (K1).

-Nếu trường hợp dùng 2 khóa thì ta có thể làm theo như sau :

Khi sử dụng 3DES với 2 khóa (K1 = K3), quy trình giải mã sẽ có sự thay đổi nhẹ, chỉ cần một khóa cho mã hóa và một khóa cho giải mã Biến thể này được gọi là 2-key 3DES, và công thức giải mã của nó là điểm quan trọng cần lưu ý.

Khi sử dụng2 khóa (K1 và K2), quy trình giải mã sẽ diễn ra như sau:

P=DK1(EK2(DK1(C)))P = D_{K1}(E_{K2}(D_{K1}(C)))P=DK1(EK2(DK1(C))) Trong đó:

 P là bản rõ (plaintext) sau khi giải mã.

 C là bản mã (ciphertext) cần giải mã.

 D_{K1} là giải mã với khóa K1.

 E_{K2} là mã hóa với khóa K2.

 D_{K1} là giải mã với khóa K1.

Các bước giải mã 3DES với 2 khóa

-Giải mã với Khóa K1 o Áp dụng giải mã DES với khóaK1 trên bản mãC. o Kết quả sau bước này là một khối dữ liệu trung gian, gọi là B1.

-Mã hóa với Khóa K2 o Áp dụng mã hóa DES với khóaK2 trênB1. o Kết quả sau bước này là một khối dữ liệu trung gian khác, gọi làB2. B2=EK2(B1)B2 = E_{K2}(B1)B2=EK2(B1)

-Giải mã với Khóa K1 o Áp dụng giải mã DES với khóaK1 trênB2. o Kết quả cuối cùng là bản rõP(plaintext), dữ liệu ban đầu trước khi mã hóa.

Trường hợp 1: Sử dụng 2 khóa (2K)

Số khóa sử dụng: K1K_1K1 và K2K_2K2.

-Lần 1: Mã hóa dữ liệu bằng khóa K1K_1K1(DES).

-Lần 2: Giải mã kết quả trên bằng khóa K2K_2K2(DES).

-Lần 3: Mã hóa kết quả từ bước 2 bằng khóa K1K_1K1(DES).

Kết quả mã hóa:C=EK1(DK2(EK1(P)))C = E_{K_1}(D_{K_2}(E_{K_1} (P)))C=EK1(DK2(EK1(P))),trong đó:

-Quy trình giải mã:PPP: bản rõ(plaintext).

-EK(X)E_{K}(X)EK(X): mã hóa XXX bằng khóa KKK.

-DK(X)D_{K}(X)DK(X): giải mã XXX bằng khóa KKK.

-Lần 1: Giải mã bản mã CCC bằng khóa K1K_1K1.

-Lần 2: Mã hóa kết quả trên bằng khóa K2K_2K2.

-Lần 3: Giải mã kết quả từ bước 2 bằng khóa K1K_1K1.

Kết quả giải mã: P=DK1(EK2(DK1(C)))P = D_{K_1}(E_{K_2}(D_{K_1} (C)))P=DK1(EK2(DK1(C))).

Trường hợp 2: Sử dụng 3 khóa (3K)

Số khóa sử dụng: K1K_1K1, K2K_2K2, và K3K_3K3.

-Lần 1: Mã hóa dữ liệu bằng khóa K1K_1K1.

-Lần 2: Giải mã kết quả trên bằng khóa K2K_2K2.

-Lần 3: Mã hóa kết quả từ bước 2 bằng khóa K3K_3K3.

Kết quả mã hóa: C=EK3(DK2(EK1(P)))C = E_{K_3}(D_{K_2}(E_{K_1} (P)))C=EK3(DK2(EK1(P))).

-Lần 1: Giải mã bản mã CCC bằng khóa K3K_3K3.

-Lần 2: Mã hóa kết quả trên bằng khóa K2K_2K2.

-Lần 3: Giải mã kết quả từ bước 2 bằng khóa K1K_1K1.

Kết quả giải mã: P=DK1(EK2(DK3(C)))P = D_{K_1}(E_{K_2}(D_{K_3} (C)))P=DK1(EK2(DK3(C))).

Số lượng khóa 2 khóa: K1K_1K1,K2K_2K2 3 khóa: K1K_1K1,

Quy trình mã hóa và giải mã Lặp lại K1K_1K1 hai lần sử dụng mỗi khóa một lần, tuy nhiên, độ bảo mật của phương pháp này thấp hơn do dễ bị tấn công gặp gỡ giữa, trong khi bảo mật cao hơn có thể được đạt được bằng cách cải thiện quy trình.

Tính tương thích Tương thích với DES truyền thống Độc lập hoàn toàn

 Khối Dữ Liệu: 3DES hoạt động trên các khối dữ liệu có kích thước 64 bit. Nếu dữ liệu lớn hơn, nó sẽ được chia thành nhiều khối.

Chế độ vận hành trong mã hóa cho phép sử dụng nhiều phương thức như ECB và CBC để xử lý khối dữ liệu một cách hiệu quả Các chế độ này không chỉ giúp mã hóa mà còn tăng cường bảo mật cho thông tin.

Để giải mã một khối dữ liệu mã hóa bằng 3DES, chúng ta thực hiện ngược lại với quy trình mã hóa Quá trình giải mã 3DES sử dụng ba khóa (K1, K2, K3) và được tiến hành theo các bước cụ thể.

1 Giải mã bằng khóa thứ ba (K3): Đầu tiên, dữ liệu đã mã hóa (Ciphertext) sẽ được giải mã bằng khóa K3.

2 Mã hóa bằng khóa thứ hai (K2): Sau khi giải mã bằng K3, kết quả tiếp tục được mã hóa bằng khóa K2.

3 Giải mã bằng khóa thứ nhất (K1): Cuối cùng, kết quả từ bước trên sẽ được giải mã một lần nữa bằng khóa K1, cho ra plaintext (dữ liệu gốc).

-Sơ đồ giải mã 3DES

 Ciphertext (C): Dữ liệu đã mã hóa cần giải mã.

 K1, K2, K3: Các khóa dùng trong quá trình mã hóa và giải mã.

 Plaintext (P): Dữ liệu gốc sau khi giải mã.

Sơ đồ các bước giải mã và mã hoá 3DES có thể thể hiện như sau:

Quy Trình Giải Mã

Trường hợp sử dụng 2 khóa (2K):

 Số khóa sử dụng: K1K_1K1 và K2K_2K2.

 Tổng độ dài khóa: o Mỗi khóa DES:64 bit (bao gồm56 bit hiệu dụng và 8 bit kiểm tra chẵn lẻ). o Tổng độ dài: 2×648 bit2 \times 64 = 128 \text{ bit}2×648 bit.

 Độ dài hiệu dụng (bỏ bit kiểm tra chẵn lẻ): 2×562 bit2 \times 56 = 112 \ text{ bit}2×562 bit.

Quá trình giải mã 3DES được thực hiện qua ba bước như sau:

1 Giải mã lần đầu (Decrypt): Dữ liệu đã mã hóa (ciphertext) sẽ được giải mã bằng khóa thứ ba (K3).

2 Mã hóa (Encrypt): Kết quả từ bước 1 sẽ được mã hóa lại bằng khóa thứ hai (K2).

3 Giải mã lần cuối (Decrypt): Kết quả từ bước 2 sẽ được giải mã một lần nữa bằng khóa thứ nhất (K1).

-Nếu trường hợp dùng 2 khóa thì ta có thể làm theo như sau :

Khi sử dụng 2 khóa trong 3DES (K1 = K3), quy trình giải mã sẽ có sự thay đổi nhẹ, chỉ cần một khóa cho bước mã hóa và một khóa cho bước giải mã Biến thể này được gọi là 2-key 3DES.

Khi sử dụng2 khóa (K1 và K2), quy trình giải mã sẽ diễn ra như sau:

P=DK1(EK2(DK1(C)))P = D_{K1}(E_{K2}(D_{K1}(C)))P=DK1(EK2(DK1(C))) Trong đó:

 P là bản rõ (plaintext) sau khi giải mã.

 C là bản mã (ciphertext) cần giải mã.

 D_{K1} là giải mã với khóa K1.

 E_{K2} là mã hóa với khóa K2.

 D_{K1} là giải mã với khóa K1.

Các bước giải mã 3DES với 2 khóa

-Giải mã với Khóa K1 o Áp dụng giải mã DES với khóaK1 trên bản mãC. o Kết quả sau bước này là một khối dữ liệu trung gian, gọi là B1.

-Mã hóa với Khóa K2 o Áp dụng mã hóa DES với khóaK2 trênB1. o Kết quả sau bước này là một khối dữ liệu trung gian khác, gọi làB2. B2=EK2(B1)B2 = E_{K2}(B1)B2=EK2(B1)

-Giải mã với Khóa K1 o Áp dụng giải mã DES với khóaK1 trênB2. o Kết quả cuối cùng là bản rõP(plaintext), dữ liệu ban đầu trước khi mã hóa.

Trường hợp 1: Sử dụng 2 khóa (2K)

Số khóa sử dụng: K1K_1K1 và K2K_2K2.

-Lần 1: Mã hóa dữ liệu bằng khóa K1K_1K1(DES).

-Lần 2: Giải mã kết quả trên bằng khóa K2K_2K2(DES).

-Lần 3: Mã hóa kết quả từ bước 2 bằng khóa K1K_1K1(DES).

Kết quả mã hóa:C=EK1(DK2(EK1(P)))C = E_{K_1}(D_{K_2}(E_{K_1} (P)))C=EK1(DK2(EK1(P))),trong đó:

-Quy trình giải mã:PPP: bản rõ(plaintext).

-EK(X)E_{K}(X)EK(X): mã hóa XXX bằng khóa KKK.

-DK(X)D_{K}(X)DK(X): giải mã XXX bằng khóa KKK.

-Lần 1: Giải mã bản mã CCC bằng khóa K1K_1K1.

-Lần 2: Mã hóa kết quả trên bằng khóa K2K_2K2.

-Lần 3: Giải mã kết quả từ bước 2 bằng khóa K1K_1K1.

Kết quả giải mã: P=DK1(EK2(DK1(C)))P = D_{K_1}(E_{K_2}(D_{K_1} (C)))P=DK1(EK2(DK1(C))).

Trường hợp 2: Sử dụng 3 khóa (3K)

Số khóa sử dụng: K1K_1K1, K2K_2K2, và K3K_3K3.

-Lần 1: Mã hóa dữ liệu bằng khóa K1K_1K1.

-Lần 2: Giải mã kết quả trên bằng khóa K2K_2K2.

-Lần 3: Mã hóa kết quả từ bước 2 bằng khóa K3K_3K3.

Kết quả mã hóa: C=EK3(DK2(EK1(P)))C = E_{K_3}(D_{K_2}(E_{K_1} (P)))C=EK3(DK2(EK1(P))).

-Lần 1: Giải mã bản mã CCC bằng khóa K3K_3K3.

-Lần 2: Mã hóa kết quả trên bằng khóa K2K_2K2.

-Lần 3: Giải mã kết quả từ bước 2 bằng khóa K1K_1K1.

Kết quả giải mã: P=DK1(EK2(DK3(C)))P = D_{K_1}(E_{K_2}(D_{K_3} (C)))P=DK1(EK2(DK3(C))).

Số lượng khóa 2 khóa: K1K_1K1,K2K_2K2 3 khóa: K1K_1K1,

Quy trình mã hóa và giải mã Lặp lại K1K_1K1 được thực hiện hai lần, với mỗi khóa được sử dụng đúng một lần Tuy nhiên, phương pháp này có độ bảo mật thấp hơn và dễ bị tấn công gặp gỡ giữa, trong khi bảo mật cao hơn có thể được đảm bảo bằng các phương pháp khác.

Tính tương thích Tương thích với DES truyền thống Độc lập hoàn toàn

Cách Thức Thực Hiện

 Khối Dữ Liệu: 3DES hoạt động trên các khối dữ liệu có kích thước 64 bit. Nếu dữ liệu lớn hơn, nó sẽ được chia thành nhiều khối.

Chế độ vận hành trong mã hóa cho phép sử dụng nhiều phương thức như ECB và CBC để xử lý khối dữ liệu hiệu quả Các chế độ này tương tự như quá trình mã hóa, giúp nâng cao tính bảo mật và khả năng xử lý thông tin.

Để giải mã dữ liệu mã hóa bằng 3DES, chúng ta thực hiện các bước ngược lại với quá trình mã hóa Giải mã 3DES sử dụng ba khóa (K1, K2, K3) và thực hiện theo quy trình cụ thể.

1 Giải mã bằng khóa thứ ba (K3): Đầu tiên, dữ liệu đã mã hóa (Ciphertext) sẽ được giải mã bằng khóa K3.

2 Mã hóa bằng khóa thứ hai (K2): Sau khi giải mã bằng K3, kết quả tiếp tục được mã hóa bằng khóa K2.

3 Giải mã bằng khóa thứ nhất (K1): Cuối cùng, kết quả từ bước trên sẽ được giải mã một lần nữa bằng khóa K1, cho ra plaintext (dữ liệu gốc).

-Sơ đồ giải mã 3DES

 Ciphertext (C): Dữ liệu đã mã hóa cần giải mã.

 K1, K2, K3: Các khóa dùng trong quá trình mã hóa và giải mã.

 Plaintext (P): Dữ liệu gốc sau khi giải mã.

Sơ đồ các bước giải mã và mã hoá 3DES có thể thể hiện như sau:

-Giải mã ciphertext với khóa K3.

-Mã hóa kết quả từ bước 1 với khóa K2.

-Giải mã kết quả từ bước 2 với khóa K1 để thu được plaintext gốc.

Kết quả cuối cùng sẽ là plaintext (dữ liệu gốc) mà bạn muốn thu hồi.

TRIỂN KHAI THUẬT TOÁN

Mã Khoá: 3DES Đăng Nhập Thành Công

Ngày đăng: 08/12/2024, 12:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w