Thuật toán:

Một phần của tài liệu giáo trình an toàn và bảo mật thông tin (Trang 108 - 112)

. Các chỉ số trùng hợp tương hỗ quan sát được

x2 j ≡ p

4.3.2.2. Thuật toán:

*Tạo khóa:

-Chọn dãysiêutăngS={s1,s2,…,s3} -Chọn psaochop>∑si (i=1..n)

-Chọn asaocho 1<a<p-1 và(a,p)=1; -tính t=a.smodp

=> khóacôngkhailàt, khóabímậtlà:a, p,S *Mã: Chọnbản rõlàdãynhịphânx=(x1,x2,…,xn) Tínhbản mãy=∑xi.ti(i=1..n) Gửibảnmã y *Giải mã: -Tính C=a-1.ymodp

-Giải bàitoánbalôvới Slàdãysiêutăngvàsốdương Cđểtìmbảnrõx *Chứngminhtínhđúng củahệmậtmãbalô(Bạnđọctựchứngminh) Vídụ:

http://www.ebook.edu.vn 97

Chương5 Các sơđồ chữkísố 5.1.Giớithiệu.

Trong chương này, chúng ta xemxét các sơđồchữ kí số(còn được gọi là chữkísố).Chữkíviết taythôngthườngtrên tàiliệuthường đượcdùngđể xác người kí nó. Chữ kí được dùng hàng ngày chẳng hạn như trên một bức thư nhậntiềntừnhàbăng,kíhợp đồng…

Sơ đồ chữ kí là phương pháp kí một bức điện lưu dưới dạng điện tử.

Chẳng hạn mộtbứcđiện cóký hiệu đượctruyền trên mạngmáy tinh.Chương này trình bày một vài sơ đồ chữ kí số.Ta sẽ thảoluận trên mộtvài khác biệt cơ bảngiữacácchữkíthôngthường vàchữkísố.

Đầu tiênlà mộtvấn đềkímột tàiliệu. Với chữ kíthông thường,nólà một phần vậtlý của tàiliệu. Tuy nhiên, một chữ kísố khônggắn theokiểu vậtlý vào bức điện nênthuật toán được dùng phải “không nhìn thấy”theo cách nào đótrênbứcđiện.

Thứ hai là vấn đề về kiểm tra. Chữ kí thông thường được kiểm tra bằng cách so sánh nó với các chữ kí xác thực khác. Ví dụ,ai đó kí một tấm séc để mua hàng, người bán phải so sánh chữ kí trên mảnh giấy với chữ kí nằm ở mặt saucủa thẻtíndụng đểkiểm tra. Dĩnhiên, đây khôngphải làphươg pháp an toàn vì nó dể dàng giả mạo. Mắt khác, các chữ kí số có thể được kiểm tra nhờ dùng một thuật toán kiểm tra công khai. Như vậy, bất kỳ ai cũng có thể kiểm tra dược chữ kí số. Việc dùng một sơ đồ chữ kí an toàn có thể sẽ ngăn chặnđược khảnănggiảmạo.

Sự khácbiệt cơ bản khác giữachữ kísố và chữkí thông thường bản copy tàiliệu đượckíbăng chữkísốđồngnhấtvớibảngốc, còncopytàiliệucó chữ kí trên giấy thường có thể khác với bản gốc. Điều này có nghĩa là phải cẩn thận ngăn chăn một bức kí số khỏi bị dung lại. Vì thế, bản thân bứcđiện cần

chứathôngtin(chẳnghạnnhưngàytháng) đểngănnókhỏibịdùnglại.

Một sơ đồ chữ kí số thường chứa hai thành phần: thuật toán kí và thuật toán xác minh. Bob có thể kí bức điện x dùng thuật toán kí an toàn. Chữ kí http://www.ebook.edu.vn 98

y=sig(x) nhận được có thể kiểm tra bằng 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í được thực như thế nào. Dưới đây là định nghĩa hình thứccủachữkí:

Định nghĩa:

Một sơ đồ chữ kí số là bộ 5( P, A, K, S, V) thoả mãn các điều kiện dưới đây:

1. Plà tậphữuhạn cácbứcđiệncóthể. 2. Alàtập hữuhạn cácchữkícóthể.

3. Kkhông giankhoálàtậphữuhạncáckhoácóthể.

4. Với mỗik thuộc K tồn tạimột thuật toán kí sigk ∈ S và là mộtthuật

toán xác minh verk∈ V. Mỗi sigk : P → A và verk: P×a

→{true,false} là nhữnghàm sao chomỗi bức điệnx∈ P và mốichữ kí y∈ Athoảmãnphươngtrìnhdưới đây.

True nếuy=sig(x) verk

Falsenếu y#sig(x)

Với mỗik thuộcK hàm sigk và verk làcác hàmthờithan đa thức.Verk

sẽ là hàmcông khai sigk là mật.Không thể dể dàng tính toán để giả mạo chữ kí của Bob trên bức điện x. Nghĩa là x cho trước, chỉ có Bob mới có thể tính được y để verk = True. Một sơ đồ chữ kí không thể an toàn vô điều kiện vì

Oscar có thể kiểm tra tất cả các chữ số y có thể có trên bức điện x nhờ ung

thuật toán ver côngkhai cho đến khi anhta tìm thấy mộtchữ kí đúng. Vi thế, nếu cóđủthờigian. Oscarluôn luôncóthể giảmạochữkí củaBob. Nhưvậy,

giống như trường hợp hệ thống mã khoá công khai, mục đích của chúng ta là tìmcác sơđồchữkísố antoanvềmặttínhtoán.

Xem thấy rằng, hệ thống mã khoá công khai RSA có thể ung làm sơ đồ

chữkísố.

http://www.ebook.edu.vn 99

Như vậy, Bobkí bứcđiện xdùng quitắc giảimã RSAlà dk.Bob làngười tạo rachữkívìdk =sigklà mật.Thuật toánxácminhdùng quitắcmãRSA ek. Bấtkì aicũngcóthểxácminhchữkíviekđược côngkhai.

Chú ýrằng,aiđó cóthểgiảmạo chữkí củaBobtrên mộtbứcđiện “ngẫu nhiên” xbằng cáchtìm x=ek(y)với ynàođó,khi đóy= sigk(x). Mộtgiải pháp xung quanhvấn đề khókhăn nàylà yêucầu bứcđiệnchưa đủphần dưđể chữ kí giả mạo kiểu này không tương ứng với bức điện. Nghĩa là x trừ một xác suất rất bé. Cóthể dùng các hàm hash trong việc kết nốivới các sơ đồ chữ kí sốsẽ loạitrừđượcphươngpháp giảmạonày.

Sơ đồchữkíRSA

Chon=p.q,p vàqlàcácsốnguyêntố. ChoP=A= Zn

ab ≡ 1(mod(φ (n))). Cácgiátrịnvàblàcôngkhai, agiữbímật. Hàmkí:

sigk(x)=xamodn vàkiểmtrachữkí:

verk(x,y)=true ⇔x≡

yb(modn) (x,y ∈

Zn)

Ta xét tóm tắt cách kết hợp chữ kí và mã khoá công khai. Giả sử rằng, Alice tínhtoánchữ kíy= sigAlice(x)vàsau đómã cảxvà ybằng hàmmãkhoá công khai eBob của Bob, khi đó cô ta nhận được z = eBob(x,y). Bản mã z sẽ được truyềntớiBob. KhiBobnhận đượcz, anhtasẽ trướchết sẽgiảimã hàm

dBob để nhận được (x,y). Sau đó anh ta ung hàm xác minh công khai của

Aliceđểkiểmtra xemverAlice(x,y)cóbằngTrue haykhông.

khi đócôtính:

y=sigAlice(eBob(x)).

Alice sẽ truyền cặp (z,y) tới Bob. Bob sẽ giải mã z, nhận x và sau đó xác minh chữ kí y trên x nhờ dùng verAlice. Một vấn đề tiểm ẩn trong biện pháp này là nếu Oscar nhận được cặp (x,y) kiểu này, được ta có thay chữkí y của Alicebằng chữkí củamình.

Y, =sigOscar(eBob(x)). http://www.ebook.edu.vn 100

(Chú ý, Oscar có thể kí bản mã eBob(x) ngay cả khi anh ta không biết bản rõx). Khi đónếuOscar truyền(x, y )đếnBob thìchữkíOscar đượcBob xác minh bằng verOscar vàBob có thể suy ra rằng, bản rõx xuất phát từOscar. Do khókhănnày, hầuhếtngườisửdụngđượckhuyếnnghị nếukítrướckhimã.

Một phần của tài liệu giáo trình an toàn và bảo mật thông tin (Trang 108 - 112)

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

(122 trang)
w