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

Báo cáo môn Mật Mã và An Toàn Dữ Liệu TÍNH LŨY THỪA VỚI SỐ MŨ LỚN THEO MODULO

16 2,2K 4

Đ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 16
Dung lượng 318,43 KB

Nội dung

Báo cáo môn Mật Mã và An Toàn Dữ Liệu TÍNH LŨY THỪA VỚI SỐ MŨ LỚN THEO MODULO. Yêu cầu của bài toán tính lũy thừa với số mũ lớn theo phép tính modulo là làm sao tính được phần dư của phép chia ad cho N một cách nhanh nhất, với a, d, N là các số tự nhiên lớn, có thể có hàng trăm chữ số.

Trang 1

TÍNH LŨY THỪA VỚI SỐ

MŨ LỚN THEO MODULO

Môn Học: Mậ Mã và An Toàn Dữ Liệu – Thầy Trịnh Nhật Tiến Học Viên: Ma Trọng Khôi

1

Trang 2

Nội Dung

 Giới thiệu

 Ứng dụng

• Mã hóa trong thuật toán RSA

• Giải mã trong thuật toán RSA

• Kiểm tra số nguyên tố

 Thuật toán

 Thực nghiệm

2

Trang 3

Giới Thiệu

 Bài toán:

a d ≡ ? (modulo N)

• a, d, N là các số nguyên dương rất lớn

3

Trang 4

Ứng Dụng

 RSA

• n = p1 * p2, p1, p2 là số nguyên tố rất lớn

• e là số nguyên dương, gcd(n, e) = 1

• ᵠ(n) = ᵠ(p1) ᵠ(p2) = (p1 - 1)(p2 - 1)

• d * e ≡ 1 ≡ 1 + k * ᵠ(n) (modulo ᵠ(n))

Mã hóa: m e ≡ c (modulo n)

Giải mã: c d ≡ (m e ) d ≡ m * (m ᵠ (n) ) k ≡ m (modulo n)

 Kiểm tra số nguyên tố: an-1 ≡ 1 (modulo n)

4

Trang 5

ad modulo N

 Tính thông thường

 Phân tích thành nhân tử

VD: a55 ≡ (a5)11 (modulo n)

 Vấn đề:

 Số lượng phép nhân lớn

 Phép Tính Với Số lớn

 Hướng giải quyết:

 Chia để trị  số phép nhân là ít nhất

 (a * b) mod n = [(a mod n) * (b mod n)] mod n

5

Trang 6

ad modulo N – Phương Pháp Nhị Phân

 Biểu diễn d ở dạng nhị phân:

 c = a169 mod n = (a128 * a32 * a4 * a1) mod n

6

a 1 a 2 a 4 a 8 a 16 a 32 a 64 a 128

Trang 7

Giả Mã

 Độ phức tạp: O(log2(d))

 Số phép nhân trung bình (1/2 * log2(d))

7

Trang 8

Phương Pháp m-ary

 Trường hợp đặc biệt: m = 2k

 Tính a0, a1, a2, a3

 số phép nhân: 2 + 6 + 3 = 11

; [2]

8

ST

1 11 a 3 mod n a 3 mod n

2 11 (a 3 ) 4 mod n a 12 * a 3 mod n

3 10 (a 15 ) 4 mod n a 60 *a 2 mod n

4 10 (a 62 ) 4 mod n a 248 *a 2 mod n

d

Trang 9

Cửa sổ trượt

 Độ dài cố định (w):

 Đoạn bit 0 có chiều dài tùy ý

 Đoạn bit khác 0 có độ dài w

 Ví dụ: d = 3665 = 111 00 101 0 001

9

ST T

Bit s

1 111 a 7 mod n a 7 mod n

2 00 (a 7 ) 4 mod n a 28 mod n

3 101 (a 28 ) 8 mod n a 224 *a 5 mod n

4 0 (a 229 ) 2 mod n a 458 mod n

5 001 (a 458 ) 8 mod n a 3664 *a 1 mod n

Trang 10

Cửa sổ trượt

 Độ dài biến thiên (w,q):

 Đoạn bit 0 có chiều dài ≥ q

 Đoạn bit khác 0 có chiều dài ≤ w

 Ví dụ: w = 5, q = 2, d = 11173 = 101 0 11101 00 101

10

Trang 11

Cây Lũy Thừa

11

Trang 12

Cây Lũy Thừa

 Giả thiết:

 nút ei là có độ cao là k

 Dựng các nút có độ cao k+1:

 ei + a1, ei + a2, …, ei + ak

 a1 = 1, ak = ei

12

Trang 13

Chuỗi cộng

 Chuỗi cộng: a0, a1, …, ar

 a0 = 1,

 ak = ai + aj (i, j ≤ k)

 Chuỗi cộng ngắn nhất tính ra d?

Ví du: d = 55

Nhị Phân: 1 2 3 4 7 8 16 23 32 55 Power tree: 1 2 3 6 12 13 26 27 54 55

13

Trang 14

 [1] Element of Number Theory

[2] Daniel M Gordon A survey of fast exponentiation methods, Dec 30,

1997

14

Trang 16

Thank You!

Ngày đăng: 19/10/2014, 21:09

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w