1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Một dạng lược đồ chữ ký xây dựng trên bài toán phân tích số và khai căn - Trường Đại Học Quốc Tế Hồng Bàng

7 7 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

[r]

(1)

Tạp chí KH KT – Học viện Kỹ thuật Quân sự

1

M

T D

NG L

ƯỢ

C

ĐỒ

CH

KÝ XÂY D

NG TRÊN BÀI TOÁN

PHÂN TÍCH S

VÀ BÀI TỐN KHAI C

Ă

N

Developing a new type of digital signature scheme based on integer factorization and finding rootproblem

Hoàng Thị Mai *, L

ưu Hồng Dũng **

Bài báo đề xuất dạng lược đồ chữ ký số xây dựng tính khó giải tốn phân tích số nguyên lớn thừa số nguyên tố toán khai vành Zn=p.q, ởđây: p, q số nguyên tố lớn Từ dạng lược đồ

đề xuất phát triển lược đồ chữ ký có mức độ an toàn cao cho ứng dụng thực tế Từ khoá: Digital Signature, Digital Signature Schema, Integer Factorization Problem.

1.

Đặ

t v

n

đề

Phát triển lược đồ chữ ký số với mục đích nâng cao mức độ an tồn cho thuật tốn hướng nghiên cứu nhiều người quan tâm Trong [1-7] tác giảđã đề xuất số lược đồ chữ ký xây dựng đồng thời tốn khó Những phân tích, đánh giá [8,9] cho thấy hướng nghiên cứu phần giải yêu cầu đặt vềđộ an toàn cho lược đồ chữ ký số

Trong báo này, nhóm tác giả tiếp tục đề xuất xây dựng dạng lược đồ chữ ký số dựa tính khó tốn phân tích số nguyên lớn thừa số ngun tố (Bài tốn phân tích số) tốn khai vành Zn=p.q , ởđây: p, q số nguyên tố lớn (Bài toán khai căn) Ưu điểm dạng lược đồ đề xuất từđó phát triển nhiều lược đồ chữ ký có mức độ an tồn cao cho ứng dụng thực tế

2.

Xây d

ng l

ượ

c

đồ

ch

k

ý d

a tốn phân tích s

toán khai c

ă

n

2.1Bài toán phân tích s

Bài tốn phân tích số phát biểu sau: Cho số nN, tìm biểu diễn: ek

k e e

p p p

n

2

= ,

với ei≥1 pi số nguyên tố

Một trường hợp riêng Bài toán phân tích sốđược ứng dụng xây dựng hệ mật RSA phát biểu sau:

- Cho p, q số nguyên tố lớn mạnh;

*

Đại học Thủđô ** H

(2)

Tạp chí KH KT – Học viện Kỹ thuật Quân sự

2 - Từp q dễ dàng tính được: n= p×q;

- Từ n khó tìm p q

Trong hệ mật RSA [10], toán phân tích sốđược sử dụng làm sởđể hình thành cặp khóa cơng khai (e)/bí mật (d) cho thực thể ký Với việc giữ bí mật tham số {p,q} khả tính khóa mật (d) từ khóa cơng khai (e) modulo n khó thực hiện, {p,q} chọn đủ lớn mạnh [11,12] Hiện tại, toán coi tốn khó [13-15] chưa có giải thuật thời gian

đa thức cho hệ mật RSA chứng minh thực tế cho tính khó giải toán Ở dạng lược đồ đề xuất, tham số: φ(n)=(p−1)×(q−1) sử dụng khóa bí mật thứ việc

hình thành chữ ký Việc giữ bí mật cho tham số hồn tồn phụ thuộc vào mức độ khó giải tốn nêu Trong ứng dụng thực tế, tham số {p,q} chọn theo Chuẩn X9.31 [11] hay FIPS 186-3 [12] Hoa Kỳ cho hệ mật RSA sau:

Chuẩn X9.31

Theo X9.31, tiêu chuẩn tham số {p,q} hệ mật RSA bao gồm: - Độ dài modulo n (nlen) là: 1024+256s (s ≥ 0)

- 2× 511+128s ≤ p, q ≤ 2511+128s (s ≥ 0) - |p – q| > 2412+128s (s ≥ 0)

- Các ước nguyên tố p±1 q±1 (các số nguyên tố bổ trợ), ký hiệu là: p1, p2 và: q1, q2 phải

thỏa mãn thông số kỹ thuật cho Bảng 1.1 đây: Bảng 1.1: Tiêu chuẩn an toàn số nguyên tố bổ trợ

nlen Độ dài tối thiểu p1, p2

q1, q2

Độ dài tối đa p1, p2

q1, q2

1024 + 256.s > 100 bit ≤ 120 bit

Chuẩn FIPS 186-3

Theo FIPS 186-3, tiêu chuẩn tham số {p,q} hệ mật RSA bao gồm: - 2× 511+128s ≤ p, q ≤ 2511+128s (s ≥ 0)

- |p – q| > 2 −100    nlen

- Các ước nguyên tố p±1 q±1 (các số nguyên tố bổ trợ), ký hiệu là: p1, p2 và: q1, q2 phải

(3)

Tạp chí KH KT – Học viện Kỹ thuật Quân sự

3

Bảng 1.2: Tiêu chuẩn an toàn số nguyên tố bổ trợ

Độ dài tối đa len(p1) + len(p2)

và len(q1) + len(q2)

Độ dài

modulo n (nlen)

Độ dài tối thiểu của p1, p2, q1, q2

Các số nguyên tố

xác xuất

Các số nguyên tố

chứng minh

1024 bit > 100 bit < 496 bit < 239 bit 2048 bit > 140 bit < 1007 bit < 494 bit 3072 bit > 170 bit < 1518 bit < 750 bit

2.2Bài toán khai căn vành Zn

Cho cặp số nguyên dương {n,t} với n tích hai số nguyên tốp q, tđược chọn khoảng: < t < (p−1).(q−1) Khi toán khai vành Zn=p.q hay cịn gọi tốn RSA(n,t)

được phát biểu sau:

Bài toán RSA(n,t): Với số nguyên dương y∈ℤn *

, tìm x thỏa mãn phương trình sau:

y n

xtmod = (1.1)

Giải thuật cho tốn RSA(n,t) (1.1) viết thuật tốn tính hàm RSA(n,t)(.) với biến đầu vào y giá trị hàm nghiệm x phương trình (1.2) sau:

) (

) , ( y RSA

x= nt (1.2)

Ở dạng lược đồ chữ ký đề xuất, thành viên U hệ thống tự chọn cho tham số

{n,t} khóa bí mật x thỏa mãn: 1< x < n, theo (1.3) tính cơng khai tham số:

n x

y tmod

= (1.3)

Tương tự Bài tốn phân tích số, toán RSA(n,t) sử dụng để xây dựng nên hệ mật RSA yếu tố định tới độ an toàn xét theo khả chống giả mạo chữ ký hệ RSA Cụ thể, với cơng thức hình thành chữ ký S từ khóa bí mật d đối tượng ký tin cần ký M:

n m

S= dmod , m giá trị đại diện tin M H(.) hàm băm, suy ra:

n S

m= emod , dẫn đến: S e mmodn

= Như vậy, thấy việc tính: e mmod khn ả thi

(4)

Tạp chí KH KT – Học viện Kỹ thuật Quân sự

4

của đối tượng ký Tuy nhiên, việc thuật toán chữ ký số RSA sử dụng rộng rãi thực tế

hiện minh chứng cho tính khó giải tốn RSA(n,t) 2.3Xây dng lược đồ dng tng quát

Dạng lược đồ đề xuất ởđây xây dựng sở tính khó giải tốn phân tích số tốn khai nói trên, thiết kế theo dạng lược đồ sinh chữ ký thành phần tương tự DSA chuẩn chữ ký số Mỹ (DSS) hay GOST R34.10-94 Liên bang Nga, sau:

Giả sử khóa bí mật người ký x khóa cơng khai tương ứng là:

y

=

x

t

mod

n

, thành phần thứ

nhất chữ ký lên tin M S Sđược tính từ giá trịu theo công thức:

S

=

u

t

mod

n

(2.1) ởđây: n= p×q, với p, q số nguyên tố phân biệt số mũtđược chọn thỏa mãn:

1<t<φ(n)

Giả sử thành phần thứ hai chữ ký Z Zđược tính từ giá trịv theo công thức:

Z

=

v

t

mod

n

(2.2)

Giả thiết rằng:

f(S,Z)≡ktmodn (2.3) với f(S,Z) hàm S, Z kđược chọn ngẫu nhiên khoảng (1,φ(n))

Ta giả thiết phương trình kiểm tra lược đồ có dạng:

Zf1(M,f(S,Z)) ≡Sf2(M,f(S,Z))×yf3(M,f(S,Z))modn

Hàm f(S,Z) lựa chọn khác trường hợp cụ thể, như: ( , ) −1 × =S Z Z

S

f ,

Z S Z S

f( , )= −1× , ( , )

Z S Z S

f = × , f(S,Z)=SZ,… Xét cho trường hợp: f(S,Z)=S×Zmodn ktmodn=R

Khi từ (2.1), (2.2) (2.3) ta có: f(S,Z)=R, nên có thểđưa phương trình kiểm tra dạng:

Zf1(M,R) ≡Sf2(M,Ryf3(M,R)modn (2.4) ởđây: f1(M,R), f2(M,R), f3(M,R) hàm M R Với: R=ktmodn

Vấn đềđặt ởđây cần tìm {u,v} cho {S,Z} thỏa mãn (2.3) (2.4) Từ (2.1), (2.2) (2.3) ta có:

u×vmodn=k (2.5)

Từ (2.1), (2.2) (2.4) ta có:

vf1(M,R) ≡uf2(M,Rxf3(M,R)modn (2.6)

Từ (2.6) suy ra:

(5)

Tạp chí KH KT – Học viện Kỹ thuật Quân sự

5 u×uf1(M,R)−1.f2(M,Rxf1(M,R)−1.f3(M,R)modn=k

hay:

uf1(M,R)−1.f2(M,R)+1×xf1(M,R)−1.f3(M,R)modn=k

dẫn đến:

u

(

k x f M R f MR

)

f MR f M R modn

1

1

1( , ) ( , ) [ ( , ) ( , ) 1]

− −

− +

×

= (2.8)

và:

v

(

k x f (M,R) f (M,R)

)

[f(M,R) f (M,R) 1] f (M,R) f2(M,R) xf1(M,R)1.f3(M,R)modn

1 1

1

1

1 −

− −

− −

× ×

= − + (2.9)

Từ (2.1) (2.8) ta có cơng thức tính thành phần thứ chữ ký: S

(

k x f(M,R) f (M,R)

)

[f(M,R) f (M,R) 1] tmodn

1

1

1

− −

− +

×

= (2.10)

Từ (2.2) (2.9), cơng thức tính thành phần thứ hai chữ ký có dạng:

Z

(

k x f (M,R) f (M,R)

)

[f(M,R) f (M,R) 1] f(M,R) f2(M,R).t xf1(M,R)1.f3(M,R).tmodn

1 1

1

1 −

− −

− −

× ×

= − +

Cũng chọn v làm thành phần thứ hai chữ ký, cặp (v,S) chữ ký lên tin M phương trình kiểm tra có dạng:

vf1(M,f∗(v,S)).tSf2(M,f∗(v,S))×yf3(M,f∗(v,S))modn

Ởđây: f∗(v,S) hàm v, S và: f∗(v,S)= f(S,Z)=R

Từ phân tích thiết kế đây, khái qt thuật tốn hình thành tham số, thuật tốn hình thành kiểm tra chữ ký lược đồ dạng tổng quát tương ứng với trường hợp f(S,Z)=S×Zmodn nhưđược

ra Bảng 2.1, Bảng 2.2 Bảng 2.3

a) Phương pháp hình thành tham số

Bảng 2.1:

Input: p, q – số ngun tố lớn, x – khóa bí mật

Output: n, t, y, ø(n)

[1] np×q

[2] φ(n)←(p−1)×(q−1)

[3] select t: 1<t<φ(n)

[4] select x: 1<x<n gcd(x,n)=1

[5] yxtmodn (2.11) [6] return {n, t, y, ø(n)}

(6)

Tạp chí KH KT – Học viện Kỹ thuật Quân sự

6 i) {n, t, y}: tham số công khai

ii) {x, ø(n)}: tham số bí mật

b) Phương pháp hình thành chữ ký

Bảng 2.2:

Input: n, t, x, ø(n), M – Bản tin ký đối tượng U Output: (v,S)

[1] selectk: 1<k <n

[2] R ktmodn

← [3] if (gcd((f1(M,R),φ(n))≠1OR

gcd(( ( , ) 2( , ) 1), ( ))

1 × + ≠

n R

M f R M

f φ ) thengoto [1]

[4] u

(

k x

)

n

R M f R M f R M f R M f

mod

1

1

1( , ) ( , ) [ ( , ) ( , ) 1]

− −

− +

×

[5] vuf1(M,R)−1.f2(M,Rxf1(M,R)−1.f3(M,R)modn

[6] Sut modn

[7] return (v,S) Chú thích:

U: đối tượng k ý chủ thể tham số {n,t,x,y,ø(n)} Nhận xét:

Trong bước [4] [5] Phương pháp hình thành chữ ký (Bảng 1.2), theo định lý Euler việc tính:

1( , )

R M

f và:

[

]

1

1( , ) 2( , )

f M R +

R M

f thực chất tính: f1(M,R)−1modφ(n) và:

[

( , ) 2( , ) 1

]

1mod ( )

1 M R f M R n

f − − φ

+ Như vậy, ởđây

φ

(

n

)

có vai trị tương tự khóa bí mật x

việc hình thành chữ ký Từđó cho thấy lược đồ dạng tổng quát xây dựng đồng thời

tốn khai phân tích số Hơn nữa, tham sốx φ(n) sử dụng khóa bí mật

trong thuật tốn hình thành chữ ký

c) Phương pháp kiểm tra chữ ký

Bảng 2.3:

Input: n, t,y, M – Bản tin cần thẩm tra, (v,S) – Chữ ký U lên M Output: (v,S) = true / false

(7)

Tạp chí KH KT – Học viện Kỹ thuật Quân sự

7

[2] BSf2(M,f∗(v,S))×yf3(M,f∗(v,S))modn (2.13)

[3] if (A=B) then {return true;} else {return false;}

Chú thích:

i) U: đối tượng chủ thể cặp tham số {n,t}

ii) (v,s) = true: chữ ký hợp lệ, Mđược khẳng định nguồn gốc tính tồn vẹn

iii) (v,s) = false: chữ ký khơng hợp lệ, M không công nhận nguồn gốc tính tồn vẹn

d) Tính đắn lược đồ dạng tổng quát

Tính đắn lược đồ dạng tổng quát phù hợp phương pháp kiểm tra chữ ký với

phương pháp hình thành tham số hệ thống phương pháp hình thành chữ ký Điều cần chứng minh

ởđây là: cho p, q số nguyên tố, n=p×q , φ(n)=(p−1)×(q−1), 1<t<φ(n), 1<k,x<n, gcd(x,n)=1,

n k

R= t mod , y=xtmodn , gcd((f1(M,R),φ(n))=1 , gcd(( ( , ) 2( , ) 1), ( )) 1

1 + =

n R M f R M

f φ ,

(

k x

)

n

u f M R f M R f M R f M R mod

1 1

1( , ) ( , ) [ ( , ) ( , ) 1]

− −

− +

×

= , v=uf1(M,R)−1.f2(M,Rxf1(M,R)−1.f3(M,R)modn ,

n u

S= tmod Nếu: A=vf1(M,f∗(v,S)).tmodn , B=Sf2(M,f∗(v,S))×yf3(M,f∗(v,S))modn với: f v S R = ∗( , ) thì:A=B

Có thể chứng minh tính đắn dạng lược đồ sau:

Từ (2.9) (2.12) ta có:

(

)

(

k x

)

x n

n x x k n v n v A t R M f t R M f R M f R M f R M f R M f t R M f R M f R M f t R M f R M f R M f R M f R M f R M f R M f t R M f t S v f M f mod mod mod mod ) , ( ) , ( ] ) , ( ) , ( [ ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( ] ) , ( ) , ( [ ) , ( ) , ( ) , ( )) , ( , ( 2 1 1 1 1 1 1 1 × × = × × × = = = − − − − − − − ∗ + − + − (2.14)

Từ (2.10) (2.13) ta lại có:

(

)

(

)

(

k x

)

x n

n n x n u n Y S n y S B t R M f t R M f R M f R M f R M f R M f R M f t R M f t R M f R M f S v f M f S v f M f mod mod mod mod mod mod ) , ( ) , ( ] ) , ( ) , ( [ ) , ( ) , ( ) , ( ) , ( ) , ( ) , ( )) , ( , ( )) , ( , ( 2 1 1 3 × × = × = × = × = − − − ∗ ∗ + − (2.15)

Từ (2.14) (2.15) suy ra: A=B

Đây điều cần chứng minh

Ngày đăng: 01/04/2021, 15:52

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

TÀI LIỆU LIÊN QUAN

w