You are on page 1of 13

LOGO

Thuật toán bảo mật dữ liệu DES (Data Encryption Standard)
GVHD : Đoàn Duy Bình

Nội dung

1
2 3
www.themegallery.com

Giới thiệu về thuật toán

Phân tích thuật toán

Chức năng chương trình

4

Demo

Data Encryption Standard

Giới thiệu về thuật toán
 Chuẩn mã hóa dữ liệu DES được Văn phòng tiêu chuẩn của Mỹ công bố năm 1971 để sử dụng trong các cơ quan chính phủ liên bang.  Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng. Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ (Khóa DES đã từng bị phá trong vòng chưa đầy 24 giờ).  Thuật toán được tin tưởng là an toàn trong thực tiễn có dạng Triple DES (thực hiện DES ba lần).
www.themegallery.com

Data Encryption Standard

Giới thiệu về thuật toán
 Ứng dụng:  DES thường được dùng để mã hoá bảo mật các thông tin trong quá trình truyền tin cũng như lưu trữ thông tin  Kiểm tra tính xác thực của mật khẩu truy nhập vào một hệ thống (hệ thống quản lý bán hàng…)  Tạo và kiểm tính hợp lệ của một mã số bí mật (thẻ internet, thẻ điện thoại di động trả trước), hoặc của một thẻ thông minh (thẻ tín dụng, thẻ payphone…).
www.themegallery.com

Data Encryption Standard

Phân tích thuật toán
 DES là thuật toán mã hoá khối (block algrithm):  Với cỡ của một khối là 64 bit.  Một khối 64 bit bản rõ được đưa vào, sau khi mã hoá dữ liệu đưa ra là một khối bản mã 64 bit.  Khoá mã có độ dài 64 bit, trong đó:  Có 8 bit chẵn lẻ được sử dụng để kiểm soát lỗi.  Các bit chẵn lẻ nằm ở các vị trí 8, 16, 24, ... , 64. Tức là cứ 8 bit khoá thì trong đó có 1 bit kiểm soát lỗi.  Nền tảng để xây dựng khối của DES là:  Sự kết hợp đơn giản của các kỹ thuật thay thế và hoán vị bản rõ dựa trên khoá. Đó là các vòng lặp.  DES sử dụng 16 vòng lặp, nó áp dụng cùng một kiểu kết hợp của các kỹ thuật trên khối bản rõ 16 lần.

www.themegallery.com

Data Encryption Standard

Phân tích thuật toán
Hoán vị khởi đầu (IP)

Bảng khóa chuyển đổi

Hoán vị cuối cùng (Hoán vị ngược - IP1)

www.themegallery.com

Data Encryption Standard

Phân tích thuật toán
Bảng số bit dịch của một vòng Bảng hoán vị nén (hoán vị lựa chọn)

Bảng hoán vị mở rộng (E)

8 hộp S

www.themegallery.com

Bảng hộp hoán vị (P)

Một vòng lặp DES
Data Encryption Standard

Chức năng chương trình
 Chương trình mã hóa được viết bằng Java, có thao tác :
 Nhập vào bảng rõ (Plain text) với độ dài 64 bit.  Nhập khóa key với độ dài 64 bit.

 Kết quả nhận được sau khi mã hóa:
   
www.themegallery.com

Bảng rõ ở dạng nhị phân. Khóa ở dạng nhị phân. Kết quả của từng vòng lặp (trong 16 vòng lặp). Bảng nhị phân cuối cùng sau khi mã hóa và bản mã (Cipher Text).

 Ví dụ :

Data Encryption Standard

Demo

www.themegallery.com

Data Encryption Standard

LOGO

SVTH : Trần Đỗ Thu Thảo Nguyễn Thị Thanh Thủy

Hoán vị mở rộng
 Mục đích :
 Tạo ra kết quả là dữ liệu cùng cỡ với khóa để thực hiện thao tác XOR.

 Định nghĩa :
 Với mỗi bộ 4bit của khối dữ liệu vào, bit đầu tiên và bit thứ tư mỗi bit tương ứng với 2bit của khối dữ liệu ra, trong khi bit thứ hai và bit thứ ba mỗi bit tương ứng với 1bit của khối dữ liệu ra.

 Ví dụ :
www.themegallery.com

 Bit ở vị trí thứ 3 của khối dữ liệu vào được chuyển tới vị trí thứ 4. Và bit ở vị trí 21 chuyển tới vị trí 30 và 32 trong khối dữ liệu ra.

Data Encryption Standard

Khóa chuyển đổi
 Khóa 64 bit được giảm xuống thành khóa 56 bit bằng cách bỏ qua 8 bit chẵn lẻ theo phương pháp sử dụng bảng khóa chuyển đổi:

Bảng khóa chuyển đổi

www.themegallery.com

 Mục đích : Để đảm bảo rằng không có lỗi nào xảy ra khi đưa khóa vào.

Data Encryption Standard

Hộp thay thế S
 Ví dụ: Khối dữ liệu sau khi nén, khóa được XOR với khối mở rộng ta có 48 bit kết quả:

 Hộp S2:

 Giả sử ta chọn khối 2:
www.themegallery.com

 Tìm hàng : af  00(2) = 0(10)  Chọn hàng 1  Tìm cột : bcde  1011(2) = 11(10)  Chọn cột 12

 Kết quả là : 13(10)=1101(2)  Thay 010110 = 1101
Data Encryption Standard