Chuẩn mã hóa dữ liệu DES

Một phần của tài liệu (LUẬN văn THẠC sĩ) mã hóa dữ liệu trên điện thoại thông minh sử dụng sinh trắc học (Trang 32 - 38)

Ủy ban tiêu chuẩn quốc gia Mỹ đã công bố một khuyến nghị cho các hệ trong

Hồ sơ quản lý liên bang vào năm 1973, dẫn đến sự phát triển của chuẩn mã dữ

liệu (DES) và nó đã trở thành một hệ mật mã đƣợc sử dụng rộng rãi nhất trên thế

giới. Lần đầu tiên DES đƣợc công bố trong Hồ sơ liên bang vào năm 1975. Sau

nhiều cuộc tranh luận công khai, DES đã đƣợc chấp nhận làm chuẩn cho các ứng

dụng không đƣợc coi là mật vào năm 1976.

DES là thuật toán mã hóa khối (block algorithm), nó mã hóa một khối dữ liệu 64 bit bằng một khóa 56 bit. Một khối bản rõ 64 bit đƣa vào thực hiện, sau khi mã hóa dữ liệu ra là một khối bản mã 64 bit. Cả mã hóa và giải mã đều sử dụng cùng một thuật toán và khóa.

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 khóa, đó là các vòng lặp. DES sử dụng 16 vòng lặp áp dụng cùng một kiểu kết hợp các kỹ thuật trên khối bản rõ. Thuật toán chỉ

dễ ràng thực hiện vào những năm 1970 trong điều kiện về công nghệ lúc bấy giờ.

Ban đầu, sự thực hiện các phần mềm kiểu này rất thô sơ, nhƣng hiện tại việc đó

đã tốt hơn, và với đặc tính lặp đi lặp lại của thuật toán đã tạo nên ý tƣởng sử

dụng chip với mục đíchđặc biệt này.

Mô tả

Mô tả đầy đủ của DES đƣợc nêu trong công bố số 64 về các chuẩn xử lý thông

tin liên bang (Mỹ) vào năm 1977. DES mã hóa một sâu bit x của rõ độ dài 64 bằng một khóa 56 bit. Bản mã nhận đƣợc cũng là một xâu bit có độ dài 64.

Trƣớc hết ta mô tảở mức cao của hệ thống.

Thuật toán tiến hành theo 3 giai đoạn:

 1. Với bản rõ cho trƣớc x, một sâu bit x0 sẽđƣợc xây dựng bằng cách hoán vị các bit của x theo phép hoán vị cố định ban đầu IP (Initial Permutation). Ta viết: x0 = IP (X)= L0R0, trong đó L0 gồm 32 bit đầu và R0 là 32 bit cuối.

Hình 2-6 Biểu diễn dãy 64 bit x thành 2 thành phần L và R

 2. sau đó tính toán 16 lần lặp theo một hàm xác định. Ta sẽ tính L1R1, 1 ≤ i ≤ 16 theo qui tắc sau:

L1=Ri-1

Trong đó  kí hiệu phép hoặc loại trừ của hai xâu bit (cộng theo modun 2). F là một hàm ta xẽ mô tả ở sau, còn K1,K2,...,K16 là các sâu bit độ dài

48 đƣợc tính nhƣ hàm của khóa Ki là một phép chọn hoán vị bít trong K).

K1,K2,...,K16 sẽ tạo thành bảng khóa. Một vòng của phép mã hóa đƣợc mô tả hình trên.

 3. áp dụng phép hoán vịIP-1(R16L16). Chú ý thứ tựđã đƣợc đảo của R16 và L16 .

Hình 2-7 Một vòng của DES

Hàm f có hai biến vào : biến thứ nhất A là xâu bit độ dài 32, biến thứ hai j là một

xâu bit độdài 48. đầu ra của f là một xâu bit độ dài 32.

Biến thứ nhất A đƣợc mở rộng thành một xâu bit độ dài 48 theo một hàm mở

rộng cốđịnh E. E9A) gồm 32 bit của A (đƣợc hoán vị theo cách cố định ) với 16 bit xuất hiên hai lần.

Tính E(A)  j và viết kết quả thành một chuỗi 8 xâu 6 bit = B1B2B3B4B5B6B7B8 Bƣớc tiếp theo dùng 8 bảng S1,S2,…,S8( đƣợc gọi tắt là cái hộp S). Với mỗi Si là một bảng 4×6 cố định có các hàng là các số nguyên từ 0 đến 15. Với xâu bit có

độ dài 6 (Kí hiệu B1 = b1b2b3b4b5b6), ta tính Si(Bi) nhƣ sau: Hai bit b1b2 xác định biểu diễn nhị phân của hàng r của Si ( 0 ≤ r ≤ 3) và 4 bit (b2b3b4b5) xác định biểu diễn nhị phân của cột c của Si (0 ≤ c ≤ 15) . Khi đó Si (Bi) sẽ xác định phần tử

Si(r,c); phần tử này viết dƣới dạng nhị phân là một xâu bit có độ dài 4. (Bởi vậy , mỗi Si có thể đƣợc coi là một hàm mã mà đầu vào là một xâu bit có độ dài 2 và

một xâu bit có độ dài 4, còn đầu ra là một xâu bit có độ dài 4). Bằng cách tƣơng

tự tính các Ci = Si (Bi) , 1 ≤ i ≤ 8 .

Xâu bit C = C1C2…C8có độdài 32 đƣợc hoán vị theo phép hoán vị cốđịnh P. Xâu kết quảlà P(C) đƣợc xác định là f(A,J).

Hàm f đƣợc mô tả trong hình 1.3. Chủ yếu nó gồm một phép thế (sử dụng hộp S), tiếp sau đó là phép hoán vị P .

Hình 2-8 Hàm f của DES

Cuối cùng ta cần mô tả việc tính toán bảng khóa từ khóa K. Trên thực tế , K là

một xâu bit độ dài 64 , trong đó 56 bit là khóa và 5 bit để kiểm tra tính chẵn lẻ

nhằm phát hiện sai. Các bit ở các vị trí 8, 16, ….,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ột sai sót đơn lẻ có thể phát hiện đƣợc trong mỗi nhóm 8 bit. Các bit kiểm tra bị bỏ qua trong quá trình tính toán bảng khóa.

1. Với một khóa K 64 bit cho trƣớc , ta loại bỏ các bit kiểm tra tính chẵn lẻ và hoán vị cá bit còn lại của K theo phép hoán vị cốđịnh PC-1 (K) = C0D0. 2. Với i thay đổi từ1 đến 16:

Ci = LSi(Ci-1) Di = LSi (Di-1)

Và Ki = PC-2 (CiDi). LSi thể hiện sự dịch sang trái 1 hoặc 2 bit , phụ thuộc vào giá trị của i: dịch 1vị trí nếu i = 1,2,9 hoặc 16 và dịch 2 vị trí trong các trƣờng hợp còn lại . PC-2 là một hoán vị cốđịnh khác.

Việc tính bảng khóa đƣợc mô tả trên hình 1.4

Hình 2-9 Tính bảng khóa DES

Giải mã DES

Sau khi thay đổi , hoán vị ,, và dịch vòng , có thểnghĩ rằng thuật toán giải mã hoàn toàn khác và phức tạp, khó hiểu nhƣ thuật toán mã hóa. Trái lại , DES sử

Với DES, có thể sử dụng cùng chức năng để giải mã hóa một khối. Chỉ có sự khác nhau đó là các khóa phải đƣợc sử dụng theo thứ tựngƣợc lại . Nghĩa là, nếu các khóa mã hóa cho mỗi vòng là k1,k2,k3,….,k15,k16 thì các khóa giải là k16,k15,….,k3,k2,k1. Thuật toán ding để sinh khóa đƣợc sử dụng cho mỗi vòng theo kiểu vòng quanh . Khóa đƣợc dịch phải , và số những vị trí đƣợc đƣợc tính từ cuối của bảng lên, thay vì từ trên xuống.

Ứng dụng của DES

Mặc dù việc mô tảDES khá dài song ngƣời ta có thể thực hiện DES rất hữu hiệu bằng cả phần cứng lẫn phần mềm. Các phép toán duy nhất cần đƣợc thực hiện là phép hoặc loại trừ xâu bit. Hàm mở rộng E, các hộp S, các hoán vị IP và P và việc tính toán các giá trị K1…., K16 đều có thể thực hiện đƣợc cùng lúc bằng tra bảng (trong phần mềm) hoặc bằng cách nối cứng chúng thành một mạch.

Các ứng dụng phần cứng hiện thời có thểđạt đƣợc tốc độ mã hóa cực nhanh.

Năm 1991 đã có 45 ứng dụng phần cứng và chƣơng trình cơ sở của DES đƣợc

ủy ban tiêu chuẩn quốc gia Mỹ (NBS) chấp thuận. DES có một ứng dụng quan trọng trong giao dịch ngân hàng Mỹ (ABA) DES đó làđƣợc dùng để mã hóa các sốđịnh danh cá nhân (PIN) và việc chuyển khoản bằng máy rút tiền tựđộng

(ATM). DES cũng đƣợc hệ thống chi trả giữa các nhà băng của ngân hàng hối

đoái (CHIPS) dùng để xác thực các giao dịch. DES còn đƣợc sử dụng rộng rãi

trong các tổ chức chính phủ. Chẳng hạn nhƣ bộnăng lƣợng, Bộtƣ pháp và Hệ

thống dự trữ liên bang[4].

Một phần của tài liệu (LUẬN văn THẠC sĩ) mã hóa dữ liệu trên điện thoại thông minh sử dụng sinh trắc học (Trang 32 - 38)

Tải bản đầy đủ (PDF)

(80 trang)