Hệ mã chuẩn cài đặt des và thám mã 3 vòng đai học văn lang

120 374 0
Hệ mã chuẩn cài đặt des và thám mã 3 vòng đai học văn lang

Đ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

ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES M C L CỤ Ụ I .1 Giới thiệu 3 I.2 Các Hệ Mã Thông Dụng: 3 e. Phương pháp Affine 4 f. Phương pháp Vigenere 5 I.2 LẬP MÃ DES 13 I. 3 THÁM MÃ DES 16 I.3.1. Thám mã hệ DES - 3 vòng 18 II.3.2. Thám mã hệ DES 6-vòng 22 II.3. 3 Các thám mã vi sai khác 25 III. HỆ MÃ DES 3 VÒNG 26 III.1 Giao Diện ( Package GiaoDien) 26 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES L I NÓI UỜ ĐẦ Hi n nay, n c ta đang trong giai đo n ti n hành công nghi p hóa, hi n đ i hóa đ t n c.ệ ướ ạ ế ệ ệ ạ ấ ướ Tin h c đ c xem là m t trong nh ng ngành m i nh n. Tin h c đã và đang đóng góp r t nhi u choọ ượ ộ ữ ũ ọ ọ ấ ề xã h i trong m i khía c nh c a cu c s ng.ộ ọ ạ ủ ộ ố Mã hóa thông tin là m t ngành quan tr ng và có nhi u ng d ng trong đ i s ng xã h i. Ngàyộ ọ ề ứ ụ ờ ố ộ nay, các ng d ng mã hóa và b o m t thông tin đang đ c s d ng ngày càng ph bi n h n trongứ ụ ả ậ ượ ử ụ ổ ế ơ các l nh v c khác nhau trên Th gi i, t các l nh v c an ninh, quân s , qu c phòng…, cho đ n cácĩ ự ế ớ ừ ĩ ự ự ố ế l nh v c dân s nh th ng m i đi n t , ngân hàng… ĩ ự ự ư ươ ạ ệ ử ng d ng mã hóa và b o m t thông tin trong các h th ng th ng m i đi n t , giao d chỨ ụ ả ậ ệ ố ươ ạ ệ ử ị ch ng khoán,… đã tr nên ph bi n trên th gi i và s ngày càng tr nên quen thu c v i ng i dânứ ở ổ ế ế ớ ẽ ở ộ ớ ườ Vi t Nam. Tháng 7/2000, th tr ng ch ng khoán l n đ u tiên đ c hình thành t i Vi t Nam; cácệ ị ườ ứ ầ ầ ượ ạ ệ th tín d ng b t đ u đ c s d ng, các ng d ng h th ng th ng m i đi n t đang b cẻ ụ ắ ầ ượ ử ụ ứ ụ ệ ố ươ ạ ệ ử ở ướ đ u đ c quan tâm và xây d ng. Do đó, nhu c u v các ng d ng mã hóa và b o m t thông tin trầ ượ ự ầ ề ứ ụ ả ậ ở nên r t c n thi t.ấ ầ ế ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES I. M T S PH NG PHÁP MÃ HÓAỘ Ố ƯƠ I .1 Giới thiệu nh ngh a 1.1Đị ĩ : M t h mã m t (cryptosystem) là m t b -n m (ộ ệ ậ ộ ộ ă P, C, K, E, D) th a mãnỏ các đi u ki n sau:ề ệ 1. P là không gian b n rõ. t p h p h u h n t t c các m u tin ngu n c n mã hóa có th cóả ậ ợ ữ ạ ấ ả ẩ ồ ầ ể 2.C là không gian b n mã. t p h p h u h n t t c các m u tin có th có sau khi mã hóaả ậ ợ ữ ạ ấ ả ẩ ể 3 K là không gian khoá. t p h p h u h n các khóa có th đ c s d ngậ ợ ữ ạ ể ượ ử ụ 4.V i m i khóa ớ ỗ k∈K, t n t i lu t mã hóa ồ ạ ậ e k ∈E và lu t gi i mã ậ ả d k ∈D t ng ng. Lu t mãươ ứ ậ hóa e k : P → C và lu t gi i mã ậ ả e k : C → P là hai ánh x th a mãn ạ ỏ ( ) ( ) , k k d e x x x P= ∀ ∈ Tính ch t 4. là tính ch t chính và quan tr ng c a m t h th ng mã hóa. Tính ch t này b o ấ ấ ọ ủ ộ ệ ố ấ ả đ m vi c mã hóa m t m u tin ả ệ ộ ẩ x∈P b ng lu t mã hóa ằ ậ e k ∈E có th đ c gi i mã chính xác ể ượ ả b ng lu t ằ ậ d k ∈D. nh ngh a 1.2Đị ĩ : Z m đ c đ nh ngh a là t p h p {0, 1, , ượ ị ĩ ậ ợ m-1}, đ c trang b phép c ng (kýượ ị ộ hi u +) và phép nhân (ký hi u là ệ ệ ×). Phép c ng và phép nhân trong ộ Z m đ c th c hi n t ng tượ ự ệ ươ ự nh trong ư Z, ngo i tr k t qu tính theo modulo ạ ừ ế ả m Ví d : Gi s ta c n tính giá tr 11 ụ ả ử ầ ị × 13 trong Z 16 . Trong Z, ta có k t qu c a phép nhânế ả ủ 11×13=143. Do 143≡15 (mod 16) nên 11×13=15 trong Z 16 . M t s tính ch t c a ộ ố ấ ủ Z m 1. Phép c ng đóng trong ộ Z m , i.e., ∀ a, b ∈ Z m , a+b ∈ Z m 2. Tính giao hoán c a phép c ng trong ủ ộ Z m , i.e., ∀ a, b ∈ Z m , a+b =b+a 3. Tính k t h p c a phép c ng trong ế ợ ủ ộ Z m , i.e., ∀ a, b, c ∈ Z m , (a+b)+c =a+(b+c) 4. Z m có ph n t trung hòa là 0, i.e., ầ ử ∀ a ∈ Z m , a+0=0+a=a 5. M i ph n t ọ ầ ử a trong Z m đ u có ph n t đ i là ề ầ ử ố m – a 6. Phép nhân đóng trong Z m , i.e., ∀ a, b ∈ Z m , a×b∈ Z m 7. Tính giao hoán c a phép c ng trong ủ ộ Z m , i.e., ∀ a, b ∈ Z m , a×b=b×a 8. Tính k t h p c a phép c ng trong ế ợ ủ ộ Z m , i.e., ∀ a, b, c ∈ Z m , (a×b)×c =a×(b×c) 9. Z m có ph n t đ n v là 1, i.e., ầ ử ơ ị ∀ a ∈ Z m , a×1=1×a=a 10. Tính phân ph i c a phép nhân đ i v i phép c ng, i.e., ố ủ ố ớ ộ ∀ a, b, c ∈ Z m , (a+b)×c =(a×c)+ (b×c) 11. Z m có các tính ch t 1, 3 – 5 nên t o thành 1 nhóm. Do ấ ạ Z m có tính ch t 2 nên t o thành nhómấ ạ Abel. Z m có các tính ch t (1) – (10) nên t o thành 1 vànhấ ạ I.2 Các Hệ Mã Thông Dụng: a. H Mã y (Shift Cipher )ệ Đầ Shift Cipher là m t trong nh ng ph ng pháp lâu đ i nh t đ c s d ng đ mãộ ữ ươ ờ ấ ượ ử ụ ể hóa. Thông đi p đ c mã hóa b ng cách d ch chuy n (xoay vòng) t ng ký t đi ệ ượ ằ ị ể ừ ự k v trí trongị b ng ch cái. ả ữ Ph ng pháp Shift Cipherươ Cho P = C = K = Z 26 . Với 0 ≤ K ≤ 25, ta định nghĩa e K = x + K mod 26 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES và d K = y - K mod 26 (x,y ∈ Z 26 ) trong đó 26 là số ký tự trong bảng chữ cái La tinh, một cách tương tự cũng có thể định nghĩa cho một bảng chữ cái bất kỳ. Đồng thời ta dễ dàng thấy rằng mã đẩy là một hệ mật mã vì d K (e K (x)) = x với mọi x∈Z 26 . b. Hệ KEYWORD-CEASAR Trong hệ mã này khóa là một từ nào đó được chọn trước, ví dụ PLAIN. Từ này xác định dãy số nguyên trong Z 26 (15,11,0,8,13) tương ứng với vị trí các chữ cái của các chữ được chọn trong bảng chữ cái. Bây giờ bản rõ sẽ được mã hóa bằng cách dùng các hàm lập mã theo thứ tự: e 15 , e 11 , e 0 , e 8 , e 13 , e 15 , e 11 , e 0 , e 8 , e, với e K là hàm lập mã trong hệ mã chuyển. c. Hệ Mã Vuông (SQUARE) Trong h này các t khóa đ c dùng theo m t cách khác h n. Ta dùng b ng ch cái ti ngệ ừ ượ ộ ẳ ả ữ ế Anh (có th b đi ch Q, n u mu n t ng s các ch s là m t s chính ph ng) và đòi h iể ỏ ữ ế ố ổ ố ữ ố ộ ố ươ ỏ m i ch trong t khóa ph i khác nhau. Bây gi m i ch c a b ng ch cái đ c vi t d iọ ữ ừ ả ờ ọ ữ ủ ả ữ ượ ế ướ d ng m t hình vuông, b t đ u b ng t khóa và ti p theo là nh ng ch cái còn l i theo th tạ ộ ắ ầ ằ ừ ế ữ ữ ạ ứ ự c a b ng ch .ủ ả ữ d. Mã thế vị Một hệ mã khác khá nổi tiếng . Hệ mã này đã được sử dụng hàng trăm năm nay. Phương pháp : Cho P = C = Z 26 . K gồm tất cả các hoán vị có thể có của 26 ký hiệu 0, ,25. Với mỗi hoán vị π∈K, ta định nghĩa: e π (x) = π(x) và định nghĩa d π (y) = π -1 (y) với π -1 là hoán vị ngược của hoán vị π. Trong mã thế vị ta có thể lấy P và C là các bảng chữ cái La tinh. Ta sử dụng Z 26 trong mã đẩy vì lập mã và giải mã đều là các phép toán đại số. e. Phương pháp Affine Cho P = C = Z 26 và cho K = {(a,b) ∈ Z 26 × Z 26 : gcd(a,26) = 1} Với K = (a,b) ∈ K, ta xác định e K (x) = ax+b mod 26 và d K = a -1 (y-b) mod 26 (x,y ∈ Z 26 ) Ph ng pháp Affine l i là m t tr ng h p đ c bi t khác c a Substitution Cipher. ươ ạ ộ ườ ợ ặ ệ ủ có th gi i mã chính xác thông tin đã đ c mã hóa b ng hàm Để ể ả ượ ằ e k ∈ E thì e k ph i là m t songả ộ ánh. Nh v y, v i m i giá tr ư ậ ớ ỗ ị y∈Z 26 , ph ng trình ươ ax+b≡y (mod 26) ph i có nghi m duyả ệ nh t ấ x∈Z 26 . ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES Ph ng trình ươ ax+b≡y (mod 26) t ng đ ng v i ươ ươ ớ ax≡(y–b ) (mod 26). V y, ta ch c nậ ỉ ầ kh o sát ph ng trình ả ươ ax≡(y–b ) (mod 26) nh lý1.Đị 1: Ph ng trình ươ ax+b≡y (mod 26) có nghi m duy nh t ệ ấ x∈Z 26 v i m i giá tr ớ ỗ ị b∈Z 26 khi và ch khi ỉ a và 26 nguyên t cùng nhau.ố V y, đi u ki n ậ ề ệ a và 26 nguyên t cùng nhau b o đ m thông tin đ c mã hóa b ng hàm ố ả ả ượ ằ e k có thể đ c gi i mã và gi i mã m t cách chính xác.ượ ả ả ộ G i ọ φ (26) là s l ng ph n t thu c ố ượ ầ ử ộ Z 26 và nguyên t cùng nhau v i ố ớ 26. nh lý 1.Đị 2: N u ế ∏ = = m i e i i pn 1 v i ớ p i là các s nguyên t khác nhau và ố ố e i ∈ Z + , 1 ≤ i ≤ m thì ( ) ( ) ∏ = − −= m i e i e i ii ppn 1 1 φ Trong ph ng pháp mã hóa Affine , ta có 26 kh n ng ch n giá tr ươ ả ă ọ ị b, φ (26) kh n ng ch n giáả ă ọ tr ị a. V y, không gian khóa ậ K có t t c ấ ả n φ (26) ph n t .ầ ử V n đ đ t ra cho ph ng pháp mã hóa Affine Cipher là đ có th gi i mã đ c thông tin đã đ cấ ề ặ ươ ể ể ả ượ ượ mã hóa c n ph i tính giá tr ph n t ngh ch đ o ầ ả ị ầ ử ị ả a –1 ∈ Z 26 . f. Phương pháp Vigenere ph ng pháp mã hóa Vigenere s d ng m t t khóa (keyword) có đ dài ươ ử ụ ộ ừ ộ m. Có th xem nhể ư ph ng pháp mã hóa Vigenere Cipher bao g m ươ ồ m phép mã hóa Shift Cipher đ c áp d ng luânượ ụ phiên nhau theo chu k .ỳ Không gian khóa K c a ph ng pháp Vigenere có s ph n t là 26ủ ươ ố ầ ử , l n h n h n ph ngớ ơ ẳ ươ pháp s l ng ph n t c a không gian khóa ố ượ ầ ử ủ K trong ph ng pháp Shift Cipher. Do đó, vi cươ ệ tìm ra mã khóa k đ gi i mã thông đi p đã đ c mã hóa s khó kh n h n đ i v i ph ng pháp Shiftể ả ệ ượ ẽ ă ơ ố ớ ươ Cipher. Ph ng pháp mã hóa Vigenere Cipherươ Ch n s nguyên d ng ọ ố ươ m. nh ngh a Đị ĩ P = C = K = (Z 26 ) m K = { (k 0 , k 1 , , k r -1 ) ∈ (Z 26 ) r } V i m i khóa ớ ỗ k = (k0, k1, , k r -1 ) ∈ K, đ nh ngh a:ị ĩ e k (x 1 , x 2 , , x m ) = ((x 1 +k 1 ) mod 26, (x 2 +k 2 ) mod n, , (x m +k m ) mod 26) d k (y 1 , y 2 , , y m ) = ((y 1 –k 1 ) mod n, (y 2 –k 2 ) mod n, , (y m –k m ) mod 26) v i ớ x, y ∈ (Z 26 ) m g. H mã Hillệ Ph ng pháp Hill Cipher đ c Lester S. Hill công b n m 1929: Cho s nguyên d ng ươ ượ ố ă ố ươ m, đ nh ngh a ị ĩ P = C = (Z 26 ) m . M i ph n t ỗ ầ ử x∈P là m t b ộ ộ m thành ph n, m i thành ph n thu cầ ỗ ầ ộ Z 26 . Ý t ng chính c a ph ng pháp này là s d ng ưở ủ ươ ử ụ m t h p tuy n tính c a ổ ợ ế ủ m thành ph n trongầ m i ph n t ỗ ầ ử x∈P đ phát sinh ra ể m thành ph n t o thành ph n t ầ ạ ầ ử y∈C. Ph ng pháp mã hóa Hill Cipherươ ĐỒ ÁN BẢO MẬT THƠNG TIN HỆ MÃ DES Ch n s ngun d ng ọ ố ươ m. nh ngh a: Đị ĩ P = C = (Z 26 ) m và K là t p h p các ma tr n ậ ợ ậ m×m kh ngh ch ả ị V i m i khóa ớ ỗ K kkk kk kkk k mmmm m m ∈               = ,2,1, ,21,2 ,12,11,1     , đ nh ngh a:ị ĩ ( ) ( )               == mmmm m m mk kkk kk kkk xxxxkxe ,2,1, ,21,2 ,12,11,1 21 , ,,     v i ớ x=(x 1 , x 2 , , x m ) ∈ P và d k (y) = yk –1 v i ớ y∈ C M i phép tốn s h c đ u đ c th c hi n trên ọ ố ọ ề ượ ự ệ Z n h. Mã hốn vị Nh ng ph ng pháp mã hóa nêu trên đ u d a trên ý t ng chung: thay th m i ký t trongữ ươ ề ự ưở ế ỗ ự thơng đi p ngu n b ng m t ký t khác đ t o thành thơng đi p đã đ c mã hóa. Ý t ng chính c aệ ồ ằ ộ ự ể ạ ệ ượ ưở ủ ph ng pháp ươ mã hốn v ị là v n gi ngun các ký t trong thơng đi p ngu n mà ch thay đ i v tríẫ ữ ự ệ ồ ỉ ổ ị các ký t ; nói cách khác thơng đi p ngu n đ c mã hóa b ng cách s p x p l i các ký t trong đó. ự ệ ồ ượ ằ ắ ế ạ ự Ph ng pháp mã hóa ươ mã hốn v ị Ch n s ngun d ng ọ ố ươ m. nh ngh a: Đị ĩ P = C = (Z 26 ) m và K là t p h p các hốn v c a ậ ợ ị ủ m ph n t {1, 2, , ầ ử m} V i m i khóa ớ ỗ π ∈ K, đ nh ngh a:ị ĩ ( ) ( ) ( ) ( ) ( ) mm xxxxxxe ππππ , ,, ,, 2121 = và ( ) ( ) ( ) ( ) ( ) m m yyyyyyd 111 , ,, ,, 21 21 −−− = πππ π v i ớ π –1 hốn v ng c c a ị ượ ủ π Ph ng pháp ươ mã hốn v ị chính là m t tr ng h p đ c bi t c a ph ng pháp Hill. V i m iộ ườ ợ ặ ệ ủ ươ ớ ỗ hốn v ị π c a t p h p {1, 2, , ủ ậ ợ m} , ta xác đ nh ma tr n ị ậ k π = (k i , j ) theo cơng th c sau:ứ ( )    = = lại ngược hợptrường trong nếu ,0 ,1 , ji k ji π Ma tr n ậ k π là ma tr n mà m i dòng và m i c t có đúng m t ph n t mang giá tr 1, các ph n tậ ỗ ỗ ộ ộ ầ ử ị ầ ử còn l i trong ma tr n đ u b ng 0. Ma tr n này có th thu đ c b ng cách hốn v các hàng hay cácạ ậ ề ằ ậ ể ượ ằ ị c t c a ma tr n đ n v ộ ủ ậ ơ ị I m nên k π là ma tr n kh ngh ch. Rõ ràng, mã hóa b ng ph ng pháp Hillậ ả ị ằ ươ v i ma tr n ớ ậ k π hồn tồn t ng đ ng v i mã hóa b ng ph ng pháp mã hốn v v i hốn v ươ ươ ớ ằ ươ ị ớ ị π. d. Mã vòng ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES Trong các h tr c đ u cùng m t cách th c là các ph n t k ti p nhau c a b n rõ đ uệ ướ ề ộ ứ ầ ử ế ế ủ ả ề đ c mã hóa v i cùng m t khóa K. Nh v y xâu mã y s có d ng sau:ượ ớ ộ ư ậ ẽ ạ y = y 1 y 2 = e K (x 1 ) e K (x 2 ) Các hệ mã loại này thường được gọi là mã khối (block cipher). Còn đối với các hệ mã dòng. Ý tưởng ở đây là sinh ra một chuỗi khóa z = z 1 z 2 , và sử dụng nó để mã hóa xâu bản rõ x = x 1 x 2 theo qui tắc sau: ) ()( 2121 21 xexeyyy zz == I.3 Quy trình thám mã: C m i ph ng pháp mã hoá ta l i có m t ph ng pháp thám mã t ng ng nh ngứ ỗ ươ ạ ộ ươ ươ ứ ư nguyên t c chung đ vi c thám mã đ c thành công thì yêu c u ng i thám mã ph i bi tắ ể ệ ượ ầ ườ ả ế h mã nào đ c dùng hoá. Ngoài ra ta còn ph i bi t đ c b n mã và b n rõ ng.ệ ượ ả ế ượ ả ả ứ nhìn chung các hệ mã đối xứng là dễ cài đặt với tốc độ thực thi nhanh. Tính an toàn của nó phụ thuộc vào các yếu tố : • Không gian khoá phải đủ lớn • với các phép trộn thích hợp các hệ mã đối xứng có thể tạo ra được một hệ mã mới có tính an toàn cao. • bảo mật cho việc truyền khóa cũng cần được xử lý một cách nghiêm túc. Và một hệ mã hoá dữ liệu ra đời (DES). DES được xem như là chuẩn mã hóa dữ liệu cho các ứng dụng từ ngày 15 tháng 1 năm 1977 do Ủy ban Quốc gia về Tiêu chuẩn của Mỹ xác nhận và cứ 5 năm một lần lại có chỉnh sửa, bổ sung. DES là m t h mã đ c tr n b i các phép th và hoán v . v i phép tr n thích h p thì vi cộ ệ ượ ộ ở ế ị ớ ộ ợ ệ gi i mã nó l i là m t bài toán khá khó. ng th i vi c cài đ t h mã này cho nh ng ng d ng th cả ạ ộ Đồ ờ ệ ặ ệ ữ ứ ụ ự t l i khá thu n l i. Chính nh ng lý do đó nó đ c ng d ng r ng rãi c a DES trong su tế ạ ậ ợ ữ ượ ứ ụ ộ ủ ố h n 20 n m qua, không nh ng t i M mà còn là h u nh trên kh p th gi i. M c dù theoơ ă ữ ạ ỹ ầ ư ắ ế ớ ặ công b m i nh t (n m 1998) thì m i h DES, v i nh ng kh n ng c a máy tính hi nố ớ ấ ă ọ ệ ớ ữ ả ă ủ ệ nay, đ u có th b khóa trong h n 2 gi . Tuy nhiên DES cho đ n nay v n là m t mô hìnhề ể ẻ ơ ờ ế ẫ ộ chu n cho nh ng ng d ng b o m t trong th c t .ẩ ữ ứ ụ ả ậ ự ế II. H MÃ CHU N DES (Data Encryption Standard)Ệ Ẩ II.1 c t DESĐặ ả Ph ng pháp DES mã hóa t ươ ừ x có 64 bit v i khóa ớ k có 56 bit thành m t t có ộ ừ y 64 bit. Thu tậ toán mã hóa bao g m 3 giai đo n:ồ ạ 1.V i t c n mã hóa ớ ừ ầ x có đ dài 64 bit, t o ra t ộ ạ ừ x 0 (c ng có đ dài 64 bit) b ng cách hoán v cácũ ộ ằ ị bit trong t ừ x theo m t hoán v cho tr c ộ ị ướ IP (Initial Permutation). Bi u di n ể ễ x 0 = IP(x) = L 0 R 0 , L 0 g m 32 bit bên trái c a ồ ủ x 0 , R 0 g m 32 bit bên ph i c a ồ ả ủ x 0 L 0 R 0 x 0 Hình.1 Bi u di n dãy 64 bit ể ễ x thành 2 thành ph n ầ L và R 2 Xác đ nh các c p t 32 bit ị ặ ừ L i , R i v i 1ớ ≤ i ≤ 16theo quy t c sau:ắ L i = R i-1 R i = L i-1 ⊕ f (R i-1 , K i ) ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES với ⊕ biểu diễn phép toán XOR trên hai dãy bit, K 1 , K 2 , , K 16 là các dãy 48 bit phát sinh từ khóa K cho trước (Trên thực tế, mỗi khóa K i được phát sinh bằng cách hoán vị các bit trong khóa K cho trước). L i - 1 R i - 1 f K i ⊕ L i R i Hình.2 Quy trình phát sinh dãy 64 bit L i R i t dãy 64 bit ừ L i-1 R i-1 và khóa K i 3.Áp d ng hoán v ng c ụ ị ượ IP -1 đ i v i dãy bit ố ớ R 16 L 16 , thu đ c t ượ ừ y g m 64 bit. Nh v y, ồ ư ậ y = IP -1 (R 16 L 16 ) ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES Hàm f đ c s d ng b c 2 là ượ ử ụ ở ướ Hàm f có g m 2 tham s : Tham s th nh t ồ ố ố ứ ấ A là m t dãy 32 bit, tham s th hai ộ ố ứ J là m t dãyộ 48 bit. K t qu c a hàm ế ả ủ f là m t dãy 32 bit. Các b c x lý c a hàm ộ ướ ử ủ f(A, J)nh sau:ư • Tham s th nh t ố ứ ấ A (32 bit) đ c m r ng thành dãy 48 bit b ng hàm m r ng ượ ở ộ ằ ở ộ E. K tế qu c a hàm ả ủ E(A) là m t dãy 48 bit đ c phát sinh t ộ ượ ừ A b ng cách hoán v theo m t th tằ ị ộ ứ ự nh t đ nh 32 bit c a ấ ị ủ A, trong đó có 16 bit c a ủ A đ c l p l i 2 l n trong ượ ậ ạ ầ E(A). • Th c hi n phép toán XOR cho 2 dãy 48 bit ự ệ E(A) và J, ta thu đ c m t dãy 48 bit ượ ộ B. Bi uể di n ễ B thành t ng nhóm 6 bit nh sau:ừ ư B = B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 • S d ng 8 ma tr n ử ụ ậ S 1 , S 2 , , S 8 , m i ma tr n ỗ ậ S i có kích th c 4ướ ×16 và m i dòng c aỗ ủ ma tr n nh n đ 16 giá tr t 0 đ n 15. Xét dãy g m 6 bit ậ ậ ủ ị ừ ế ồ B j = b 1 b 2 b 3 b 4 b 5 b 6 , S j (B j ) đ c xác đ nh b ng giá tr c a ph n t t i dòng ượ ị ằ ị ủ ầ ử ạ r c t ộ c c a ủ S j , trong đó, ch s dòngỉ ố r có bi u di n nh phân là ể ễ ị b 1 b 6 , ch s c t ỉ ố ộ c có bi u di n nh phân là ể ễ ị b 2 b 3 b 4 b 5 . B ng cáchằ này, ta xác đ nh đ c các dãy 4 bit ị ượ C j = S j (B j ), 1 ≤ j ≤ 8. • T p h p các dãy 4 bit ậ ợ C j l iạ . ta có đ c dãy 32 bit ượ C = C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 . Dãy 32 bit thu đ c b ng cách hoán v ượ ằ ị C theo m t quy lu t ộ ậ P nh t đ nh chính là k t qu c a hàm ấ ị ế ả ủ F(A, J) các hàm được sử dụng trong DES. A B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 S 1 J E(A) S 2 S 3 S 4 S 5 S 6 S 7 S 8 C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 f(A,J) E + P ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES Hoán vị khởi tạo IP sẽ như sau: IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 i u này có ngh a là bit th 58 c a x là bit đ u tiên c a IP(x); bit th 50 c a x là bit Đ ề ĩ ứ ủ ầ ủ ứ ủ th hai c a IP(x) v.v.ứ ủ Hoán vị ngược IP -1 sẽ là: IP -1 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 32 31 30 29 28 27 26 25 Hàm mở rộng E được đặc tả theo bảng sau: E – b ng ch n bitả ọ 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 Tám S-hộp và hoán vị P sẽ được biểu diễn như sau: S 1 14 0 4 15 13 7 1 4 2 14 15 2 11 13 8 1 3 10 10 6 6 12 [...]... bit khóa trong J1 I .3. 1 Thám mã hệ DES - 3 vòng Bây giờ ta sẽ xét ý tưởng vừa trình bày cho việc thám mã hệ DES - ba vòng Ta sẽ bắt đầu với cặp bản rõ và các bản mã tương ứng: L0R0, L0*R0*, L3R3 và L3*R3* Ta có thể biểu diễn R3 như sau: R3 = L2 ⊕ f(R2, K3) ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES = R1 ⊕ f(R2, K3) = L0 ⊕ f(R0, K1) ⊕ f(R2, K3) R3* có thể biểu diễn một cách tương tự , do vậy: R3’ = L0’ ⊕ f(R0,... xâu x-or được mã hóa bởi cùng một khóa Để ngắn gọn ta sử dụng hệ thập lục phân: Bản mã Bản rõ 748502CD38451097 03C7 030 6D8A09F10 38 74756 438 451097 78560A0960E6D4CB 486911026ACDFF31 45FA285BE5ADC 730 37 5BD31F6ACDFF31 134 F7915AC2 534 57 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES 35 7418DA013FEC86 12549847013FEC86 D8A31B2F28BBC5CF 0F317AC2B23CB944 Từ cặp đầu tiên ta tính các xâu nhập của S-hộp (cho vòng 3) từ các phương... 6 3 8 6 3 4 15 9 15 6 3 8 5 10 0 7 7 13 10 3 13 8 6 15 14 11 9 0 3 5 0 6 0 6 12 10 6 15 11 1 9 0 7 13 10 3 13 8 S4 S5 2 14 4 11 12 11 2 8 4 2 1 12 1 12 11 7 7 4 10 0 10 7 13 14 11 13 7 2 6 1 8 13 8 5 15 6 5 0 9 15 3 15 12 0 15 10 5 9 13 3 6 10 0 9 3 4 14 8 0 5 12 10 9 4 1 15 14 3 10 4 15 2 15 2 5 12 9 7 2 9 2 12 8 5 6 9 12 15 8 5 3 10 S6 0 6 7 11 13 1 0 14 3 13 4 1 4 14 10 7 14 0 1 6 7 11 13 0 5 3. .. 13 41 50 59 34 7 54 61 5 33 42 51 60 39 46 53 28 PC-1 25 34 43 52 31 38 45 20 17 26 35 44 23 30 37 12 9 18 27 36 15 22 29 4 PC-2 14 3 23 16 41 30 44 46 17 28 19 7 50 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 5 10 8 2 55 48 53 32 Bây giờ ta sẽ hiển thị kết quả việc tính lịch khóa Như đã nhận xét ở trên, mỗi vòng sử dụng khóa 48 bit tương ứng với 48 bit trong K Các... 11 8 3 14 10 9 12 3 15 5 9 5 6 0 7 12 8 15 5 2 0 14 10 15 5 2 6 8 9 3 1 6 2 12 10 12 0 15 9 5 6 12 3 6 10 9 14 11 13 0 5 0 15 3 0 14 3 5 12 9 5 6 7 2 8 11 11 8 6 13 S7 4 13 1 6 11 0 4 11 2 11 11 13 14 7 13 8 15 4 12 1 0 9 3 4 8 1 7 10 13 10 14 7 S8 13 1 7 2 2 15 11 1 8 13 4 14 4 8 1 7 6 10 9 4 15 3 12 10 11 7 14 8 1 4 2 13 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES P 16 29 1 5 2 32 19 22 7 12 15 18 8 27 13 11... 85E8 135 40F0AB405 I 3 THÁM MÃ DES Một phương pháp rất nổi tiếng trong thám mã DES là thám mã vi sai“ (differential cryptanalysic) do Biham và Shamir đề xuất Đó là phương pháp thám v ới b ản rõ đ ược ch ọn Nó không được sử dụng trong thực tế để thám mã DES 16 vòng, mà ch ỉ đ ược s ử dụng đ ể thám các hệ DES có ít vòng hơn Bây giờ ta sẽ mô tả những ý tưởng cơ bản của kỹ thuật này Để đạt mục đích thám mã, ... 8 2 13 4 6 9 HỆ MÃ DES 2 1 11 7 15 5 12 11 9 3 9 12 5 11 7 0 8 6 2 1 12 7 13 10 6 12 12 6 9 0 0 9 3 5 5 11 2 14 10 5 15 9 1 2 11 4 13 8 1 15 12 5 2 14 7 14 12 3 11 12 5 11 4 11 10 5 2 15 14 2 8 1 7 12 1 4 15 9 2 7 1 4 8 2 3 5 5 12 14 11 11 1 5 12 12 10 2 7 4 14 8 2 15 9 4 14 9 6 14 3 S2 15 3 0 13 1 13 14 8 8 4 7 10 14 7 11 1 6 15 10 3 11 2 4 15 3 8 13 4 4 14 1 2 S3 10 13 13 1 0 7 6 10 9 0 4 13 14 9... bản rõ chọn và các hệ 10-, 12-, 14- và 16 -vòng đòi hỏi có tương ứng 224, 231 , 239 và 247 bản mã chọn Nên nói chung là khá phức tạp Các kỹ thuật thám mã vi sai được Biham và Shamir phát tri ển Các ph ương pháp thám mã DES khác đã được Matsui sử dụng như là thám mã tuyến tính ĐỒ ÁN BẢO MẬT THÔNG TIN III HỆ MÃ DES HỆ MÃ DES 3 VÒNG Chương trình gồm hai phần: • Phần Giao Diên (chứa trong thư mục GiaoDien):... thước (xấp xỉ) 3N/16, là tập đề xuất và ta hy vọng là chỉ gồm các bit khóa đúng chứ không có các xâu khác Điều này làm đơn giản hóa cho việc xây dựng tất cả các tập chấp nhận được I bằng một thuật toán đệ qui II .3 3 Các thám mã vi sai khác Phương pháp thám mã vi sai còn có thể áp dụng để thám các hệ DES nhiều vòng hơn Với hệ DES 8 -vòng đòi hỏi 214 bản rõ chọn và các hệ 10-, 12-, 14- và 16 -vòng đòi hỏi... s(2).Rows(2).Item( 13) = 10 s(2).Rows(2).Item(14) = 14 s(2).Rows(2).Item(15) = 7 s(2).Rows (3) .Item(0) = 1 s(2).Rows (3) .Item(1) = 10 s(2).Rows (3) .Item(2) = 13 s(2).Rows (3) .Item (3) = 0 s(2).Rows (3) .Item(4) = 6 s(2).Rows (3) .Item(5) = 9 s(2).Rows (3) .Item(6) = 8 HỆ MÃ DES ĐỒ ÁN BẢO MẬT THÔNG TIN s(2).Rows (3) .Item(7) = 7 s(2).Rows (3) .Item(8) = 4 s(2).Rows (3) .Item(9) = 15 s(2).Rows (3) .Item(10) = 14 s(2).Rows (3) .Item(11) = 3 . TIN HỆ MÃ DES M C L CỤ Ụ I .1 Giới thiệu 3 I.2 Các Hệ Mã Thông Dụng: 3 e. Phương pháp Affine 4 f. Phương pháp Vigenere 5 I.2 LẬP MÃ DES 13 I. 3 THÁM MÃ DES 16 I .3. 1. Thám mã hệ DES - 3 vòng. - 3 vòng 18 II .3. 2. Thám mã hệ DES 6 -vòng 22 II .3. 3 Các thám mã vi sai khác 25 III. HỆ MÃ DES 3 VÒNG 26 III.1 Giao Diện ( Package GiaoDien) 26 ĐỒ ÁN BẢO MẬT THÔNG TIN HỆ MÃ DES L I NÓI UỜ. sau: PC-1 57 1 10 19 63 7 14 21 49 58 2 11 55 62 6 13 41 50 59 34 7 54 61 5 33 42 51 60 39 46 53 28 25 34 43 52 31 38 45 20 17 26 35 44 23 30 37 12 9 18 27 36 15 22 29 4 PC-2 14 3 23 16 41 30 44 46 17 28 19 7 50 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 5 10 8 2 55 48 53 32 Bây

Ngày đăng: 03/04/2015, 15:20

Từ khóa liên quan

Mục lục

  • e. Phương pháp Affine

  • f. Phương pháp Vigenere

    • E – bảng chọn bit

    • P

    • PC-1

      • PC-2

      • Bản rõ

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan