Phép phân tích an toàn:

Một phần của tài liệu CHỮ KÝ KHÔNG CHỐI BỎ ĐƯỢC VÀ ỨNG DỤNG (Trang 45 - 48)

II. Hàm Hash

5. Phép phân tích an toàn:

Để chỉ ra rằng cấu trúc là an toàn, chúng ta giả sử rằng lược đồ chữ ký Schnorr và chữ ký Chaum – Petersen dựa vào đẳng thức của thuật toán rời rạc là an toàn. Phép chứng minh ký tương tác Fujioka – Okamoto – Ohta của đẳng thức là an toàn, đúng đắn và chứng cớ không phân biệt được. Phép chứng minh an toàn này có thể được chứng minh trong mô hình Oracle ngẫu nhiên. Dưới đây là các chứng minh chỉ ra rằng cấu trúc của chữ ký người xác nhận không thể chối bỏ là không giả mạo, không thể phân biệt được và sự kiểm tra chữ ký là nhất quán.

5.1. Ch ký không th gi mo:

Định nghĩa: Đặc tính không thể giả mạo chữ ký vững chắc.

Ngoại trừ với xác suất không đáng kể, không tồn tại thuật toán trong thời gian đa thức theo xác suất A mà có thể sinh ra chữ ký σ trên thông báo đặc biệt m, kiểm tra với

khóa công khai y khi truy cập đến chữ ký Oracle của tất cả khóa công khai y* cho tất cả các thông báo cần truy cập đến y để được thông báo m. Ở đây khi mọi thông báo m*, chữ ký Oracle của khóa công khai y* sinh ra chữ ký σ* của m* kiểm tra với y*.

Bằng trực giác, đặc tính không thể giả mạo chữ ký vững chắc có nghĩa rằng khi truy cập đến chữ ký Oracle của tất cả các chữ ký công khai tin cậy cho tất cả các thông báo cần chữ ký mong muốn, nó là không thể sinh ra σ dưới khóa công khai mong muốn, trên thông báo mong muốn m.

Định nghĩa này thuyết phục hơn khái niệm chữ ký an toàn chuẩn. Nó là bản sao tương đương của an toàn đối lập với các lựa chọn thích hợp đặc tính tấn công văn bản mật mã của lược đồ giải mã. Do đó, lược đồ chữ ký là không thể giả mạo vững chắc nếu nó thỏa mãn đặc tính không thể giả mạo chữ ký vững chắc.

Bổđề: Chữ ký σ = (σ1, σ2) là chữ ký qua được sự kiểm tra chỉ nếu σ1 = CP(r, α, αs+c, g, gs+c)(m), σ2 = S(sr, g, αs)(σ1) và r1 = r2.

Chứng minh:

Nếu σ là tin cậy, (σ1 và σ2 được thành lập là σ1 = CP(r, α, αs+c, g, gs+c)(m), σ2 = S(sr, g, αs)(σ1). Còn lại chứng tỏ r1 = r2. Chúng ta giả sử rằng s khác 0.

Chữ ký σ được coi là tin cậy nếu nó trải qua một trong hai bước thử kiểm tra, đó là kiểm tra đối với người xác thực và kiểm tra đối với người ký.

Kiểm tra đối với người xác nhận phải thực hiện phép chứng minh ký

Bi – Proof [logg(gc) ≡ logα(αc)]. Do đó nó chỉ ra rằng αc = αc hoặc αc = αs+c/ αs. Hơn nữa σ1, σ2 là đúng => tồn tại r1 và sr2, xem rằng:αs+c =gr1 c s+ = g(s+c)r1 , αs = gsr2 ⇒ αc = gcr1= g(s+c)r1/ gsr2 ⇒ gsr1 =gsr2 Vì s ≠ 0 ⇒ r1 = r2.

Với trường hợp kiểm tra đối với người ký tương tự như trên.

Định lý: Trong mô hình Oracle ngẫu nhiên, chữ ký người xác nhận không thể chối bỏ là không thể giả mạo.

Chứng minh:

Theo bổ đề trên, chữ ký σ+ là tin cậy nếu σ+

1 = CP(r1, α, αs+c, g, gs+c)(m), σ+ 2 = S(sr2, g, αs)(σ+ 1) và r1 = r2. Điều này có nghĩa rằng nếu tồn tại thời gian đa thức đối thủ A thành công tạo ra cả σ+ 1 và σ+ 2, sau đó A phải biết r1, r2s và khóa bí mật s. Vì vậy chỉ có một viễn cảnh rằng A có thể giả mạo σ+ mà không cần truy cập đến khóa bí mật s để đạt được hoặc σ+ 1 hoặc σ+ 2. Giả sử A đạt được σ+ 1 , σ+ 2 hình thành từ chữ ký σ* = (σ+ 1,σ*

2). Theo bổđề trên, điều này có nghĩa là σ* 2, σ+

2 đã được tạo ra cùng một khóa bí mật r2s => A biết bí mật để tạo σ*

2. Điều này mâu thuẫn với đặc tính không thể giả mạo vững chắc của σ2.

5.2. Ch ký không th phân bit:

Định nghĩa 4: (chữ ký bị giả mạo)

Cho x, gy = gy và gz = gz, chữ ký giả mạo σ* = (σ* 1, σ*

2) trên thông báo m được tính:

σ*

1= CP(x, X, Xy+c, g, gy+c) và σ*

2= S(z, g, yz)( σ* 1)

Trong đó c, gc là khóa bí mật và công khai của người xác nhận, X = gx, Xy+c = gx c y+ gy+c = gygc.

Chữ ký như trên được đặt dưới mô hình Oracle ngẫu nhiên. Phần đầu của chữ ký là σ*

1 có thể luôn luôn được thành lập khi biết x. Phần tiếp theo của chữ ký là σ*

2, chữ ký Schnorr kiểm tra dùng khóa công khai gz = gz. Chữ ký Schnorr (u, v) được giả mạo trong mô hình Oracle ngẫu nhiên. Điều này thực hiện bằng cách chọn u, v ngẫu nhiên và Oracle ngẫu nhiên giả mạo trong cách mà nó có các đầu ra u với đầu vào (m || y || g || gvyu).

Định lý: Trong mô hình Oracle ngẫu nhiên, nếu tồn tại người giả mạo A mà có thể phân biệt chữ ký tin cậy từ chữ ký giả mạo đã được tạo ra dùng định nghĩa ở trên trong thời gian đa thức theo xác suất thì có một thuật toán giải quyết vấn đề Diffie – Hellman trong thời gian đa thức theo xác suất.

Chứng minh:

Giả sử có một đối thủ A mà có thể phân biệt chữ ký tin cậy σ từ chữ ký giả mạo σ* dùng thông tin công khai.

Ký hiệu tập hợp của tất cả (a, gb, gc⏐ab = c) là D và ( a, gb, gc ⏐a∈R Z*

q ) là X. Lấy t* = (x1, gy, gz ) ∈ D, t+ = (x2, gy, gz )∈ X. Theo định nghĩa của chữ ký giả mạo, A có thể tạo ra 2 chữ ký giả mạo σ*, σ+ lần lượt từ t*, t+. Ởđây khóa công khai của người ký là gy.

Theo bổđề trong phần [VI.5.1 ], σ là chữ ký tin cậy, σ+ là chữ ký không tin cậy. Ngoài ra sự thuận lợi của A trong phân biệt σ* từ σ+là không đáng kể hơn phân biệt giữa t* và t+. Vì vậy nếu A có khả năng nhận biết chữ ký chính xác từ σ* và σ+, chúng ta nói rằng t* hoặc t+ hình thành từ D. A đã giải quyết được vấn đề của Diffie – Hellman.

5.3. Tính nht quán ca kim tra ch ký:

Theo bổđề phần [ VI.5.1 ], chữ ký là tin cậy chỉ khi hoặc αs+c /αs = αc hoặc αs = αs. Nó không phức tạp để chỉ ra sự tương quan đối lập, nói cách khác nếu đạt được hoặc αs+c /αs = αchoặc αs = αs thì σ1 là phép chứng minh hợp lý của tri thức và đẳng thức, σ2 là chữ ký tin cậy, σ là chữ ký đúng. Vì vậy tính nhất quán của sự kiểm tra chữ ký tuân theo tính đúng và hợp lý của phép chứng minh ký của tri thức.

Một phần của tài liệu CHỮ KÝ KHÔNG CHỐI BỎ ĐƯỢC VÀ ỨNG DỤNG (Trang 45 - 48)

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

(63 trang)