Mật mã hóa Chuong8

13 501 2
Mật mã hóa Chuong8

Đ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

Mật mã hóa

7.1. Giả sử h: X Y là hàm hash. Với y bất kỳ Y, cho:h-1(y) = { x: h(x) = y}và ký hiệu sy = | h-1(y)|.Định nghĩa N = chơng 8phân phối và thoả thuận về khoá8.1 Giới thiệu:Chúng ta đã thấy rằng, hệ thống khoá công khai có u điểm hơn hệ thống khoá riêng ở chỗ không cần có kênh an toàn để trao đổi khoá mật. Tuy nhiên, đáng tiếc là hầu hết các hệ thống khoá công khai đều chậm hơn hệ khoá riêng, chẳng hạn nh DES. Vì thế thực tế các hệ khoá riêng thờng đợc dùng để các bức điện dài. Nhng khi đó chúng ta lại trở về vấn đề trao đổi khoá mật.Trong chơng này, chúng ta sẽ thảo luận vài biện pháp thiết lập các khoá mật. Ta phân biệt giữa phân phối khoá và thoả thuận vể khoá. Phân phối khoá đợc định nghĩa là cơ chế một nhóm chọn khoá mật và sau đó truyền nó đến các nhóm khác. Còn thoả thuận khoá là giao thức để hai nhóm (hoặc nhiều hơn) liên kết với nhau cùng thiết lập một khoá mật bằng cách liên lạc trên kênh công khai. Trong sơ đồ thoả thuận khoá, giá trị khoá đợc xác định nh hàm của các đầu vào do cả hai nhóm cung cấp.Giả sử, ta có một mạng không an toàn gồm n ngời sử dụng. Trong một số sơ đồ, ta có ngời uỷ quyền đợc tín nhiệm (TA) để đáp ứng những việc nh xác minh danh tính của ngời sử dụng, chọn và gửi khoá đến ngời sử dụng . Do mạng không an toàn nên cần đợc bảo vệ trớc các đối phơng. Đối phơng (Oscar) có thể là ngời bị động, có nghĩa là hành động của anh ta chỉ hạn chế ở mức nghe trộm bức điện truyền trên kênh. Song mặt khác, anh ta có thể là ngời chủ động. Một đối phơng chủ động có thể làm nhiều hành vi xấu chẳng hạn:1. Thay đổi bức điện anh ta nhận thấy là đang đợc truyền trên mạng.2. Cất bức điện để dùng lại sau này.3. Cố gắng giả dạng làm những ngời sử dụng khác nhau trên mạng.Mục tiêu của đối phơng chủ động có thể là một trong những cái nêu sau đây:1. Lừa U và V chấp nhận khoá không hợp lê nh khoá hợp lệ (khoá không hợp lệ có thể là khoá cũ đã hết hạn sử dụng, hoặc khoá do đối phơng chọn).2. Làm U hoặc V tin rằng, họ có thể trao đổi khoá với ngời kia khi họ không có khoá.Mục tiêu của phân phối khoá và giao thức thoả thuận khoá là, tại thời điểm kết thúc thủ tục, hai nhóm đều có cùng khoá K song không nhóm khác nào biết đợc (trừ khả năng TA). Chắc chắn, việc thiết kế giao thức có kiểu an toàn này khó khăn hơn nhiều trớc đối phơng chủ động.Trớc hết ta xem xét ý tởng về sự phân phối khoá trớc trong mục 8.2. Với mỗi cặp ngời sử dụng {U,V}, TA chọn một khoá ngẫu nhiên KU,V=KV,U và truyền ngoài dải đến U và V trên kênh an toàn. (Nghĩa là, việc truyền khoá không xảy ra trên mạng do mạng không an toàn ). Biện pháp này gọi là an toàn không điều kiện song nó đòi hỏi một kênh an toàn giữa TA và những ngời sử dụng trên mạng. Tuy nhiên điều quan trọng hơn là mỗi ngời phải lu n -1 khoá và TA cần truyền tổng cộng ( )n2khoá một cách an toàn (đôi khi bài toán này đợc gọi là bài toán n2). Thậm chí với một số mạng tơng đối nhỏ, giá để giải quyết vấn đề này là khá đắt và nh vậy giải pháp hoàn toàn không thực tế.Trong phần 8.2.1, chúng ta thảo luận một sơ đồ phân phối trớc khoá an toàn không điều kiện khá thú vị do Blom đa ra. Sơ đồ cho phép giảm lợng thông tin mật ngời sử dụng cần cất giữ trên mạng. Mục 8.2.2 cũng đa ra một sơ đồ phân phối trớc khoá an toàn về mặt tính toán dựa trên bài toán logarithm rời rạc.Một biện pháp thực tế hơn là TA phân phối khoá trực tiếp. Trong sơ đò nhvậy, TA làm việc nh một ngời chủ khoá (key server). TA chia khoá mật KU cho mỗi ngời sử dụng U trên mạng. Khi U muốn liên lạc với V, cô ta yêu cầu TA cung cấp khoá cho phiên làm việc (session key). TA tạo ra khoá session K và gửi nó dới dạng hoá cho U và V để giải mã. Hệ thống Kerboros mô tả trong mục 8.3 là dựa trên biện pháp này.Nếu nh cảm thấy vấn đề phân phối khoá thông qua TA không thực tế hoặc không mong muốn thì biện pháp chung là dùng giao thức thoả thuận khoá. Trong giao thức thoả thuận khoá, U và V kết hợp chọn một khoá bằng cách liên lạc với nhau trên kênh công khai. ý tởng đáng chú ý này do Martin và Diffie đa ra độc lập với Merkle. ở đây mô tả vài giao thc thoả thuận khoá phổ thông hơn. Giao thức đầu tiên của Diffie và Hellman đợc cải tiến để ứng phó với các đối phơng tích cực đợc nêu trong phần 8.4.1. Hai giao thức đáng quan tâm nữa cũng đợc xem xét: sơ đồ MTI nên trong 8.4.2 và sơ đồ Girault nêu trong mục 8.4.38.2 Phân phối khoá trớctheo phơng pháp cơ bản, TA tạo ra 2n khoá và đa mỗi khoa cho duy nhất một cặp ngời sử dụng trong mạng có n ngời sử dụng. Nh đã nêu ở trên, ta cần một kênh an toàn giữa TA và mỗi ngời sử dụng để truyền đi các khoá này. Đây là một cải tiến quan trọng vì số kênh an toàn cần thiết giảm từ 2n xuống còn n. Song nếu n lớn, giải pháp này cũng không thực tế cả về lợng thông tin cần truyền đi an toàn lẫn lợng thông tin mỗi ngời sử dụng phải cất giữ an toàn (nghĩa là các khoá mật của n-1 ngời sử dụng khác). nh vậy, điều cần quan tâm là cố gắng giảm đợc lợng thông tin cần truyền đi và cất giữ trong khi vẫn cho phép mỗi cặp ngời sử dụng U và V có khả năng tính toán khoá mật KU,V. Một sơ đồ u việt hơn thoả mãn yêu cầu này là sơ đồ phân phối khoá trớc của Blom.8.2.1 Sơ đồ Blom.Nh trên, giả thiết rằng có một mạng gôm n ngời sử dụng. Để thuận tiện, giả sử rằng các khoá đợc chọn trên trờng số hữu hạn ZP, p n là số nguyên tố. Cho k là số nguyên, 1 < k < n -2. Giá trị k để hạn chế kích thớc lớn nhất sơ đồ vẫn duy trì đợc mật độ. Trong sơ đồ Blom, TA sẽ truyền đi k +1 phần tử của ZP cho mỗi ng- ời sử dụng trên kênh an toàn (so với n -1 trong sơ đồ phân phối trớc cơ bản). Mỗi cặp ngời sử dụng U và V sẽ có khả năng tính khoá KU,V = KV,U nh trớc đây. Điều kiện an toàn nh sau: tập bất kì gồm nhiều nhất k ngời sử dụng không liên kết từ {U, V} phải không có khả năng xác định bất kì thông tin nào về KU,V. (chú ý rằng, ta đang xét sự an toàn không điều kiện).Trớc hết, xét trờng hợp đặc biệt của sơ đồ Blom khi k =1. ở đây TA sẽ truyền đi 2 phần tử của ZP cho mỗi ngời sử dụng trên kênh an toàn và ngời sử dụng riêng W sẽ không thể xác định đợc bất kì thông tin nào về KU,V nếu WU,V. Sơ đồ Blom đợc đa ra trong hình 8.1. Ta sẽ minh hoạ sơ đồ Blom với k = 1 trong ví dụ sau:Hình 8.1: Sơ đồ phân phối khoá của Blom (k =1)1. Số nguyên tố p công khai, còn với mỗi ngời sử dụng U, phần tử rU ZP là công khai. Phần tử rU phải khác biệt.2. Ta chọn 3 phần tử ngẫu nhiên a, b, c ZP (không cần khác biệt) và thiết lập đa thức 8.3.Kerborostrong các phơng pháp phân phối trớc khoá xem xét trong các phần trớc đó, mỗi cặp ngời sử dụng cần tính một khoá cố định. Nếu dùng cùng một khoá trong một thời gian dài sẽ dễ bị tổn thơng, vì thế ngời ta thờng thích dùng phơng pháp trực tiếp trong đó khoá của phiên lamà việc mới chỉ đợc tạo ra mỗi khi hai ngới sử dụng muốn liên lạc với nhau (gọi là tính tơi mới của khoá).Nếu dùng phân phối khoá trực tiếp thì ngời sử dụng mạng không cần phải lu các khoá khi muốn liên lạc với những ngời sử dụng khác (Tuy nhiên mỗi ngời đều đợc chia sẻ khoá với TA). Khoá của phiên làm việc (khóa session) sẽ đợc truyền đi theo yêu cầu của TA. Đó là sự đáp ứng của TA để đảm bảo khoá tơi.Korobos là hệ thống dịch vụ khóa phổ cập dựa trên khoá riêng. Trong phần này sẽ đa ra một tổng quan về giao thức phát hành khoá session trong Korobos. Mỗi ngời sử dụng U sẽ chia sẻ khoá DES mật KU cho TA. Trong phiên bản gần đây nhất của Korobos (version 5), mọi thông báo cần truyền đợc hoá theo chế độ xích khối (CBC) nh mô tả trong 3.4.1Nh trong mục 8.2.2, ID(U) chỉ thông tin định danh công khai cho U. Khi có yêu cầu khoá session gửi đến TA, TA sẽ tạo ra một khoá session mới ngẫu nhiên K. Cũng vậy, TA sẽ ghi lại thời gian khi có yêu cầu T và chỉ ra thời gian (thời gian tồn tại) L để K có hiệu lực. Điều đó có nghĩa là khoá K chỉ có hiệu lực từ T đến T+L. Tất cả thông tin này đều đợc hoá và đợc truyênông dân đến U và V. Trớc khi đi đến các chi tiết hơn nữa, ta sẽ đa ra giao thức trong hình 8.4. thông tin đợc truyền đi trong giao thức đợc minh hoạ nh sau:Hình 8.4: Truyền khoá session trong Korobos.1.Ta sẽ giải thích điều sắp sửa xảy ra trong các bớc của giao thức. Mặc dù không có chứng minh hình thức rằng Kerobos là an toàn trớc đối thủ tích cực, song ít nhất ta cũng có thể đa ra lí do nào đó về các đặc điểm của giao thức.Nh nêu ở trên, TA tạo ra K, T và L trong bớc 2. Trong bớc 3, thông tin này cùng với ID(V) đợc hoá bằng khoá KU (đợc U và TA chia sẻ) để tạo lập m1. Cả hai bức điện đã hoá này đợc gửi đến U.U có thể dùng khoá của mình giải m1, nhận đợc K, T và L. Cô sẽ xác minh xem thời gian hiện tại có nằm trong khoảng T đến T + L hay không. Cô cũng kiểm tra khoá session K đợc phát ra cho liên lạc giữa cô và V bằng cách xác minh thông tin ID(V) đã giải từ m2.Tiếp theo, U sẽ làm trễ thời gian m2 và m3 đến V. Cũng nh vậy, U sẽ dùng khoá session K mới để T và ID(U) và gửi kết quả m3 đến V.Khi V nhận đợc m3 và m3 từ U, V giải m2 thu đợc T, K, L và ID(U). Khi đó, anh ta sẽ dùng khoá session mới K để giải m3 và xác minh xem T và ID(U) nhận đợc từ m2 và m3 có nh nhau không. Điều này đảm bảo cho V rằng khoá session đợc bằng m2 cũng là khoá đã dùng để m3. Khi đó V dùng K để T+1 và gửi kết quả m4 trở về U.Khi U nhận đợc m4, cô dùng K giải nó và xác minh xem kết quả có bằng T+1 không. Công đoạn này đảm bảo cho U rằng khoá session K đã đợc truyền thành công đến V vì K đã đợc dùng để tạo ra m4.Điều quan trọng cần lu ý là các chức năng khác nhau của các thông báo dùng trong giao thức, m1 và m2 dùng để bảo đảm an toàn trong việc truyền khoá session. Còn m3 và m4 dùng để khẳng định khoá, nghĩa là cho phép U và V có thể thuyết phục nhau rằng họ sở hữu cùng một khoá session K. Trong hầu hết các sơ đồ phân phối khoá, sự khẳng định khoá đựoc coi nh một đặc tính. Thờng thì nó đợc thực hiện tơng tự kiểu Kerobos, U dùng K để ID(U) và T dùng để trong m2. Tơng tự, V dùng K để T+1. Mục đích của thời gian hệ thống T và thời hạn L để ngăn đối phơng tích cực khỏi lu thông báo cũ nhằm tái truyền lại sau này (đây đợc gọi là tấn công kiểu chơi lại - relay attack). Phơng pháp này hiệu quả vì các khoá không đợc chấp nhận là hợp lệ một khi chúng quá hạn.Một trong hạn chế của Kerobos là mọi ngời sử dụng trong mạng đều phải có đồng hồ đồng bộ với nhau vì cần có thời gian hiện tại để xác định khoá session K cho trớc là hợp lệ. Thực tế, rất khó có đợc sự đồng bộ hoàn hảo nên phải cho phép có khoảng thay đổi nào đó về thời gian.Hình 8.5: Trao đổi khoá Diffie - Hellman8.4 Trao đổi khoá Diffie - HellmanNếu ta không muốn dùng dịch vụ khoá trực tiếp thì buộc phải dùng giao thức thoả thuận khoá để trao đôỉ khoá mật. Trớc hết, giao thức thoả thuận khoá nổi tiếng nhất là giao thức trao đổi khoá Diffie - Hellman. Giả sử rằng, p là số nguyên tố, là phần tử nguyên thuỷ của ZP và chúng đều là những tham số công khai. Giao thức trao đổi khoá Diffie - Hellman đợc đa ra trong mục 8.5.Cuối giao thức, U và V tính ra cùng một khoá:Giao thức này cũng tơng tự với sơ đồ phân phối khoá trớc của Diffie - Hellman đã mô tả trớc đây. Sự khác nhau ở chỗ các số mũ aU, aV của U và V đều đ-ợc chọn lại mỗi lần thực hiện giao thức thay vì cố định. Cũng nh vậy, trong giao thức này, cả U lẫn V đều đợc đảm bảo khoá tơi vì khoá session phụ thuộc vào cả hai số mũ ngẫu nhiên aU và aV.8.4.1 Giao thức trạm tới trạm.Trao đổi khoá Diffie - Hellman đợc đề xuất nh sơ đồ sau:(Sơ đồ) Đáng tiếc là giao thức dễ bị tổn thơng trớc đối phơng tích cực - những ngời sử dụng tấn công kẻ xâm nhập vào giữa cuộc (Intuder - in -middle - attack). Đó là tình tiết của vở The Lucy show, trong đó nhân vật Vivian Vance đang dùng bữa tối với ngời bạn, còn Lucille Ball đang trốn dới bàn. Vivian và ngời bạn của cô nắm tay nhau dới bàn. Lucy cố tránh bị phát hiện đã nắm tay của cả hai ngời, còn hai ngời vẫn nghĩ rằng họ đang nắm tay nhau.Cuộc tấn công kiểu kẻ xâm nhập giữa cuộc trên giao thức trao đổi khoá Diffie - Hellman cũng nh vậy. W sẽ chặn bắt đợc các bức điện trao đổi giữa U và V và thay thế bằng các bức điện của anh ta nh sơ đồ dới đây:(sơ đồ)Tại thời điểm cuối của giao thức, U thiết lập thực sự khoá mật 'VUaacùng với W, còn V thiết lập khoá mật VUaa'với W. Khi U cố giải bức điện để gửi cho V, W cũng có khả năng giải nó song V không thể, (tơng tự tình huống nắm tay nhau nếu V gửi bức điện cho U).Rõ ràng, điều cơ bản đối với U và V là bảo đảm rằng, họ đang trao đổi khoá với nhau không có W. Trớc khi trao đổi khoá, U và V có thể thực hiện những giao thc tách bạch để thiết lập danh tính cho nhau, ví dụ, nhờ dùng một trong các sơ đồ định danh mô tả trong chơng 9. Tuy nhiên, điều này có thể đa đến việc không bảo vệ đợc trớc tấn công kẻ xâm nhập giữa cuộc nếu W vẫn duy trì một cách đơn giản sự tấn công thụ động cho đến khi U và V đã chứng minh danh tính của họ cho nhau. Vì thế giao thức thoả thuận khoá tự nó cần xác thực đợc các danh tính của những ngời tham gia cùng lúc khoá đợc thiết lập. Giao thức nh vậy đợc gọi là giao thức thoả thuận khoá đã xác thực.Ta sẽ mô tả một giao thức thoả thuận khoá là cải tiến của sơ đồ trao đổi khoá Diffie - Hellman. Giao thức giả thiết số nguyên tố p và phần tử nguyên thuỷ là công khai và nó dùng với các dấu xác nhận. Mỗi ngời sử dụng U sẽ có một sơ đồ chữ kí với thuận toán xác minh verU. TA cũng có sơ đồ chữ kí với thuật toán xác minh công khai verTA. Mỗi ngời sử dụng U có dấu xác nhận:C(U) = (ID(U), verU, sigTA(ID(U), verU))Trong đó ID(U) là thông tin định danh cho UHình 8.6 Giao thức trạm tới trạm đơn giản.Thoả thuận khoá đã xác thực do Diffie - Hellman, van Oorschot và Viener đa ra đợc gọi là giao thức trạm đến trạm (viết tắt là STS). Giao thức đa ra trên hình 8.6 đơn giản hơn một chút: nó có thể đợc dùng để có thể phù hợp với các giao thức của ISO 9798-3.Thông tin đợc trao đổi trong sơ đồ STS đã đơn giản hoá (gồm cả các dấu xác nhận) đợc minh hoạ nh sau:(sơ đồ) Ta hãy xem cách bảo vệ này trớc tấn công kẻ xâm nhập giữa cuộc. Nh trớc đây, W sẽ chặn bắt Uavà thay nó bằng 8.4.2. Các giao thức thoả thuận khoá MTIMatsumoto, Takashima và Imai đã xây dựng vài giao thức thoả thuận khoá đáng chú ý bằng cách biến đổi giao thức trao đổi khoá của Diffie - Hellman. Các giao thức này đợc gọi là MTI. Giao thức này không đòi hỏi U và V phải tính bất kì chữ kí nào. Chúng là các giao thức hai lần vì chỉ có hai lần truyền thông tin riêng biệt (một từ U đến V và một từ V đến U). Trái lại, giao thức STS đợc gọi là giao thức ba lần.Hình 8.7: Giao thức thoả thuận khoá MTI.Ta đã đa ra một trong các giao thức MIT. Việc thiết lập chúng giống nh giao thức phân phối khoá trớc Diffie Hellman. Giả thiết số nguyên tố p và phần tử nguyên thuỷ là công khai. Mỗi ngời sử dụng U đều có chuỗi ID(U), số mũ mật aU (0 aU p-2) và giá trị công khai tơng ứng:TA có sơ đồ chữ kí với thuật toán xác minh (công khai) verTA và thuật toán kí mật sigTA.Mỗi ngời sử dụng U sẽ có dấu xác nhận:C(U) = (ID(U), bU, sigTA(ID(U), bU)).Trong đó bU đợc thiết lập nh trên.Giao thức thoả thuận khoá MTI đợc đa ra trên hình 8.7. Cuối giao thức U và V đều tính cùng một khoá:K =Dới đây là ví dụ minh hoạ giao thức này:Ví dụ 8.3.Giả sử p = 27803, = 5. Giả sử U chọn aU = 21131: sau đó cô ta tính:bU = 521131 mod 27803 = 21420.đợc đóng trên giấy xác nhận của cô. Cũng nh vậy, V chọn aV = 17555. Sau đó anh ta sẽ tính:bV =517555 mod 27803 = 17100.đợc dặt trên giấy xác nhận của anh.Bây giờ giả sử rằng U chọn rU =169, sau đó cô gửi giá trị:sU = 5169 mod 27803 = 6268.đến V. Lúc đó giả sử V chọn rV = 23456, sau đó anh ta gửi giá trị: sU = 523456 mod 27803 = 26759đến U.Bây giờ U tính khoá:KU,V = = 626817555 2142023456 mod 27803 = 21600.Nh vậy, U và V đã tính cùng một khóa. Thông tin đợc truyền trong giao thức đợc miêu tả nh sau:(sơ đồ)Hãy xét độ mật của sơ đồ. Không khó khăn nhận thấy rằng, độ mật của giao thức MTI trớc tấn công thụ động đúng bằng bài toán Diffie Hellman. Cũng nh nhiều giao thức, việc chứng minh tính an toàn trớc tấn công chủ động không phải đơn giản, chúng ta sẽ không thử chứng minh bất cứ điều gì về điều này và tự hạn chế đến một số đối số không hình thức.Đây là một mối nguy hiểm có thể xem xét: Khi không dùng chữ kí trong suốt quá trình thực hiện giao thức, có thể xuất hiện tình huống không có sự bảo vệ nào trớc tấn công xâm nhập vào điểm giữa. Quả thực, có khả năng W có thể chọn các giá trị U và V gửi cho nhau. Dới đây mô tả một tình huống quan trọng có thể xuất hiện:(sơ đồ)Trong trờng hợp này, U và V sẽ tính các khoá khác nhau: U tínhK =Trong khi đó V tính:K =Tuy nhiên, W không thể tính toán ra khoá của U và V vì chúng đòi hỏi phải biết số mũ mật aU và aV tơng ứng. Thậm chí ngay cả khi U và V tính ra các khoá khác nhau (mà dĩ nhiên là không dùng chúng) thì W cũng không thể tính đợc khoá nào trong chúng. Nói cách khác, cả U lẫn V đều đợc bảo đảm rằng, ngời sử dụng khác trên mạng chỉ có thể tính đợc khoá họ tính đợc. Tính chất này đôi khi đợc gọi là xác thực khoá ẩn (implicit key authentication)8.4.3 Thoả thuận khoá dùng các khoá tự xác nhậnTrong phần này, ta mô tả một phơng pháp thoả thuận khoá do chính Girault đa ra không cần dấu xác nhận. Giá trị của khoá công khai và danh tính ngời sở hữu nó sẽ ngầm xác thực lẫn nhau.Sơ đồ Girault kết hợp các tính chất của RSA và các logarithm rời rạc. Giả sử n = pq, p =p1+1, q = 2ql+1, còn p, q, p1và q1 đều là các số nguyên tố lớn. Nhóm nhân Zn* là đẳng cấu với Zp*ìZq*. Bậc cực đại của phần tử bất kì trong Zn* bởi vậy là bội chung nhỏ nhất của p - 1 và q - 1, hoặc 2p1q1. Cho là phân tử có bậc 2p1q1. Khi đó nhóm cyclic của Zn* do tạo ra là thiết lập thích hợp của bài toán logarithm rời rạc. Trong sơ đồ Girault, chỉ TA biết đợc phân tích nhân tử của n. Các giá trị n và là công khai, song p, q, p1 và q1 đều là mật. TA chọn số mũ mã công khai RSA, kí hiệu là e. Số mũ giải tơng ứng bí mật là d (nhớ rằn d = e-1mod (n)).Mỗi ngời sử dụng U có một chuỗi ID(U) nh trong các sơ đồ trớc đây. U nhận đợc khoá tự xác nhận công khai pU từ TA nh nêu trên hình 8.8. Nhận xét rằng, U cần TA giúp đỡ để tạo pU. Cũng chú ý rằng:bU = pUe + ID(U) mod nHình 8.8: Nhận khoá tự xác nhận từ TA1. U chọn số mũ mật aU và tính:bU =2. U đa aU và bU cho TA3. TA tính:pU = (bU - ID(U))d mod n4. TA đa pU cho UCó thể tính từ pU và ID(U) bằng thông tin công khai có sẵn.Giao thức thoả thuận khoá Girault đợc đa ra trên hình 8.9. Thông tin truyền đi trong giao thức nh sau:U VCuối giao thức, U và V tính khoá:nKUVVUararmod+=Dới đây là một ví dụ về trao đổi khoá trong sơ đồ Girault.Ví dụ 8.4:Giả sử p =839, q = 863. Khi đó n = 724057 và (n) = 722356. Phần tử =5 có bậc 2p1q1 = (n)/2. Giả sử TA chọn d = 125777 làm số mũ giải RSA, khi đó e = 84453.Giả sử U có ID(U) = 500021 và aU = 111899. Khi đó bU = 488889 và pU =650704. Cũng giả thiết rằng V có ID(V) = 500022 và aU = 123456. Khi đó bV = 111692 và pV = 683556.Bây giờ U và V muốn trao đổi khoá. Giả sử U chọn rU =56381, nghĩa là sU=171007. Tiếp theo, giả sử V chọn rV = 356935, nghĩa là sV =320688.Khi đó cả U lẫn V sẽ tính cùng một khoá K = 42869. Hình 8.9: Giao thức thoả thuận khoá của Girault1. U chọn rU ngẫu nhiên và tínhsu =2. U gửi ID(U), pU và sU cho V.3. V chọn rV ngẫu nhiên và tínhsV =nVrmod4. V gửi ID(V), pV và sV cho UID(U), pU, nUrmodID(V), pV,nVrmod [...]... tính khoá K = rU av + rv aU mod n W có thể tính K nh sau: ' ' e K ' = s vaU ( pV + ID(V )) rU mod n Nh vậy, W và V chia sẻ nhau một khoá, song V nghĩ anh ta đang chia khoá với U Nh vậy, W sẽ có thể giải đợc bức điện V gửi cho U 8.5 Các chú ý và tài liệu tham khảo Blom đã đa ra sơ đồ phân phối khoá của ông trong [BL85] Các bài báo có tính chất tổng quát hoá cũng có trong một số bài báo khác của ông... Oorschot [RV94] và Van Tilburg [VT93] Bài tập 8.1 Giả sử sơ đồ Blom với k =1 đợc thực hiện cho tập 4 ngời sử dụng, U, V, W và X Giả thiết p = 7873, rU = 2365, rV =6648, rW = 1837 còn rX = 2186 Các đa thức mật g nh sau: gU(x) = 6018 + 6351x gV(x) = 3749 + 7121x gW(x) = 7601 + 7802x gX(x) = 635 + 6828x a/ Tính khoá cho mỗi cặp ngời sử dụng, xác minh rằng mỗi cặp nhận đợc một khoá chung (nghĩa là KU,V = KV,U... cách W và X cùng nhau tính khoá KV,U 8.2 Giả thiết sơ đồ Blom với k = 2 đợc thực hiện cho tập 5 ngời sử dụng U, V, W, X và Y Giả thiết p = 97, rU = 14, rV = 38, rW = 92, rX =69 còn rY = 70 Các đa thức mật g nh sau: gU(x) = 15 + 15x + 2x2 gV(x) = 95 + 77x + 83x2 gW(x) = 88 + 32x + 18x2 gX(x) = 62 + 91x + 59x2 gY(x) = 10 + 82x + 52x2 a/ Chỉ ra cách U và V tính khoá KU,V = KV,U b/ Chỉ ra cách W, X và Y . hết các hệ thống mã khoá công khai đều chậm hơn hệ mã khoá riêng, chẳng hạn nh DES. Vì thế thực tế các hệ mã khoá riêng thờng đợc dùng để mã các bức điện. session đợc mã bằng m2 cũng là khoá đã dùng để mã m3. Khi đó V dùng K để mã T+1 và gửi kết quả m4 trở về U.Khi U nhận đợc m4, cô dùng K giải mã nó và xác

Ngày đăng: 10/11/2012, 12:16

Từ khóa liên quan

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

Tài liệu liên quan