1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu chữ ký bội và ứng dụng

82 553 10

Đ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 đề Nghiên cứu chữ ký bội và ứng dụng
Trường học Trường Đại Học Bách Khoa Hà Nội
Thể loại Luận văn
Thành phố Hà Nội
Định dạng
Số trang 82
Dung lượng 2,14 MB

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

Nội dung

Mật mã học khóa công khai tạo ra chữ ký số và ứng dụng vào các tài liệu. Các hệ mã hóa cùng với hàm băm mật mã học một chiều chính là những công cụ chính trong việc tạo ra chữ ký số điện tử.Hiện nay, khi mà Chính phủ điện tử và Thƣơng mại điện tử đã trở thành xu hƣớng tất yếu của các quốc gia trên thế giới , trong đó có Việt Nam, thì chữ ký số không thể thiếu đƣợc và ngày càng trở nên quan trọng. Các mô hình ứng dụng chữ ký số cho phép đáp ứng tốt các yêu cầu về chứng thực nguồn gốc hay hiệu lực của thông tin đƣợc tạo ra bởi những thực thể có tính độc lập. Nhƣng trong trƣờng hợp thông tin đƣợc tạo ra từ các thành viên hay bộ phận của một tổ chức thì nguồn gốc hay hiệu lực thông tin ở cấp độ thành viên hay bộ phận lại không đƣợc chứng thực, trong khi, các yêu cầu chứng thực đó lại ngày càng trở nên thực tế và cần thiết. Trƣớc những cơ sở đó, việc ra đời các mô hình chữ ký bội là một tất yếu.Trong tƣơng lai, Chính phủ điện tử và Thƣơng mại điện tử cùng với hạ tầng công nghệ thông tin và truyền thông phát triển mạnh mẽ hơn thì nhu cầu ứng dụng chữ ký bội trong các dịch vụ chứng thực điện tử sẽ càng cần thiết hơn.Trong khoá luận này, em tập trung vào sơ đồ chữ ký bội RSA , chữ ký bội trên đƣờng cong Elliptic và ứng dụng của chúng, sau đó là phần thử nghiệm chƣơng trình. Cuối cùng là phần kết luận và tài liệu tham khảo.Mặc dù đã cố gắng hết sức, nhưng vẫn không sao tránh khỏi sai sót, vì vậy rất mongđƣợc sự góp ý phê bình.

Trang 1

MỤC LỤC

LỜI MỞ ĐẦU 1

Chương 1 CÁC KHÁI NIỆM CƠ BẢN 2

1.1 KHÁI NIỆM TRONG SỐ HỌC 2

1.1.1 Ước chung lớn nhất và bội chung nhỏ nhất .2

1.1.1.1 Khái niệm 2

1.1.1.2 Tính chất 2

1.1.2 Quan hệ đồng dư 3

1.1.2.1 Khái niệm 3

1.1.2.2 Tính chất 3

1.1.3 Số nguyên tố 4

1.1.3.1 Khái niệm 4

1.1.3.2 Định lý 4

1.1 KHÁI NIỆM TRONG ĐẠI SỐ 5

1.2.1 Nhóm 5

1.2.1.1 Khái niệm 5

1.2.1.2 Nhóm Cyclic 6

1.2.1.3 Nhóm(Zn *, phép nhân mod n) 6

1.2.1.4 Phần tử nghịch đảo đối với phép nhân 7

1.2.2 Vành 7

1.2.3 Trường 8

1.2.4 Không gian vector 11

Trang 2

1.3 KHÁI NIỆM TRONG MẬT MÃ 12

1.3.1 Một số khái niệm 12

1.3.1.1 Khái niệm Mã hóa dữ liệu 12

1.3.1.2 Lược đồ chữ ký số 12

1.3.1.3 Hàm băm 13

1.3.2 Một số thuật ngữ liên quan 14

1.4 GIỚI THIỆU VỀ CHỮ KÝ SỐ 15

1.4.1 Quy trình tạo và kiểm tra một chữ ký số 15

1.4.1.1 Quy trình tạo ra một chữ ký số: 15

1.4.1.2 Quy trình kiểm tra một chữ ký số: .16

1.4.1.3 So sánh giữa các phương pháp mã hóa sử dụng khóa công khai 17

1.4.2 Chữ ký bội 19

1.4.2.1 Chữ ký nối tiếp 19

1.4.2.2 Chữ ký song song 19

Chương 2 CHỮ KÝ BỘI DỰA TRÊN HỆ MẬT RSA 20

2.1 HỆ MẬT RSA 20

2.1.1 Thuật toán hình thành cặp khóa 20

2.1.2 Thuật toán mã hóa khóa công khai bằng hệ mật RSA 20

2.1.2.1 Thuật toán mã hóa 20

2.1.2.2 Thuật toán giải mã 20

2.1.3 Thuật toán chữ ký số 20

2.1.3.1 Thuật toán hình thành chữ ký 20

2.1.3.2 Thuật toán kiểm tra chữ ký 21

2.1.4 Độ an toàn của hệ mã hóa RSA 21

Trang 3

2.2 LƯỢC ĐỒ CHỮ KÝ CƠ SỞ DỰA TRÊN HỆ MẬT RSA 21

2.2.1 Lược đồ chữ ký cơ sở 21

2.2.1.1 Hình thành tham số hệ thống và khóa 21

2.2.1.2 Tạo chữ ký và kiểm tra chữ ký 22

2.2.2 Tính đúng đắn của lược đồ chữ ký cơ sở 23

2.2.3 Mức độ an toàn của lược đồ chữ ký cơ sở 24

2.3 CHỮ KÝ BỘI TRÊN HỆ MẬT RSA 24

2.3.1 Lược đồ chữ ký bội nối tiếp 24

2.3.1.1 Hình thành tham số hệ thống và khóa 24

2.3.1.2 Chứng nhận và kiểm tra tính hợp pháp của đối tượng ký 25

2.3.1.3 Hình thành và kiểm tra chữ ký bội nối tiếp 26

2.3.2 Lược đồ chữ ký bội song song 28

2.3.2.1 Hình thành các tham số hệ thống và khóa 28

2.3.2.2 Chứng nhận và kiểm tra tính hợp pháp của các đối tượng ký 28

2.3.2.3 Hình thành và kiểm tra chữ ký bội song song 28

Chương 3 CHỮ KÝ BỘI TRÊN ĐƯỜNG CONG ELLIPTIC 30

3.1 CÁC KHÁI NIỆM VỀ ĐƯỜNG CONG ELLIPTIC 30

3.1.1 Công thức Weiertrasse và đường cong Elliptic 30

3.1.2 Các phép toán trên đường cong Elliptic 31

3.1.3 Bài toán Logarith rời rạc trên đường cong Elliptic (ECDLP) 33

3.2 HỆ MẬT TRÊN ĐƯỜNG CONG ELLIPTIC 34

3.2.1 Cách nhúng bản rõ lên đường cong Elliptic 34

3.2.1.1 Nhúng (Imbeding) 34

3.2.1.2 Mặt nạ (Mask) 34

Trang 4

3.2.2 Các hệ mật trên đường cong Elliptic (ECC) 35

3.2.2.1 Hệ mã hóa “tựa” Elgamal 35

3.2.2.2 Hệ mã hóa Menezes-Vantone 35

3.2.3 Trao đổi khóa Diffie – Hellman trên đường cong Elliptic 36

3.2.3.1 Mô hình trao đổi khóa Diffie – Hellman .36

3.2.3.2 Mô hình trao đổi khóa Elliptic Curve Diffie – Hellman 36

3.2.4 Lựa chọn đường cong Elliptic phù hợp 36

3.3 CHỮ KÝ BỘI MÙ TRÊN ĐƯỜNG CONG ELLIPTIC 40

3.3.1 Sơ đồ chữ ký ECDSA 40

3.3.1.1 Sinh khóa: 40

3.3.1.2 Ký trên bản rõ m: 40

3.3.1.3 Kiểm tra chữ ký: 41

3.3.1.4 Chứng minh 41

3.3.2 Sơ đồ chữ ký mù Harn trên ECC 41

3.3.2.1 Sinh khóa 41

3.3.2.2 Ký mù 42

3.3.2.3 Chứng minh 42

3.3.3 Sơ đồ chữ ký số bội trên đường cong Elliptic 42

3.3.3.1 Khởi tạo tham số công khai 43

3.3.3.2 Lược đồ chữ ký bội song song 44

3.3.3.3 Lược đồ chữ ký bội tuần tự 47

3.3.4 Sơ đồ chứ ký bội mù Harn trên ECC .50

3.3.4.1 Sinh khóa 50

3.3.4.2 Ký mù trên m 50

3.3.4.3 Chứng minh 50

Trang 5

Chương 4 ỨNG DỤNG VÀ THỰC NGHIỆM 52

4.1 ỨNG DỤNG CHỮ KÝ BỘI TRONG KÝ KẾT HỢP ĐỒNG 52

4.1.1 Bài toán bảo đảm tính toàn vẹn thông tin hợp đồng (biên bản) 53

4.1.2 Bảo đảm tính xác thực 55

4.1.3 Chống chối bỏ hợp đồng giao dịch 57

4.2 THỬ NGHIỆM CHƯƠNG TRÌNH 58

4.2.1 CẤU HÌNH HỆ THỐNG: PHẦN CỨNG, PHẦN MỀM .58

4.2.1.1 Cấu hình phần cứng 58

4.2.1.2 Cấu hình phần mềm 58

4.2.2 CÁC THÀNH PHẦN TRONG CHƯƠNG TRÌNH .58

4.2.1.2 Cặp khóa bí mật công khai của CA 58

4.2.1.2 Cặp khóa bí mật công khai của những người ký 59

4.1.2.3 Sinh tham số hệ thống 60

4.2.3 CHƯƠNG TRÌNH 61

4.2.4 HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH 62

4.2.4.1 Sinh tham số hệ thống 62

4.2.4.2 Tạo chữ ký bội 62

4.2.4.3 Kiểm tra chữ ký bội 62

KẾT LUẬN 63

TÀI LIỆU THAM KHẢO 64

Trang 6

BẢNG CHỮ VIẾT TẮT, KÝ HIỆU

gcd(a, b) Ước số chung lớn nhất của a và b

lmc(a, b) Bội số chung nhỏ nhất của a và b

|| Toán tử nối (trộn) 2 xâu

a|b a là ước số của b

IDi Thông tin nhận dạng thực thể cuối Ui

M Thông điệp dữ liệu

xi Khóa bí mật của thực thể cuối Ui

yi Khóa công khai của thực thể cuối Ui

CA Cơ quan chứng thực

#E Số phần tử của đường cong Elliptic

ECC Hệ mật trên đường cong Elliptic

DLP Bài toán Logarith rời rạc

ECDSA Thuật toán ký trên đường cong Elliptic

ECDLP Bài toán Logarith rời rạc trên đường cong EllipticECDH Trao đổi khóa Elliptic Curve Difie - Hellman

sig k Thuật toán ký số

ver k Thuật toán kiểm tra chữ ký số

Trang 7

DANH MỤC HÌNH ẢNH

Hình 1.1 Các chức năng của hệ thống CA 14

Hình 1.2 Quy trình ký điện tử 15

Hình 1.3 Quy trình kiểm tra chữ số ký số 16

Hình 3.1 Phép cộng hai điểm P + Q = R 31

Hình 3.2 Phép cộng P với chình nó P+P = 2P = R 32

Hình 4.1 Mẫu biên bản thỏa thuận kinh doanh .53

Hình 4.2 Mẫu phiếu xuất kho 54

Hình 4.3 Cấu trúc cặp khóa bí mật công khai (d, e) của CA 58

Hình 4.4 Khóa bí mật công khai của những người ký 59

Hình 4.5 Sinh tham số hệ thống 60

Hình 4.6 Giao diện tạo tham số hệ thống .61

Hình 4.7 Giao diện tạo chữ ký bội 61

Hình 4.8 Giao diện kiểm tra chữ ký bội 62

Trang 8

LỜI MỞ ĐẦU

Mật mã học khóa công khai tạo ra chữ ký số và ứng dụng vào các tài liệu Các hệ

mã hóa cùng với hàm băm mật mã học một chiều chính là những công cụ chính trongviệc tạo ra chữ ký số điện tử

Hiện nay, khi mà Chính phủ điện tử và Thương mại điện tử đã trở thành xu hướngtất yếu của các quốc gia trên thế giới , trong đó có Việt Nam, thì chữ ký số không thểthiếu được và ngày càng trở nên quan trọng Các mô hình ứng dụng chữ ký số chophép đáp ứng tốt các yêu cầu về chứng thực nguồn gốc hay hiệu lực của thông tinđược tạo ra bởi những thực thể có tính độc lập Nhưng trong trường hợp thông tinđược tạo ra từ các thành viên hay bộ phận của một tổ chức thì nguồn gốc hay hiệu lựcthông tin ở cấp độ thành viên hay bộ phận lại không được chứng thực, trong khi, cácyêu cầu chứng thực đó lại ngày càng trở nên thực tế và cần thiết Trước những cơ sở đó,việc ra đời các mô hình chữ ký bội là một tất yếu

Trong tương lai, Chính phủ điện tử và Thương mại điện tử cùng với hạ tầng côngnghệ thông tin và truyền thông phát triển mạnh mẽ hơn thì nhu cầu ứng dụng chữ kýbội trong các dịch vụ chứng thực điện tử sẽ càng cần thiết hơn

Trong khoá luận này, em tập trung vào sơ đồ chữ ký bội RSA , chữ ký bội trên đườngcong Elliptic và ứng dụng của chúng, sau đó là phần thử nghiệm chương trình Cuối cùng

là phần kết luận và tài liệu tham khảo

Mặc dù đã cố gắng hết sức, nhưng vẫn không sao tránh khỏi sai sót, vì vậy rất mongđược sự góp ý phê bình

Trang 9

Một ƣớc chung d >0 của các số nguyên a1, a2, …, an , trong đó mọi ƣớc chung của

a1, a2, …, an đều là ƣớc của d, thì d đƣợc gọi là ước chung lớn nhất của a1, a2, …, an

Ký hiệu d = gcd(a1, a2, …, an) hay d = UCLN(a1, a2, …, an)

Nếu gcd(a1, a2, …, an) = 1, thì a1, a2, …, an đƣợc gọi là nguyên tố cùng nhau.

Một bội chung m >0 của các số nguyên a1, a2, …, an , trong đó mọi bội chung của

a1, a2, …, an đều là bội của m, thì m đƣợc gọi là bội chung nhỏ nhất của a1, a2, …, an

Ký hiệu m = lcm(a1, a2, …, an) hay m = BCNN(a1, a2, …, an)

Ví dụ:

Cho a = 12, b = 15, gcd(12,15) = 3, lcm(12,15) = 60.

Hai số 8 và 13 là nguyên tố cùng nhau, vì gcd(8,13) = 1

1.1.1.2 Tính chất

1 d = gcd(a1, a2, …, an) tồn tại x1, x2, …, xn sao cho: d = a1x1 + a2x2+…+ anxn

a1, a2, …, an nguyên tố cùng nhau⇔tồn tại x1, x2, …, xn sao cho:

Trang 10

1.1.2 Quan hệ đồng dư

1.1.2.1 Khái niệm

Cho các số nguyên a, b, m (m > 0) Ta nói rằng a và b “đồng dư” với nhau theo

modulo m, nếu chia a và b cho m, ta nhận được cùng một số dư.

Ký hiệu: a b (mod m)

Ví dụ:

17 5 ( mod 3) vì chia 17 và 5 cho 3, được cùng số dư là 2

1.1.2.2 Tính chất

1/ Quan hệ “đồng dư” là quan hệ tương đương trong Z:

Với mọi số nguyên dương m ta có:

a (mod m) với mọi a ; (tính chất phản xạ)

a (mod m) thì b (mod m); (tính chát đối xứng)

a (mod m) và b (mod m) thì a (mod m); (tính chất bắc cầu)

2/ Tổng hay hiệu các “đồng dư”:

(a+b) (mod n) [(a mod n) + (b mod n)] (mod n)

(a- b) (mod n) [(a mod n) - (b mod n)] (mod n)

Trang 11

Điều này mâu thuẫn giả thiết p là nguyên tố Vậy giả sử sai, hay k là số nguyên

tố

Trang 12

3/ Hàm Euler:

Cho số nguyên dương n, số lượng các số nguyên dương bé hơn n và nguyên tố

cùng nhau v ới n được ký hiệu (n) và gọi là hàm Euler.

Nhận xét: Nếu p là số nguyên tố, thì ( )

Ví dụ:

Tập các số nguyên không âm nhỏ hơn 7 là Z7 = {0, 1, 2, 3, 4, 5, 6, 7}

Do 7 là số nguyên tố, nên Tập các số nguyên dương nhỏ hơn 7 và nguyên tố cùng nhau với 7 là Z7 *= {1, 2, 3, 4, 5, 6, 7} Khi đó |Z| = ( ) = p-1 = 8 – 1 = 7.

Định lý hàm Euler:

Nếu n là tích của hai số nguyên tố n = p.q, thì (n) = ( ) ( ) = (p – 1).(q -1).

1.1 KHÁI NIỆM TRONG ĐẠI SỐ

1.2.1 Nhóm

1.2.1.1 Khái niệm

Nhóm là một bộ (G,*), trong đó G , * là phép toán hai ngôi trên G thỏa mãn ba

tính chất sau:

- Phép toán có tính kết hợp (x*y)*z = x * (y*z) với mọi x, y, z G

- Có phần tử trung lập e G: x*e = e*x = x với mọi x G

- Với mọi x G, có phần tử nghịch đảo x’ G: x*x’ =x’ * x = e

Cấp của nhóm G được hiểu là số phần tử của nhóm, kỹ hiệu là |

G| Cấp của nhóm có thể là nếu G có vô hạn phần tử

Nhóm Abel là nhóm (G, *), trong đó phép toán hai ngôi * có tính giao hoán

- Tập Q* các số hữu tỷ khác 0 (hay tập R* các số thực khác 0), cùng với phép nhân

(*) thông thường là nhóm giao hoán Gọi là nhóm nhân các số hữu tỷ (số thực) khác 0.

- Tập các vectơ trong không gian với phép toán cộng vectơ là nhóm giao hoán

Trang 13

Khi đó g được gọi là phần tử sinh hay phần tử nguyên thủy của nhóm G Nói cách

khác: G được gọi là Nhóm Cyclic nếu tồn tại g G sao cho mọi phần tử trong G đều là

một lũy thừa nguyên nào đó của g

Nhóm (Z + , +) gồm các số nguyên dương là Cyclic với phàn tử sinh g = 1.

Cho (G, *) là Nhóm Cyclic với phần tử sinh g và phần tử trung lập e.

Nếu tồn tại số tự nhiên nhỏ nhất n mà g n = e, thì G sẽ chỉ gồm có n phần tử khác nhau: e, g, g 2 , g 3 ,…, g n-1 Khi đó G được gọi là nhóm Cyclic hữu hạn cấp n.

Nếu không tồn tại số tự nhiên n để g n = e, thì G có cấp

1.2.1.3 Nhóm(Zn * , phép nhân mod n)

Kí hiệu Zn = {0, 1, 2, … , n-1} là tập các số nguyên không âm < n

Z n và phép công (+) lập thành nhóm Cyclic có phần tử sinh là 1, phần tử trung lập

e = 0 (Z n , +) gọi là nhóm cộng, đó là hữu hạn có cấp n.

Kí hiệu Zn *

= {x Z n , x là số nguyên tố cùng nhau với n} Tức là x phải 0.

*

Z n được gọi là Tập thặng dư thu gọn theo mod n, có số phần tử (n).

* với phép nhân mod n lập thành một nhóm (nhóm nhân), phần tử trung lập e = 1

lẻ

Tổng quát (Zn *, phép nhân mod n) không phả nhóm Cyclic

Nhóm nhân Z n *là Cyclic chỉ khi n có dạng: 2, 4, pk

, hay 2pk với p là số nguyên tố

* Định lý Lagrange:

Nếu G là nhóm cấp n và G, thì Cấp của là ước của n.

* Hệ quả: Giả sử Z n * có Cấp m, thì m là ước của (n).

* Định lý:

Nếu p là số nguyên tố thì Zn * là nhóm Cyclic Nếu b Zn *

thì ( ) (mod n).Nếu p là số nguyên tố thì ( ) = p – 1 Do đó với b Zp * (tức b guyên tố với p),thì ( ) (mod n), hay bp – 1 (mod n)

Trang 14

1.2.1.4 Phần tử nghịch đảo đối với phép nhân

* Định nghĩa

Cho a Zn, nếu tồn tại b Zn sao cho a b 1(mod n), ta nói b là phần tử nghịch

đảo của a trong Zn và kí hiệu a-1

1(mod n) thì a.a-1 = 1 + kn a.a-1 – kn = 1 (a,n) = 1

Nếu (a,n) = 1, ta có a.a-1 + kn = 1 → a.a-1 = 1 + kn, do đó a.a-1

a.(b.c) = (a.b).c với mọi a, b, c R.

a.(b+c) = a.b + a.c và (a+b).c = a.c + b.c với mọi a, b, c R.

Vành tuyến tính

F là một vành Một đa thức bậc n trên F có dạng:

( ) ∑ = a0 + a1x + … + anxnvới n là số nguyên dương, các hệ số ai F (0 )

Trang 15

Định lý (Thuật toán chia cho F[x])

Giả sử ( ) và ( ) , - có bậc nguyên dương, tồn tại duy nhất đa thức q(x),r(x) Nếu ( ) là đa thức 0 thì ( ) được gọi là ước của ( ) Đa thức bất định ( ), - thỏa mãn ( ) ( ) ( ) ( ) với bậc của ( ) nhỏ hơn bậc của ( )trong F[x] là tối giản nếu nó không có ước bậc thấp hơn ( ) trong F[x].a F là nghiệm của ( ) , - nếu ( ) = 0

Với , ta có là số nguyên tố ⇔ | tức là | hoặc |

Nếu là một trường thì tạo thành một nhóm nhân Nếu thì Điềunày nghĩa là và tồn tại Do đó nếu | và thì |( ) Vậy là

số nguyên tố

Ngược lại, giả sử là số nguyên tố Để chỉ ra rằng là một nhóm nhân ta chỉ cầnchỉ ra rằng với mọi sẽ luôn tồn tại nghịch đảo Với và , nếu

Vì | ( ) ⇒ | hoặc | và tức là Điều này suy ra

* | + trong đó với vì luôn tồn tại phần tử 1 trong .Vậy mỗi luôn có phần tử nghịch đảo

Trang 16

Trường hữu hạn là trường chứa hữu hạn các phần tử mọi trường hữu hạn có một sốnguyên tố là đặc số của trường Một trường có đặc số thì với mọi

Nếu H là trường con của K thì H và K có cùng đặc số

F là trường mở rộng của trường K Ký hiệu F = K( ) nếu F là trường mở rộng nhỏnhất của K chứa Nếu F là trường hữu hạn đặc số p thì nhóm nhân F*

=F\{0} là nhómcyclic và F = Zp( ) với là phần tử sinh của nhóm F*

và được gọi là phần tử nguyênthủy của F

Với 2 toán tử nhị nguyên * và trên các tập A và B, một ánh xạ : A → B nếu với

Trang 17

Chứng minh

Giả sử { } là cơ sở của F như là một không gian vector trên K Mọi

sẽ có dạng trong đó ( ) Vì mối ci có thể làmột

trong q phần tử của K nên số các tổ hợp tuyến tính là

Trường hữu hạn là một trường mở rộng của Zp bậc n và mọi phần tử của

là một nghiệm của đa thức trên Zp

Chứng minh

Đặc số của là p Tập hợp F* = F \ {0} tạo thành nhóm nhân bậc pn – 1 Với, bậc của trong nhóm chia hết cho bậc của F*, pn – 1 Vì vậy, với mọi ,chúng ta có = 1 hay Vì có nhiều pn nghiệm, gồm tất cả cácnghiệm của trên Zp

Ví dụ

Trường F2, chứa F2 (hoặc Z2) Nếu viết toán tử cộng trong F2 như phép cộng vector

và viết phép nhân k và ( ) là một tích vô hướng của k F2 và v F2 Khi đóđược xem là không gian vector trên F2 với chiều r Ký hiệu d là chiều của không gianvector này Có thể thực hiện ánh xạ 1 – 1 giữa các phần tử trong không gian vector dchiều và các d-tuple của các phần tử trong F2 Vì vậy, có 2d phần tử trong không gian

vector này Vì d = r, là không gian vector r chiều

là mở rộng của Fq 2 phần tử là liên hợp trên Fq nếu và là cácnghiệm của cùng một đa thức tối giản bậc m trên Fq là các liên hợpcủa với Fq

là một mở rộng của Fq Một cơ sở của (không gian vector trên Fq) của{ }gồm và các liên hợp của nó với Fq , được gọi là cơ sởtrực giao của trên Fq Mọi trường mở rộng bậc hữu hạn của một trường hữu hạn cómột cơ sở trực giao

Trang 18

Không gian chiếu

Xét L = Kn+1 \{0} với K là một trường Với A = (a0, a1, …, an), B = {b0, b1, …, bn}

L, định nghĩa một quan hệ A ~ B gồm A, B và gốc O = (0, 0,…,0) là cộng tuyến, nghĩa

là tồn tại thỏa mãn: (i = 0, 1, …, n)

Quan hệ ~ là quan hệ tương đương và định nghĩa một phân hoạch của L Tập thương

số là không gian chiếu ký hiệu là

Pn(K)

Mặt phẳng chiếu là tập các lớp tương đương của bộ ba (X, Y, Z) với( ) ( )( ) Mỗi lớp tương đương (X, Y, Z) được gọi là một điểmchiếu trên mặt phẳng chiếu Nếu một điểm chiếu có Z 0, thì (x, y, 1) là một thể hiệncủa lớp tương đương với x = , y = Mặt phẳng chiếu có thể được định nghĩa là tập tất

cả các điểm (x, y) của mặt phẳng Affine cộng với các điểm Z = 0

1.2.4 Không gian vector

K là một trường và V là một nhóm cộng Abel V được gọi là không gian vector trêntrường K nếu một toán tử K x V → V được định nghĩa thỏa mãn các điều kiện

có dạng với ci K (i = 1, …, m) là một tổ hợp tuyến tính của

v1, …, vm Tập hợp tất cả các tổ hợp tuyến tính gọi là span của v1, …,vm và ký hiệu làspan(v1, …, vm) v1, …, vm được gọi là span nếu của V nếu V = span(v1, …, vm)

V là không gian vector trên trường K Các vector v1, …, vm V được gọi làđộc lập tuyến tính trên K nếu không có các vô hướng c1, …, cm K thỏa mãn:

Tập S = {u1, u2,…,un} của các vector tạo thành cơ sở của V khi và chỉ khi

u1, u2,…,un là độc lập tuyến tính là span của V Nếu S là một cơ sở của V thì mọi phần

tử của V được biểu diễn duy nhất dưới dạng tổ hợp tuyến tính của các phần tử của S.Nếu không gian vector V có cơ sở là một số hữu hạn các vector thì bất kỳ cơ sở nàocủa V cũng sẽ có cùng số phần tử Khi đó nó chính là chiều của V trên K

Nếu F là một trường mở rộng của trường K thì F là một không gian vector trên K

Trang 19

Chiều của F trên K đƣợc gọi là bậc mở rộng của F trên K.

Trang 20

1.3 KHÁI NIỆM TRONG MẬT MÃ

1.3.1 Một số khái niệm

1.3.1.1 Khái niệm Mã hóa dữ liệu

Để đảm bảo An toàn thông tin (ATTT) lưu trữ trong máy tính (giữ gìn thông tin

cố định) hay đảm bảo ATTT trên đường truyền tin (trên mạng máy tính), người taphải “che giấu” các thông tin này “Mã hóa” thông tin là một là một trong nhữngphương pháp đảm bảo ATTT

Hệ mã hóa là một bộ năm (P, C, K, E, D), thỏa mãn:

 P là một tập hữu hạn các bản rõ.

 C là một tập hữu hạn các bản mã.

 K là tập hữu hạn các khóa.

 E là tập hữu hạn các quy tắc mã hóa.

 D là tập hữu hạn các quy tắc giải mã.

Đối với mỗi k K có một quy tắc mã hóa e k E, e k : P → C và một quy tắc giải

 A là tập hữu hạn các thuật toán ký.

 V là tập hữu hạn các thuật toán xác minh.

Đối với mỗi k K có một thuật toán ký sig k A, sig k : M → S và một thuật toán xác minh tương ứng ver k V, ver k : M S → {đúng, sai} thỏa mãn điều kiệnsau với mỗi m M và s S:

( )

Trang 21

1.3.1.3 Hàm băm

Hàm băm (hash function) là một trong hai kĩ thuật chủ yếu phục vụ quá trình xácthực Chức năng chính của nó là thực hiện ánh xạ các bản tin có chiều dài khác nhauthành một miếng băm có kích thước cố định Miếng băm mới tạo ra thường có kíchthước nhỏ hơn rất nhiều so với bản tin ban đầu

Một giá trị miếng băm h được sinh ra bởi hàm băm H có dạng: h = H(M) trong đó:

M là bản tin có chiều dài tùy ý, h là giá trị băm chiều dài cố

định Các yêu cầu đối với hàm băm:

- Hàm băm H có thể áp dụng cho các khối dữ liệu với kích thước tùy ý

- Đầu ra của hàm băm H có độ dài xác định

- Việc xác định giá trị H(x) đủ đơn giản để việc cài đặt là khả thi đối với cả phần mềm và phần cứng

- Hàm H là hàm một chiều, nghĩa là x cho trước thì H(x) xác định nhưng với h chotrước thì việc tính x cực kỳ khó khăn

- Với hai giá trị đầu vào thì H(x) ≠ H(y)

Hiện nay, một số kỹ thuật băm được sử dụng phổ biến như: SHA-1, SHA-256,SHA-384, SHA-512; MD-4, MD-5…Tuy nhiên chương trình thử nghiệm sẽ tập trungnghiên cứu và cài đặt thuật toán băm SHA

Trang 22

1.3.2 Một số thuật ngữ liên quan

Chữ ký số (Digital signature) là một dạng dữ liệu số đƣợc sinh ra từ một lƣợc đồ

chữ ký số, nhằm chứng thực nguồn gốc hay hiệu lực của thông điệp dữ liệu Từ đây

cho đến hết nội dung của tài liệu, khi chỉ nhắc tới “chữ ký” ta sẽ hiểu đó là “chữ ký số” Chữ ký đơn là một dạng chữ ký số do một thực thể tạo ra (có thể là một đối tƣợng,

hoặc đại diện cho một nhóm đối tƣợng) nhằm chứng thực nguồn gốc hay hiệu lực củathông điệp dữ liệu của thực thể đó

Chữ ký bội đƣợc tạo nên từ nhiều chữ ký đơn cũng nhằm chứng thực nguồn gốc

hay hiệu lực của thông điệp dữ liệu

Cơ quan chứng thực – CA (Certification Authority) là một thực thể cung cấp chứng

chỉ số

Hìn h 1.1 C ác chức năng c ủa hệ th ốn g C A

Trang 24

1.4.1.2 Quy trình kiểm tra một chữ ký số:

Hìn h 1.3 Q u y trì nh ki ểm t ra chữ số ký

s ố

 Tính toán giá trị băm hiện thời

Sau khi nhận được thông điệp dữ liệu ban đầu (nói chính xác là thông điệp dữliệu mà bên nhận cho là thông điệp dữ liệu ban đầu) và chữ ký gửi kèm, bên nhậntiến hành tách riêng hai phần Phần thông điệp dữ liệu ban đầu trở thành đầuvào của thuật toán băm giống với thuật toán băm khi tạo ra chữ ký số Giá trịbăm nhận được gọi là giá trị băm hiện thời vì nó được tính từ thông điệp dữ liệuhiện thời

 Tính toán giá trị băm ban đầu

Trong bước thứ hai của quá trình giải mã, chữ ký số đính kèm được giải mã bằngkhóa công khai (public key) tương ứng với khóa bí mật (private key) dùng để tạochữ ký ở bên gửi Kết quả thu được giá trị băm ban đầu

 So sánh giá trị băm hiện thời với giá trị băm ban đầu

Trong bước này ta tiến hành so sánh giá trị băm thu được từ bước 1 và bước 2 củaquá trình xác thực:

• Nếu hai giá trị băm này trùng nhau: quá trình xác thực thành công, thông điệp dữliệu đã được ký bằng khóa bí mật tương ứng với khóa công khai khi xác minh,đồng thời thông điệp dữ liệu cũng không bị thay đổi trong quá trình truyền đi

• Nếu hai giá trị băm không trùng: quá trình xác thức thất bại, có hai trường hợp mất

an toàn đã xảy ra:

- Khóa bí mật của người gửi không được sử dụng khi tạo chữ ký

Trang 25

- Thông điệp dữ liệu đã thay đổi trong quá trình truyền đi.

Trang 26

1.4.1.3 So sánh giữa các phương pháp mã hóa sử dụng khóa công khai

Mã hóa sử dụng khóa công khai dựa trên hai vấn đề lớn của bài toán học là bài toánlogarit rời rạc và bài toán phân tích thừa số của số nguyên tố Phương pháp RSA dựatrên bài toán phân tích thừa số của số nguyên tố được đưa ra từ cuối thập niên 70, làphương pháp được sử dụng rộng rãi nhất hiện nay Phương pháp ECC dựa trên bài toánlogarit rời rạc trên trường số của EC chỉ mới đực đưa ra năm 1985

Ưu điểm của ECC là khả năng bảo mật cao với kích thước khóa nhỏ dựa vào mức

độ khó giải quyết của vấn đề ECDLP Đây chính là tích chất rất hữu ích đối với xuthế ngày nay tìm ra phương pháp tăng mức độ bảo mật của mã hóa khóa công khai vớikích thước khóa rút gọn Kích thước khóa nhỏ hơn giúp giảm lưu lượng trên mạng,giảm thời gian tạo khóa, ký và xác nhận ký

(bits)

ECC(bits)

Trang 27

Do kích thước khóa nhỏ và khả năng phát sinh khóa rất nhanh nên ECC rất đượcquan tâm để áp dụng cho các ứng dụng trên môi trường giới hạn về thông lượng truyền

dữ liệu, giới hạn về khả năng tính toán, khả năng lưu trữ ECC thích hợp với các thiết

bị di động kỹ thuật số như điện thoại di động, thẻ thông minh (smart card…)

Các hệ thống ECC đã và đang được một số công ty lớn về viễn thông và bảo mậttrên thế giới quan tâm phát triển Nổi bật trong số đó là Certicom (Canada) keetss hợpvới Đại học Waterloo đã nghiên cứu và xem ECC như chiến lược phát triển bảo mậtchính của công ty Certicom cung cấp dịch vụ bảo mật dựa trên ECC Ngoài ra, một sốcông ty khác như Siemens (Đức), Matsushita (Nhật), Thompson (Pháp) cũng nghiêncứu phát triển ECC Mới đây, RSA Security Laboratory (phòng thí nghiệm chính củaRSA) đã bắt đầu nghiên cứu và đưa ECC vào sản phẩm chính của mình

Tuy nhiên, ECC vẫn có một số hạn chế nhất định Hạn chế lớn nhất hiện nay là việc

chọn sử dụng các tham số đường cong và điểm quy ước chung như thế nào để thật sựđạt được độ bảo mật cần thiết Hầu hết các đường cong được đưa ra đều thất bại khi ápdụng vào thực tiễn Do đó hiện nay số lượng đường cong thật sự được sử dụng khôngphong phú NIST đề xuất một số đường cong elliptic curve đã được kiểm định là an toàn

để đưa vào sử dụng thực tế trong tài liệu FIPS 186-2 Ngoài ra, đối với các tham sốmang giá trị nhỏ, mức độ bảo mật của ECC không băng RSA Đối với một số trườnghợp RSA vẫn là lựa chọn tốt do RSA đã chứng minh được tính ổn định trong mộtkhoảng thời gian khá

dài

ECC vẫn còn non trẻ và cần được kiểm định trong tương lai Tuy nhiên, ECC cungcấp khả năng ứng dụng rất lớn trong lĩnh vực mã hóa khóa công khai trên các thiết bị diđộng và smart card Tương lai ECC sẽ được nghiên cứu đưa và thực tiễn phổ biến hơn

Trang 28

1.4.2 Chữ ký bội

Trên thực tế, có rất nhiều trường hợp khi ký vào một tài liệu cần nhiều người ký(hợp đồng, đơn từ, …) để xác thực nguồn gốc, hiệu lực của tài liệu đó Chữ ký sốcũng vậy, cũng có rất nhiều trường hợp cần nhiều người cùng ký vào một thông điệp

dữ liệu Và với nhu cầu thực tế và ngày càng trở nên cần thiết trong bối cảnh Chínhphủ điện tử, Thương mại điện tử hay nói cung là các giao dịch điện tử đang được pháttriển với qui mô toàn cầu, việc ra đời các mô hình ứng dụng chữ ký bội là một tất yếu.Chữ ký bội cho phép nhiều người cùng ký vào một thông điệp dữ liệu Chữ ký bộigiúp cho việc xác thực nguồn góc và tính toàn vẹn thông tin chính xác hơn rất nhiều, và

nó đáp ứng tốt các yêu cầu mà thực tiễn hiện nay đặt ra

Phần này giới thiệu sơ qua về chữ ký bội, ta sẽ đi sâu hơn ở các chương sau Chữ ký

bội được xây dựng và hình thành dựa trên chữ ký số đơn ta phân loại [7] chúng như cácphần dưới đây

1.4.2.1 Chữ ký nối tiếp

Đây là trường hợp “ký lên chữ ký”, người thứ nhất ký lên thông điệp dữ liệu; ngườithứ hai ký lên thông điệp dữ liệu do người thứ nhất ký … Người ký sau sẽ kiểm tra tínhhợp lệ của tất cả các chữ ký trước

Ta chia ra hai trường hợp như sau:

 Không phụ thuộc vào thứ tự: chỉ cần có đủ chữ ký hợp lệ, không cần xem xétđến thứ tự của người ký

 Phụ thuộc vào thứ tự: một người ký vào thông điệp dữ liệu cần ký đúng thứ

tự của mình thì chữ ký đó mới có hiệu lực (ví dụ khi ký vào tài liệu trả lươngcho nhân viên, yêu cầu giám đốc phải ký trước sau đó đến phòng kế toán ký)

1.4.2.2 Chữ ký song song

Tất cả các chữ ký của các thành viên sẽ được tạo độc lập, có vai trò như nhau(song song) cùng ký vào thông điệp dữ liệu Tất cả các thành viên tham gia vào quátrình tạo khóa chung của cả nhóm Sau đó, cần thống nhất cứ ra một người đại diện chotất cả các thành viên, người đại diện là người tin cậy của tất cả các thành viên nhóm,nhưng không phải là thành viên trong nhóm (không tham gia ký), hoặc nhờ cơ quanchứng thực CA đáng tin cậy làm đại diện

Trang 29

Chương 2 CH Ữ KÝ BỘI DỰA TRÊN HỆ MẬT RSA

2.1 HỆ MẬT RSA

Hệ mật RSA [1] là hệ mật khóa công khai đầu tiên được đề xuất và công bố bởi RonRivest, Adi Shamir và Len Adleman vào năm 1977 tại Viện Công nghệ Massachusetts(MIT – Massachusetts Institus of Technology) Hoa Kỳ Hệ mật này được cho là an toànkhi các tham số được lựa chọn hợp lý Hiện tại, RSA vẫn đang được sử dụng phổ biếntrong các giao dịch điện tử (Chính phủ điện tử, Thương mại điện tử, …) do tính mềmdẻo và độ an toàn danh tiếng của nó

2.1.1 Thuật toán hình thành cặp khóa

Các bước của thuật toán hình thành cặp khóa (bí mật, công khai):

 Sinh hai số nguyên tố p và q lớn, mạnh

 Tính n = p * q, ( ) = (p - 1)(q - 1)

 Chọn khóa công khai e là một giá trị ngẫu nhiên thỏa mãn 1 < e < ( ) và gcd(e, ( ))=1 Khóa bí mật d là phần tử nghịch đảo của b theo mod ( ): e*d 1 (mod ( )) hay d = e-1 mod ( )

2.1.2 Thuật toán mã hóa khóa công khai bằng hệ mật

RSA

Đặt P = C = Z n, sau khi tạo được cặp khóa (bí mật, công khai)

K = {(d, e) | d, e Z n , e*d 1 (mod ( )}

2.1.2.1 Thuật toán mã hóa

- Biểu diễn thông điệp dữ liệu M cần mã hóa thành một giá trị tương ứng m Zn

- Sử dụng khóa công khai e của người nhận để mã hóa giá trị m theo công thức:

C = (m) e mod n

2.1.2.2 Thuật toán giải mã

- Người nhận dùng khóa bí mật d để giải mã theo công thức:

Trang 30

2.1.3.2 Thuật toán kiểm tra chữ ký

- Tính giá trị đại diện của thông điệp dữ liệu cần thẩm tra M

m = H(M)

- Sử dụng khóa công khai của người ký để tính (giải mã S) theo công thức:

= (S) e mod n

- Nếu = m thì thông điệp dữ liệu có nguồn gốc hay hiệu lực được chứng thực

2.1.4 Độ an toàn của hệ mã hóa RSA

- Hệ mã hóa RSA là tất định, tức là với một bản rõ m và một khóa bí mật d thì chỉ

- Nhưng phân tích n thành tích của p và q là bài toán khó, độ an toàn của hệ

mật RSA dựa vào khả năng giải bài toán phân tích số nguyên dương n thành tích của

2 số nguyên tố lơn p và q

- Từ thuật toán hình thành chữ ký: S = (m)d mod n, tính khóa bí mật d từ việc giải:

d = log m (S) mod n Đây là bài toán logarit rời rạc trong modulo n với n là hợp số Để

tấn công khóa bí mật cần giải bài toán logarit rời rạc trong modulo hợp số

2.2 LƯỢC ĐỒ CHỮ KÝ CƠ SỞ DỰA TRÊN HỆ MẬT RSA

2.2.1 Lược đồ chữ ký cơ sở

Lược đồ chữ ký cơ sở - RSA.1 [4] được phát triển từ thuật toán chữ ký số RSA.Lược đồ chữ ký cơ sở được bổ sung thêm một cặp khóa (bí mật, công khai) thứ hai vớimục đích cải thiện độ an toàn của hệ mã hóa RSA

Trang 31

- Hình thành các tham số công khai

 Tính modulo n theo công thức: n = p * q

 Chọn giá trị t thỏa mãn: 1 < t < n

 Chọn hàm băm H: {0, 1}*

Z n

2/ Tạo các cặp khóa

- Tạo cặp khóa (bí mật, công khai) thứ nhất:

 Chọn khóa công khai thứ nhất e thỏa mãn: 1 < e < ( ) và gcd(e, ( ))=1.

 Tính khóa bí mật thứ nhất d theo công thức: d = e-1 mod ( )

- Tạo cặp khóa (bí mật, công khai) thứ hai:

 Chọn khóa bí mật thứ hai x thỏa mãn: 1 < x < n

 Tính khóa công khai thứ hai y theo công thức: y = x-t

mod n

2.2.1.2 Tạo chữ ký và kiểm tra chữ ký

1/ Thuật toán tạo chữ ký

Dữ liệu đầu vào của thuật toán hình thành chữ ký bao gồm: Thông điệp dữ liệu cần

ký M và cặp khóa bí mật (d, x) của thực thể ký Kết quả đầu ra của thuật toán là một

cặp chữ ký số (E, S) tương ứng với M Thuật toán bao gồm các bước sau:

Bước 1: Tính giá trị R theo công thức: R = (H(x || M)) t

mod n

Bước 2: Tính giá trị E’ theo công thức: E’ = H(R || M)

Bước 3: Tính giá trị S’ theo công thức: S’ = H(x || M) * (x) E’

2/ Thuật toán kiểm tra chữ ký

Dữ liệu đầu vào của thuật toán bao gồm: Thông điệp dữ liệu cần chứng thực M vàcặp chữ ký (E, S) tương ứng với cặp khóa công khai (e, y) của thực thể ký vừa tạo ởtrên Đầu ra của thuật toán là sự chứng thực nguồn gốc hay hiệu lực của thông điệp dữliệu là hợp lệ hay không hợp lệ

Thuật toán bao gồm các bước sau:

Bước 1: Tính giá trị theo công thức: = (E) e

mod n

Bước 2: Tính giá trị theo công thức: = (S) e

mod n

• Bước 3: Tính giá trị theo công thức: = ( )t * ( ) mod n

Bước 4: Tính giá trị ̿ theo công thức: ̿ = H( || M)

Trang 32

• Bước 5: Kết quả trả về hợp lệ nếu ̿ = và không hợp lệ nếu ̿ ≠

Trang 33

2.2.2 Tính đúng đắn của lƣợc đồ chữ ký cơ sở

Bổ đề 2.1: Nếu p, q là 2 số nguyên tố phân biệt, n = p * q và ( ) = (p - 1)(q - 1),

1 < e < ( ) và gcd(e, ( )) = 1, d = e-1 mod ( ) và 0 ≤ m < n, thì: (m) e*d mod n = m.

Chứng minh:

Thật vậy, ta có:

d = e-1 mod ( )Nên:

Từ đây suy ra:

(m) e*d mod n = ( ) mod n = ( ) * m 1 mod n

= ( ( ))k * m mod n = (1) k * m mod n = m mod n = m

Vậy bổ đề đã đƣợc chứng minh

Kiểm chứng sự phù hợp giữa các thuật toán hình thành chữ ký, kiểm tra chữ ký [2]

Ta cần chứng mình điều sau: Cho p, q là 2 số nguyên tố phân biệt, n = p * q và

= (E) e mod n = ((E’) d mod n) e mod n = (E’) d*e mod n = E’

= (S) e mod n = ((S’) d mod n) e mod n = (S’) d*e mod n = S’

Do đó:

= ( )t * ( ) mod n = (S’)t * (y) E’ mod n

= (H(x || M) * (x) E’ mod n) t * (x-t mod n) E’ mod n

= ((H(x || M)) t * ((x) E’)t mod n) * (x -t*E’ mod n) mod n

= R * (x) t*E’ * (x) -t*E’ mod n = R

Trang 34

Nên ta có:

̿= H( || M) = H( || M) = E’

Từ đây suy ra: ̿ = (Điều cần chứng minh)

2.2.3 Mức độ an toàn của lược đồ chữ ký cơ sở

Các thuật toán hình thành tham số hệ thống và cặp khóa (bí mật, công khai) thứnhất của lược đồ tương tự như ở hệ mật mã RSA Vì vậy , mức độ an toàn [1][2] trongtrường hợp này cũng phụ thuộc vào khả năng giải bài toán phân tích số nguyên dương

n thành tích của 2 số nguyên tố lơn p và q tương tự như RSA.

Cặp khóa (bí mật, công khai) thứ hai (x, y) hình thành theo công thức y = x-t

mod n.

Vì vậy, để tính khóa bí mật x từ khóa công khai y cần giải được bài toán khai căn trong

modulo hợp số cũng tương tự như với hệ mật RSA

Với (E’’, S’’) là cặp chữ ký giả mạo tương ứng với thông điệp dữ liệu M Chữ kýnày sẽ được chứng thực nguồn gốc hay hiệu lực nếu (M, E’’, S’’) thỏa mãn điều kiện sau:

(E’’) e mod n = H(((S’’) t*e * ( )( ) mod n) || M)

2.3 CHỮ KÝ BỘI TRÊN HỆ MẬT RSA

2.3.1 Lược đồ chữ ký bội nối tiếp

Lược đồ chữ ký bội nối tiếp - RSA.2 [2] hình thành chữ ký bội từ chữ ký cá nhâncủa một tập gồm k người ký Ui với i = 1, 2, …, k và chữ ký của CA

Lược đồ chữ ký bội được xây dựng với các chức năng:

 Chứng nhận và kiểm tra tính hợp pháp của các đối tượng ký

 Hình thành chữ ký bội của một nhóm đối tượng ký đối với một thông điệp

dữ liệu M Chữ ký bội được tạo ra có dạng đa chữ ký nối tiếp, chữ ký nàyđược hình thành từ chữ ký cá nhân của nhóm đối tượng ký và chữ ký của

CA Việc kiểm tra chữ ký bội được thực hiện tương tự như với một chữ

Trang 35

- Hình thành các tham số công khai

 Tính modulo n theo công thức: n = p * q

 Chọn giá trị t thỏa mãn: 1 < t < n

 Chọn hàm băm H: {0, 1}*

Z n

2/ Tạo các cặp khóa

- Tạo cặp khóa (bí mật, công khai) của CA:

 Chọn khóa công khai thứ nhất e thỏa mãn: 1 < e < ( ) và gcd(e, ( ))=1.

 Tính khóa bí mật thứ nhất d theo công thức: d = e-1 mod ( )

- Tạo cặp khóa (bí mật, công khai) cho từng đối tượng ký Ui:

 Chọn khóa bí mật thứ hai x thỏa mãn: 1 < xi < n

 Tính khóa công khai thứ hai y theo công thức: yi = x i-t mod n

2.3.1.2 Chứng nhận và kiểm tra tính hợp pháp của đối tượng ký

Một đối tượng Ui được công nhận là thành viên của một tổ chức được CA của tổchức đó cấp chứng nhận dưới dạng một Chứng chỉ khóa không khai Khi đó, đối tượng

Ui sẽ được phép ký các thông điệp dữ liệu với tư cách là thành viên của tổ chức đó

1/ Thuật toán chứng nhận đối tượng ký

Dữ liệu đầu vào của thuật toán bao gồm: Khóa công khai (yi) và thông tin nhậndạng (IDi) của đối tượng Ui, khóa bí mật d của CA Kết quả đầu ra của thuật toán làchứng nhận Vi của CA đối với Ui Thuật toán bao gồm các bước sau:

Bước 1: Tính giá trị V i ’ theo công thức: V i ’ = H(y i || ID i)

Bước 2: Hình thành chứng nhận V i theo công thức: Vi = (V i ’) d mod n

Bước 3: CA công khai V i là chứng nhận của CA đối với Ui

2/ Thuật toán kiểm tra tính hợp pháp của đối tượng ký

Dữ liệu đầu vào của thuật toán gồm: Khóa công khai (yi) và thông tin nhận dạng(IDi) của đối tượng Ui , chứng nhận Vi của CA đối với Ui , khóa công khai e của CA Kết

quả của thuật toán là sự khẳng định về tính hợp lệ của chứng nhận Vi hay sự công nhận

về tính toàn vẹn của yi và tính hợp pháp của Ui Thuật toán bao gồm các bước:

Bước 1: Tính giá trị V i ’ theo công thức: V i ’ = H(y i || ID i)

Bước 2: Tính giá trị theo công thức: = (V i)e mod n

• Bước 3: Kiểm tra nếu = V i ’ thì V i hợp lệ, do đó tính hợp pháp của Ui vàtính toàn vẹn của yi được công nhận

Trang 36

2.3.1.3 Hình thành và kiểm tra chữ ký bội nối tiếp

Giả sử nhóm ký G có N thành viên tham gia ký: với các cặpkhóa (bí mật, công khai) như đã hình thành ở trên Đặc điểm chữ ký bội ở đây là:

 Độ dài của chữ ký bội là cố định, không phụ thuộc số lượng thành viên

 Chữ ký bội chỉ được tạo ra khi có đủ số lượng thành viên tham gia ký

 Chữ ký bội được thẩm tra nhờ khóa công khai chung của nhóm, khóa côngkhai chung này được hình thành từ đầy đủ các khóa công khai riêng của mỗithành viên ký

 Việc thẩm tra một chữ ký bội được thực hiện tương tự như với một chữ ký

số thông thường

1/ Thuật toán hình thành chữ ký bội nối tiếp

Dữ liệu đầu vào của thuật toán bao gồm: Thông điệp dữ liệu cần ký M, khóa bí mậtcủa các thành viên tham gia ký và khóa bí mật d của CA Các bướccủa thuật toán:

1) Hình thành phần thứ nhất (EG) của chữ ký bội theo các

bước:

1a - Thành viên ( ) hình thành phần thứ nhất của chữ ký đơn R i theocông thức: Ri = R i-1 * (H(x i || M)) t mod n với R 0 = 1

1b - Thành viên ( ) gửi giá trị R i cho CA

1c - CA kiểm tra nếu i < N : CA gửi R i cho thành viên tiếp theo U i+1 để tiếp tụcthực hiện bước 1a Nếu i = N thì RG = R N , CA chuyển sang thực hiện bướctiếp theo

1d - CA tính giá trị EG theo công thức: EG = H(R G || M)

2) Hình thành phần thứ hai (SG) của chữ ký bội theo các

bước:

2a - CA gửi giá trị EG cho các thành viên nhóm ký

2b - Thành viêncông thức: Si = S(i-1 * H(x i ) hình thành phần thứ hai của chữ ký đơn S|| M) * ( ) mod n với S 0 = 1 i theo2c - Thành viên ( ) gửi giá trị S i cho CA

2d - CA kiểm tra tình hợp lệ của chữ ký đơn (Ri, Si) Nếu tính hợp lệ của chữ ký

đơn được công nhận thì thực hiện các bước tiếp theo Ngược lại kết thúc việc hình thành chữ ký bội

2e - Nếu i < N : CA gửi Si cho thành viên tiếp theo Ui+1 để tiếp thực thực hiện

bước 2b Nếu i = N thì S G = S N , CA chuyển sang thực hiện bước tiếp theo

Trang 37

2/ Thuật toán kiểm tra chữ ký bội nối tiếp

Dữ liệu đầu vào của thuật toán bao gồm: Thông điệp dữ liệu cần thẩm tra và chữ

ký bội tương ứng (E, S) của nhóm G, khóa công khai của các thành viên trong

nhóm và khóa công khai e của CA Kết quả đầu ra của thuật toán là sự

khẳng định về tính hợp lệ của chữ ký bội (E, S) hay sự công nhận về nguồn gốc và tínhtoàn vẹn của thông điệp dữ liệu M Thuật toán gồm các bước sau:

• Bước 1: Tính giá trị theo công thức: = (S) e mod n

• Bước 2: Tính giá trị theo công thức: = (E) e mod n

Bước 3: Tính khóa công khai chung của nhóm Y G theo công thức: Y G = ∏

• Bước 4: Tính giá trị theo công thức: = ( )t * ( ) mod n

Bước 5: Tính giá trị ̿̿̿ theo công thức: ̿̿̿ = H( || M)

• Bước 6: Kiểm tra nếu ̿̿̿ = thì chứng thực tính hợp lệ của chữ ký bội (E, S) và do

đó nguồn gốc cũng như tính toàn vẹn của thông điệp dữ liệu cần thẩm tra M đượccông nhận

3/ Thuật toán kiểm tra chữ ký cá nhân

Kiểm tra tính hợp lệ của (Ri , S i) là chữ ký cá nhân của thành viên Ui được hìnhthành như mục Thuật toán hình thành chữ ký bội đã nêu Thuật toán kiểm tra bao gồmcác bước như sau:

• Bước 1: Tính giá trị ( ) theo công thức: = (Si)t * ( ) mod n với

• Bước 2: Kiểm tra nếu = R i thì tính hợp lệ của chữ ký cá nhân (Ri , S i) được công nhận Ngược lại, nếu ≠ Ri thì có sự giả mạo trong chữ ký cá nhân

Trang 38

2.3.2 Lược đồ chữ ký bội song song

Giả sử nhóm ký G gồm N thành viên tham gia ký: Chữ kýbội song song - RSA.3 [2] được hình thành bằng cách: thu thập tất cả các chữ ký đơn

của các thành viên lên thông điệp dữ liệu M, sau đó tạo đa chữ ký (E G , S G) của cảnhóm từ những chữ ký đơn đã thu thập được Chữ ký bội được hình thành bằng cách

CA ký trực tiếp lên chữ ký chung của nhóm Việc kiểm tra tính hợp lệ của chữ ký bộisong song được thực hiện như với một chữ ký số đơn bình thường Tính đúng đắn củalược đồ này đã được Lưu Hồng Dũng [2] chứng minh

2.3.2.1 Hình thành các tham số hệ thống và khóa

Các tham số hệ thống , khóa được hình thành giống như tham số hệ thống, khóa

trong lược đồ chữ ký bội nối tiếp (mục 2.3.1.1).

2.3.2.2 Chứng nhận và kiểm tra tính hợp pháp của các đối tượng ký

Việc chứng nhận và kiểm tra tính hợp pháp của đối tượng ký được thực hiện tương

tự như trong lược đồ chữ ký bội nối tiếp (mục 2.3.1.2)

2.3.2.3 Hình thành và kiểm tra chữ ký bội song song

1/ Thuật toán hình thành chữ ký bội song song

Dữ liệu đầu vào của thuật toán bao gồm: Thông điệp dữ liệu cần ký M, khóa bí mậtcủa các thành viên tham gia ký và khóa bí mật d của CA Kết quảđầu ra của thuật toán là chữ ký tập thể (E, S) của nhóm G tương ứng với M Thuật toánbao gồm các bước sau:

1 - Hình thành phần thứ nhất (EG) của đa chữ ký theo các bước:

1a - Thành viên ( ) hình thành phần thứ nhất của chữ ký đơn R i theocông thức: Ri = (H(x i || M)) t mod n

1b - Các thành viên của nhóm gửi giá trị R i ( ) cho CA

1c - CA tính giá trị R G theo công thức: R G = ∏

1d - Sau đó CA tính giá trị E G theo công thức: E G = H(R G || M)

2 - Hình thành phần thứ hai (SG) của đa chữ ký chữ ký theo các bước:

2a - CA gửi giá trị EG cho các thành viên nhóm ký

2b - Thành viêncông thức: Si = (H(x( i || M))) hình thành phần thứ hai của chữ ký đơn St * ( ) mod n i theo

2c - Các thành viên nhóm ký gửi giá trị S i ( ) cho CA

Trang 39

2d - CA kiểm tra tính hợp lệ của các chữ ký cá nhân bằng Thuật toán kiểm tra

chữ ký đơn Nếu tính hợp lệ của các chữ ký đơn được công nhận thì thực

hiện các bước tiếp theo Ngược lại sẽ kết thúc việc hình thành chữ ký bội

2e - CA tính giá trị S G theo công thức: S G = ∏ mod n

3 - Hình thành chữ ký bội (E, S) theo các bước:

3a - CA hình thành phần thứ nhất E của chữ ký bội theo công thức:

2/ Thuật toán kiểm tra chữ ký bội song song

Dữ liệu đầu vào của thuật toán bao gồm: Thông điệp dữ liệu cần thẩm tra M và chữ

ký bội (E, S) của nhóm G, khóa công khai của các thành viên trong nhóm

và khóa công khai e của CA Kết quả đầu ra của thuật toán là sự

khẳng định về tính hợp lệ của chữ ký bội (E, S) hay sự công nhận về nguồn gốc và tínhtoàn vẹn của thông điệp dữ liệu Thuật toán gồm các bước như sau:

• Bước 1: Tính giá trị theo công thức: = (S) e mod n

• Bước 2: Tính giá trị theo công thức: = (E) e mod n

Bước 3: Tính khóa công khai chung của nhóm Y G theo công thức: Y G = ∏

• Bước 4: Tính giá trị theo công thức: = ( )t * ( ) mod n

Bước 5: Tính giá trị ̿̿̿ theo công thức: ̿̿̿ = H( || M)

• Bước 6: Kiểm tra nếu ̿̿̿ = thì chứng thực tính hợp lệ của chữ ký tập bội (E, S) và

do đó nguồn gốc cũng như tính toàn vẹn của thông điệp dữ liệu cần thẩm tra M đượccông nhận

3/ Thuật toán kiểm tra chữ ký cá nhân

Giả sử (R i , S i) là chữ ký cá nhân của thành viên ( ) được hình thành nhưtrên Thuật toán kiểm tra tính hợp lệ của (Ri , S i) gồm các bước sau:

• Bước 1: Tính giá trị ( ) theo công thức: = (Si)t * ( ) mod n

• Bước 2: Tính giá trị theo công thức: = ∏ mod n

• Bước 3: Kiểm tra nếu = R G thì chữ ký cá nhân (Ri , S i) của thành viên thứ i hợp lệ.Ngược lại, nếu ≠ R G thì có sự giả mạo trong các chữ ký cá nhân của thành viên

Trang 40

trong nhóm.

Ngày đăng: 19/08/2014, 07:27

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[5] Karl R.P.H. Leung; Lucas C.K. Hui: “Multiple Signature Handling in Workflow Systems”, 2000 Sách, tạp chí
Tiêu đề: Multiple Signature Handling in WorkflowSystems
[6] PKCS #1 v2.2: RSA Cryptography Standard, RSA Laboratories October 27, 2012 Sách, tạp chí
Tiêu đề: RSA Cryptography Standard
[7] Chafic Maroun Rouhana Moussa, “Digital Signature and Multiple Signature: Different cases for Different Purposes”, July 7 th , 2003 Sách, tạp chí
Tiêu đề: Digital Signature and Multiple Signature: Different cases for Different Purposes
[8] Tzer-Shyong Chen, Kuo-Hsuan Huang, Yu-Fang Chung, “Digital multi-signature scheme based on the elliptic curve cryptosystem”, 2004 Sách, tạp chí
Tiêu đề: Digital multi-signaturescheme based on the elliptic curve cryptosystem
[9] Dou Liu, Ping Lou, Yi-Qi Dai, “Attack on Digital Multi-Signature scheme based on Elliptic curve Cryptosystem”, 2007 Sách, tạp chí
Tiêu đề: Attack on Digital Multi-Signature scheme basedon Elliptic curve Cryptosystem
[10] Sahu Hemlal, Birendra Kumar Sharma, “An MSS based on the Elliptic curve Cryptosystem”, International Journal of Network Security, 01-2010 Sách, tạp chí
Tiêu đề: An MSS based on the Elliptic curveCryptosystem
[11] NIST, Recommended elliptic curves for federal government use, 07-1999 Sách, tạp chí
Tiêu đề: Recommended elliptic curves for federal government use
[2] Lưu Hồng Dũng, Nghiên cứu phát triển các lược đồ chữ ký số tập thể, 2012 [3] Nguyễn Đăng Hậu, Kiến thức thương mại số, 11-2011 Khác
[4] Dương Thị Mai Thương, Trịnh Nhật Tiến, Lược đồ chữ ký số bội trên đường cong elliptic, 2012Tiếng Anh Khác
[12] Markus Michels, Patrick Horster, On the risk of discruption in several multiparty signature schemes, In International Journal of Network Security, 2010 Khác

HÌNH ẢNH LIÊN QUAN

BẢNG CHỮ VIẾT  TẮT, KÝ HIỆU - Nghiên cứu chữ ký bội và ứng dụng
BẢNG CHỮ VIẾT TẮT, KÝ HIỆU (Trang 6)
3.3.2. Sơ đồ chữ ký mù Harn trên ECC - Nghiên cứu chữ ký bội và ứng dụng
3.3.2. Sơ đồ chữ ký mù Harn trên ECC (Trang 55)
3.3.3. Sơ đồ chữ ký số bội trên đường cong Elliptic - Nghiên cứu chữ ký bội và ứng dụng
3.3.3. Sơ đồ chữ ký số bội trên đường cong Elliptic (Trang 56)
3.3.4. Sơ đồ chứ ký bội mù Harn trên ECC - Nghiên cứu chữ ký bội và ứng dụng
3.3.4. Sơ đồ chứ ký bội mù Harn trên ECC (Trang 65)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w