Sau đõy ta sẽ mụ tả sơ đồ chữ kớ Elgamal đó từng giới thiệu trong bài bỏo năm 1985. Bản cải tiến của sơ đồ này đó đƣợc Viện Tiờu chuẩn và Cụng Nghệ Quốc Gia Mỹ (NIST) chấp nhận làm chữ kớ số. Sơ đồ Elgamal (E) đƣợc thiết kế với mục đớch dành riờng cho chữ kớ số, khỏc sơ đồ RSA dựng cho cả hệ thống mó khúa cụng khai lẫn chữ kớ số.
Sơ đồ chữ kớ số Elgamal là khụng tất định giống nhƣ hệ thống mó khúa cụng khai Elgamal. Điều này cú nghĩa là cú nhiều chữ kớ hợp lệ trờn bức điện cho trƣớc bất kỡ. Thuật toỏn xỏc minh phải cú khả năng chấp nhận bất kỡ chữ kớ hợp lệ khi xỏc thực.
Sơ đồ chữ kớ của hệ mật Elgamal bao gồm 3 thành phần sau: Cấu trỳc khúa, thuật toỏn kớ và phƣơng trỡnh xỏc minh chữ kớ cụ thể:
a. Thuật toỏn tạo khúa
Bob tạo ra một nhúm G bậc p với phần tử sinh α. Bob chọn một số ngẫu nhiờn a từ trong tập {0,…,p-1}.
Bob tớnh toỏn giỏ trị β = αa.
Bob đƣa kốm β, cựng với nhúm đựoc mụ tả trờn là (G, p, α) nhƣ là khúa cụng khai của mỡnh. Cũn phần tử α Bob giữ lại riờng mỡnh và giữ nú nhƣ là khúa bớ mật.
b. Thuật toỏn kớ chữ kớ số
Quỏ trỡnh Bob kớ trờn thụng điệp m cú độ dài là x, để gửi cho Alice dựa trờn khúa cụng khai (G, p, α, β) của Bob nhƣ sau:
Bước 1: Bob chọn một số ngẫu nhiờn k từ tập {0, …, p-1}, sau đú tớnh toỏn giỏ trị.
Bước 2: Bob tớnh giỏ trị s = (x-ar)k-1 (mod p-1).
Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
c. Xỏc minh chữ kớ số
Từ bản mó (r, s) mà Bob gửi cho kết hợp với mó cụng khai của Bob. Alice thực hiện kiểm tra chữ kớ theo phƣơng trỡnh sau
Chứng minh hệ mật mó Elgamal Ta cú: s = (x-ar)k-1 (mod p-1). ks =(x-ar) (mod p-1) x ks +ar (mod p-1)
Chỳng ta hóy xột một vớ dụ nhỏ minh họa. Giả sử cho p = 467, α = 2, a = 127, khi đú: β = αa
mod p = 2127 mod 467 = 132
Nếu Bob muốn kớ lờn bức điện x = 100 và chọn số ngẫu nhiờn k = 213 chỳ ý là gcd(213, 466) = 1 và 213-1 mod 466 = 431. Khi đú
r = 2213 mod 467 = 29
và s = (100-127 x 29)431 mod 466 = 51.
Bất kỡ ai cũng cú thể xỏc minh chữ kớ bằng cỏch kiểm tra: 13229 2951 189 (mod 467)
Và 2100 189 (mod 467) Vỡ thế chữ kớ là hợp lệ.
2.3.3. Độ an toàn của sơ đồ chữ kớ số Elgamal
Giả sử, Oscar thử giả mạo chữ kớ trờn bức điện x cho trƣớc khụng biết a. Nếu Oscar chọn và sau đú thử tỡm giỏ trị tƣơng ứng, anh ta phải tớnh logarit rời rạc . Mặt khỏc, nếu đầu tiờn ta chọn và sau đú thử tỡm và giải thử phƣơng trỡnh:
Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
Để tỡm . Đõy là bài toỏn chƣa cú lời giải nào. Tuy nhiờn, dƣờng nhƣ nú chƣa đựợc gắn với bài toỏn đó nghiờn cứu kĩ nào nờn vẫn cú khả năng cú cỏch nào đú để tớnh và đồng thời để ( ) là một chữ kớ. Hiện thời khụng ai tỡm đƣợc cỏch giải song cũng khụng ai khẳng định đƣợc rằng nú khụng thể giải đƣợc.
Nếu Oscar chọn và và sau đú tự giải tỡm x, anh ta sẽ phải đối mặt với bài toỏn logarit rời rạc, tức bài toỏn tớnh logαβ. Vỡ thế Oscar khụng thể kớ một bức điện ngẫu nhiờn bằng biện phỏp này. Tuy nhiờn, cú một cỏch để Oscar cú thể kớ lờn bức điện ngẫu nhiờn bằng việc chọn và x đồng thời: Giả thiết i và j là cỏc số nguyờn 0 ≤ i ≤ p-2, 0 ≤ j ≤ p-2 và gcd(j, p-2) = 1.
Khi đú thực hiện cỏc tớnh toỏn sau
Trong đú j-1 đƣợc tớnh theo modulo (p-1) (ở đõy đũi hỏi j nguyờn tố cựng nhau với p-1).
Ta núi rằng ( ) là chữ kớ hợp lệ của x. Điều này đƣợc chứng minh qua việc kiểm tra xỏc minh:
Ta sẽ minh họa bằng một vớ dụ sau Vớ dụ 2.12
Giống nhƣ vớ dụ trƣớc cho p = 467, α = 2, β = 132. Giả sử Oscar chọn i = 99, j = 179; khi đú j-1
mod (p-1) = 151. Anh ta tớnh toỏn nhƣ sau:
x 151 mod 466 = 51 x = 99 x 41 mod 466 = 331
Khi đú (117, 41) là chữ kớ hợp lệ trờn bức điện 331 nhƣ thế đó xỏc minh qua phộp kiểm tra sau:
132117 11741 303 (mod 467) Và 2331 303 (mod 467) Vỡ thế chữ kớ là hợp lệ.
Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
Sau đõy là kiểu giả mạo thứ hai trong đú Oscar bắt đầu bằng bức điện đƣợc Bob kớ trƣớc đõy. Giả sử ( ) là chữ kớ hợp lệ trờn x. Khi đú Oscar cú khả năng kớ lờn nhiều bức điện khỏc nhau. Giả sử i, j, h là cỏc số nguyờn tố, 0 ≤ h, i, j ≤ p-2và gcd (h γ – j δ, p-1) = 1. Ta thực hiện tớnh toỏn sau:
Trong đú đƣợc tớnh theo modulo (p-1). Khi đú dễ dàng kiểm tra điều kiện xỏc minh:
βλ λμ αx‟ (mod p)
Vỡ thế (λ, μ) là chữ kớ hợp lệ của x‟.
Cả hai phƣơng phỏp trờn đều tạo cỏc chữ kớ giả mạo hợp lệ song khụng xuất hiện khả năng đối phƣơng giả mạo chữ kớ trờn bức điện cú sự lựa chọn của chớnh họ mà khụng phải giải bài toỏn logarit rời rạc, vỡ thế khụng cú gỡ nguy hiểm về độ an toàn của sơ đồ chữ kớ Elgamal.
Cuối cựng, ta sẽ nờu vài cỏch cú thể phỏ đƣợc sơ đồ này nếu khụng ỏp dụng nú một cỏch cẩn thận (cú một số vớ dụ nữa về khiếm khuyết của giao thức). Trƣớc hết, giỏ trị k ngẫu nhiờn đƣợc dựng để tớnh chữ kớ phải giữ kớn khụng để lộ. Vỡ nếu k bị lộ, khỏ đơn giản để tớnh:
A = (x-k γ)δ-1 mod (p-1).
Dĩ nhiờn, một khi A bị lộ thỡ hệ thống bị phỏ và Oscar cú thể dễ dàng giả mạo chữ kớ.
Một kiểu dựng sai sơ đồ nữa là dựng cựng giỏ trị k để kớ hai bức điện khỏc nhau. Điều này cựng tạo thuận lợi cho Oscar tớnh a và phỏ hệ thống. Sau đõy là cỏch thực hiện. Giả sử (γ, δ1) là chữ kớ trờn x1và (γ, δ2) là chữ kớ trờn x2. Khi đú ta cú:
Và Nhƣ vậy
Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
Tƣơng đƣơng với phƣơng trỡnh .
Bõy giờ giả sử d = gcd ( , p-1). Vỡ và nờn suy ra . 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‟) vỡ gcd(δ‟, p‟) = 1, nờn cú thể tớnh: ε = (δ‟)-1 mod p‟
Khi đú giỏ trị k xỏc định theo modulo p‟ sẽ là: k = x‟ ε mod p‟
Phƣơng trỡnh này cho d giỏ trị cú thể của k k = x‟ ε + i p‟ mod p
với i nào đú, 0 ≤ i ≤ d-1. Trong số d giỏ trị cú thể cú cú thế này , cú thể xỏc định đƣợc đỳng duy nhất qua việc kiểm tra điều kiện
(mod p)