Tập bài giảng an toàn và bảo mật thông tin phần 2 nguyễn văn tảo

72 553 0
Tập bài giảng an toàn và bảo mật thông tin  phần 2   nguyễn văn tảo

Đ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

Chương Chuẩn mã liệu DES (Data Encryption Standard) 3.1 Giới thiệu chung DES Chuẩn mã hoá liệu DES Văn phòng tiêu chuẩn Mỹ (U.S National Bureau for Standards) công bố năm 1971 để sử dụng quan phủ liên bang Giải thuật phát triển Công ty IBM dựa hệ mã hoá LUCIFER Feistel DES thuật toán mã hoá khối (block algrithm), với cỡ khối 64 bít Một khối 64 bít rõ đưa vào, sau mã hoá liệu đưa khối mã 64 bít Cả mã hoá giải mã sử dụng thuật toán khoá Khoá mã có độ dài 64 bít, có bít chẵn lẻ sử dụng để kiểm soát lỗi Các bít chẵn lẻ nằm vị trí 8, 16, 24, , 64 Tức bít khoá có bít kiểm soát lỗi, bít qui định số bít có giá trị “1” khối bít theo tính bù chẵn Nền tảng để xây dựng khối DES kết hợp đơn giản kỹ thuật thay hoán vị rõ dựa khoá DES sử dụng 16 vòng lặp, áp dụng kiểu kết hợp kỹ thuật khối rõ 16 lần (Như sơ đồ mã) Thuật toán sử dụng phép toán số học lôgíc số 64 bít, dễ dàng thực vào năm 1970 điều kiện công nghệ phần cứng lúc Ban đầu, thực phần mềm kiểu thô sơ, việc tốt hơn, với đặc tính lặp 55 lặp lại thuật toán tạo nên ý tưởng sử dụng chíp với mục đích đặc biệt DES có số đặc điểm sau: ♦ Sử dụng khoá 56 bít ♦ Xử lý khối vào 64 bít, biến đổi khối vào thành khối 64 bít ♦ Mã hoá giải mã sử dụng khoá ♦ DES thiết kế để chạy phần cứng DES thường sử dụng để mã hoá dòng liệu mạng mã hoá liệu lưu trữ đĩa 56 3.2 Mô tả thuật toán 57 DES thực khối 64 bít rõ Sau thực hoán vị khởi đầu, khối liệu chia làm hai nửa trái L phải R0, nửa 32 bít Từ L0 R0 lặp 16 vòng, vòng tính: Li=Ri-1 Ri=Li-1⊕f(Ri-1,Ki) với i= 1, 2,…,16 Tại vòng thứ 16, R16 đổi chỗ cho L16 Sau ghép nửa R16, K16 cho qua hoàn vị nghịch đảo hoàn vị IP tính mã Bản mã có độ dài 64 bít Trong hàm f thực sau: Sơ đồ tính hàm f(Ri-1,Ki) 58 Ri-1 Ki E E(Ri-1) + B1B2B3B4B5B6B7B8 S1 S2 S3 S4 S5 S6 S7 c1c2c3c4c5c6c7c8 f(Ri-1,Ki) Khối Ri-1 có độ dài 32 bít cho qua hoàn vị mở rộng E khối có độ dài 48 bít Khối XOR với khóa K i, kết khối có độ dài 48 bit Khối chia làm khối B 1, B2,…., B8 Mỗi khối có độ dài bít Từng khối B i cho qua hộp Si biến khối có độ dài bit thành khối Ci có độ dài bít Các khối Ci ghép lại khối có độ dài 32 bit Khối cho qua hoàn vị P cho kết hàm f(Ri-1, Ki) Mỗi hộp S bảng gồm hàng 16 cột đánh số từ Như hộp S có hàng 0,1,2,3 Cột 0,1,2,…,15 Mỗi phần tử hộp 59 S8 số bít Sáu bít vào hộp S xác định số hàng số cột để tìm kết Mỗi khối Bi có bít kí hiệu b1, b2, b3, b4, b5 b6 Bít b1 b6 kết hợp thành số bít, nhận giá trị từ đến 3, tương ứng với hàng bảng S Bốn bít giữa, từ b2 tới b5, kết hợp thành số bít, nhận giá trị từ đến 15, tương ứng với cột bảng S Ví dụ, giả sử khối B6 110010 ta đưa qua hộp S Bít bít cuối kết hợp thành 10, tương ứng với hàng thứ hộp S Bốn bít kết hợp thành 1001, tương ứng với cột thứ hộp S Phần tử hàng cột hộp S6 Giá trị 0000 thay cho 110010 Sơ đồ tính khóa K1, K2, …, K16 K PC-1 C0 D0 LS1 C1 D0 LS1 D1 D1 PC-2 K1 PC-2 K16 LS16 C16 LS16 D16 D16 60 Từ khóa K bí mật có độ dài 64 bít qua hoán vị chọn PC1 cho khối có độ dài 56 bit Khối chia làm nửa C D0 nửa 28 bít Từ khối thực qua 16 vòng lặp C0 D0 dịch vòng trái LS1 bít cho khối C1 D1 Hai khối C1 D1 ghép lại thành khối 56 bít cho qua hoán vị chọn PC2 khóa K1 có độ dài 48 bít Từ khối C1 D1 dịch vòng trái LS2 bít khối C2 D2, ghép khối C2 D2 khối 56 bit Cho khối qua hoán vị chọn PC2 khóa K2 có độ dài 48 bít Tương tự khóa K16 Trong bảng số bít dịch trái vòng là: Vòng i 10 11 12 13 14 15 16 Số bít dịch 1 2 2 2 2 2 2 3.3.Hoán vị khởi đầu Hoán vị khởi đầu đổi chỗ khối liệu vào, thay đổi vị trí bít khối liệu vào Bảng hoán vị khởi đầu này, tất bảng khác sau này, đọc từ trái qua phải, từ xuống Ví dụ, hoán vị khởi đầu chuyển bít thành bít 58, bít thành bít 50, bít thành bít 42, Bảng hoán vị khởi đầu 58 50 42 34 26 18 10 60 52 44 36 28 20 12 62 54 46 38 30 22 14 64 56 48 40 32 24 16 57 49 41 33 25 17 59 51 43 35 27 19 11 61 53 45 37 29 21 13 63 55 47 39 31 23 15 Hoán vị khởi đầu tương ứng hoán vị ngược không làm ảnh hưởng đến an toàn DES 61 3.4 Hoán vị chọn Đầu tiên, khoá 64 bít giảm xuống thành khoá 56 bít cách bỏ qua bít chẵn lẻ Sự loại bỏ thực theo Bảng sau: Bảng hoán vị chọn PC1: 57 49 41 33 25 17 58 50 42 34 26 18 10 59 51 43 35 27 19 11 60 52 44 36 63 55 47 39 31 23 15 62 54 46 38 30 22 14 61 53 45 37 29 21 13 28 20 12 Các bít chẵn lẻ sử dụng để đảm bảo lỗi xảy đưa khoá vào Sau khoá 56 bít trích ra, khoá khác 48 bít sinh cho vòng DES Bảng hoán vị chọn PC2: 14 17 11 24 28 15 21 10 23 19 12 26 16 27 20 13 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 3.5 Hoán vị mở rộng Ở thao tác này, nửa phải liệu, R i, mở rộng từ 32 bít thành 48 bít Bởi thực thay đổi thứ tự bít cách lặp lại bít đó, hiểu hoán vị mở rộng Sự thực nhằm mục đích tạo kết liệu cỡ với khoá để thực thao tác XOR Định nghĩa hoán vị mở rộng - hộp E Với bít khối liệu vào, bít bít thứ tư bít tương ứng với bít khối liệu ra, bít thứ hai bít thứ ba bít tương ứng với bít 62 khối liệu Bảng mô tả vị trí bít khối liệu theo khối liệu vào Ví dụ, bít vị trí thứ khối liệu vào chuyển tới vị trí thứ khối liệu Và bít vị trí 21 khối liệu vào chuyển tới vị trí 30 32 khối liệu Bảng hoán vị mở rộng E: 32 5 9 10 11 12 12 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 63 10 11 12 13 14 15 16 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 32 48 Hoán vị mở rộng 64 Trong chương này, xem xét sơ đồ chữ kí số (còn gọi chữ kí số) Chữ kí viết tay thông thường tài liệu thường dùng để xác người kí Chữ kí dùng hàng ngày chẳng hạn thư nhận tiền từ nhà băng, kí hợp đồng… Chữ ký số phương pháp kí điện lưu dạng điện tử Chẳng hạn điện có ký hiệu truyền mạng máy tinh Chương trình bày vài sơ đồ chữ kí số Ta thảo luận vài khác biệt chữ kí thông thường chữ kí số Đầu tiên vấn đề kí tài liệu Với chữ kí thông thường, phần vật lý tài liệu Tuy nhiên, chữ kí số không gắn theo kiểu vật lý vào điện nên thuật toán dùng phải “không nhìn thấy” theo cách điện Thứ hai vấn đề kiểm tra Chữ kí thông thường kiểm tra cách so sánh với chữ kí xác thực khác Ví dụ, kí séc để mua hàng, người bán phải so sánh chữ kí mảnh giấy với chữ kí nằm mặt sau thẻ tín dụng để kiểm tra Dĩ nhiên, phươg pháp an toàn dễ dàng giả mạo Mặt khác, chữ kí số kiểm tra nhờ dùng thuật toán kiểm tra công khai Như vậy, kiểm tra chữ kí số Việc dùng sơ đồ chữ kí an toàn ngăn chặn khả giả mạo Sự khác biệt khác chữ kí số chữ kí thông thường copy tài liệu kí băng chữ kí số đồng với gốc, copy tài liệu có chữ kí giấy thường khác với gốc Điều có nghĩa phải cẩn thận ngăn chăn kí số khỏi bị dùng lại Vì thế, thân điện cần chứa thông tin (chẳng hạn ngày tháng) để ngăn khỏi bị dùng lại 112 Một sơ đồ chữ kí số thường chứa hai thành phần: thuật toán kí thuật toán xác minh Bob kí điện x dùng thuật toán kí an toàn Chữ kí y=sig(x) nhận kiểm tra thuật toán xác minh công khai ver(x,y) Khi cho trước cặp (x,y), thuật toán xác minh có giá trị TRUE hay FALSE tuỳ thuộc vào chữ kí thực Dưới định nghĩa hình thức chữ kí: Định nghĩa: Một sơ đồ chữ kí số 5( P, A, K, S, V) thoả mãn điều kiện đây: P tập hữu hạn điện A tập hữu hạn chữ kí K không gian khoá tập hữu hạn khoá Với k thuộc K tồn thuật toán kí sigk ∈ S thuật toán xác minh verk∈ V Mỗi sigk : P → A verk: P× A →{true,false} hàm cho điện x∈ P chữ kí y∈ A thoả mãn phương trình True y=sig(x) verk = False y# sig(x) Với k thuộc K hàm sigk verk hàm thời gian đa thức Verk hàm công khai sigk mật Không thể dể dàng tính toán để giả mạo chữ kí Bob điện x Nghĩa x cho trước, có Bob tính y để verk = True Một sơ đồ chữ kí an toàn vô điều kiện Oscar kiểm tra tất chữ số y có điện x 113 nhờ dùng thuật toán ver công khai tìm thấy chữ kí Vi thế, có đủ thời gian Oscar luôn giả mạo chữ kí Bob Như vậy, giống trường hợp hệ thống mã khoá công khai, mục đích tìm sơ đồ chữ kí số an toan mặt tính toán Xem thấy rằng, hệ thống mã khoá công khai RSA dùng làm sơ đồ chữ kí số Như vậy, Bob kí điện x dùng qui tắc giải mã RSA d k Bob người tạo chữ kí dk = sigk mật Thuật toán xác minh dùng qui tắc mã RSA ek Bất kì xác minh chữ kí ek công khai Chú ý rằng, giả mạo chữ kí Bob điện “ ngẫu nhiên” x cách tìm x=ek(y) với y đó, y= sigk(x) Một giải pháp xung quanh vấn đề khó khăn yêu cầu điện chưa đủ phần dư để chữ kí giả mạo kiểu không tương ứng với điện Nghĩa x trừ xác suất bé Có thể dùng hàm hash việc kết nối với sơ đồ chữ kí số loại trừ phương pháp giả mạo Sơ đồ chữ kí RSA Cho n= p*q, p q số nguyên tố Cho P =A= Zn ab ≡ 1(mod( φ(n))) Các giá trị n b công khai, a giữ bí mật Hàm kí: sigk(x)= xa mod n kiểm tra chữ kí: verk (x,y)= true ⇔ x ≡ yb (mod n) (x,y ∈ Zn) Ta xét tóm tắt cách kết hợp chữ kí mã khoá công khai Giả sử rằng, Alice tính toán chữ kí y= sigAlice(x) sau mã x y hàm mã khoá công khai eBob Bob, cô ta nhận z = e Bob(x,y) Bản mã z truyền tới Bob Khi Bob nhận z, trước hết giải 114 mã hàm dBob để nhận (x,y) Sau dùng hàm xác minh công khai Alice để kiểm tra xem verAlice(x,y) có True hay không Song Alice mã x sau kí tên mã nhận cô tính : y= sigAlice(eBob(x)) Alice truyền cặp (z,y) tới Bob Bob giải mã z, nhận x sau xác minh chữ kí y x nhờ dùng ver Alice Một vấn đề tiểm ẩn biện pháp Oscar nhận cặp (x,y) kiểu này, ta có thay chữ kí y Alice chữ kí Y, = sigOscar(eBob(x)) (Chú ý, Oscar kí mã eBob(x) rõ x) Khi Oscar truyền (x, y’ ) đến Bob chữ kí Oscar Bob xác minh verOscar Bob suy rằng, rõ x xuất phát từ Oscar Do khó khăn này, hầu hết người sử dụng khuyến nghị kí trước mã 5.2 Sơ đồ chữ kí ELGAMAL Sau ta mô tả sơ đồ chữ kí Elgamal thiệu báo năm 1985 Bản tiến sơ đồ Viện Tiêu chuẩn Công Nghệ Quốc Gia Mỹ (NIST) chấp nhận làm chữ kí số Sơ đồ Elgamal (E.) thiết kế với mục đích dành riêng cho chữ kí số, khác sơ đồ RSA dùng cho hệ thống mã khoá công khai lẫn chữ kí số Sơ đồ E, không tất định giống hệ thống mã khoá công khai Elgamal Điều có nghĩa có nhiều chữ kí hợp lệ điện cho trước Thuật toán xác minh phải có khả chấp nhận chữ kí hợp lệ xác thực Nếu chữ kí thiết lập xác minh thành công : 115 γ δ γ γ β γ ≡ αa αk (mod p) ≡ αx(mod p) ta dùng hệ thức : a γ + k δ ≡ x (mod p-1) Sơ đồ chữ kí số Elgamal Cho p số nguyên tố cho toán logarit rời rạc Zp khó giả sử α ∈ Zp phần tử nguyên thuỷ Zp* , a thuộc Zp-1 định nghĩa: K ={(p,α ,a,β ):β ≡ αa(mod p)} Giá trị p,α ,β công khai, a mật Với K = (p, α , a, β ) số ngẫu nhiên (mật) k∈ Zp-1 định nghĩa : Sigk(x,y) =(γ ,δ), γ = αk mod p δ =(x-aγ ) k-1 mod (p-1) Với x,γ ∈ Zp δ ∈ Zp-1 , ta định nghĩa : γ δ Ver(x, γ ,δ ) = true ⇔ β γ ≡ αx(mod p) Bob tính chữ kí cách dùng gía trị mật a (là phần khoá) lẫn số ngẫu nhiên mật k (dùng để kí lên điện x) Việc xác minh có thực thông báo tin công khai Chúng ta xét ví dụ nhỏ minh hoạ Giả sử cho p = 467, α =2, a = 127, đó: β = αa mod p 116 = 2127 mod 467 = 132 Nếu Bob muốn kí lên điện x = 100 chọn số ngẫu nhiên k =213 (chú ý UCLN(213,466) =1 213-1 mod 466 = 431 Khi γ =2213 mod 467 = 29 δ =(100-127 × 29) 431 mod 466 = 51 Bất kỳ củng xác minh chữ kí kiểm tra : 13229 2951 ≡ 189 (mod 467) 2100 ≡ 189 (mod 467) Vì chữ kí hợp lệ Xét độ mật sơ đồ chữ kí E Giả sử, Oscar thử giả mạo chữ kí điện x cho trước a Nếu Oscar chọn γ sau thử γ tìm giá trị δ tương ứng, phải tính logarithm rời rạc log γ αxβ- Mặt khác, ta chọn δ sau thử tim γ thử giải phương trình: γ δ β γ ≡ αx(mod p) để tìm γ Đây toán chưa có lời giải Tuy nhiên, dường chưa gắn với đến toán nghiên cứu kĩ nên có khả có cách để tính δ γ đồng thời để (δ, γ ) chữ kí Hiện thời không tìm cách giải song không khẳng định giải Nếu Oscar chọn δ γ sau tự giải tìm x, phải đối mặt với toán logarithm rời rạc, tức toán tính log α Vì Oscar kí điện ngẫu nhiên biện pháp Tuy nhiên, có cách để 117 Oscar kí lên điện ngẫu nhiên việc chọn γ , δ x đồng thời: giả thiết i j số nguyên ≤ i ≤ p-2, ≤ j ≤ p-2 UCLN(j,p-2) = Khi thực tính toán sau: γ = αi βj mod p δ = -γ j-1 mod (p-1) x = -γ i j-1 mod (p-1) Trong j-1 tính theo modulo (p-1) (ở đòi hỏi j nguyên tố với p-1) Ta nói (γ , δ ) chữ kí hợp lệ x Điều chứng minh qua việc kiểm tra xác minh : Ta minh hoạ ví dụ : Giống ví dụ trước cho p = 467, α = 2, β =132 Giả sữ Oscar chọn i = 99,j = 179; j-1 mod (p-1) = 151 Anh ta tính toán sau: γ = 299132197 mod 467 = 117 δ =-117 × 151 mod 466 = 51 x = 99 × 41 mod 466 = 331 Khi (117, 41) chữ kí hợp lệ điện 331 xác minh qua phép kiểm tra sau: 132117 11741 ≡ 303 (mod 467) 2331 ≡ 303 (mod 467) Vì chữ kí hợp lệ Sau kiểu giả mạo thứ hai Oscar bắt đầu điện Bob kí trước Giả sử (γ , δ ) chữ kí hợp lệ x Khi Oscar 118 có khả kí lên nhiều điện khác Giả sử i, j, h số nguyên, ≤ h, i, j ≤ p-2 UCLN (h γ - j δ, p-1) = Ta thực tính toán sau: λ = γ h αi βj mod p µ = δλ(hγ -jδ)-1 mod (p-1) x, = λ(hx+iδ ) -1 mod (p-1), Trong (hγ -jδ)-1 tính theo modulo (p-1) Khi dễ dàng kiểm tra điệu kiện xác minh : λ µ β λ ≡ αx’ (mod p) (λ, µ)là chữ kí hợp lệ x’ Cả hai phương pháp tạo chữ kí giả mạo hợp lệ song không xuất khả đối phương giả mạo chữ kí điện có lựu chọn họ mà giải toán logarithm rời rạc, nguy hiểm độ an toàn sơ đồ chữ kí Elgamal Cuối cùng, ta nêu vài cách phải sơ đồ không áp dụng cách cẩn thận (có số ví dụ khiếm khuyết giao thức) Trước hết, giá trị k ngẫu nhiên dùng để tính chữ kí phải giữ kín không để lộ, k bị lộ, đơn giản để tính : A = (x-k γ )δ-1 mod (p-1) Dĩ nhiên, a bị lộ hệ thống bị phá Oscar dễ dàng giả mạo chữ kí Một kiểu dùng sai sơ đồ dùng giá trị k để kí hai điện khác điều tạo thuận lợi cho Oscar tinh a phá hệ thống Sau cách thực Giả sử (γ , δ1) chữ kí x1 (γ , δ2) chữ kí x2 Khi ta có: 119 γ δ γ δ β γ ≡ αx1 (mod p) β γ ≡ αx2(modp) Như δ δ αx1-x2 ≡ α 1- (mod p) Nếu viết γ = αk, ta nhận phương trình tìm k chưa biết sau δ δ αx1-x2 ≡ αk( - 2) (mod p) tương đương với phương trình x1- x2 ≡ k( δ1- δ2) (mod p-1) Bây giả sử d =UCLN(δ1- δ2, p-1) Vì d | (p-1) d | (δ1-δ2) nên suy d | (x1-x2) Ta định nghĩa: x’ = (x1- x2)/d δ’ = (δ1- δ2)/d p’ = ( p -1 )/d Khi đồng dư thức trở thành: x’ ≡ k δ’ (mod p’ ) UCLN(δ’, p’ ) = 1,nên tính: ε = (δ’)-1 mod p’ Khi giá trị k xác định theo modulo p’ là: k = x’ ε mod p’ Phương trình cho d giá trị k k = x’ ε +i p’ mod p 120 với i đó, ≤ i ≤ d-1 Trong số d giá trị có này, xác định giá trị qua việc kiểm tra điều kiện γ ≡ αk (mod p) 5.3 Chuẩn chữ kí số Chuẩn chữ kí số(DSS) phiên cải tiến sơ đồ chữ kí Elgamal Nó công bố Hồ Sơ liên bang vào ngày 19/5/94 làm chuẩn vào 1/12/94 đề xuất từ 8/91 Trước hết ta nêu thay đổi so với sơ đồ Elgamal sau mô tả cách thực nó.Trong nhiều tinh huống, thông báo mã giải mã lần nên phù hợp cho việc dùng với hệ mật (an toàn thời điểm mã) Song thực tế, nhiều điện dùng làm tài liệu đối chứng, chẳng hạn hợp đồng hay chúc thư cần xác minh chữ kí sau nhiều năm kể từ lúc điện kí Bởi vậy, điều quan trọng có phương án dự phòng liên quan đến an toàn sơ đồ chữ kí đối mặt với hệ thống mã Vì sơ đồ Elgamal không an toàn toán logarithm rời rạc nên cần dung modulo p lớn Chắc chắn p cần 512 bít nhiều người trí p nên lấy p=1024 bít để có độ an toàn tốt.Tuy nhiên, lấy modulo p =512 chữ kí có 1024 bít Đối với nhiều ứng dụng dùng thẻ thông minh cần lại có chữ kí ngắn DSS cải tiến sơ đồ Elgamal theo hướng cho điện 160 bít kí chữ kí 302 bít song lại p = 512 bít Khi hệ thống làm việc nhóm Zn* kích thước 2160 Độ mật hệ thống dựa an toàn việc tìm logarithm rời rạc nhóm Zn* Sự thay đổi thay dấu “ - “ “+” định nghĩa δ, thế: δ = (x +α γ )k-1 mod (p-1) thay đổi kéo theo thay đổi điều kiện xác minh sau: 121 γ δ αx β ≡ γ (mod p) (1) Nếu UCLN (x + αγ , p-1) =1thì δ-1 mod (p-1) tồn ta thay đổi điều kiện (1) sau: xδ-1βγδ -1 ≡ γ (mod )p (2) α Đây thay đổi chủ yếu DSS Giả sử q số nguyên tố 160 bít cho q | (q-1) α bậc q modulo p (Dễ dàng xây dựng α vậy: cho α0 phần tử nguyên thuỷ Z p định nghĩa α = α0(p-1)/q mod p) Khi β γ bậc q số mũ Bất kỳ α, β γ rút gọn theo modulo q mà không ảnh hưởng đến điều kiện xác minh (2) Điều rắc rối γ xuất dạng số mũ vế trái (2) song không vế phải Vì thế, γ rút gọn theo modulo q phải rút gọn toàn vế trái (2) theo modulo q để thực phép kiểm tra Nhận xét rằng, sơ đồ (1) không làm việc thực rút gọn theo modulo q (1) DSS mô tả đầy đủ sơ đồ Chú ý cần có δ ≡ (mod q) giá trị δ-1 mod q cần thiết để xác minh chữ kí (điều tương đương với yêu cầu UCLN(δ, p-1 ) =1 biến đổi (1) thành (2) Nếu Bob tính δ ≡ (mod q) theo thuật toán chữ kí, loại xây dựng chữ kí với số ngẫu nhiên k Cần rằng, điều không gần vấn đề thực tế: xác xuất để δ ≡ (mod q) xảy cở 2-160 nên không xảy Chuẩn chữ kí số 122 Giả sử p số nguyên tố 512 bít cho toán logarithm rời rạc Zp không giải được, cho p số nguyên tố 160 bít ước (p-1) Giả thiết α ∈ Zp bậc q modulo p: Cho p =Zp a = Zq× Zp định nghĩa : A = {(p,q,α ,a,β ) : β ≡ αa (mod p)} số p, q, α β công khai, có a mật Với K = (p,q,α ,a,β )và với số ngẫu nhiên (mật) k ,1 ≤ k ≤ q-1, ta định nghĩa: sigk (x,k) = (γ ,δ) γ =(αk mod p) mod q δ = (x +a γ )k-1 mod q Với x ∈ Zp γ ,δ ∈ Zq , qua trình xác minh hoàn toàn sau tính toán : e1= xδ-1 mod q e2= γδ -1 mod q verk(x, γ , δ) = true ⇔( αe1βe2 mod p) mod q = γ Ví dụ: Giả sử q =101, p = 78 q+1 =7879.3 phần tử nguyên thuỷ Z 7879 nên ta lấy: α = 378 mod 7879 =170 Giả sử a =75, : β = αa mod 7879 = 4576 Bây giả sữ Bob muốn kí điện x = 1234 chọn số ngẫu nhiên k =50, : k-1 mod 101 = 99 γ =(17030 mod 7879) mod 101 = 2518 mod 101 = 94 δ = (1234 +75 × 94) mod 101 = 96 123 Chữ kí (94, 97) điện 1234 xác minh tính toán δ-1 = 97-1 mod 101 =25 sau: e1 = 1234 × 25mod 101 = 45 e2 = 94 × 25 mod 101 =27 (17045 456727 mod 7879)mod =2518 mod 101 = 94 chữ kí hợp lệ Khi DSS đề xuất năm 1991, có vài trích đưa Một ý kiến cho rằng, việc xử lý lựa chọn NIST không công khai Tiêu chuẫn Cục An ninh Quốc gia (NSA) phát triển mà tham gia khôi công nghiệp Mỹ Bất chấp ưu sơ đồ, nhiều người đóng chặt cửa không tiếp nhận Còn trích mặt kĩ thuật chủ yếu kích thước modulo p bị cố định = 512 bít Nhiều người muốn kích thước thay đổi cần, dùng kích cỡ lớn Đáp ứng đòi hỏi này, NIST chọn tiêu chuẩn cho phép có nhiều cỡ modulo, nghĩa cỡ modulo chia hết cho 64 phạm vi từ 512 đến 1024 bít Một phàn nàn khác DSS chữ kí tạo nhanh việc xác minh Trong đó, dùng RSA làm sơ đồ chữ kí với số mũ xác minh công khai nhỏ (chẳng hạn = 3) xác minh nhanh nhiều so với việc lập chữ kí Điều dẫn đến hai vấn đề liên quan đến ứng dụng sơ đồ chữ kí: 1.Bức điện kí lần, song nhiều lại cần xác minh chữ kí nhiều lần nhiều năm Điều lại gợi ý nhu cầu có thuật toán xác minh nhanh 124 2.Những kiểu máy tính dùng để kí xác minh ? Nhiều ứng dụng, chẳng hạn thẻ thông minh có khả xử lý hạn chế lại liên lạc với máy tính mạnh Vi có nhu cầu thiết kế sơ đồ để có thực thẻ vài tính toán Tuy nhiên, có tình cần hệ thống tạo chữ kí, tình khác lại cần thẻ thông minh xác minh chữ kí Vì đưa giải pháp xác định Sự đáp ứng NIST yêu cầu số lần tạo xác minh chữ kí thực vấn đề yêu cầu tốc độ, miễn hai thể thực đủ nhanh 125 TÀI LIỆU THAM KHẢO [1] Douglas R stinson, Cryptography_ Theory and Practice, CRC Press, 1995 [2] Man Toung Rhee, Hanyang University, Cryptography and Secure Communications, McGRAW - HILL BOOK CO, 1994 [3] Ph.D William Stallings, Network and Internetwork Security Principles and Practice, PRENTICE HALL, 1995 [4] Phạm Huy Điển - Hà Huy Khoái, Mã hóa thông tin - Cơ sở toán học ứng dụng, Viện Toán học, 2004 [5] Hà Huy Khoái, Nhập môn số học thuật toán, Nhà xuất khoa học - 1997 [6] PGS-TS Thái Hồng Nhị - TS Phạm Minh Việt, An toàn thông tin Mạng máy tính, truyền tin số truyền liệu, Nhà xuất khoa học kỹ thuật, 2004 [7] PGS-TS Nguyễn Bình, Giáo trình Mật mã học, Nhà xuất bưu Điện, 2004 [8] Nguyễn Xuân Dũng, Bảo mật thông tin mô hình ứng dụng, NXB Thống kê 126 [...]... 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 Hộp S thứ 2 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 Hộp S thứ 3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 65 Hộp... 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 Hộp S thứ 5 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 66 Hộp S thứ 6 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8... 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 Hộp S thứ 7 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 Hộp S thứ 8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11... 68000 7.6 16 900 8 028 6 6.0 16 1.100 68 020 16.0 32 3.500 68030 16.0 32 3.900 69 8 028 6 25 .0 16 5.000 68030 50.0 32 9.600 68040 25 .0 32 16.000 68040 40.0 32 23 .20 0 80486 33.0 32 40.600 (Chú ý : Phần mềm này được viết trên C và Assembler, và có thể mua được từ Utimaco-Belgium, Interleuvenlaan 62A, B-300 leuven, Belgium Cỡ mã xấp xỉ 64K ANSI C thực hiện chậm hơn khoảng 20 %.) Một ứng dụng rất quan trọng của DES... trước, điều đó có nghĩa là thuật toán có thể được sử dụng cho cả mã hoá và giải mã Bảng hoán vị cuối cùng: 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 3.9 Giải mã DES Sau khi thay đổi, hoán vị, XOR, và dịch vòng, chúng ta có thể nghĩ rằng thuật toán giải mã phức tạp,... =24 Chọn e = 5 (e và Φ nguyên tố cùng nhau) Letter me m c=me mod n Encrypt I 1 524 8 32 cd c Decrypt 12 17 m=cd mod n 17 letter 4819685 721 06750915091411 825 223 0 720 00 123 .3 4 .2. 2 Một số thuật toán triển khai trong RSA *Thuật toán “bình phương và nhân” như sau: 85 I Tính xb mod n Trước hết biểu diễn b= ∑ i =0 bi 2i 2 trong đó bi = 0 hoặc 1, 0 ≤ i ≤ l-1 l −1 i) z=1 ii) cho i chạy từ giá trị l-1 về 0 z=z2... (straight permutation) Bảng hoán vị cho ta vị trí của mỗi bít cần chuyển Ví dụ, bít 4 chuyển tới bít 21 , trong khi bít 32 chuyển tới bít 4 Bảng hộp hoán vị P 67 16 7 20 21 29 12 28 17 1 2 24 14 32 27 3 8 9 15 23 26 5 19 13 30 6 18 31 10 22 11 4 25 Cuối cùng, kết quả của hộp hoá vị P được XOR với nửa trái của khối 64 bít khởi đầu Sau đó, nửa trái và phải được chuyển đổi cho nhau và một vòng mới được tiếp... lưu số nhớ * Nhân số lớn Khi nhân 2 số 32 bit sẽ tạo ra số 64 bít nhưng hiện nay máy tính không lưu được số 64 bít, nên nó chia số 64 bít thành 2 số 32 bít ( 32 bít thấp và 32 bít cao) Ban đầu nhớ = 0 32 bít low 32 bít high Như vậy khi nhân a0 x b0 + nhớ = c0 (c0 là số 64 bít), số c0 sẽ chia thành 2 số 32 bít và ghi vào mảng c phần tử c0 là số 32 bít thấp và số nhớ là 32 bít cao Phần tử tiếp theo c1 =... số nhị phân - Chia số nhị phân thành các khối 32 bít, lưu vào mảng, mỗi phần tử của mảng lưu 32 bít Ví dụ: giả sử a là số lớn được phân tích thành số nhị phân a = a0a1 an 32 bít 32 bít ………………… 32 bít a0 a1 ………………… an * Cộng hai số lớn: Số a a0 a1 …………… an Số b b0 b1 …………… bn Số c c0 c1 …………… cn 87 cn+1 Có một ô nhớ 32 bít để ghi số nhớ khi cộng 2 số, ban đầu ô nhớ này bằng 0 Khi cộng thì các phần tử... Nếu n là số nguyên tố thì θ(n) = n-1 Ví dụ: θ(7)=6 2 Nếu p, q là 2 số nguyên tố cùng nhau thi: θ(p*q)=θ(p)*θ(q) ví dụ θ (26 )=θ (2* 13)=θ (2) *θ(13)=1* 12= 12 3 Nếu p là số nguyên tố thi: θ(pr)=(p-1)*pr-1 Định lý: Nếu a, n là nguyên tố cùng nhau thi aθ(n)=1 mod n 83 4 .2 Hệ mật RSA 4 .2. 1 Thuật toán RSA RSA là tên viết tắt của ba tác giả Rivest, Sharmir, Adleman của trường MIT đã đề ra hệ mật mã công khai Hệ ... rộng E: 32 5 9 10 11 12 12 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 63 10 11 12 13 14 15 16 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 32 48 Hoán... Biến đổi vế phải đẳng thức trên: (xa ± Ly2) + L(xb mya )2 = x2a2 ± 2Labxy + L2y2b2 + Lx2b2 m2Labxy + Ly2a2 = a2(x2 + Ly2) + Lb2(Ly2 + x2)) = (a2 + Ly2)(x2 + Ly2) Sau Ơ le chứng minh rằng: Định lý:... bít 42, Bảng hoán vị khởi đầu 58 50 42 34 26 18 10 60 52 44 36 28 20 12 62 54 46 38 30 22 14 64 56 48 40 32 24 16 57 49 41 33 25 17 59 51 43 35 27 19 11 61 53 45 37 29 21 13 63 55 47 39 31 23

Ngày đăng: 03/12/2015, 05:23

Từ khóa liên quan

Mục lục

  • Cho n= p*q, p và q là các số nguyên tố. Cho P =A= Zn

  • ab 1(mod((n))). Các giá trị n và b là công khai, a giữ bí mật.

    • Cho p là số nguyên tố sao cho bài toán logarit rời rạc trên Zp là khó và giả sử   Zp là phần tử nguyên thuỷ của Zp* , a thuộc Zp-1 và định nghĩa:

    • Với x,  Zp và   Zp-1 , ta định nghĩa :

      • Chương 1

      • 1.1. Nội dung của an toàn và bảo mật thông tin

      • 1.2. Các chiến lược an toàn hệ thống

      • 1.3 Các mức bảo vệ trên mạng

        • c. Mã hoá dữ liệu

        • d. Bảo vệ vật lý

        • e. Tường lửa

        • 1.4. An toàn thông tin bằng mật mã

        • 1.5. Vai trò của hệ mật mã

        • 1.6. Phân loại hệ mật mã

        • 1.7. Tiêu chuẩn đánh giá hệ mật mã

        • 1.8 Một số ứng dụng của mã hóa trong security

        • Chương 2

        • CÁC PHƯƠNG PHÁP MÃ HÓA CỔ ĐIỂN

        • 2.1. Các hệ mật mã cổ điển

        • 2.1.1. Mã dịch vòng ( shift cipher)

        • 2.1.2. Mã thay thế

        • 2.1.3. Mã Affine

        • 2.1.4. Mã Vigenère

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

Tài liệu liên quan