Tài liệu Phương pháp mã hóa liên tiếp và tiêu chuẩn cho tham số E - Nguyen Dao Truong: Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 63
PHƯƠNG PHÁP MÃ HÓA LIÊN TIẾP VÀ TIÊU CHUẨN
CHO THAM SỐ E
Nguyễn Đào Trường1*, Nguyễn Ngọc Điệp2, Nguyễn Thị Thu Nga3
Tóm tắt: Một tấn công vào hệ mật RSA sử dụng phương pháp “mã hóa liên tiếp”
rất có hiệu quả để giải bài toán RSA trong trường hợp các hệ mật RSA với số mũ
công khai e có ( )Nord e đủ nhỏ. Bài viết đã phát triển thuật toán giải bài toán RSA
thành thuật toán phân tích modulo N của hệ mật RSA hiệu quả trong trường hợp chỉ
cần ( )pord e hoặc ( )qord e đủ nhỏ. Với phát triển trên đề xuất bổ sung thêm một
tiêu chuẩn cho tham số E cùng với việc tìm các tham số nguyên tố kiểm tra được
thỏa mãn tiêu chuẩn đã đưa ra cho hệ mật RSA.
Từ khóa: Hệ mật RSA, Mã hóa liên tiếp, Tham số, Số mũ công khai.
1. MỘT SỐ KÝ HIỆU, ĐỊNH NGHĨA VÀ KẾT QUẢ
Cho S là một tập hữu hạn. Ký hiệu #S là số các phần tử của S.
Cho hai số nguyên dương N và e.
- Nếu N chia hết cho e, ta nói N là b...
6 trang |
Chia sẻ: quangot475 | Lượt xem: 462 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Phương pháp mã hóa liên tiếp và tiêu chuẩn cho tham số E - Nguyen Dao Truong, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 63
PHƯƠNG PHÁP MÃ HÓA LIÊN TIẾP VÀ TIÊU CHUẨN
CHO THAM SỐ E
Nguyễn Đào Trường1*, Nguyễn Ngọc Điệp2, Nguyễn Thị Thu Nga3
Tóm tắt: Một tấn công vào hệ mật RSA sử dụng phương pháp “mã hóa liên tiếp”
rất có hiệu quả để giải bài toán RSA trong trường hợp các hệ mật RSA với số mũ
công khai e có ( )Nord e đủ nhỏ. Bài viết đã phát triển thuật toán giải bài toán RSA
thành thuật toán phân tích modulo N của hệ mật RSA hiệu quả trong trường hợp chỉ
cần ( )pord e hoặc ( )qord e đủ nhỏ. Với phát triển trên đề xuất bổ sung thêm một
tiêu chuẩn cho tham số E cùng với việc tìm các tham số nguyên tố kiểm tra được
thỏa mãn tiêu chuẩn đã đưa ra cho hệ mật RSA.
Từ khóa: Hệ mật RSA, Mã hóa liên tiếp, Tham số, Số mũ công khai.
1. MỘT SỐ KÝ HIỆU, ĐỊNH NGHĨA VÀ KẾT QUẢ
Cho S là một tập hữu hạn. Ký hiệu #S là số các phần tử của S.
Cho hai số nguyên dương N và e.
- Nếu N chia hết cho e, ta nói N là bội của e, còn e là ước của N và ký hiệu là |e N .
- Nếu |me N còn
1 |me N , ta nói
me là ước tuyệt đối của N và ký hiệu là ||me N .
Cho | 1,...,iN i k là k số nguyên dương. Ký hiệu:
- gcd | 1,...,iN i k : Là số nguyên dương e lớn nhất thỏa mãn
| ; 1,...,ie N i k và được gọi là ước chung lớn nhất của | 1,...,iN i k .
- | 1,...,ilcm N i k : Là số nguyên dương m nhỏ nhất thỏa mãn
| ; 1,...,iN m i k và được gọi là bội chung nhỏ nhất của | 1,...,iN i k .
Cho N là một số nguyên dương. Ký hiệu:
- N : Tập các số nguyên 0, 1, ..., 1N với hai phép toán cộng và nhân rút gọn
theo mudulo N. Khi này N là một vành.
-
*
N : Nhóm nhân của vành N .
Hàm -Euler. ( ) # | gcd( , ) 1NN a a N . Ta có:
*( ) # NN (1.1)
Cấp của phần tử trong nhóm
- Cho G là một nhóm nhân hữu hạn với đơn vị ký hiệu là 1. Khi đó với mọi phần tử
a G luôn tồn tại số tự nhiên d sao cho
d
a a a , ký hiệu là
da , bằng đơn vị. Tức là:
1da (1.2)
- Giá trị d nhỏ nhất thỏa mãn công thức (1.2) được gọi là cấp của a trong G và được ký
hiệu là Gord a . Trong trường hợp
*
NG thì Gord a còn được ký hiệu là Nord a .
Công nghệ thông tin & Khoa học máy tính
N. Đ. Trường, N.N. Điệp,. ..“Phương pháp mã hóa liên tiếp cho tham số e.” 64
- (N): Cấp lớn nhất của các phần tử trong nhóm
*
N .
Công thức tính (N) và (N). Nếu
1
i
k
i
i
N p
với pi là các số nguyên tố khác nhau
thì
1
1
( ) ( 1) i
k
i i
i
N p p
(1.3)
1( ) {( 1) | 1,..., }ii iN lcm p p i k
(1.4)
Ngưỡng an toàn tính toán. Ngưỡng an toàn tính toán (thường được xét đến một thời
điểm cụ thể) là một con số, ký hiệu là A, sao cho mọi tổ chức, cá nhân đều không thể thực
hiện được A phép tính cho đến thời điểm được xét.
2. GIẢI BÀI TOÁN BẰNG PHƯƠNG PHÁP MÃ HÓA LIÊN TIẾP
2.1. Bài toán RSA
Cho bản mã C được mã hóa bởi hệ mật RSA với tham số công khai (N, e). Hãy tìm M
sao cho (mod )eM C N
2.2. Thuật toán mã hóa liên tiếp
Tấn công mã hóa liên tiếp [6,7] nhằm tìm bản rõ M từ bản mã C theo hệ mật RSA với
bộ tham số công khai (N, e) được thực hiện theo thuật toán sau đây.
Thuật toán 1. (mã hóa liên tiếp giải bài toán RSA)
Input: C, (N, e)
Ouput: M thỏa mãn (mod )eM C N
Begin 1. M C
2. (mod )eX M N
3. while (X C) do
3.1 M X
3.2 (mod )eX M N
End 4. return M
2.3. Phân tích thuật toán
Trước hết chúng ta thấy rằng nếu thuật toán dừng tức là X = C thì với X được tính theo
bước 2 hoặc bước 3.2 ta có ngay (mod )eC X M N .
Đẳng thức trên có nghĩa là đầu ra của thuật toán đúng là bản rõ cần tìm. Việc còn lại
của chúng ta ở đây là chứng tỏ thuật toán 1 luôn dừng và xác định độ phức tạp tính toán
của nó.
Kết quả 1. Thuật toán 1 sẽ dừng sau đúng ( ) 1Nord e vòng lặp ở bước 3.
Chứng minh:
Với M xuất phát từ bước 1 chính là C nên X thu được tại bước 2, ký hiệu là 0X chính là
0 (mod )
eX C N (2.1)
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 65
Ký hiệu giá trị X tính được tại vòng lặp thứ t (t 1) ở bước 3 là tX , theo bước 3.2 ta
có (mod )etX M N và theo bước 3.1 thì 1tM X vậy ta có
1 (mod )t
e
tX X N (2.2)
Từ (2.1) và (2.2) ta thu được
1
(mod )
te
tX X N
(2.3)
Với ( ) 1Nt ord e thì (2.3) trở thành
( )
(mod )
ord eNe
tX C N
(2.4)
Biết rằng với mọi giá trị *Na và với mọi số nguyên dương m ta có:
mod ( ) (mod )m m Na a N
(2.5)
theo định nghĩa về cấp thì ( ) 1(mod ( ))N
ord e
e N nên thay (2.5) với ( )N
ord e
m e vào
(2.4) thì vế phải của nó chính là C vậy Kết quả 1 đã được chứng minh.
Từ kết quả trên ta có:
Hệ quả 1. Chi phí tính toán của thuật toán 1 là ( )Nord e phép lũy thừa với số mũ e
trong N .
Như vậy nếu e có ( )Nord e đủ nhỏ thì theo hệ quả 1, người tấn công sẽ luôn giải được
bài toán RSA và khi này hệ mật RSA sẽ không an toàn.
3. PHÂN TÍCH MODULE N CỦA HỆ MẬT RSA
BẰNG PHƯƠNG PHÁP MÃ HÓA LIÊN TIẾP
3.1. Thuật toán
Việc phân tích modulo N của hệ mật RSA với bộ tham số công khai (N, e) theo phương
pháp mã hóa liên tiếp [6] được thực hiện theo thuật toán sau:
Thuật toán 2 (mã hóa liên tiếp phân tích modulo N)
Input: (N, e) là bộ tham số khóa công khai RSA
Ouput: p là ước nguyên tố của N
Begin 1. X random(1, N); Y X
2. p gcd(X, N)
3. while (p {1, N}) do
3.1. modeX X N
3.2. p gcd(X Y, N)
End 4. return p
3.2. Phân tích thuật toán 2
Kết quả 2. Giả sử N = pq và nếu các điều kiện sau đây được thỏa mãn:
( ) ( )p q
ord e ord e (3.1)
Giá trị Y lấy trong bước 1 thỏa mãn
( )(mod ) v (mod ( ))p
ord euY Y q u e q íi (3.2)
Công nghệ thông tin & Khoa học máy tính
N. Đ. Trường, N.N. Điệp,. ..“Phương pháp mã hóa liên tiếp cho tham số e.” 66
thì thuật toán 2 sẽ dừng với đầu ra là ước nguyên tố p của N.
Chứng minh:
Không giảm tính tổng quát, giả sử ( ) (q)pord e ord e , giống như lập luận đã sử
dụng để chứng minh Kết quả 1 ta có giá trị X tính được ở vòng lặp thứ t, ký hiệu là Xt, của
bước 3 chính là (mod )
teX N với X là giá trị được lấy trong bước 1 và do đó ta có
(mod )
te
tX Y N (3.3)
Xét phần dư theo phép chia cho p cả hai vế của (3.3) ta được
mod ( (mod )) mod mod
t te e
tX p Y N p Y p (3.4)
Với ( )pt ord e ta có 1(mod ( ))
te p và vì vậy vế phải của (3.4) chính là
modY p hay
(mod )tX Y p (3.5)
Tương tự, xét phần dư theo phép chia cho q cả hai vế của (3.3) ta được
mod ( (mod )) mod mod
t te e
tX p Y N p Y q (3.6)
Từ giả thiết ( ) (q)pord e ord e nên giá trị
( ) 1(mod ( ))p
ord etu e e q đồng
thời với giả thiết (3.2) ta có
(mod )tX Y q (3.7)
Từ (3.5) và (3.7) cho thấy tX Y là bội của p nhưng không là bội của q và điều này
dẫn đến gcd( , ) 1,tX Y N p N cho nên thuật toán dừng và đầu ra chính là ước
nguyên tố của N. Tóm lại Kết quả 2 đã được chứng minh.
Giống như Kết quả 1 ta có hệ quả sau:
Hệ quả 2. Chi phí tính toán của thuật toán 2 là ( ) ( )min ,p qm ord e ord e phép
lũy thừa với số mũ e và m phép tìm ước chung lớn nhất của hai số nguyên trong N .
4. TIÊU CHUẨN CHO THAM SỐ E
4.1 Tiêu chuẩn
Để chống được tấn công thám mã được đưa ra trong thuật toán 1 ta cần đến điều kiện
về tham số e là
( )Nord e A , với A là ngưỡng an toàn tính toán (4.1)
Bởi vì khi này theo hệ quả 1, chi phí để thực hiện thuật toán 1 là vượt quá khả năng của
người tấn công.
Để chống được tấn công phân tích số N được đưa ra trong thuật toán 2 chúng ta có thể
đưa ra đề xuất về tham số e đó là thỏa mãn ít nhất một trong hai điều kiện sau:
( ) ( )p qord e ord e (4.2)
Hoặc
Nghiên cứu khoa học công nghệ
Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 - 2015 67
( )
( )
p
q
ord e A
ord e A
(4.3)
Hiển nhiên (4.2) là điều kiện không thành công của thuật toán 2, còn (4.3) làm cho chi
phí để thực hiện thành công thuật toán 2 là vượt quá khả năng của kẻ tấn công.
Rõ ràng nếu thỏa mãn điều kiện (4.3) thì (4.1) cũng được thỏa mãn, do đó việc thỏa
mãn (4.3) là đủ để chống lại cả hai tấn công đã trình bày. Cho nên tiêu chuẩn cho tham số
e được đưa ra ở đây là.
Tiêu chuẩn. e thỏa mãn điều kiện (4.3).
4.2 Kiểm tra sự thỏa mãn tiêu chuẩn của tham số E
Biết rằng trong tất cả các tiêu chuẩn cho bộ tham số của hệ mật RSA đã được ban hành
trên thế giới chẳng hạn [1, 2, 3, 4] thì việc sinh các tham số luôn được bắt đầu từ chọn e
sau đó rồi mới đến tìm các tham số nguyên tố p và q sao cho bộ tham số
1( ; ; mod ( ))N pq e d e N thỏa mãn toàn bộ các tiêu chuẩn.
Bây giờ muốn kiểm tra điều kiện (4.3) cho tham số e ta cần tính được hay ít ra cũng
phải ước lượng được hai giá trị
( )pord e và ( )qord e . Do ( )pord e là ước của
( ( ))p và
( )qord e là ước của ( ( ))q nên việc ước lượng hai giá trị nói trên có thể
được thực hiện bởi kết quả hiển nhiên sau đây.
Bổ đề 1. Cho N là một số nguyên dương, r là ước nguyên tố của ( ( ))N . Khi đó
nếu
m od ( ) 1 v i ( ( )) /de N d N r í (4.4)
thì
( )Nord e là bội của
mr với || ( ( ))mr N .
Như vậy, nếu giá trị r nêu trong Bổ đề 1 thỏa mãn r A thì ta có ngay
( )Nord e A
cho nên bằng cách chỉ ra được các số nguyên tố pr và qr không nhỏ hơn A tương ứng là
ước của ( ( ))p và ( ( ))q thì việc kiểm tra sự thỏa mãn Tiêu chuẩn 1 được thực hiện
dễ dàng thông qua sự thỏa mãn điều kiện (4.4) với N lần lượt thay bằng p và q. Khi đó cặp
A,p qr r A sẽ là bằng chứng thỏa mãn tiêu chuẩn.
4.3. Tìm số nguyên tố thỏa mãn tiêu chuẩn cho E
Hiển nhiên các số nguyên tố p có đủ bằng chứng thỏa mãn tiêu chuẩn với tham số e
phải thỏa mãn hai điều kiện sau:
Thứ nhất:
( ( ))p có ước nguyên tố r A (4.5)
Thứ hai:
( ( ))/ mod ( ) 1p re p (4.6)
Từ đó bằng việc sinh ngẫu nhiên một số nguyên tố r A rồi tìm ngẫu nhiên một số
nguyên tố 1p trong tập { 1 1|p rx x nguyên dương} thì các số nguyên tố p trong tập
{
1 1|p p x x nguyên dương} sẽ thỏa mãn | ( ( ))r p . Nói một cách khác là điều
Công nghệ thông tin & Khoa học máy tính
N. Đ. Trường, N.N. Điệp,. ..“Phương pháp mã hóa liên tiếp cho tham số e.” 68
kiện (4.5) đã được thỏa mãn. Bằng kiểm tra thêm điều kiện (4.6) để có được số nguyên tố
cần tìm.
TÀI LIỆU THAM KHẢO
[1]. TCVN 7635:2007, Tiêu chuẩn Quốc gia. Kỹ thuật Mật mã - Chữ ký số. Hà nội 2007.
[2]. ANSI X9.31, American National Standard for Financial Services X9.31, “Digital
Signatures Using Reversible Public Key Cryptography for the Financial Services
Industry (rDSA)”,2-1998.
[3]. FIPS PUB 186-3, “Digital Signature Standard (DSS)”, June, 2009.
[4]. FIPS PUB 186-4, “Digital Signature Standard (DSS)”, July, 2013.
[5]. Richard Crandall, Carl Pomerance (2005), “Prime Numbers, A Computational
Perspective”, Second Edition, Springer Science + Business Media, In.
[6]. M. Jason Hinek, “Cryptanalysis of RSA and its Variants”, Chapman Hall, 2010.
[7]. J. Friedlander, Carl Pomerance, and I. Shparlinski, “Period of the power generator
and small values of Carmichael’s function”, Math. Comput., 70(236):1591–1605,
2001.
ABSTRACT
THE CONTINUOUS ENCRYPTION METHOD AND PARAMETER E CRITERION
An attack on RSA cryptosystem using the method of “continuous encryption”
very effective to solve the problem in the case of the RSA cryptosystem with public
exponent ( )Nord e small enough. This article developes the algorithm which solve
RSA problem become the algorithm to analysis modulo N of RSA effectively in case
the public exponent ( )pord e or ( )qord e small enough. With above development,
we add a criterion for parameter E and the search examable prime parameters
correspond to standards issued for RSA cryptosystem.
Keywords: RSA cryptosystem, Continuous encryption, Parameter, Public exponent.
Nhận bài ngày 12 tháng 06 năm 2015
Hoàn thiện ngày 30 tháng 06 năm 2015
Chấp nhận đăng ngày 22 tháng 10 năm 2015
Địa chỉ: 1 Học viện Kỹ thuật mật mã, Ban Cơ yếu Chính phủ;
2 Viện Khoa học - Công nghệ mật mã, Ban Cơ yếu Chính phủ ;
3 Sở Giáo dục - Đào tạo Bắc Ninh, Bắc Ninh.
* Email: truongnguyendao@gmail.com
Các file đính kèm theo tài liệu này:
- 09_diep_2573_2149203.pdf