An toàn dữ liệu Trương Thị Thu Hiên Bộ môn Các hệ thông thông tin — trường Đại học Công nghệ - ĐHQGHN... Bài giảng Tuân 3 ¢ Bai toan Logarith roi rac ° Trao đôi khoa Diffie - Hellman
Trang 1
An toàn dữ liệu
Trương Thị Thu Hiên
Bộ môn Các hệ thông thông tin — trường Đại học Công nghệ - ĐHQGHN
Trang 2
Bài giảng Tuân 3
¢ Bai toan Logarith roi rac
° Trao đôi khoa Diffie - Hellman
°Ò Hệ mã hóa ElGamal
° Sơ đô chữ ký ElGamal
Trang 3
Bal toan Logarith rời rạc
¢ Cho mot nhom nhân (G,*), phân tử nguyên thủy ø bậc n, phân tử y thuộc nhóm con sinh ra bởi ø
¢ Tim so nguyén x duy nhât thỏa mãn:
ơø* mod n = y
»° - Khi đó x là logarith rời rạc của log,y
° Nêu cho nhóm nhân Z, , VO1 p la so nguyen to
1024 bit, ø là phân tử có bậc nguyên tô qg 160 bịt
— q| (p-1)
— Z„ = {3,2,6,4,5,1}, nhóm con {2,4,1}
Trang 4
Chọn tham sô?
° Tai sao chon phân tử bậc q thay vì phân tử sinh
của nhóm Z, `?
— Bậc là số nguyên tô sẽ có lợi trong một sô trường hop
như ø$d= ø
° Cân băng giữa độ an toàn và độ phức tạp tính
toan:
— p cân lớn đề bài toán DLP khó, thường khoảng 1024 bít
— Nhóm được chọn không nên quả lớn nên bậc của nhóm nhỏ (khoảng 160 bit)
Trang 5
Cách chọn tham số
¢ Lam thé nao dé chon được sô nguyên tô p và q sao
cho q|p-l và một phân tử bậc q trong Z„?
— Cách 1: Chọn nøẫu nhiên p, sau đó phân tích ra thừa sô
(p-1)
— Cách 2: sinh ngẫu nhiên q trước, sau đó chọn r đề
p=2rqT]
Trang 6
Thoa thuan khoa Diffie - Hellman
¢ Gia su A va B cung muôn thỏa thuận một khóa bí mat Giao thức như sau:
— A va B chia sẻ các tham sô công khai của nhóm Z, va phân tử sinh ø
— A chọn một sô ngẫu nhiên x và gửi ø* mod p cho B
— B chọn một sô ngẫu nhiên y và gửi øY mod p cho A
— A nhận được ø và tính (gy)š =g
— B nhận được g* va tinh (g*)¥ =g*Y
— A và B đều có thể tính ø*Y mod p
— Kẻ thứ 3 khó có thê tính được 2
Trang 7
CDH va DDH
¢ Su an toan cua giao thuc thoa thuận khóa
Diffie-Hellman dua tren bai toan CDH
¢ CDH (Computational Diffie-Hellman)
— Cho nhóm nhân (G,*) và ø là phân tử sinh bậc q biệt ø* và øy Tính ø%
¢ DDH (Decision Diffie-Hellman)
— Cho nhóm nhân (G,*) và ø là phân tử sinh bậc q biệt øš, øY và ø” Hỏi øXY= ø” mod n
Trang 8
E|lGamal
¢ Duoc ElGamal dua ra nam 1985
¢ Do an toan dựa trên độ khó cua bai toan Logarith
roi rac va CDH, DDH
¢ Ban ma gom 2 thanh phan
¢ Su dung tham so nøâu nhiên, môi bản rõ có thê sẽ
co p-! ban ma
Trang 9
E|lGamal
¢ Sinh khoa
— Chọn ngẫu nhiên sô nguyên tô p sao cho DLP 1a khó
giải trong Z„ và phân tử g thuộc nhóm nhân Z„`
- Chọn ngẫu nhiéna, 1<a< p—2^ vàtính g®modp
— Khóa công khai là (p, ø, b=g^)
— Khóa bí mật là a
Trang 10
E|lGamal
¢ Ma hoa
— Có thông điệp M cân mã hóa đề có bản mã C
— Chọn ngẫu nhiên k, 0< k <p-2
— Tinh x=g* mod p và y=M.b* mod p
— Bản mã C=(x,y)
¢ Gial ma
— Tinh x: xP-!* mod p = x* mod p
— M=x~y mod p
Thuc vay, xy mod p = g*M(g*)k mod p = M (mod p)
Trang 11
Chữ ký ElCGamal
°ồ Sinh khóa
— Chon ngau nhien sô nguyên tô p sao cho DLP là khó giải
trong Z„ và phân tử g thuộc nhóm nhân Z„`
- Chọn ngẫu nhiêna, lSư<p—2 và tính
b = g* mod p
— Khoa cong khai la (p, g, b = ø3)
— Khoa bi mat laa
— Chu y nén chon p co khoang 1024 bit va a khoang 160 bit
Trang 12
Chữ ký ElCGamal
¢ Ky van ban M
— Chon ngau nhién k, 0< k <p-2, k € Zy-1
~ Tinh r=gkmodp
s = k'1( h(M) - ar ) mod (p-1)
— Chữ ký là (r.S)
Chú ý: h là hàm băm dùng đề thu gọn văn bản M
Trang 13
Chữ ký ElCGamal
° Kiểm tra chữ ký
— Kiếm tra r có thuộc Z„, hay không?
— Tinh v,=b'r§ mod p
— Tinh h(m) va v,= ø" mod p
— Néu Vv, = V, thi chap nhận chữ ký ngược lại phủ nhận
chữ ký
Trang 14
Chữ ký ElCGamal
°® Vị dụ
— Bob chon p= 11, ø = 2, khóa bi mat a= 8
— Khoa cong khai b = 2° mod 11 =3
— Cong khai (p,g,b) tuc (11,2,3)
— Bob ky M =5 thi:
* Chon k = 9 (cé gcd(9,10)=1)
¢ r=2’ mod 11 =6
> s=9(5—8 * 6) mod 10=3
— Chữ ký là (6,3)
— Kiêm tra chữ ký: 39.63 = 25 mod 112222
Trang 15
an
Câu hỏi?
OO ©