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

Các tính chất đại số của hệ mã RSA và khả năng mở rộng - NCS. Trần Đình Long

15 369 1

Đ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 15
Dung lượng 70,6 KB

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

Nội dung

Trên thế giới, có thể chia các công trình lý thuyết liên quan đến RSA làm hai loại: phát triển các biến thể của RSA và thám mã RSA.. Trong hướng thứ nhất, các tác giả tập trung vào

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

TRẦN ĐÌNH LONG

CÁC TÍNH CHẤT ĐẠI SỐ CỦA HỆ MÃ CÔNG KHAI RSA

VÀ KHẢ NĂNG MỞ RỘNG

Chuyên ngành: KHOA HỌC MÁY TÍNH

Mã số: 62 48 01 01

TÓM TẮT LUẬN ÁN TIẾN SĨ

CÔNG NGHỆ THÔNG TIN

N gướng dẫn khoa học

1 P

Tp Hồ Chí Minh, 2015

Công trình được hoàn thành tại:

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HỐ CHÍ MINH

Người hướng dẫn khoa học

1 PGS TS TRẦN ĐAN THƯ

2 PGS TS NGUYỄN ĐÌNH THÚC

Phản biện 1:

Phản biện 2:

Phản biện 3:

Phản biện độc lập 1:

Phản biện độc lập 2:

Luận án sẽ được bảo vệ trước Hội đồng chấm luận án họp tại

vào lúc giờ ngày tháng năm

Trang 2

Có thể tìm hiểu luận án tại thư viện:

- Thư viện Khoa học Tổng hợp Tp.HCM

- Thư viện Trường Đại học Khoa học Tự Nhiên

MỞ ĐẦU

RSA là một hệ mã hóa nổi tiếng do 3 tác giả Rivest, Shamir và

Adleman giới thiệu vào năm 1978 [5] Việc không có một hệ mã nào dùng

rộng rãi như RSA cho đến bây giờ cho thấy đây là một hệ mã an toàn, khó bị

tấn công Chính vì vậy có rất nhiều công trình liên quan đến RSA

Trên thế giới, có thể chia các công trình lý thuyết liên quan đến RSA

làm hai loại: phát triển các biến thể của RSA và thám mã RSA

Sự phát triển các biến thể của RSA có thể chia làm hai hướng

Trong hướng thứ nhất, các tác giả tập trung vào hệ mã RSA gốc nhưng cải

tiến các thuật toán mã hóa và giải mã nhằm giảm độ phức tạp tính toán hoặc

xây dựng RSA trên vành Zn với n có dạng phức tạp hơn thay vì là tích của

hai số nguyên tố phân biệt Trong hướng thứ hai, các biến thể của RSA được

xây dựng trên các cấu trúc đại số phức tạp hơn Các công trình của

Varadharajan V và Odoni (1985), N Demytko (1993), El-Kassar A.N., R

Hatary và Y Awad (2004) là các ví dụ cho hướng nghiên cứu này

Song song với việc phát triển các biến thể của RSA, bài toán thám

mã RSA cũng thu hút được nhiều tác giả Cách tấn công cổ điển dựa vào bài

toán phân tích một số nguyên dương n thành các thừa số nguyên tố, hiện nay

thuật toán phân tích hiệu quả nhất là thuật toán Sieve (General Number Field

Sieve) với độ phức tạp là e( (c+O( 1 ) )m

1

log

2

m) với c <2, trong đó m là số bit của n

Hiện nay có rất nhiều cách tấn công vào RSA với các công cụ khác nhau Năm 1990, M Wiener đưa ra cách tấn công RSA trong trường hợp khóa

riêng d <n

1

4 bằng công cụ liên phân số D Boneh và G Durfee (1999) đạt được kết quả tốt hơn với d <n0.292, bằng cách giải bài toán tìm phần tử gần đúng có nghịch đảo nhỏ Sau lần giới thiệu đầu tiên của D Coppersmith tại Eurocrypt 1996, các thuật toán tìm cơ sở thu gọn của dàn là một công cụ rất hiệu quả để tấn công RSA

Trong nước, các công trình hay luận án liên quan đến RSA còn rất khiêm tốn Các luận án thường chỉ dừng lại ở mức hiện thực RSA có cải tiến các thuật toán số học trong mã hóa và giải mã; khảo sát áp dụng chữ ký điện

tử của RSA; liệt kê lại các phương pháp tấn công RSA hay áp dụng RSA

Xuất phát từ những khảo sát trên đây về hệ mã RSA ở trong nước và quốc tế, luận án này nhằm giải quyết các vấn đề sau:

(1) Nghiên cứu hệ mã RSA nguyên gốc và tất cả các biến thể của nó Giải thích vì sao các biến thể của RSA chỉ xây dựng trên các cấu trúc

(2) Căn cứ vào nghiên cứu trên, đề xuất sơ đồ tổng quát cho RSA (3) Căn cứ vào sơ đồ,, xây dựng một biến thể mới cho RSA

(4) Tìm hiểu các kỹ thuật tấn công đã biết vào RSA, qua đó cải tiến một số kỹ thuật và giải quyết một số bài toán còn mở trong thám mã RSA.

Nội dung của luận án gồm các phần sau

Phần mở đầu giới thiệu tổng quan về các nghiên cứu RSA trong và ngoài nước, đồng thời nêu ra các vấn đề cần giải quyết cho luận án

Trang 3

Chương 1 mô tả chi tiết hơn về hệ mã RSA gốc, các biến thể của

RSA trên các cấu trúc khác với Zn và một số kết quả về thám mã RSA

Chương 2 đề cập đến các kết quả của tác giả về việc xây dựng sơ đồ

cho RSA và một biến thể của RSA được xây dựng dựa trên sơ dồ này

Chương 3 đề cập đến các kết quả của tác giả trong lĩnh vực thám mã

RSA bao gồm việc đưa ra diều kiện nhằm đảm bảo phương pháp tấn công

RSA bằng dàn hai chiều luôn thành công và việc đưa bài toán DLP trên

nhóm nhân GL(2, p) về bài toán DLP trên trường cơ sở

Do các thuật toán tìm cơ sở thu gọn trên dàn được dùng nhiều trong

việc trình bày, các kiến thức cơ sở về dàn sẽ được nhắc lại trong phụ lục

Phần kết luận tóm tắt lại những kết quả mà luận án đã đạt được,

đồng thời nêu ra một số hướng nghiên cứu mở có thể phát triển được

CHƯƠNG 1: TỔNG QUAN VỀ RSA

1.1 Hệ mã hóa RSA gốc

1.1.1 Mô tả hệ mã

-Chọn số nguyên e mà (e , φ (n))=1 với φ (n )=( p−1)(q−1)

-Tính d=e−1(mod φ (n))

-Công bố n , e như khóa công khai và giữ d làm khóa riêng

1.1.2 Nhận xét về hệ mã

Nếu n=p1r1p2r2… pk r k là một số nguyên dương, trong đó

p1, p2, … , pk là các số nguyên tố phân biệt và ri∈ Z , ri>0 (i=1,2 ,… ,k ),

ta sẽ kí hiệu rad (n)= p1p2… pk T Collins et al vào 1997 đã xây dựng hệ

mã RSA trên Zn khi n=rad(n) Chúng tôi sẽ chỉ ra rằng n=rad (n) là dạng duy nhất của n nếu chúng ta có thể xây dựng RSA trên Zn

Mệnh đề 1.1 Giả sử tồn tại số tự nhiên k ≠ 1 sao cho ánh xạ F : Zn→ Zn mà

F ( x )=xk là đơn ánh Khi đó n=rad (n).

1.2 RSA trên vành Zn

Các công trình khảo sát RSA trên vành cơ sở Zn tập trung vào hai hướng Trong hướng thứ nhất, các tác giả tập trung vào hệ mã RSA gốc nhưng cải tiến các thuật toán mã hóa, giải mã nhằm giảm độ phức tạp tính toán hoặc thêm vào các kỹ thuật khi mã hóa nhằm nâng cao độ an toàn của

hệ mã Có thể kể ra các kỹ thuật cải tiến cho RSA gốc như tạo ra văn bản mã hóa ngẫu nhiên, tạo đồng thời nhiều chữ ký điện tửhay thêm vào các thuật toán nhằm thực hiện nhanh quá trình mã hóa và giải mã Trong hướng thứ hai, các tác giả khảo sát các hệ mã RSA trên vành Zn với n không còn là tích của hai số nguyên tố phân biệt Hai kết quả đáng kể trong hướng này thuộc về T Collins khảo sát trường hợp n là tích của nhiều số nguyên tố phân biệt (MultiPrime RSA), và T Takagi khảo sát khi ncó dạng n=pkq trong đó

p , q là hai số nguyên tố phân biệt, còn k là số nguyên dương (MultiPower RSA) Các biến thể này của RSA sau đó được các tác giả khác kết hợp với các kỹ thuật cải tiến trong hướng thứ nhất

1.3 Các biến thể của RSA trên các cấu trúc khác Zn

1.3.1 RSA trên vành các ma trận (Varadharajan V và Odoni [6], 1985)

Trang 4

Giả sử p , qlà hai số nguyên tố, n=pql ∈ N¿ Kí hiệu

Ml( p ), Ml(q) và Ml(n) là các nhóm nhân các ma trận vuông cấp l ×l

không suy biến hệ số tương ứng trên Zp, ZqZn Bậc của các nhóm này là

Np= ( pl−1 ) ( plp ) ( pl−pl−1) ,

Nq= ( ql−1 ) ( ql−q ) ( ql−ql−1) ,

thỏa mãn 1<e , d<Nn, ( e , Nn) =1 và ed ≡1(mod Nn) Định lý Lagrange

trong lý thuyết nhóm suy ra rằng mN n

= In∀ m ∈ Ml(n) trong đó In là ma trận đơn vị trong Ml(n) Từ đó med=mvới mọi m ∈ Ml(n) Điều này cho

phép chúng ta mã hóa m thành c ≡me và giải mã bằng cách tính cd≡ m cho

các văn bản m ∈ Ml(n)

1.3.2 RSA trên nhóm đường cong elliptic (N Demytko [4], 1993)

Giả sử rằng p>3 là một số nguyên tố và a , b là các số nguyên được

chọn sao cho 4 a3+27 b2≠ 0(mod p) Nhóm đường cong elliptic theo

modulo p, được kí hiệu là Ep( a , b) Nhóm đường cong elliptic bù với

nhóm Ep( a , b) được kí hiệu là Ep( ´ a , b), đó là tập hợp các cặp

( x , y )∈ Zp× Zp thỏa mãn phương trình y2= x3+ax +b trên Zp, cùng với

một phần tử cũng kí hiệu là ; nhưng tọa độ y có dạng y=uv với

u , v ∈ Zpv không phải là một bình phương trong Zp Phép toán + trên

´

Ep( a , b) được định nghĩa hoàn toàn tương tự như phép + trên Ep( a , b)

Bậc của các nhóm Ep( a , b)Ep(a , b) ´ được kí hiệu tương ứng là

¿ Ep(a , b)∨ ¿ và ¿ Ep(a , b)∨ ´ ¿ ¿, các số này có thể tính được bằng các thuật toán thời gian đa thức

Chọn hai số nguyên tố phân biệt p , q và đặt n=pq Chọn a , b ∈ Z

N1= | Ep(a , b) | , N2= | Ep(a , b ) ´ | , M1= | Eq(a , b) | , M2= | Eq(a , b ) ´ |và

L=N1N2M1M2.

Chọn hai số nguyên e , d sao cho ed ≡1(mod L), hệ thức (ed )(x , y )=(x , y ) sẽ đúng với mọi x ∈ Zny=x3+ax +b Điều này cho phép chúng ta tiến hành mã hóa và giải mã như trong RSA gốc

Demytko đã đưa ra công thức tính cho xk trong hệ thức

( xk, yk) =k (x , y ) như sau, bằng cách đưa về tọa độ thuần nhất

x= X

Z , y =

Y

Z :

X2 i= ¿

Z2 i=4 Zi( Xi3+ a XiZi2+b Zi3) ( mod n) ,

X2 i +1=4 bZ Zi2Zi +12 + 2 Z ( a ZiZi+1+ XiXi+ 1) ( XiZi+1+ Xi+ 1Zi) ¿

X ¿ ¿

Z2 i +1=Z ¿

xk= Xk

Zk .

Trang 5

1.3.3 RSA trên vành thương các đa thức

( El-Kassar A.N., R Hatary, Y Awad [2], 2004)

Xét vành đa thức Zp[ x ] với p là một số nguyên tố Chọn hai đa

thức bất khả quy g ( x ), h ( x )∈ Zp[ x ] có bậc tương ứng là r , s và đặt

f ( x )=g ( x ) h(x) Số các phần tử khả nghịch trong các vành thương

Zp[ x ]/ ¿<g(x)>, Zp[ x ]/ ¿<h(x)> và Zp[ x ]/ ¿<f(x)> tương ứng là pr−1,

ps−1 và L= ( pr−1 ) ( ps−1 ) Hệ thức m(x)ed= m(x ) đúng với mọi

m(x)∈ Zp[ x]/¿ f ( x )> ¿, trong đó e , d là các số nguyên được chọn sao cho

ed ≡1(mod L) Hệ thức này cho phép mã hóa văn bản

m (x ) ∈ Zp[ x ] / ¿ f ( x )> ¿ thành c ( x )=me

( x) và sau đó giải mã c (x ) thành

cd( x )=m(x )

1.3.4 RSA trên vành thương các số nguyên Gauss

( El-Kassar A.N., R Hatary, Y Awad [2], 2004)

Vành số nguyên Gauss là vành X = { a+bi :a , b ∈ Z } , vành con của

trường số phức C Chuẩn trên X được tính bởi δ (a+bi)=a2+ b2 Các ước

của đơn vị trong X1 ,−1 , i,−i Một phần tử q ∈ X là nguyên tố khi và

chỉ khi q là tích của ước đơn vị với một trong các phần tử có dạng sau:

i α=1+i, khi đó q được gọi là phần tử nguyên tố dạng α

ii π=a+bi với π ´π=a2+b2 là số nguyên tố thông thường có

dạng 4 k +1, khi đó q được gọi là phần tử nguyên tố dạng π

iii p là số nguyên tố thông thường có dạng 4 k +3, khi đó q được

gọi là phần tử nguyên tố dạng p

Hàm Euler tại phần tử nguyên tố q có giá trị là φ (q )=δ (q)−1 Trong biến thể này, chọn hai phần tử nguyên tố β , γ ∈ X và tính η=βγ Khi đó φ (η )=φ ( β ) φ (γ )= ( δ ( β )−1 ) (δ (γ )−1) Các khóa e,dđược chọn thỏa

ed ≡1(mod φ (η)) Văn bản m∈ Xδ (m)<δ(η) sẽ mã hóa thành

me≡ c (mod η) c sẽ được giải mã bằng cách tính cd≡ m(mod η)

1.4 Thiết lập sơ đồ cho RSA

Bài toán lập sơ đồ cho RSA hoặc mở rộng RSA cũng là một bài toán được nhiều tác giả khảo sát Có thể kể ra đây các công trình của Tsuyoshi Takagi trong đó đưa ra sơ đồ cho RSA với trường cơ sở là trường các số đại

số trên Q Hàm mã hóa f ( m)=me được mở rộng thành hàm bậc hai theo hai biến bởi các tác giả Kobayashi K., Koyama K hoặc mở rộng thành một đa thức bậc e trên trường cyclotomic bởi tác giả Uematsu.Y et al Tác giả Koyama K sau đó đưa ra sơ đồ cho RSA với hàm mã hóa là một phân thức theo hai biến trên nhóm elliptic

1.5 Thám mã RSA

Thật khó mà liệt kê ra hết các công trình thám mã RSA Các kết quả đáng ghi nhận nhất thuộc về M Wiener đưa ra năm 1990 [3] Điều kiện do

Wiener đưa ra bằng phương pháp thám mã dùng liên phân số là d <n

1

4 Một kết quả đáng ghi nhận khác, thực hiện bằng cách tìm nghiệm gần đúng có nghịch đảo nhỏ, do D Boneh và G Durfee đưa ra [1], thực hiện được khi

d <n0.292

4.1.3 Thám mã RSA bằng dàn hai chiều

Trang 6

Dàn là một công cụ thám mã được nhiều tác giả nghiên cứu trong thời gian

gần đây Cách thám mã RSA bằng dàn hai chiều đã được đề cập đến trong

phần 3.2.3

CHƯƠNG 2: XÂY DỰNG SƠ ĐỒ CHO RSA

2.1 RSA trên vành thương của vành Euclid

Định nghĩa 2.1 Một miền nguyên có đơn vị X được gọi là một vành Euclid

a=bq+r trong đó hoặc r =0 hoặc δ (r )<δ (b).

Ánh xạ δ trong định nghĩa trên thường được gọi là ánh xạ Euclid

hoặc là chuẩn trên X Phép chia Euclid trong X sẽ sinh ra một loạt các khái

niệm tương tự như trong vành số nguyên Z

Trong phần này, chúng ta giả sử rằng X là một vành Euclid và với

mỗi α ∈ X, vành thương X / ¿ α> ¿ là hữu hạn Số các phần tử khả nghịch

trong vành thương X / ¿ α> ¿ sẽ được kí hiệu là φ (α) Để đi đến hệ thức

φ ( p q)=φ ( p) φ(q), trước hết chúng tôi phát biểu mệnh đề tổng quát sau

Mệnh đề 2.1 Giả sử Y là vành giao hoán có đơn vị, AB là các ideal

Từ mệnh đề trên, chúng ta có ngay tính chất nhân tính của hàm φ (.)

Hệ quả 2.1 Với α , β ∈ Xgcd ( α , β )=1 thì φ (α β )=φ (α ) φ( β).

Chúng ta sẽ đi đến hệ thức cơ bản trong RSA Kí hiệu [ a] được

dùng để chỉ phần tử chứa a trong vành thương X / ¿ γ> ¿ với a , γ ∈ X

Mệnh đề 2.2 Giả sử p , q là các phần tử nguyên tố trong vành Euclid X.

e , d là các số nguyên thỏa gcd ( e , φ ( pq) ) = 1ed ≡1(mod φ ( pq )) Khi

2.1.1 Sơ đồ hệ mã hóa RSA trên vành thương của vành Euclid

.Chọn số nguyên e thỏa mãn gcd ( e , φ ( pq) ) =1 .Tính d ≡e−1(mod φ ( pq ))

.Công bố n=pqe như khóa công khai, giữ d làm khóa riêng

.Văn bản m được mã hóa thành c=me ¿

2.1.2 So sánh với các hệ mã RSA đã biết

Hệ mã RSA gốc, các hệ mã RSA trên vành thương các đa thức và vành thương các số nguyên Gauss trong phần 1.2 đều thuộc về sơ đồ trên

2.2 Sơ đồ cho RSA trên nửa nhóm 2.2.1 Sơ đồ

Giả sử Y là một tập khác rỗng, trên đó đã xác định một phép toán hai ngôi ¿ sao cho với phép toán này, Y là một nửa nhóm, tức là phép toán ¿

có tính kết hợp Chúng tôi sẽ kí hiệu ¿ theo lối nhân Giả sử X ⊂Y là tập con khác rỗng là tập các văn bản cần mã hóa theo kiểu RSA Chúng tôi đưa

ra một số điều kiện sao cho hệ thức med=m xảy ra trên X như sau

Mệnh đề 2.3 Giả sử rằng

Trang 7

b Tồn tại hai nhóm U1⊂U ,U2⊂U và hai nhóm V1⊂V , V2⊂V

ánh.

Với các giả thiết như trong mệnh đề trên, chúng ta có thể xây dựng

trên X hệ mã RSA như sau

Hệ mã RSA trên nửa nhóm nhân

-Công bố e như là khóa công khai và giữ d làm khóa riêng.

-Một văn bản m ∈ X được mã hóa thành c=me

2.2.2 So sánh với các hệ mã RSA đã biết

Hệ mã RSA gốc và các biến thể của nó trong phần 1.2 đều thuộc về

sơ đồ trên

2.3 Xây dựng biến thể của RSA

2.3.1 Vành Bergman

Năm 1974 Bergman đã thiết lập được kết quả tập các tự đồng cấu

End (Zp× Zp2) từ Zp× Zp2 vào chính nó là một vành có p5 phần tử, trong

đó p là một số nguyên tố Đến 2011, J.J Climent et al mới thiết lập được

đẳng cấu giữa vành Bergman với vành các ma trận vuông kích thước 2 ×2 Phần này sẽ tóm tắt các kết quả cần thiết về vành Bergman

Định lý 2.1 (J.J.Climent et al.) Với p là số nguyên tố, tập hợp

Ep= { [ pc d a b ] : a , b , c , d ∈ Z , 0 ≤ a , b , c< p , 0 ≤ d <p2

}

là một vành không giao hoán với phép cọng, phép nhân được định nghĩa bởi

[ a1 b1

p c1 d1] + [ a2 b2

p c2 d2] = [ ( a1+a2) mod p ( b1+ b2) mod p

p ( c1+ c2) mod p2 ( d1+ d2) mod p2] ,

[ a1 b1

p c1 d1] . [ a2 b2

p c2 d2] = [ ( a1a2) mod p (a1b2+b1d2) mod p

p ( c1a2+ d1c2) mod p2

( p c1b2+d1d2) mod p2] .

x= [ pc d a b ] ∈ Ep(a , b , c , d ∈ Z , 0≤ a , b , c < p , 0 ≤d < p2

) có thể viết dưới

dạng x= [ pc pu+v a b ] với a , b , c ,u , v ∈ Zp

Xét các phép chiếu π1: Zp× Zp2→ Zp, π2: Zp× Zp2→ Zp2 và hai tự đồng cấu của σ , τ của Zp× Zp2 xác định bởi σ ( x , y )=( y mod p , 0)

τ ( x , y )=(0 , px) Vành End (Zp× Zp2) được mô tả qua hai định lý sau

Định lý 2.2 (J.J.Climent et.al.) Nếu p là một số nguyên tố thì

End ( Zp× Zp2) = { a π1+b σ +c τ +d π2:a , b , c , d ∈ Z ,0 ≤ a , b , c < p , 0≤ d < p2

} .

Định lý 2.3 (J.J.Climent) Ánh xạ Φ : End ( Zp× Zp2) → Ep định nghĩa bởi

Trang 8

Φ ( a π1+ b σ +c τ +d π2) = [ pc d a b ]là một đẳng cấu vành.

Như vậy, mỗi phần tử của vành End ( Zp× Zp2) có thể đồng nhất với

một ma trận kích thước 2 ×2 dạng [ pc pu+v a b ] hoặc

[ pc d a b ] (a , b , c , d ∈ Z , 0≤ a , b , c < p , 0 ≤d < p2

)

Định lý 2.4 (J.J.Climent et.al.) M= [ pc pu+v a b ] ∈ Ep với

a , b , c ,u , v ∈ Z , 0≤ a , b , c ,u , v< p là khả nghịch nếu và chỉ nếu a ≠ 0

v ≠ 0.

Có thể suy ra ngay số phần tử khả nghịch trong Epp3( p−1)2

2.3.2 Xây dựng biến thể cho RSA dựa trên vành Bergman

2.3.2.1 Xây dựng nửa nhóm cơ sở

Giả sử p , q là hai số nguyên tố phân biệt và n=pq Kí hiệu

En= { [ nc d a b ] :a , b , c , d ∈ Z , 0≤ a , b , c <n , 0 ≤ d<n2

} .

Có thể kiểm tra được rằng phép nhân, kí hiệu “.” định nghĩa bởi

[ a1 b1

n c1 d1] . [ a2 b2

n c2 d2] = [ ( a1a2) mod n (a1b2+b1d2)mod n

n ( c1a2+ d1c2) mod n2 ( n c1b2+d1d2) mod n2]

là một phép toán hai ngôi trên En

Bây giờ ta định nghĩa:

-ánh xạ μ : En→ Ep

[ pqc d a b ] [ ap bp

p cp dp]

trong đó ap, bp, cp, dp∈ Z , 0≤ ap, bp, cp< p , 0 ≤dp< p2,

ap≡ a (mod p) ,bp≡ b (mod p) , cp≡ qc (mod p) , dp≡d (mod p2)

- ánh xạ η : En→ Eq

[ pqc d a b ] [ aq bq

q cq dq]

trong đó aq,bq, cq, dq∈ Z ,0 ≤ aq, bq, cq< q , 0 ≤ dq< q2,

aq≡ a (mod q ) ,bq≡ b (mod q ) , cq≡ pc (mod q) , dq≡d (mod q2

)

Có thể thấy rằng μη hoàn toàn được xác định

Mệnh đề 2.5 μη là các đồng cấu.

Mệnh đề 2.6 Ánh xạ θ xác định bởi

M ↦ θ ( M)=(μ ( M ) , η( M ))

là một đơn ánh.

Bây giờ chúng ta sẽ kí hiệu bởi E¿p

Eq¿

tương ứng là tập các phần

tử khả nghịch trong EpEq, khi đó E¿p

Eq¿

sẽ là các nhóm nhân Ngoài

ra, kí hiệu X = { M ∈ En: μ (M ) ∈ E¿pvà η(M )∈ Eq¿

} .

Chúng tôi thiết lập hệ thức tương tự như hệ thức med=m trong hệ

mã RSA gốc trên X như sau

Trang 9

Mệnh đề 2.7 Nếu e,d là các số nguyên thỏa mãn các điều kiện

ed ≡1(mod L), L=lcm (p3( p−1)2, q3(q−1)2) thì Med=M với mọi

M ∈ X.

Chú ý 3.1 Mệnh đề 3.3 thật ra là hệ quả của Mệnh đề 2.3 trong đó Y =En,

U =Ep, V =Eq, U1=U2= E¿p

V1=V2= Eq¿

2.3.2.2 Sơ đồ hệ mã

Sinh khóa.

- Chọn hai số nguyên tố phân biệt p , q Tính n=pq

- Tính L=lcm (p3

( p−1)2, q3(q−1)2

)

- Chọn số nguyên e thỏa mãn gcd ( L , e )=1(0<e<L)

- Tính d ≡e−1(mod L), độ phức tạp của việc tính dO(log3L)

-Công bố ne như là khóa công khai, giữ d làm khóa riêng

-Chọn ngẫu nhiên a , c ,u , v ∈ Zn thỏa gcd ( a ,n )=1, gcd ( v ,n )=1

-m sẽ mã hóa bằng cách tính C=Me với M= [ nc nu+ v a m ] ∈ En

2.3.2.3 Độ phức tạp tinh toán

Độ phức tạp tính toán trong các quá trình mã hóa và giải mã của hệ

mã chúng tôi gấp 3 lần so với hệ mã RSA gốc, Tuy vậy điều này có thể khắc

phục được nếu đưa thêm các văn bản cần mã hóa vào c ,u của ma trận M

2.3.2.4 Thám mã

Chúng tôi chỉ khảo sát các cánh tấn công theo kiểu chọn văn bản

gốc và bằng dàn hai chiều vào hệ mã đề nghị Hê mã chúng tôi có thể tránh

được cách tấn công theo kiểu chọn văn bản trước (chosen-plaintext attack)

do có thể chọn các thành phần ngẫu nhiên trong ma trân M Xác suất để cách

tấn công dàn hai chiều vào hệ mã chúng tôi thành công là nhỏ hơn n

1 4

n3=

1

n

11 4

Xác suất này nhỏ hơn nhiều so với xác suất tương ứng của cách tấn công

dàn thành công vào hệ mã RSA gốc là 1

n

3

4

CHƯƠNG 3: THÁM MÃ RSA

3.1 Thám mã RSA bằng dàn hai chiều 3.1.1 Đặt vấn đề

Khi lập trình tấn công RSA bằng dàn hai chiều, chúng tôi phát hiện

ra rất nhiều trường hợp dự đoán trong cách tấn công này là không đúng, tức

là vector t trong 3.2.3 không phải là một vector ngắn nhất của dàn L Từ kết

quả này, chúng tôi đặt ra bài toán:“Tìm hằng số α >0 sao cho khi d <α n

1 4

3.1.2 Điều kiện để tấn công dàn hai chiều vào RSA luôn thành công

Nếu áp dụng thuật toán Gauss vào một cơ sở v1, v2 của dàn hai chiềuL ⊂R2 ta sẽ nhận được cơ sở thu gọn v ´1, ´v2 với ∥ ´v1∥≤∥ ´v2 Khi đó

´

v1 sẽ là một vector ngắn nhất của dàn L Thật ra, v ´2 là vector có độ dài nhỏ nhất trong số các vector của dàn L độc lập tuyến tính với v ´1

Trang 10

Mệnh đề 3.1 Giả sử L ⊂R2 là dàn hai chiều sinh bởi hai vector độc lập

∥ v ∥≤ ∥ ´v2 thì sẽ tồn tại số nguyên sv=s ´v1.

Bây giờ xét hệ mã RSA với các kí hiệu thông thường và với điều kiện cân

bằng 1

2 √ n< p , q<2n Chúng tôi đạt được kết quả sau.

Mệnh đề 3.2 Nếu d < 2

√ 29 n

1

3.1.3 Nhận xét về phương pháp tấn công RSA bằng dàn hai chiều

Bằng thực nghiệm chúng tôi nhận thấy rằng khi d <n

1

4 mà d ≈ n

1

4 thì

tỷ lệ tấn công được rất cao, tức là t vẫn là một vector ngắn nhất của dàn L

Điều này làm chúng tôi nghĩ rằng tấn công RSA bằng dàn hai chiều vẫn còn

tất định nếu thêm vào một số điều kiện nào đó

Nếu điều kiện cân bằng được thay bằng p<q <2 p, chúng tôi nhận

được kết quả: nếu d < 1

√ 4+2 √ 2 n

1 4

thì t là một vector ngắn nhất của dàn L

3.2 Bài toán DLP trên nhóm GL(2, p)

3.2.1 Đặt vấn đề

Bài toán logarit rời rạc (DLP-discrete logarithm problem) được

quan tâm ngay từ khi giao thức trao đổi khóa Diffie-Hellman ra đời Có rất

nhiều công trình khảo sát các phương pháp giải bài toán DLP trên một

trường hữu hạn cho trước Việc áp dụng các phương pháp này giải bài toán DLP trên nhóm nhân các ma trận còn rất phức tạp do mất nhiều tính toán

3.2.2 Bài toán DLP trên nhóm GL(2, p)

Giả sử p là số nguyên tố, GL(2, p) là nhóm nhân các ma trận vuông cấp 2 không suy biến hệ số trên Zp Bài toán DLP trên GL(2, p) là bài toán:

(3.4)

Nghiệm k của bài toán nếu tồn tại sẽ được xác định duy nhất theo

modulo d với d là bậc của ma trận A trong nhóm GL(2, p) Giả sử

A= ( a11 a12

a21 a22), B= ( b11 b12

b21 b22), ma trận đơn vị sẽ kí hiệu là I= ( 1 0 0 1 )

3.2.3 Ý tưởng với nhận xét rằng việc giải bài toán (3.4) sẽ đơn giản hơn rất

nhiều khi A là ma trân chéo, chúng tôi dựa vào dạng chéo Jordan của A để

làm đơn giản hóa việc giải bài toán (3.4)

3.2.4 Chéo hóa Jordan của ma trận

Việc đưa ma trận A về dạng chéo Jordan bao gồm tìm một ma trận

P ∈GL(2, p) và một ma trận dạng chéo Jordan D sao cho D¿ P−1AP Chúng tôi tóm tắt lại như sau Đa thức theo một biến z

ρA( z )=det ( A−zI )= ( a11−z ) ( a22−z ) −a12a21

được gọi là đa thức đặc trưng của ma trận A Nếu ρA( z) không có nghiệm trong Zp, ta sẽ mở rộng Zp theo một nghiệm α của ρA( z) để được trường

mở rộng Zp(α )={a α + b : a , b ∈ Zp} Như vậy ρA( z) luôn có 2 nghiệm

z1, z2 (trong Zp hoặc Zp( α)) Có các trường hợp sau

Ngày đăng: 28/05/2015, 15:34

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