1. Trang chủ
  2. » Công Nghệ Thông Tin

lecture82 Chữ kí số

17 423 4
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Chữ ký số
Trường học Trường Đại Học
Thể loại Bài giảng
Định dạng
Số trang 17
Dung lượng 424,89 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

lecture82 Chữ kí số

Trang 1

Lecture 8: Chữ ký số

1 Giới thiệu

2 Sơ đồ chữ ký Elgamal

3 Phương pháp DSA

Trang 2

1 Giới thiệu

Mục tiêu của chữ ký số (Digital Signature) :

Xác nhận người dùng (Authentication)

Tính toàn vẹn thông tin (Data Integrity)

Không thể từ chối trách nhiệm (Non-Repudiation)

Trang 3

1 Giới thiệu

Một số khái niệm cơ bản:

Chữ ký số: chuỗi dữ liệu cho phép xác định nguồn gốc/xuất xứ/thực thể đã tạo ra 1 thông điệp

Thuật toán phát sinh chữ ký số: phương pháp tạo

ra chữ ký số

Lược đồ chữ ký số: bao gồm thuật toán phát sinh chữ ký sốthuật toán tương ứng để kiểm chứng chữ ký số

Digital Signature Scheme =

Digital Signature Generation Algorithm + Digital Signature Verification Algorithm

Trang 4

2 Sơ đồ chữ ký Elgamal

Cho p là số nguyên tố, giả sử a ∈ Zp* là phần tử sinh và

x là một số ngẫu nhiên 1<=x<=p-2

Định nghĩa :

K =(p, a ,x, b): b ≡ a x (mod p).

Giá trị p, a,b là công khai, còn x là mật.

Với K =(p, a , b) và với một số ngẫu nhiên (bí mật) k ∈ Z*p-1, văn bản m được ký như sau: sigk(m) =(γ ,δ)

trong đó γ = a k mod p

và δ =(m-xγ) k -1 mod (p-1).

Kiểm tra chữ ký:

Ver(m, γ ,δ) = true ⇔ b γ γ δ ≡ a m (mod p)

Trang 5

2

2 Sơ đồ chữ ký Elgamal - Ví dụ

Giả sử cho p = 467, a =2, x = 127; khi đó:

b = a x mod p

= 2 127 mod 467 = 132 Nếu Bob muốn kí lên bức điện m =100 và chọn số ngẫu nhiên k =213 (chú ý là UCLN(213,466) =1 và 213 -1 mod 466 = 431) Khi đó

γ =2 213 mod 467 = 29

và δ =(100-127 × 29) 431 mod 466 = 51.

Bất kỳ ai cũng có thể xác minh chữ kí này bằng cách kiểm tra:

132 29 * 29 51 ≡ 189 (mod 467)

và 2 100 ≡ 189 (mod 467)

Vì thế chữ kí là hợp lệ.

Trang 6

2 Phương pháp ElGamal

Một số vấn đề

Giá trị k phải phân biệt cho mỗi thông điệp được ký

(s1-s2)k=(m1-m2)mod (p-1)

N ế u gcd((s1-s2),p-1)=1 thì có th ể d ễ dàng xác đinh giá

tr ị k, t ừ đó có đư ợ c private key a

Trang 7

3 Phương pháp DSA Digital Signature Algorithm Digital Signature Standard (DSS)

3 Phương pháp DSA Digital Signature Algorithm Digital Signature Standard (DSS)

Trang 8

3 Phương pháp DSA

Phát sinh khóa:

1 Chọn 1 số nguyên tố q 160 bit

2 Chọn 0≤t≤8, chọn 2511+64t <p< 2512+64t với q|p-1

3 Chọn g trong Zp*, và α = g(p-1)/q mod p, α≠1

4 Chọn 1 ≤ aq-1, tính y= αa mod p

5 public key (p, q, α, y), private key a

Trang 9

3 Phương pháp DSA

Tạo chữ ký:

Chọn ngẫu nhiên số nguyên k, 0 < k < q

Tính r=(αk mod p) mod q

Tính k-1 mod q

Tính s=k-1 ∗(m + ar) mod q

Chữ ký = (r, s)

Trang 10

3 Phương pháp DSA

Kiểm tra chữ ký

Kiểm tra 0<r<q và 0<s<q, nếu không thỏa thì kết

luận là không chữ ký hợp lệ

Tính w= s-1mod qm

Tính u1=wmmod q, u2=rw mod q

Tính v = (αu1y u2 mod p) mod q

Chữ ký hợp lệ ⇔ v = r

Trang 11

Ví dụ

Trang 12

Phương pháp Chữ ký dùng 1 lần

Trang 13

Chữ ký “dùng 1 lần”

Chữ ký dùng 1 lần (One-Time Signature)

Định nghĩa : chiến lược chữ ký được sử dụng để

ký tối đa 1 thông điệp

Nếu dùng lại, có thể bị tấn công để tạo chữ ký

giả

Cần có public key mới cho mỗi thông điệp cần ký Hầu hết các chiến lược one-time signature đều có tính chất là thao tác tạo và kiểm tra chữ ký rất nhanh

Trang 14

Phương pháp Rabin One-Time Signature

Tạo khóa

Chọn 1 thuật toán mã hóa khóa đối xứng E (ví dụ như DES)

Phát sinh 2n dãy ngẫu nhiên k1,k2 k2nK, mỗi dãy

có độ dài l

Tính y i=Ek

i(M0(i)), i ∈[1,2n] )

M0(i) là biểu diễn nhị phân của i được điền

thêm đủ các bit 0 ở phần đầu để có được dãy l -bit

Public key là (y1,y2, y2n),

private key là (k1,k2, k2n)

Trang 15

Phương pháp Rabin One-Time Signature

Tạo chữ ký:

Tính s i=Ek

i(h(m)), i ∈[1,2n]

Chữ ký là (s1,s2, s2n)

Kiểm tra chữ ký:

Tính h(m)

Chọn n số ngẫu nhiên phân biệt r j, r j∈[1,2n]

Yêu cầu người ký gửi n trong số 2n khóa Nhận

được dãy khóa k r

j, ∀ j: 1 ≤ jn

Kiểm tra với n khóa nhận được y r

Kiểm tra tất cả s r

Trang 16

Rabin One-Time Signatures (Giải pháp khi xảy ra tranh cãi)

Rabin One-Time Signatures (Giải pháp khi xảy ra tranh cãi)

Người ký A, người kiểm tra B và TTP (Trusted Third Party)

B cung cấp m và chữ ký cho TTP

TTP lấy private key k1, k2n từ A

TTP kiểm tra private key

TTP tính u i=Ek i(h(m)), 1 ≤ in

N ế u u i = s i v ớ i t ố i đa n giá tr ị c ủ a i, thì ch ữ ký là “gi ả ”

N ếu có ít nhất n+1 giá tr ị bằng nhau thì chữ ký là “thật”

Trang 17

Bài tập

Xây dựng chương trình thử nghiệm các sơ đồ chữ ký số

Ngày đăng: 26/10/2012, 11:57

HÌNH ẢNH LIÊN QUAN

2. Sơ đồ chữ ký Elgamal - lecture82  Chữ kí số
2. Sơ đồ chữ ký Elgamal (Trang 4)
2. Sơ đồ 2.  chữ ký Elgamal - V V í í d d ụ ụ - lecture82  Chữ kí số
2. Sơ đồ 2. chữ ký Elgamal - V V í í d d ụ ụ (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w