http://www.ebook.edu.vn 100
Như vy, Bob kí bc đin x dùng qui tc gii mã RSA là dk. Bob là người
to ra ch kí vì dk = sigk là mt. Thut toán xác minh dùng qui tc mã RSA ek.
Bt kì ai cũng có th xác minh ch kí vi ek được công khai.
Chú ý rng, ai đó có th gi mo ch kí ca Bob trên mt bc đin “ ngu
nhiên” x bng cách tìm x=ek(y) vi y nào đó, khi đó y= sigk(x). Mt gii pháp
xung quanh vn đề khó khăn này là yêu cu bc đin chưa đủ phn dư để ch
kí gi mo kiu này không tương ng vi bc đin. Nghĩa là x tr mt xác
sut rt bé. Có th dùng các hàm hash trong vic kết ni vi các sơ đồ ch
s s loi tr được phương pháp gi mo này.
Sơ đồ ch kí RSA
Ta xét tóm tt cách kết hp ch kí và mã khoá công khai. Gi s rng,
Alice tính toán ch kí y= sigAlice(x) và sau đó mã c x và y bng hàm mã khoá
công khai eBob ca Bob, khi đó cô ta nhn được z = eBob(x,y). Bn mã z s
được truyn ti Bob. Khi Bob nhn được z, anh ta s trước hết s gii mã hàm
dBob để nhn được (x,y). Sau đó anh ta ung hàm xác minh công khai ca
Alice để kim tra xem verAlice(x,y) có bng True hay không.
Song nếu đầu tiên Alice mã x ri sau đó mi kí tên bn mã nhn được thì
khi đó cô tính :
y= sig
Alice(eBob(x)).
Alice s truyn cp (z,y) ti Bob. Bob s gii mã z, nhn x và sau đó xác
minh ch kí y trên x nh dùng verAlice. Mt vn đề tim n trong bin pháp
này là nếu Oscar nhn được cp (x,y) kiu này, được ta có thay ch kí y ca
Alice bng ch kí ca mình.
Y
, = sigOscar(eBob(x)).
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í mt.
Hàm kí:
sig
k(x)= xa mod n
và kim tra ch kí:
verk (x,y)= true x
yb (mod n)
(
x
,y
Z
n
)
http://www.ebook.edu.vn 101
(Chú ý, Oscar có th kí bn mã eBob(x) ngay c khi anh ta không biết bn
rõ x). Khi đó nếu Oscar truyn (x, y ) đến Bob thì ch kí Oscar được Bob xác
minh bng verOscar và Bob có th suy ra rng, bn rõ x xut phát t Oscar. Do
khó khăn này, hu hết người s dng được khuyến ngh nếu kí trước khi mã.
5.2. Sơ đồ ch kí ELGAMAL
Sau đây ta s mô t sơ đồ ch kí Elgamal đã tng dưới thiu trong bài báo
năm 1985. Bn c tiến ca sơ đồ này đã được Vin Tiêu chun và Công Ngh
Quc Gia M (NIST) chp nhn làm ch kí s. Sơ đồ Elgamal (E.) được thiết
kế vi mc đích dành riêng cho ch kí s, khác sơ đồ RSA dùng cho c h
thng mã khoá công khai ln ch kí s.
Sơ đồ E, là không tt định ging như h thng mã khoá công khai
Elgamal. Điu này có nghĩa là có nhiu ch kí hp l trên bc đin cho trước
bt k. Thut toán xác minh phi có kh năng chp nhn bt kì ch kí hp l
khi xác thc.
Nếu chđược thiết lp đúng khi xác minh s thành công vì :
β
γ
γδ αa γ αkγ(mod p)
αx(mod p)
đây ta dùng h thc :
a γ+ k δ x (mod p-1)
Sơ đồ ch kí s Elgamal.
Cho p là s nguyên t sao cho bài toán logarit ri rc trên Zp là khó và
gi s α Zn là phn t nguyên thu p = Zp
* , a = Zp* × Zp-1định nghĩa:
K ={(p,α ,a,β ):β αa(mod p)}.
Giá tr p,α ,β là công khai, còn a là mt.
Vi K = (p, α , a, β ) và mt s ngu nhiên (mt) k Zp-1. định nghĩa :
Sigk(x,y) =(γ ,δ),
trong đó γ = αk mod p
δ =(x-a) k-1 mod (p-1).
Vi x,γ Zpδ Zp-1 , ta định nghĩa :
Ver(x, γ ,δ ) = true βγ γδ αx(mod p).
http://www.ebook.edu.vn 102
Bob tính ch kí bng cách dùng c gía tr mt a (là mt phn ca khoá)
ln s ngu nhiên mt k (dùng để kí lên bc đin x). Vic xác minh có thc
hin duy nht bng thông báo tin công khai.
Chúng ta hãy xét mt ví d nh minh ho.
Gi s cho p = 467, α =2, a = 127, khi đó:
β = αa mod p
= 2127 mod 467
= 132
Nếu Bob mun kí lên bc đin x = 100 và chn s ngu nhiên k =213
(chú ý là UCLN(213,466) =1 và 213-1 mod 466 = 431. Khi đó
γ =2213 mod 467 = 29
δ =(100-127 × 29) 431 mod 466 = 51.
Bt k ai cng có th xác minh ch kí bng các kim tra :
132
29 2951 189 (mod 467)
và 2
100 189 (mod 467)
Vì thế ch kí là hp l.
Xét độ mt ca sơ đồ ch kí E. Gi s, Oscar th gi mo ch tn bc
đin x cho trước không biết a. Nếu Oscar chn γ và sau đó th tìm giá tr δ
tương ng, anh ta phi tính logarithm ri rc logγ αxβ-γ. Mt khác, nếu đầu
tiên ta chn δ và sau đó th tim γ và th gii phương trình:
βγ γδ αx(mod p).
để tìm γ. Đây là bài toán chưa có li gii nào. Tuy nhiên, dường như
chưa được gn vi đến bài toán đã nghiên cu kĩ nào nên vn có kh năng có
cách nào đó để tính δγ đồng thi để (δ, γ) là mt ch kí. Hin thi không
ai tìm được cách gii song cũng ai không khng định được rng nó không th
gii được.
http://www.ebook.edu.vn 103
Nếu Oscar chn δγ và sau đó t gii tìm x, anh ta s phi đối mt vi
bài toán logarithm ri rc, tc bài toán tính logα Vì thế Oscar không th
mt bc đin ngu nhiên bng bin pháp này. Tuy nhiên, có mt cách để
Oscar có th kí lên bc đin ngu nhiên bng vic chn γ, δ và x đồng thi:
gi thiết i và j là các s nguyên 0 i p-2, 0 j p-2 và UCLN(j,p-2) = 1.
Khi đó thc hin cá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 được tính theo modulo (p-1) ( đây đòi hi j nguyên t cùng
nhau vi p-1).
Ta nói rng (γ, δ ) là ch kí hp l ca x. Điu này được chng minh qua
vic kim tra xác minh :
Ta s minh ho bng mt ví d :
Ging như ví d trước cho p = 467, α = 2, β =132. Gi s Oscar chn i =
99,j = 179; khi đó j-1 mod (p-1) = 151. Anh ta tính toán như sau:
γ = 299132197 mod 467 = 117
δ =-117 ×151 mod 466 = 51.
x = 99 × 41 mod 466 = 331
Khi đó (117, 41) là ch kí hp l trên bc đin 331 như thế đã xác minh
qua phép kim tra sau:
132117 11741 303 (mod 467)
2331 303 (mod 467)
Vì thế ch kí là hp l.
Sau đây là kiu gi mo th hai trong đó Oscar bt đầu bng bc đin
được Bob kí trước đây. Gi s (γ, δ ) là ch kí hp l trên x. Khi đó Oscar có
kh năng kí lên nhiu bc đin khác nhau. Gi s i, j, h là các s nguyên, 0
h, i, j p-2 và UCLN (h γ - j δ, p-1) = 1. Ta thc hin tính toán sau:
http://www.ebook.edu.vn 104
λ = γh αi βj mod p
μ = δλ(hγ -jδ)-1 mod (p-1)
x, = λ(hx+iδ ) -1 mod (p-1),
Trong đó (hγ -jδ)-1 được tính theo modulo (p-1). Khi đó d dàng kim tra
điu kin xác minh :
β λ λμ αx’ (mod p)
vì thế (λ, μ)là ch kí hp l ca x’.
C hai phương pháp trên đều to các ch kí gi mo hp l song không
xut hin kh năng đối phương gi mo ch kí trên bc đin có s lu chn
ca chính h mà không phi gii bài toán logarithm ri rc, vì thế không có gì
nguy him v độ an toàn ca sơ đồ ch kí Elgamal.
Cui cùng, ta s nêu vài cách có th phi được sơ đồ này nếu không áp
dng nó mt cách cn thn (có mt s ví d na v khiếm khuyết ca giao
thc, mt s trong đó là xét trong chương 4). Trước hết, giá tr k ngu nhiên
được dùng để tính ch kí phi gi kín không để l. vì nếu k b l, khá đơn
gin để tính :
A = (x-k γ )δ-1 mod (p-1).
Dĩ nhiên, mt khi a b l thì h thng b phá và Oscar có th d dang gi
mo ch kí.
Mt kiu dung sai sơ đồ na là dùng cùng giá tr k để kí hai bc đin khác
nhau. điu này cùng to thun li cho Oscar tinh a và phá h thng. Sau đây là
cách thc hin. Gi s (γ, δ1) là ch kí trên x1 và (γ, δ2) là ch kí trên x2. Khi
đó ta có:
βγ γδ1 αx1 (mod p)
βγγδ2 αx2(modp).
Như vy
αx1-x2 αδ1-δ2 (mod p).
Nếu viết γ = αk, ta nhn đưc phương trình tìm k chưa biết sau.