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

Nghiên cứu phát triển một số lược đồ chữ ký số dựa trên hệ mật rabin và RSA

98 15 0

Đ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

Định dạng
Số trang 98
Dung lượng 0,91 MB

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

Nội dung

• Luận án nghiên cứu cải tiến chữ ký số Rabin để giảm chi phí thời gian của thuật toán ký, đồng thời đề xuất các lược đồ chữ ký phát triển chữ ký số Rabin với số mũ e=3, trong đó thuật t

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG

VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ

LUẬN ÁN TIẾN SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC:

1 TS Nguyễn Hữu Mộng

2 TS Ngô Trọng Mại

Hà Nội – 2019

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của tôi dưới sự hướng dẫn của các cán bộ hướng dẫn Các số liệu, kết quả nghiên cứu trình bày trong luận án là hoàn toàn trung thực và chưa từng được công bố trong các công trình trước đây Các dữ liệu tham khảo được trích dẫn đầy đủ

Hà Nội, ngày 30 tháng 09 năm 2019

Hoàng Thị Mai

Trang 3

LỜI CẢM ƠN

Luận án này được thực hiện tại Viện Khoa học và Công nghệ quân

sự - Bộ Quốc phòng Nghiên cứu sinh xin bày tỏ lòng biết ơn sâu sắc tới Tiến sĩ Nguyễn Hữu Mộng, Tiến sĩ Ngô Trọng Mại đã tận tình hướng dẫn

và giúp đỡ nghiên cứu sinh trong suốt quá trình học tập, nghiên cứu và hoàn thành luận án

Nghiên cứu sinh chân thành cảm ơn các thày cô giáo, các nhà khoa học của Viện Khoa học và Công nghệ quân sự, Viện Công nghệ thông tin, Học viện Kỹ thuật quân sự, Học viện Kỹ thuật Mật mã, đã đóng góp nhiều ý quý báu để nghiên cứu sinh hoàn thành bản luận án này

Nghiên cứu sinh chân thành cảm ơn Ban Giám đốc, Phòng Đào tạo, Viện Khoa học và Công nghệ quân sự đã tạo điều kiện thuận lợi để Nghiên cứu sinh hoàn thành nhiệm vụ nghiên cứu

Cuối cùng, nghiên cứu sinh xin bày tỏ lời cảm ơn chân thành tới các đồng nghiệp, gia đình, bạn bè đã luôn động viên, chia sẻ, ủng hộ và giúp

đỡ nghiên cứu sinh vượt qua khó khăn để hoàn thành các nội dung nghiên cứu

NCS Hoàng Thị Mai

Trang 4

MỤC LỤC

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v

DANH MỤC CÁC BẢNG vii

MỞ ĐẦU 1

1 Tính cấp thiết của đề tài luận án 1

2 Mục tiêu nghiên cứu 1

3 Nội dung nghiên cứu 2

4 Đối tượng và phạm vi nghiên cứu 2

5 Phương pháp nghiên cứu 3

6 Ý nghĩa khoa học và thực tiễn 3

7 Bố cục của luận án 3

CHƯƠNG 1 TỔNG QUAN VỀ CHỮ KÝ SỐ VÀ HƯỚNG NGHIÊN CỨU PHÁT TRIỂN 5

1.1 Lược đồ chữ ký số 5

1.2 Một số lược đồ chữ ký số 6

1.2.1 Lược đồ RSA 7

1.2.2 Chữ ký số Rabin 8

1.2.3 Chữ ký số Rabin-Williams 10

1.2.4 Lược đồ chữ ký DSA 12

1.2.5 Lược đồ ECDSA 13

1.3 Chi phí thời gian của các phép tính số học trên Zn 16

1.4 Đánh giá chi phí thời gian kiểm tra của một số lược đồ chữ ký 18

1.4.1 Chi phí kiểm tra của lược đồ chữ ký ECDSA 18

1.4.2 Đánh giá chi phí kiểm tra của một số lược đồ chữ ký 20

1.5 Vấn đề thực tiễn và hướng nghiên cứu của đề tài luận án 25

1.6 Kết luận chương 1 28

CHƯƠNG 2 CẢI TIẾN VÀ PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ RABIN 29

2.1 Mở đầu 29

2.2 Cơ sở toán học 30

2.2.1 Thặng dư bậc hai và việc khai căn bậc hai trên trường GF(p)

với p nguyên tố 30

2.2.2 Định lý phần dư Trung hoa và khai căn bậc hai trên vành ℤ𝑛 33

2.2.3 Thuật toán khai căn bậc 3 theo modulo p 33

2.2.4 Một số kết quả bổ trợ 36

2.3 Lược đồ chữ ký RW0 38

2.3.1 Lược đồ chữ ký RW0 38

2.3.2 Tính đúng đắn của lược đồ RW0 40

2.3.3 Độ an toàn của lược đồ chữ ký RW0 42

2.3.4 Tính hiệu quả của lược đồ RW0 43

Trang 5

2.4 Lược đồ chữ ký R0 46

2.4.1 Lược đồ chữ ký R0 46

2.4.2 Tính đúng đắn của lược đồ R0 48

2.4.3 Độ an toàn lược đồ chữ ký R0 49

2.4.4 Tính hiệu quả của lược đồ chữ ký R0 49

2.5 Lược đồ chữ ký PCRS 54

2.5.1 Lược đồ chữ ký PCRS 55

2.5.2 Tính đúng đắn của lược đồ chữ ký 56

2.5.3 Độ an toàn của lược đồ chữ ký 57

2.5.4 Chi phí thời gian của lược đồ PCRS 58

2.6 Kết luận chương 2 60

CHƯƠNG 3 LƯỢC ĐỒ CHỮ KÝ KẾT HỢP RABIN VÀ RSA 61

3.1 Đảm bảo toán học của lược đồ chữ ký cho trường hợp e=3 61

3.1.1 Một số thống nhất và ký hiệu 61

3.1.2 Hàm CR và việc khai căn bậc 3 61

3.1.3 Các tập E(β), B(β) 62

3.1.4 Quan hệ giữa việc giải phương trình đồng dư bậc 3 trên ℤ𝑛 và việc phân tích n ra thừa số nguyên tố 64

3.2 Lược đồ DRSA-RABIN3 65

3.2.1 Lược đồ DRSA-RABIN3 66

3.2.2 Tính đúng đắn của lược đồ DRSA-RABIN3 67

3.2.3 Độ an toàn của lược đồ DRSA-RABIN3 67

3.2.4 Chi phí thời gian của lược đồ DRSA-RABIN3 68

3.3 Lược đồ PRSA-RABIN3 69

3.3.1 Lược đồ chữ ký PRSA-RABIN3 69

3.3.2 Tính đúng đắn của lược đồ chữ ký 70

3.3.3 Độ an toàn của lược đồ chữ ký 72

3.3.4 Chi phí thời gian của lược đồ PRSA-RABIN3 72

3.4 Các lược đồ DRSA-Rabin3 và PRSA-Rabin3 cải tiến 73

3.4.1 Cơ sở toán học của việc cải tiến 73

3.4.2 Lược đồ PRSA-Rabin3 cải tiến 75

3.4.3 Lược đồ DRSA-Rabin3 cải tiến 78

3.5 Kết luận chương 3 83

KẾT LUẬN 84

1 Các kết quả đã đạt được 84

2 Những đóng góp mới của luận án 85

3 Hướng nghiên cứu tiếp theo 85

CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ 86

TÀI LIỆU THAM KHẢO 87

Trang 6

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

(𝑎

𝑛)

Ký hiệu Jacobi

|| Toán tử nối xâu

𝐶𝑜𝑑𝑒(𝑠) Hàm đổi xâu bít 𝑠 = 𝑥0𝑥1… 𝑥𝑡−1 sang số nguyên

NQRp Tập các phần tử không là thặng dư bậc hai modulo p

QRp Tập các phần tử là thặng dư bậc hai modulo p

𝑍𝑛 Vành số nguyên với phép cộng và phép nhân rút gọn theo

modulo n

𝑍𝑛∗ Nhóm nhân modulo n

𝑔𝑐𝑑(𝑎, 𝑏) Ước số chung lớn nhất của a và b

𝑙𝑒𝑛(𝑥) Độ dài bít của số tự nhiên x

𝑡𝑓 Chi phí thời gian để tính giá trị hàm f

𝑤𝑡(𝑥) Trọng số của số nguyên x

𝑥 𝑚𝑜𝑑 𝑝 Phần dư khi chia x cho p

𝜙(𝑛) Số các số nguyên a thỏa mãn 0 ≤ 𝑎 < 𝑛 và gcd(𝑎, 𝑛) = 1

CA Thẩm quyền chứng thực (Certificate Authority)

DES Chuẩn mã hóa dữ liệu (Data Encryption Standard)

DS Chữ ký số (Digital Signature)

DSA Thuật toán chữ ký số (Digital Signature Algorithm)

DSS Chuẩn chữ ký số (Digital Signature Standard)

ECDSA Thuật toán chữ ký số đường cong Eliptic (Elliptic Curve

Digital Signature Algorithm) FIPS Tiêu chuẩn xử lý thông tin liên bang (Mỹ) (Ferderal

Infomation Processing Standard) Hash Hàm băm (Hash function)

Trang 7

MD Bản tóm tắt (Message Digest)

NCS Nghiên cứu sinh

PKCS Các chuẩn mã hoá khoá công khai do hãng RSA đưa ra

(Public Key Cryptography Standards) RSA Tên một hệ thống mật mã khoá công khai do các tác giả

Ron Rivest, Adi Shamir và Leonard Adleman phát minh SHA Hàm băm mật mã (Secure Hash Algorithm)

Trang 8

DANH MỤC CÁC BẢNG

Trang

Bảng 1.1-Chi phí thời gian chạy các phép tính số học trên Zn 17

Bảng 1.2- Chi phí phép nhân đôi điểm, cộng điểm trên đường cong

elliptic trên các hệ tọa độ khác nhau 18

Bảng 1.3- Kích thước khóa RSA, DL và EC và mức độ an toàn 20

Bảng 1.4- Thuật toán kiểm tra RSA, Rabin và DSA 21

Bảng 1.5- Chi phí thời gian thuật toán kiểm tra Rabin và ECDSA 25

Bảng 3.1- Thời gian tạo chữ ký lược đồ gốc và lược đồ cải tiến 78

Trang 9

MỞ ĐẦU

1 Tính cấp thiết của đề tài luận án

Hiện nay, việc triển khai ứng dụng chữ ký số trong các giao dịch điện tử ngày càng phát triển tại Việt Nam Sự tăng trưởng này là kết quả của các điều kiện cơ sở hạ tầng và hành lang pháp lý liên quan đến chữ ký số ngày càng hoàn thiện Về cơ sở hạ tầng, theo sách trắng Công nghệ thông tin và Truyền thông Việt Nam 2017, giá cước dịch vụ Internet băng rộng cố định tại Việt Nam đang ở mức thấp nhất thế giới với vị trí xếp hạng 1/139 nước [1], số người sử dụng Internet năm 2016 đã lên tới hơn 50 triệu người Về pháp lý, luật giao dịch điện tử có hiệu lực từ năm 2005 đã qui định các giao dịch điện tử hoàn toàn toàn có tính pháp lý như các giao dịch thực hiện bằng văn bản giấy với chữ ký thông thường

Về lĩnh vực chữ ký số, hệ thống văn bản pháp luật ngày càng hoàn thiện, cùng với đó số lượng các đơn vị được cấp phép cung cấp dịch vụ chữ ký số ngày càng tăng Sau khi Trung tâm Chứng thực Chữ ký số Quốc gia được thành lập năm 2008 đã có 09 doanh nghiệp được cấp giấy phép cung cấp dịch vụ chứng thực chữ ký số công cộng cho các tổ chức và cá nhân Số lượng chứng thư số cấp trong năm 2015 tăng 75% so với năm 2014 Mặc dù

có sự phát triển nhanh chóng trong thời gian gần đây nhưng khả năng ứng dụng của chữ ký số là rất lớn và chữ ký số đóng vai trò hết sức quan trọng đối với tương lai phát triển của chính phủ điện tử và thương mại điện tử tại Việt Nam

Trong bối cảnh đó, việc nghiên cứu cải tiến hiệu quả của các lược đồ chữ

ký số và xây dựng các lược đồ chữ ký số mới là rất cần thiết, có ý nghĩa sâu sắc về học thuật và thực tiễn

2 Mục tiêu nghiên cứu

Các giao dịch mật mã kiểu “nhiều-một” như các đầu mối tiếp nhận hồ

sơ của dịch vụ hành chính công, xác định tính hợp lệ của phiếu bầu cử trong

Trang 10

việc bầu cử điện tử, có dạng nhiều người gửi thông tin đến một người, dẫn đến yêu cầu xác thực danh tính được tiến hành thường xuyên với số lượng lớn Đặc điểm này cũng dẫn đến yêu cầu đối với chữ ký số mà dịch vụ sử dụng, cụ thể là thuật toán kiểm tra chữ ký số cần có thời gian chạy thấp Mục tiêu của luận án là xây dựng hệ chữ ký số khóa công khai có chi phí kiểm tra chữ ký thấp cho các ứng dụng sử dụng giao dịch mật mã kiểu

“nhiều-một”

3 Nội dung nghiên cứu

• Nghiên cứu các hệ chữ ký số cơ bản dựa trên các bài toán khó của lý thuyết số: bài toán phân tích số, bài toán logarithm rời rạc, bài toán logarithm rời rạc trên đường cong elliptic

• Trên cơ sở nghiên cứu các hệ chữ ký số cơ bản và các công bố khoa học liên quan trực tiếp tới mục tiêu luận án, luận án lựa chọn lược đồ chữ ký Rabin và RSA là cơ sở cho các cải tiến đề xuất lược đồ chữ ký số mới

• Luận án nghiên cứu cải tiến chữ ký số Rabin để giảm chi phí thời gian của thuật toán ký, đồng thời đề xuất các lược đồ chữ ký phát triển chữ ký

số Rabin với số mũ e=3, trong đó thuật toán ký được thực hiện theo hướng cải tiến như lược đồ Rabin

• Luận án nghiên cứu đề xuất lược đồ chữ ký kết hợp nguyên lý thiết kế của chữ ký số Rabin và RSA Luận án chứng minh rằng các lược đồ chữ

ký đề xuất có chi phí thời gian đáp ứng được các yêu cầu triển khai thực tiễn theo mục tiêu luận án đặt ra

4 Đối tượng và phạm vi nghiên cứu

Đối tượng và phạm vi nghiên cứu của luận án là cơ sở toán học lý thuyết

số của các hệ mật và hệ chữ ký số cơ bản; các lược đồ chữ số có chi phí kiểm tra thấp: RSA, Rabin, DSA, ECDSA,

Trang 11

5 Phương pháp nghiên cứu

• Tham khảo các công bố khoa học, sách, tài liệu chuyên ngành, báo cáo khoa học về lĩnh vực mật mã, đặc biệt nội dung là chữ ký số

• Sử dụng các công cụ toán học của lý thuyết số để xây dựng các giải thuật cho lược đồ chữ ký số đề xuất

• Sử dụng lý thuyết về độ phức tạp thuật toán để đánh giá chi phí thời gian chạy của các lược đồ chữ ký đề xuất

6 Ý nghĩa khoa học và thực tiễn

Về ý nghĩa khoa học, luận án đề xuất một số lược đồ chữ ký số mới trên

cơ sở cải tiến và phát triển lược đồ chữ ký Rabin, kết hợp chữ ký số Rabin

và RSA Các lược đồ chữ ký đề xuất đã cải tiến một số điểm hạn chế của lược đồ gốc nhằm tăng hiệu quả thuật toán, đồng thời có độ mật được kế thừa

từ lược đồ gố Rabin và RSA

Về ý nghĩa thực tiễn, các lược đồ chữ ký mới được đề xuất trong luận án phù hợp trong các giao dịch mật mã dạng “nhiều-một” của các ứng dụng chữ

ký số trong chính phủ điện tử và thương mại điện tử

Chương 1: Tổng quan về chữ ký số và hướng nghiên cứu phát triển

Chương này trình bày các khái niệm cơ bản liên quan trực tiếp đến vấn

đề nghiên cứu của luận án, tổng quan về chữ ký số và hướng nghiên cứu của

đề tài luận án Trên cơ sở phân tích và so sánh thời gian kiểm tra của các lược đồ chữ ký đã được đưa vào một số chuẩn chữ ký số và phân tích tình

Trang 12

hình nghiên cứu hiện nay về chữ ký số, chương 1 nêu rõ hướng nghiên cứu của đề tài luận án, là cơ sở cho việc nghiên cứu phát triển một số lược đồ chữ

ký số ở chương 2 và chương 3

Chương 2: Cải tiến và phát triển lược đồ chữ ký Rabin

Chương này đề xuất lược đồ chữ ký dòng Rabin Chương này đề xuất 03 lược đồ chữ số mới, bao gồm:

• Lược đồ chữ ký cải biên từ lược đồ Rabin

• Lược đồ chữ ký cải biên từ lược đồ Rabin-Williams

• Phát triển lược đồ chữ ký dòng Rabin với số mũ e=3

Các lược đồ cải biên đều sử dụng kỹ thuật tránh tính toán ký hiệu Jacobi

và đảm bảo hiệu quả về chi phí thời gian chạy

Chương 3: Lược đồ chữ ký kết hợp Rabin và RSA

Chương này đề xuất lược đồ chữ ký số kết hợp Rabin và RSA với số mũ kiểm tra e=3 Các lược đồ đề xuất bao gồm lược đồ xác suất và lược đồ tất định Các lược đồ đề xuất đều có độ mật và thời gian chạy đảm bảo yêu cầu theo mục tiêu luận án đặt ra

Kết luận

Phần kết luận tóm tắt các kết quả đạt được, những đóng góp mới của luận

án và đề xuất một số ý kiến về việc phát triển một lược đồ chữ ký số cũng như ứng dụng của chúng

Trang 13

5 V là tập hữu hạn các thuật toán kiểm tra

6 Với mỗi kK tồn tại một thuật toán ký sig k và một thuật toán A

kiểm tra ver k  tương ứng, mỗi V sig k :PS

},

{

ver k  → là những hàm sao cho với mỗi mP

sS thoả mãn phương trình sau:

( , )

k k

k

true s sig m ver s m

Chữ ký số (digital signature) là một chuỗi dữ liệu được sinh ra bởi một

lược đồ chữ ký số có chức năng liên kết một thông báo với thực thể tạo ra

nó, nhằm đáp ứng các yêu cầu về: tính xác thực về nguồn gốc và tính toàn vẹn về nội dung của thông báo được ký

Định nghĩa 1.3

Thuật toán tạo chữ ký (còn gọi là thuật toán ký - digital signature

generation algorithm/signature generation algorithm) là một phương pháp

tạo lập chữ ký số

Trang 14

Định nghĩa 1.4

Thuật toán kiểm tra chữ ký (digital signature verification algorithm/

verification algorithm) là phương pháp kiểm tra để khẳng định rằng một chữ

ký số là hợp lệ hay ngược lại

Các thuộc tính cần có của một lược đồ chữ ký số

Một lược đồ chữ ký cần đảm bảo bốn thuộc tính sau đây:

• Tính đầy đủ: đảm bảo mọi thông báo đều ký được

• Tính đúng đắn: Trong một lược đồ chữ ký số, mọi chữ ký được tạo ra bởi thuật toán tạo chữ ký đều được chấp nhận bởi thuật toán kiểm tra chữ ký

• Tính khả thi: Thuật toán tạo chữ ký là dễ dàng đối với người ký (có khóa mật) và thuật toán kiểm tra là dễ dàng đối với mọi người (sử dụng khóa công khai) Thuộc tính này thường được đặc trưng bởi độ phức tạp của thuật toán ký và thuật toán kiểm tra là đa thức đối với các đối tượng tương ứng

• Tính an toàn trước tấn công tìm tham số mật và tấn công giả mạo chữ ký: thuộc tính này thường được đặc trưng bởi một bài toán khó của lý thuyết

số

1.2 Một số lược đồ chữ ký số

Trong các lược đồ chữ ký khóa công khai, với mỗi cặp khóa được chọn thì việc tính toán khóa mật từ khóa công khai đều được đảm bảo bằng một bài toán khó của lý thuyết số Các bài toán cơ bản đó là:

• Bài toán phân tích số (FP – Factorization Problem) Độ khó của bài toán này đảm bảo tính an toàn cho hệ mật RSA và chữ ký số RSA

• Bài toán Logarithm rời rạc (DLP- Discrete Logarithm Problem) Độ khó của bài toán DLP đảm bảo tính an toàn cho hệ mật mã khóa công khai và chữ ký số ElGamal cũng như nhiều hệ chữ ký số khác, chẳng hạn DSA (Digital Signature Algorithm)

Trang 15

• Bài toán logarithm rời rạc trên đường cong elliptic (ECDLP-Elliptic Curve Discrete Logarithm Problem) Độ khó của bài toán này đảm bảo

an toàn cho các lược đồ hệ mật trên đường cong Elliptic

Trong phần này, luận án trình bốn lược đồ chữ ký số cơ bản có ảnh hưởng trực tiếp đến vẫn đề nghiên cứu của luận án là lược đồ RSA, lược đồ Rabin

và lược đồ Rabin-Williams, lược đồ DSA và lược đồ ECDSA

1.2.1 Lược đồ RSA

Trong lịch sử phát triển của khoa học mật mã, nếu như Diffie, Hellman

và Merkle đã phát minh ra khái niệm mật mã khóa công khai thì Rivest, Shamir và Adleman lại có công lớn lao phát minh ra RSA, một sự thực thi

đẹp nhất của hệ mật này

Thuật toán RSA đã được R.L Rivest, A Shamir và L.M.Adleman công

bố lần đầu tiên vào tháng 8 năm 1977 [2] Trên vành Zn , thuật toán RSA sử

dụng số nguyên dương e là khóa công khai và số nguyên d là khóa bí mật

Số e cần thỏa mãn nguyên tố cùng nhau với 𝜙(𝑛) = (𝑝 − 1) × (𝑞 − 1) và theo đó, số d tìm được bằng các giải phương trình đồng dư 𝑑𝑒 ≡

1 𝑚𝑜𝑑 𝜙(𝑛) Để xác định khóa bí mật d từ khóa công khai (n,e) cần xác định được hai nhân tử p và q của n, đây chính là bài toán phân tích số (FP- Factorization Problem)

Thuật toán 1.1 – Thuật toán sinh khóa RSA

INPUT: tham số an toàn l

OUTPUT: khóa công khai (n,e) và khóa bí mật d

1 Chọn hai số nguyên tố lớn p, q có cùng độ dài 𝑙/2 bit;

Trang 16

khóa công khai e để kiểm tra chữ ký Thuật toán RSA dùng cho ứng dụng xác thực được trình bày như sau:

Thuật toán 1.2 – Thuật toán tạo chữ ký RSA

INPUT: khóa công khai (n,e), khóa bí mật d, văn bản 𝑚

OUTPUT: chữ ký s

1 ℎ ← 𝐶𝑜𝑑𝑒(𝐻(𝑚));

2 𝑠 ← ℎ𝑑 𝑚𝑜𝑑 𝑛;

3 return (s)

Thuật toán 1.3 – Thuật toán kiểm tra chữ ký RSA

INPUT: khóa công khai (n,e), văn bản m, chữ ký 𝑠

OUTPUT: Chữ ký hợp lệ hoặc không hợp lệ

1 ℎ ← 𝐶𝑜𝑑𝑒(𝐻(𝑚));

2 ℎ′ ← 𝑠𝑒 𝑚𝑜𝑑 𝑛;

3 If h=h’ then return(“Chữ ký hợp lệ”)

else return(“Chữ ký không hợp lệ”)

Chi phí thời gian chạy của hệ RSA chủ yếu là chi phí của phép tính lũy thừa theo modulo n Chi phí thời gian chạy của hệ RSA sẽ được trình bày chi tiết trong mục 1.4

1.2.2 Chữ ký số Rabin

Ngay sau khi hệ RSA ra đời, năm 1979 M O Rabin công bố lược đồ chữ

ký số Rabin [3] có độ an toàn cũng được đảm bảo bởi độ khó của bài toán

phân tích số Nếu trong lược đồ chữ ký RSA, tham số e cần thỏa mãn nguyên

tố cùng nhau với 𝜙(𝑛), thì trong lược đồ Rabin tham số e=2 Với việc lựa chọn e=2, lược đồ chữ ký Rabin đạt được ưu điểm nổi trội khi chỉ cần thực hiện một phép bình phương modulo n trong thuật toán kiểm tra chữ ký Tuy nhiên để có được điều này, các tham số hệ thống p, q của lược đồ Rabin cần thỏa mãn là số nguyên tố đồng dư 3 (mod 4)

Trang 17

(n, p, q, b) là khóa bí mật của người ký

OUTPUT: (s,R) ∈ ℤn∗{0,1}k là chữ ký của người giữ bộ (n, p, q, b) lên thông báo M

1 Lấy ngẫu nhiên xâu k bít R

2 u  Code(Hash(M||R));

3 Giải phương trình

Nếu vô nghiệm, quay lại bước 1

Ngược lại lấy s là một nghiệm của phương trình (1.2)

Trang 18

(s,R) là chữ ký lên M;

(n,b) là khóa công khai của người ký

OUTPUT: Sự chấp nhận hay bác bỏ (s,R) là chữ ký lên M của người có khóa công khai (n,b)

x(x + b) = u (mod p)

x(x + b) = u (mod q)

để tìm được bốn nghiệm 𝑠 = ±𝑥 (𝑚𝑜𝑑 𝑝) và 𝑠 = ±𝑥 (𝑚𝑜𝑑 𝑞) Từ bốn nghiệm này, sử dụng định lý phần dư Trung hoa ta tìm được bốn nghiệm khác nhau của s Việc lựa chọn giá trị s nào trong bốn giá trị tìm được là một trong những vấn đề cần cải tiến của lược đồ Rabin

Tháng 10 năm 1980 Williams đưa ra một cải biên lược đồ Rabin, lược đồ được viết tắt là RW, bởi tên chung của hai ông [4] Lược đồ Rabin cần đến

4 phép tính ký hiệu Jacobi trong thuật toán tạo chữ ký, trong khi Williams cải tiến chỉ cần một phép tính ký hiệu Jacobi Lược đồ RW đã được đưa vào các chuẩn ISO/IEC 9796 [5]

Tham số hệ thống

Số blum n = p.q thỏa mãn

Trang 19

Khóa bí mật do người ký giữ là bộ (n, p, q, c) và khóa công khai cho các

(n, p, q, c) là khóa bí mật của người ký

OUTPUT: 𝑠 ∈ ℤn∗ sao cho 0  s < n/2 là chữ ký của người giữ bộ (n,p,q,c) lên thông báo M

n là khóa công khai của người ký

OUTPUT: Accept ∈ {0,1} Trong đó sự chấp nhận s là chữ ký lên M của người có khóa công khai n khi và chỉ khi Accept = 1

Trang 20

Hệ logarithm rời rạc đầu tiên là giao thức thỏa thuận khóa được Diffie

và Hellman đề xuất năm 1976 [6] Năm 1984, Elgamal đưa ra hệ mật mã và lược đồ chữ ký khóa công khai logaritm rời rạc và kể từ đó, đã có rất nhiều công bố khoa học về hệ mật và lược đồ chữ ký dạng này

Chữ ký số DSA được được công bố năm 1991 bởi viện Tiêu chuẩn và Công nghệ Hoa kỳ (NIST – U.S National Institute of Standard and Technology) Chữ ký DSA là chữ ký số họ Elgamal được đề xuất bởi Kravitz [7] và năm 1994 đã được đưa vào chuẩn FIP 186 [8] với tên gọi chuẩn chữ

ký số DSS (Digital Signature Standard)

Thuật toán 1.8 – Thuật toán sinh chữ ký DSA

INPUT: Các tham số hệ thống (p,q,g), khóa riêng x, văn bản 𝑚

Trang 21

Thuật toán 1.9 – Thuật toán kiểm tra chữ ký DSA

INPUT: Các tham số hệ thống (p,q,g), khóa công khai y, văn bản m, chữ

ký (r,s)

OUTPUT: Chữ ký hợp lệ hoặc không hợp lệ

1 Kiểm tra r và s có phải là những số nguyên trong khoảng [1,q-1] Nếu không trả về return(“Chữ ký không hợp lệ”)

a) Đường cong elliptic

Xét 𝐹𝑞 = {0,1,2, … , 𝑞 − 1} với q là số nguyên tố hoặc q có dạng 𝑞 = 𝑝𝑚với p là một số nguyên tố và m là số nguyên dương Khi này 𝐹𝑞 là trường hữu hạn bậc q, p gọi là đặc số và m là bậc mở rộng của 𝐹𝑞

Một đường cong elliptic E trên 𝐹𝑞 là đường cong có phương trình dạng:

𝑦2 = 𝑥3+ 𝑎𝑥 + 𝑏

Trong đó 𝑎, 𝑏 ∈ 𝐹𝑞 Đường cong E có định thức ∆= −16(4𝑎3+ 27𝑏) Đường cong này sẽ suy biến và không có đủ ba nghiệm phân biệt khi ∆= 0

Trong phần này, chúng ta chỉ xét các đường cong có ∆≠ 0 Do đó a,b phải

thỏa mãn điều kiện 4𝑎3 + 27𝑏 ≠ 0

Một cặp (x,y) với 𝑥, 𝑦 ∈ 𝐹𝑞 là một điểm trên đường cong nếu (x,y) thỏa mãn phương trình của E “Điểm vô cùng” (∞), ký hiệu là O, được thêm vào

Trang 22

đường cong, là điểm trên cùng và dưới cùng của trục y Tập hợp tất cả các điểm trên E được ký hiệu là E(Fq)

Xét tập E(Fq) với phép cộng hai điểm P= (x1, y1) và Q=(x2, y2) trên đường cong elliptic E để cho kết quả điểm thứ ba R= (x3, y3) Kẻ đường thẳng qua hai điểm P và Q, đường thẳng này cắt đường cong tại điểm thứ ba Khi đó R

là điểm đối xứng của giao điểm thứ ba này qua trục x

Trong trường hợp hai điểm P và Q trùng nhau, ta có phép cộng hai điểm trở thành phép nhân đôi điểm P trên đường cong Elliptic để được điểm R

Kẻ tiếp tuyến của đường cong tại P, tiếp tuyến này cắt đường cong tại điểm thứ hai Khi đó, điểm R là điểm đối xứng của giao điểm thứ hai này qua trục

x Chi tiết các phép tính về đường cong elliptic có thể xem trong [9]

Tập E(Fq) cùng phép cộng điểm trên đường cong E lập thành một nhóm với “điểm vô cùng” O là phần tử đơn vị Nhóm cộng E(Fq) được sử dụng là không gian khóa trong các hệ mật mã và chữ ký số logarithm rời rạc trên đường cong elliptic

b) Bài toán Logarithm rời rạc trên đường cong elliptic (ECDLP- Elliptic Cuver Discrete Logarithm Problem)

Cho đường cong E trên trường hữu hạn Fq, điểm 𝑃 ∈ 𝐸(𝐹𝑞) với bậc n (𝑛𝑃 = Ο = ∞) và điểm 𝑄 ∈ 𝐸(𝐹𝑞) Tìm số nguyên 𝑘 ∈ [0, 𝑛 − 1] sao cho

𝑄 = 𝑘𝑃 Số nguyên k được gọi là logarithm rời rạc trên đường cong elliptic của Q đối với cơ sở P, và thường được viết là 𝑘 = 𝑙𝑜𝑔𝑃𝑄

c) Tham số của hệ chữ ký đường cong Elliptic

Tham số của hệ chữ ký đường cong Elliptic là bộ 𝐷 =(𝑞, 𝐹𝑅, 𝑆, 𝑎, 𝑏, 𝑃, 𝑛, ℎ), trong đó

• 𝑞 là bậc của trường hữu hạn 𝐹𝑞

• 𝐹𝑅 (field representation) là phương pháp biểu diễn trường hữu hạn được sử dụng cho các phần tử của trường 𝐹𝑞

Trang 23

• 𝑆 là mầm được tạo ra một cách ngẫu nhiên, được sử dụng trong trường đường cong Elliptic

• 𝑎, 𝑏 ∈ 𝐹𝑞 là hai hệ số của đường cong Elliptic E trên 𝐹𝑞 (nghĩa là

Lược đồ sử dụng bộ tham số 𝐷 = (𝑞, 𝐹𝑅, 𝑆, 𝑎, 𝑏, 𝑃, 𝑛, ℎ) Người ký chọn

số d là khóa mật và tạo khóa công khai 𝑄 = 𝑑𝑃, sử dụng hàm băm H để tạo

ra giá trị tóm lược e của thông báo m Chữ ký số là cặp (r,s) được tính theo

thuật toán 1.10

Thuật toán 1.10 – Thuật toán tạo chữ ký ECDSA

INPUT: 𝐷 = (𝑞, 𝐹𝑅, 𝑆, 𝑎, 𝑏, 𝑃, 𝑛, ℎ), khóa riêng d, thông báo m OUTPUT: chữ ký (r,s)

1 Chọn số nguyên k ngẫu nhiên thuộc [1,n-1];

2 (𝑥1, 𝑦1) ← 𝑘𝑃 và chuyển đổi 𝑥1 sang số nguyên 𝑥̅1;

3 𝑟 ← 𝑥̅1 𝑚𝑜𝑑 𝑛

4 If 𝑟 = 0 then go to step 1;

Trang 24

5 𝑒 ← H(m);

6 𝑠 ← 𝑘−1(𝑒 + 𝑑𝑟) 𝑚𝑜𝑑 𝑛

7 If 𝑠 = 0 then go to step 1;

8 return (𝑟, 𝑠)

Nhận được văn bản m và chữ ký (r,s), người xác thực áp dụng thuật toán

1.11 để kiểm tra chữ ký, từ đó kết luận chữ ký có hợp lệ hay không

Thuật toán 1.11 – Thuật toán kiểm tra chữ ký ECDSA

INPUT: 𝐷 = (𝑞, 𝐹𝑅, 𝑆, 𝑎, 𝑏, 𝑃, 𝑛, ℎ), chữ ký (𝑟, 𝑠), khóa công khai Q, thông báo m

OUTPUT: Chữ ký hợp lệ hoặc không hợp lệ

1 Kiểm tra 𝑟 𝑣à 𝑠 có phải là số nguyên nằm trong khoảng [1, n-1] Nếu không trả về return(“chữ ký không hợp lệ”);

2 𝑒 ← 𝐶𝑜𝑑𝑒(𝐻(𝑚));

3 𝑤 ← 𝑠−1 𝑚𝑜𝑑 𝑛;

4 𝑢1 ← 𝑒𝑤 𝑚𝑜𝑑 𝑛 và 𝑢2 ← 𝑟𝑤 𝑚𝑜𝑑 𝑛;

5 𝑋 ← 𝑢1𝑃 + 𝑢2𝑄;

6 If 𝑋 = ∞ then return(“Chữ ký không hợp lệ”);

7 Chuyển đổi hoành độ 𝑥1 của X sang số nguyên 𝑥̅1;

8 𝑣 ← 𝑥̅1 𝑚𝑜𝑑 𝑛;

9 If 𝑣 = 𝑟 then return(“Chữ ký hợp lệ”);

else return(“Chữ ký không hợp lệ”)

1.3 Chi phí thời gian của các phép tính số học trên Z n

Chi phí các phép tính số học là cơ sở để tính toán chi phí thuật toán Trong phần này, luận án trình bày chi phí thời gian chạy của một số thuật toán thực hiện các phép toán số học:

(1) Chi phí cho phép cộng hoặc trừ hai số nguyên k-bít là 𝑂(𝑘) [9]

Trang 25

(2) Phép nhân hai số nguyên 2.k-bít theo phương pháp của Ofman cần đến 3 phép nhân hai số k-bít [9] Khi này chi phí phép nhân, ký hiệu là M, và chi phí cho phép bình phương hai số lớn, ký hiệu là S, là xấp xỉ nhau (M ≈ S) Hơn thế nữa ta còn thu được chi phí cho phép nhân là:

𝑀 = 𝑂(𝑘𝑙𝑛3/𝑙𝑛2)

Công thức 1.6 Ký hiệu M(k) là chi phí tính toán để thực hiện một phép

nhân hai số nguyên k-bít Khi đó với mọi số nguyên dương h, k ta có

Do đó hệ quả thu được là:

Công thức 1.7: Chi phí thực hiện một phép nhân rút gọn

theo modulo n là xấp xỉ 3.M(len(n)) (1.7)

(3) Thuật toán tính ký hiệu Jacobi một số theo modulo k-bít theo luật bình phương tương hỗ có độ phức tạp là 𝑂(𝑘2) [11]

(4) Chi phí tính nghịch đảo một số theo modulo k-bít, ký hiệu I, và chi phí cho phép chia hai số theo modulo k-bít, ký hiệu D, theo thuật toán của Sorenson có độ phức tạp là 𝑂(𝑘2/𝑙𝑛𝑘) [11]

Chi phí thời gian của các phép tính số học trên Zn được cho trong bảng 1.1

Bảng 1.1-Chi phí thời gian chạy các phép tính số học trên Zn

(đơn vị: BO – Bit Operations)

Chi phí cho phép cộng hoặc trừ

Trang 26

Chi phí thực hiện phép nhân rút

Tính ký hiệu Jacobi một số theo

modulo k-bít theo luật bình

1.4 Đánh giá chi phí thời gian kiểm tra của một số lược đồ chữ ký

1.4.1 Chi phí kiểm tra của lược đồ chữ ký ECDSA

a) Chi phí các phép toán trên hệ đường cong eliptic:

Chuẩn FIP 186-2 [12] đưa ra 5 số nguyên tố được dùng để xây dựng các đường cong elliptic, các số nguyên tố đó được gọi là số nguyên tố NIST, đó là:

𝑏 trên ℤp với p là số nguyên tố lớn hơn 3

Chi phí cho phép cộng hai điểm và phép nhân đôi điểm theo các hệ tọa

độ khác nhau cho bởi bảng 1.2 [9]

Bảng 1.2- Chi phí phép nhân đôi điểm, cộng điểm trên đường cong

elliptic trên các hệ tọa độ khác nhau

Doubling General addition Mixed coordinater 2A → A

2P → P

2J → J

2C → C

1I, 2M, 2S 7M, 3S 4M, 4S 5M, 4S

J + A → J

J + C → J

C + A → C

8M, 3S 11M, 3S 8M, 3S

Trang 27

Chi phí cho phép nhân một số nguyên e với một điểm trên đường cong elliptic theo khai triển NAF là len(e) phép nhân đôi điểm và khoảng 𝑙𝑒𝑛(𝑒)

3phép cộng hai điểm

Lưu ý: Các số nguyên tố p được dùng xây dựng các đường cong elliptic

là các số nguyên tố NIST nên một phép nhân trên ℤp có chi phí xấp xỉ M(len(p))

b) Chi phí kiểm tra của lược đồ chữ ký ECDSA:

Xét chi phí kiểm tra chữ ký ECDSA của thuật toán 1.11 Thuật toán cần đến:

+ Một phép nghịch đảo của s theo số điểm n của đường cong tại bước 3 + Hai phép nhân rút gọn theo n tại bước 4

+ Tính R = u1 P + u2 Q tại bước 5

+ Quy đổi hoành độ của R từ tọa độ Jacobian sang tọa độ affine

Để tính u1 P + u2 Q tại bước 5 ta cần thực hiện hai phép nhân u1 P và

u2 Q với P, Q vốn luôn được lưu trữ trong tọa độ affine Cho nên việc dùng khai triển NAF cho các thừa số u1, u2 và việc tính toán trong hệ tọa độ Jacobian với đầu ra là u1 P và u2 Q cũng trong hệ tọa độ này (xem bảng 1.2) thì:

Trang 28

(J + J → J) = 12M + 4S = 16M

Việc chuyển sang tọa độ affine điểm trên trong bước 7 được thực hiện theo công thức:

x = X/𝑍2 mod p nên nên chi phí cho nó là M + D = M + I (do D = I)

Do số điểm n của đường cong và các giá trị u1 và u2 xấp xỉ với p nên chi phí tổng cộng cho thuật toán kiểm tra, ký hiệu 𝑇𝐸𝐶𝐷𝑆𝐴𝑉𝑒𝑟 là:

Công thức 1.8:

𝑇𝐸𝐶𝐷𝑆𝐴𝑉𝑒𝑟 ≈ (22.𝑙𝑒𝑛(𝑝)

3 + 16 𝑙𝑒𝑛(𝑝) + 19) 𝑀 + 2 𝐼 (1.8)

1.4.2 Đánh giá chi phí kiểm tra của một số lược đồ chữ ký

Mục tiêu của luận án là nghiên cứu phát triển các lược đồ chữ ký có chi phí thời gian kiểm tra chữ ký thấp Do đó, tính toán và đánh giá chi phí kiểm tra chữ ký của các hệ chữ ký số đã đưa thành chuẩn là một căn cứ toán học quan trọng của luận án Để thực hiện đánh giá này, việc tính toán chi phí kiểm tra chữ ký của các hệ chữ ký số đã đưa thành chuẩn cần sử dụng các tham số đầu vào có mức an toàn tương đương Bảng 1.3 cho biết mức độ an toàn và kích thước khóa (đơn vị: bits), được trích dẫn từ chuẩn FIP 186-2

[12], NIST 800-56 [13] và được Darrel Hankerson trình bày trong [9]

Bảng 1.3- Kích thước khóa RSA, DL và EC và mức độ an toàn

Sercurity level (bits)

80 (SKIPJACK)

112 (Triple-DES)

128 (AES-Small)

192 (AES-Medium)

256 (AES-Large)

DL parameter q

RSA modulus n

Luận án tiến hành đánh giá chi phí thời gian kiểm tra của các lược đồ chữ

ký Rabin, RSA, DSA và ECDSA dựa trên tính toán số các phép tính số học cần thực hiện ở các bước trong thuật toán kiểm tra chữ ký của các hệ chữ ký

số này thông qua việc chứng minh mệnh đề 1.1 sau đây:

Mệnh đề 1.1 Trong toàn bộ các lược đồ chữ ký được ban hành thành

chuẩn với cùng bộ tham số đầu vào cho bởi bảng 1.3 thì các lược đồ dòng Rabin là có chi phí kiểm tra thấp nhất

Trang 29

Bảng 1.4- Thuật toán kiểm tra RSA, Rabin và DSA

Thuật toán 1.3 – Thuật toán

kiểm tra chữ ký RSA

INPUT: khóa công khai (n,e),

1 𝑢 ← 𝐶𝑜𝑑𝑒(𝐻𝑎𝑠ℎ(𝑚||𝑅));

2 Chữ ký (s,R) lên thông báo M là của người có khóa công khai (n,b) là hợp lệ  s là nghiệm của x(x + b) = u (mod n)

Thuật toán 1.9 – Thuật toán kiểm tra chữ ký DSA

INPUT: Các tham số hệ thống (p,q,g), khóa công khai y, văn bản m, chữ ký (r,s)

OUTPUT: Chữ ký hợp lệ hoặc không hợp lệ

1 Kiểm tra r và s có phải là những số nguyên trong khoảng [1,q-1] Nếu không trả về return(“Chữ ký không hợp lệ”)

Trang 30

− Chi phí kiểm tra của lược đồ Rabin thấp hơn lược đồ RSA:

Thật vậy, để so sánh ta bỏ qua các chi phí tính toán giống nhau ở cả hai thuật toán Thực chất để kiểm tra s có hợp lệ hay không thì cả hai thuật toán đều cần thực hiện rút gọn lũy thừa se theo modulo n ở bước 2 Trong thuật toán 1.3 của lược đồ RSA, số mũ e phải thỏa mãn 1 < 𝑒 < 𝜙(𝑛) và gcd(𝑒, 𝜙(𝑛)) = 1 Dễ thấy 𝜙(𝑛) là số chẵn, do đó e phải lớn hơn hoặc bằng

3 Thực hiện bước 2 theo phương pháp bình phương-nhân thì

• Cần 𝑙𝑒𝑛(𝑒) − 1 phép bình phương

• Cần 𝑤𝑡(𝑒) − 1 phép nhân

Theo phương pháp của Karatsuba-Ofman thì chi phí phép nhân hai số nguyên và chi phí cho phép bình phương hai số nguyên lớn là xấp xỉ nhau Dẫn đến chúng ta có thể ước lượng số phép bình phương (hoặc phép nhân)

mà thuật toán 1.3 thực hiện, ký hiệu 𝑇𝑅𝑆𝐴𝑉𝑒𝑟 là:

𝑇𝑅𝑆𝐴𝑉𝑒𝑟 ≈ 𝑙𝑒𝑛(𝑒) + 𝑤𝑡(𝑒) − 2

Với điều kiện 𝑒 ≥ 3 thì hiển nhiên 𝑇𝑅𝑆𝐴𝑉𝑒𝑟 > 1

Trong khi đó, trong lược đồ Rabin thì e=2 và ở bước 2 của thuật toán 1.5 chỉ cần thực hiện một phép bình phương Vì vậy chi phí kiểm tra của lược

đồ Rabin thấp hơn lược đồ RSA

− Chi phí kiểm tra của lược đồ Rabin thấp hơn lược đồ DSA:

Trước hết, ta xét thuật toán tạo chữ ký DSA (thuật toán 1.9) Để so sánh chi phí kiểm tra của lược đồ Rabin và DSA, không làm thay đổi kết luận, chúng ta bỏ qua các tính toán ở các bước khác của thuật toán 1.9 mà chỉ tập trung vào bước 5 Tại bước 5, thuật toán thực hiện hai phép lũy thừa Mỗi phép lũy thừa 𝑘 cần thực hiện 𝑙𝑒𝑛(𝑘) + 𝑤𝑡(𝑘) − 2 phép bình phương (hoặc phép nhân) Như vậy, chúng ta có thể ước lượng số phép bình phương (hoặc phép nhân) mà thuật toán 1.9 thực hiện ở bước 5, ký hiệu 𝑇𝐷𝑆𝐴𝑉𝑒𝑟 là:

𝑇𝐷𝑆𝐴𝑉𝑒𝑟 ≈ 2(𝑙𝑒𝑛(𝑘) + 𝑤𝑡(𝑘) − 2)

Trang 31

Lưu ý rằng, bước 5 của thuật toán 1.9 thực hiện lũy thừa theo modulo p, trong khi lược đồ Rabin thực hiện bình phương theo modulo n Tuy nhiên theo tiêu chuẩn tham số an toàn được qui định trong các chuẩn như FIPS 186-4 [8] thì tham số p của DSA có độ dài bằng tham số n của lược đồ RSA, Rabin Như vậy phép lũy thừa của cả hai thuật toán 1.5 và 1.9 là cùng modulo

Như đã trình bày ở trên, trong lược đồ Rabin thuật toán 1.5 chỉ cần thực hiện một phép bình phương, trong khi số phép bình phương của thuật toán 1.9 hiển nhiên lớn hơn 1 Vì vậy, chi phí kiểm tra của lược đồ Rabin thấp hơn lược đồ DSA

Tuy nhiên cần lưu ý rằng mặc dù với cùng độ an toàn, hai modulo dùng cho hai lược đồ này là cùng kích thước, nhưng DSA có thể dùng các modulo đặc biệt, chẳng hạn có dạng 𝑝 = 2𝑘 − 𝑎 với a nhỏ và khi này phép nhân modulo p có thể coi là xấp xỉ phép nhân hai số k-bít, trong khi phép nhân cho Rabin là cỡ 3 lần phép nhân hai số k-bít Nếu ta coi số phép nhân là đơn

vị tính toán thì thời gian kiểm tra chữ ký của lược đồ chữ ký DSA là

𝑇𝐷𝑆𝐴𝑉𝑒𝑟 ≈ 2(𝑙𝑒𝑛(𝑘) + 𝑤𝑡(𝑘) − 2) phép nhân hai số k-bít, trong khi lược đồ Rabin là 3 phép nhân hai số k-bít Dễ dàng thấy rằng chi phí kiểm tra của lược đồ Rabin thấp hơn rất nhiều so với lược đồ DSA

− Chi phí kiểm tra của lược đồ Rabin thấp hơn lược đồ ECDSA:

Thật vậy, từ thuật toán kiểm tra (1.5), chữ ký (s,R) lên thông báo M của người có khóa công khai (n,b) là hợp lệ khi và chỉ khi s là nghiệm của phương trình (1.2) là x(x + b) = u (mod n)

Để kiểm tra s là nghiệm của (1.2), cần thực hiện: một phép cộng, một phép nhân rút gọn hai số nguyên theo modulo n và một phép so sánh kết quả phép nhân rút gọn đó với u Không làm ảnh hưởng kết quả, ta có thể bỏ qua chi phí phép cộng và phép so sánh, khi đó từ công thức (1.7) suy ra chi phí kiểm tra chữ ký của lược đồ Rabin, ký hiệu 𝑇𝑅𝑎𝑏𝑖𝑛𝑉𝑒𝑟, ta có:

Trang 32

𝑇𝑅𝑎𝑏𝑖𝑛𝑉𝑒𝑟 ≈ 3 𝑀(𝑙𝑒𝑛(𝑛)) (1.9)

Từ công thức (1.8) ta có:

𝑇𝐸𝐶𝐷𝑆𝐴𝑉𝑒𝑟 ≈ (22 𝑙𝑒𝑛(𝑝)

3 + 16 𝑙𝑒𝑛(𝑝) + 19) 𝑀(𝑙𝑒𝑛(𝑝)) + 2 𝐼(𝑙𝑒𝑛(𝑝)) Không ảnh hưởng kết quả cần chứng minh 𝑇𝐸𝐶𝐷𝑆𝐴𝑉𝑒𝑟 > 𝑇𝑅𝑎𝑏𝑖𝑛𝑉𝑒𝑟, ta bỏ qua đại lượng 2.I(len(p)) trong công thức trên Khi đó chi phí kiểm tra lược

đồ chữ ký ECDSA là:

𝑇𝐸𝐶𝐷𝑆𝐴𝑉𝑒𝑟 ≈ (22.𝑙𝑒𝑛(𝑝)

3 + 16 𝑙𝑒𝑛(𝑝) + 19) 𝑀(𝑙𝑒𝑛(𝑝)) (1.10) Theo phương pháp của Karatsuba-Ofman [9, p 51] thì phép nhân hai số nguyên 2.k-bít cần đến 3 phép nhân hai số k-bít và chi phí cho phép nhân là:

𝑇𝐸𝐶𝐷𝑆𝐴𝑉𝑒𝑟/𝑇𝑅𝑎𝑏𝑖𝑛𝑉𝑒𝑟 theo công thức (1.11) Kết quả tính toán được thể hiện trong bảng 1.5

Trang 33

Bảng 1.5- Chi phí thời gian thuật toán kiểm tra Rabin và ECDSA

Như vậy, trong toàn bộ các lược đồ chữ ký được ban hành thành chuẩn với cùng mức an toàn thì các lược đồ dòng Rabin là có chi phí kiểm tra thấp

nhất Mệnh đề 1.1 đã được chứng minh

1.5 Vấn đề thực tiễn và hướng nghiên cứu của đề tài luận án

Trong phần 1.4, ở mệnh đề 1.1, chúng ta đã kết luận: “Trong toàn bộ các lược đồ chữ ký được ban hành thành chuẩn với cùng bộ tham số đầu vào cho bởi bảng 1.3 thì các lược đồ dòng Rabin là có chi phí kiểm tra thấp nhất”

Mục tiêu của luận án là nghiên cứu phát triển các lược đồ chữ ký có chi phí thời gian kiểm tra chữ ký thấp nhằm phục vụ cho các giao dịch điện tử dạng “nhiều-một” Kết luận trên định hướng nghiên cứu của luận án tập trung cải tiến và phát triển lược đồ Rabin và RSA với số mũ e nhỏ

Nghiên cứu về lược đồ Rabin, ta thấy kể từ khi ra đời lược đồ này đã có hàng loạt những nghiên cứu cải biên đáng kể theo một số định hướng: mở rộng các modulo dùng được, cải tiến thuật toán tạo chữ ký, mở rộng các trường hợp đối với số mũ kiểm tra e (e=3),

Theo hướng mở rộng các modulo dùng được trong lược đồ Rabin phải kể đến các công bố của L Harn và T Kiesler [14], của Kaoru Kurosawa và

Trang 34

Wakaha Ogata [15], của M Ela - M Piva - D Schipani [16], trong đó phải

kể đến đóng góp của M Ela, M Piva và D Schipani đưa ra năm 2013 đã xây dựng hệ mật kiểu Rabin với modulo n là tích của hai số nguyên tố bất

kỳ bởi việc dùng tổng Dedekind thay cho kí hiệu Jacobi Trong công bố này, các tác giả đã đưa ra các kết quả toán học sau đây là cơ sở cho các lược đồ

đề xuất:

− Nếu như với các số Blum n thì với mọi 𝑚 ∈ 𝑍𝑛∗, trong tập căn bậc hai

𝑐 = 𝑚2 𝑚𝑜𝑑 𝑛 (gồm đúng 4 phần tử khác nhau) tồn tại duy nhất m’=m (mod 2) và (𝒎′

𝒏) = (𝒎

𝒏), ngược lại điều trên không đúng

− Tổng Dedekind của m theo n, ký hiệu là s(m,n) có kết quả là: với mọi n=p.q với p, q là hai số nguyên tố lẻ, khi đó với mọi 𝒎 ∈ 𝒁𝒏∗ thì trong tập căn bậc hai của 𝐜 = 𝐦𝟐 𝐦𝐨𝐝 𝐧 tồn tại duy nhất m’ thỏa mãn điều

kiện: m’=m (mod 2) và s(m’,n)=s(m,n) (mod 2)

Như vậy cho đến trước năm 2013 hệ mật Rabin chỉ dùng được với các modulo n là số Blum Với các kết quả này, các tác giả đã xây dựng được hệ mật kiểu Rabin nhưng với n là tích của hai số nguyên tố bất kì như hệ RSA

và dùng tổng Dedekin thay cho việc tính kí hiệu Jacobi Đây là đóng góp rất sâu sắc của công bố này

Theo hướng cải tiến thuật toán tạo chữ ký của lược đồ Rabin, Williams

đã đề xuất lược đồ Rabin-Williams [4] Lược đồ này giảm chỉ còn một phép tính kí hiệu Jacobi trong thuật toán tạo chữ ký trong khi lược đồ Rabin cần đến 4 phép tính Jacobi Trong công bố năm 1989, L Harn và T Kiesler [14]

đã kết hợp công thức tính căn và kí hiệu Jacobi để cải tiến thuật toán tạo chữ

ký Rabin M Ela - M Piva - D Schipani [16] dùng tổng Dedekin thay cho

kí hiệu Jacobi trong giải thuật toán tạo chữ ký

Theo hướng mở rộng số mũ kiểm tra e, cụ thể thay số mũ kiểm tra từ 2 thành 3 có các nghiên cứu của Williams [17], J H Loxton, David S P Khoo,

Trang 35

Gregory J Bird và Jennifer Seberry đưa ra năm 1992 [18], công bố của R Scheidler [19] đưa ra năm 1998,…

Trên cơ sở nghiên cứu các công bố khoa học liên quan, luận án xác định hai hướng nghiên cứu:

• Hướng thứ nhất: nghiên cứu cải tiến và phát triển lược đồ Rabin Theo hướng này, luận án cải tiến chi phí tính toán cho việc tạo chữ ký bằng cách không cần tính giá trị ký hiệu Jacobi Đồng thời phát triển chữ

ký số Rabin với số mũ kiểm tra e=3

• Hướng thứ 2: Kết hợp nguyên lý thiết kế của Rabin và RSA để đề xuất một số lược đồ chữ ký với số mũ e nhỏ, cụ thể lấy e=3

Với số mũ kiểm tra e, có thể chia các lược đồ chữ ký họ RSA thành ba loại:

• Loại 1: lược đồ chữ ký với modulo n=p.q và 𝑔𝑐𝑑(𝑒, 𝜙(𝑛)) = 1, tức

là e nguyên tố cùng nhau với cả (p-1) và (q-1)

• Loại 2: lược đồ chữ ký với modulo n=p.q trong đó (p-1) và (q-1) đều

là bội của e

• Loại 3: lược đồ chữ ký với modulo n=p.q và (p-1) là bội của e, còn

(q-1) nguyên tố cùng nhau với e

Dễ thấy lược đồ chữ ký RSA là lược đồ loại 1 do số mũ e thỏa mãn 𝑔𝑐𝑑(𝑒, 𝜙(𝑛)) = 1 Lược đồ chữ ký Rabin là lược đồ loại 2 vì e=2 là ước của

cả (p-1) và (q-1)

Luận án nghiên cứu đề xuất lược đồ chữ ký số mới loại 2 và loại 3 ở trên trong trường hợp số mũ e nhỏ Ở chương 2, luận án đề xuất lược đồ loại 2, tức là (p-1) và (q-1) đều là bội của e với hai trường hợp e=2 và e=3 Ở chương

3, luận án đề xuất lược đồ loại 3, kết hợp Rabin và RSA, tức là số mũ e thỏa mãn (p-1) là bội của e, còn (q-1) nguyên tố cùng nhau với e với lựa chọn e nhỏ (e=3)

Trang 36

1.6 Kết luận chương 1

Trong chương này, luận án đã trình bày các khái niệm và thuật ngữ cơ bản liên quan trực tiếp đến vấn đề nghiên cứu của luận án Bên cạnh các khái niệm và thuật ngữ cơ bản, chương 1 cũng trình bày một cách hệ thống về một số hệ chữ ký số khóa công khai gồm chữ ký RSA, chữ ký Rabin, chữ ký logarithm rời rạc DSA và và lược đồ chữ ký trên đường cong Elliptic ECDSA

Có thể nói, phần quan trọng nhất của chương này là luận án đã đưa ra mệnh đề 1.1 và chứng minh được rằng: trong các lược đồ chữ ký được ban hành thành chuẩn với cùng mức an toàn thì các lược đồ dòng Rabin là có chi phí kiểm tra thấp nhất Đây là căn cứ quan trọng nhất, là cơ sở định hướng cho các nghiên cứu tiếp theo của luận án khi đề xuất các lược đồ chữ ký cho các trong các giao dịch điện tử dạng “nhiều-một”

Trên cơ sở phân tích, tổng hợp các nghiên cứu tiêu biểu, chương 1 chỉ ra hướng nghiên cứu của luận án là phát triển một số lược đồ chữ ký số dựa trên hệ mật Rabin và RSA

Trang 37

CHƯƠNG 2 CẢI TIẾN VÀ PHÁT TRIỂN LƯỢC ĐỒ CHỮ KÝ RABIN

2.1 Mở đầu

Trong lược đồ chữ ký RSA, tham số e cần thỏa mãn điều kiện

gcd(e, 𝜙(𝑛))=1 Dễ thấy với p, q là hai số nguyên tố lẻ và 𝑛 = 𝑝 × 𝑞 thì

𝜙(𝑛) = (𝑝 − 1) × (𝑞 − 1) là số chẵn, do đó e là số lẻ Cùng dựa trên bài toán phân tích số, Rabin đã lựa chọn tham số e=2, tức là e là số chẵn và là ước của cả p-1 và q-1 Sự lựa chọn này đã làm cho lược đồ chữ ký Rabin có

ưu điểm nổi trội là chi phí kiểm tra chữ ký thấp, chỉ cần một phép bình phương modulo Với ưu điểm nổi trội này, chữ ký Rabin rất phù hợp cho các giao dịch điện tử kiểu “nhiều-một”, nơi mà cần xác thực chữ ký với số lượng lớn Nghiên cứu cải tiến và phát triển chữ ký số Rabin, trong chương này luận án đề xuất hai lược đồ chữ ký số mới cải tiến lược đồ Rabin và một lược

đồ phát triển lược đồ Rabin với số mũ kiểm tra e=3 Các lược đồ này có tham

số p, q đều thỏa mãn tính chất như lược đồ Rabin, tức là e là ước của cả p-1

và q-1

Năm 1980, Williams đưa ra một cải tiến lược đồ Rabin, viết tắt là RW bởi tên chung của hai ông [4] Nếu lược đồ Rabin cần đến 4 phép tính ký hiệu Jacobi trong thuật toán tạo chữ ký, thì trong RW, Williams đã cải tiến

để chỉ cần một phép tính ký hiệu Jacobi Lược đồ RW đã được đưa vào các chuẩn ISO/IEC 9796 [5] Tiếp cận theo hướng này, luận án đề xuất lược đồ thứ nhất, ký hiệu là RW0, cải tiến thuật toán tạo chữ ký của lược đồ RW mà không cần đến việc tính ký hiệu Jacobi Tiếp sau đó, luận án đề xuất lược đồ thứ hai, ký hiệu là R0, trong đó chi phí kiểm tra tăng lên không đáng kể so với lược đồ gốc, còn chi phí cho thuật toán tạo chữ ký giảm đi đáng kể do không cần đến việc tính ký hiệu Jacobi Cuối cùng, với hướng phát triển lược

đồ Rabin, luận án đề xuất lược đồ chữ ký PCRS có tham số e=3 và e là ước của cả p-1 và q-1 Lược đồ này là lược đồ xác suất có thuật toán kiểm tra cần

Trang 38

một phép lũy thừa ba modulo và thuật toán tạo chữ ký đảm bảo hiệu quả tính toán Trước khi đưa ra các lược đồ đề xuất, luận án trình bày một số kiến thức toán học cơ sở liên quan trực tiếp đến lược đồ chữ ký mới của chương này

2.2 Cơ sở toán học

Trong phần này luận án tóm lược và sắp xếp lại một số kết quả trong lý thuyết số được trích từ tài liệu [11] liên quan đến nội dung cần giải quyết của chương hai

2.2.1 Thặng dư bậc hai và việc khai căn bậc hai trên trường GF(p) với

p nguyên tố

a) Thặng dư bậc hai:

Định nghĩa 2.1 Với hai số nguyên tố cùng nhau m > 0 và a, ta nói a là

thặng dư bậc hai (mod m) khi và chỉ khi phương trình:

có nghiệm Ngược lại a gọi là không thặng dư bậc hai (mod m)

Chú ý rằng thuật ngữ thặng dư bậc hai và không thặng dư bậc hai chỉ dùng khi gcd(a, m) = 1 Chẳng hạn với a = 0 thì (2.1) luôn có nghiệm với mọi m nhưng nó không được gọi là thăng dư bậc hai (mod m) Còn với giá trị a = 3 (mod 9) thì (2.1) vô nghiệm nhưng giá trị này không gọi là không thăng dư (mod 9) Khi modulo là số nguyên tố thì trường hợp không nguyên

tố cùng nhau với modulo là tương đương với đồng dư với 0, chính vì vậy ta đưa ra được định nghĩa sau

Định nghĩa 2.2 Cho p là số nguyên tố lẻ Khi đó với mỗi số nguyên a,

Trang 39

Như vậy ký hiệu Legendre là dấu hiệu để nhận dạng giá trị a ≠ 0 (mod p)

có là số chính phương (mod p) hay không Tiếp đến chúng ta đưa vào khái niệm ký hiệu Jacobi trong định nghĩa sau

Định nghĩa 2.3 Cho số tự nhiên m có phân tích ra thừa số nguyên tố là

𝑚 = ∏ 𝑝𝑖𝑡𝑖

𝑖=1 𝑘

Khi đó với mỗi số nguyên a, ký hiệu Jacobi (a

m) được xác định như sau (𝑎

𝑚) = ∏ (𝑎

𝑝𝑖)𝑡𝑖𝑖=1 𝑘

Chú ý rằng ký hiệu Jacobi (𝑚𝑎) không đủ để đặc trưng cho tính chính

phương của a theo modulo m

Tính chất cơ bản của các ký hiệu Legendre và Jacobi được cho trong định

Trang 40

b) Thuật toán khai căn bậc hai theo modulo p là số nguyên tố lẻ:

Thuật toán sau đây do A Tonelli công bố năm 1891 cho phép tìm một căn bậc hai của a (mod p) với (a

p) = 1

Thuật toán 2.1: Tìm căn bậc hai modulo nguyên tố

INPUT: số nguyên lẻ 𝑝 và số nguyên a với (𝑎

𝑝) = 1 OUTPUT: giá trị x thỏa mãn 𝑥2 ≡ 𝑎 (𝑚𝑜𝑑 𝑝)

Ngày đăng: 11/06/2021, 08:30

TỪ KHÓA LIÊN QUAN

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