1. Trang chủ
  2. » Công Nghệ Thông Tin

CƠ SỞ TOÁN HỌC CHO MÃ HÓA THÔNG TIN

12 853 6
Tài liệu đã được kiểm tra trùng lặp

Đ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 12
Dung lượng 69 KB

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

Nội dung

Bảo mật thông tin là khoa học nghiên cứu các nguyên lý và phương pháp cho phép mã hóa thông tin sao cho chỉ người có khóa giải mã (bí mật) mới có thể giải để hiểu được thông tin gốc. CƠ SỞ TOÁN HỌC VỀ SỐ NGUYÊN VÀ CÁC THUẬT TOÁN Thuật giải RSA Mã khóa công khai Mã theo khối Mã khóa bí mật

Trang 1

CƠ SỞ TOÁN HỌC CHO

MÃ HÓA THÔNG TIN

I CƠ SỞ TOÁN HỌC VỀ SỐ NGUYÊN

VÀ CÁC THUẬT TOÁN

1 Một số định nghĩa

- Tập số tự nhiên:

N = {0, 1, 2, 3, 4, }

- Tập số nguyên:

Z = {0, 1, 2, 3, }

- Thứ tự  trên N là tối thứ tự

- Quan hệ “ước số”, ký hiệu | :

a | b   k  Z, k.a = b Nói cách khác: b là bội số của a.

- Một số khái niệm khác:

 ước số chung, ước số chung lớn nhất

Ký hiệu ước số chung lớn nhất của a và b:

gcd(a,b) hay a  b hay (a,b)

 bội số chung, bội số chung nhỏ nhất

Ký hiệu bội số chung nhỏ nhất của a và b:

lcm(a,b) hay a  b

 Phép toán chia “thương” và chia “dư”:

Định lý: Với a  Z, b  N*, có duy nhất q  Z và r  N sao cho

a = q.b + r, 0  r < b

Trang 2

 Định nghĩa: a / b = q, và a % b = r.

a % b còn được viết là a mod b

 a và b là nguyên tố cùng nhau khi (a,b) = 1

Ký hiệu: a  b

 p  N là số nguyên tố khi : p > 1, và

p chỉ có 2 ước số dương là 1 và p

Ngược lại, thì p được gọi là hợp số

 Ký hiệu tập các số nguyên tố là P

2 Một số tính chất, định lý, và thuật toán

- Định lý:

a, b  N*  a  b = a.b / (a  b)

- Định lý:

Với a, b  N* và a > b ta có :

a  b = a  (a % b)

a  b = a  (a - b)

- Thuật toán Euclide: tính gcd(a,b) với a và b là các số tự nhiên.

B1 : While a > 0 and b > 0 do

if a > b then a := a % b

Else b := b % a

B2 : gcd(a,b) = a + b

- Định lý Bezout:

Với a, b  N, a > b  1 ta có :

(i) Tồn tại x, y  Z: a.x + b.y = gcd(a,b)

(ii) a và b nguyên tố cùng nhau

 tồn tại x, y  Z: a.x + b.y = 1

Trang 3

- Thuật toán Bezout:

Input: a và b không âm, a  b

Output: d = gcd(a,b) và hai số nguyên x, y: a.x + b.y = d

B1: nếu b = 0 thì d = a; x =1; y = 0.

B2 : x2 = 1 ; x1 = 0 ; y2 = 0 ; y1 = 1.

B3 : while b > 0 do

Begin

q = a/b ; r = a-q.b ; x = x2 – q.x1 ; y = y2 – q.y1 ;

a = b ; b = r ; x2 = x1 ; x1 = x ; y2 = y1 ; y1 = y ; end

B4 : d = a ; x = x2 ; y = y2.

B5 : return d, x, y ;

- Định lý cơ bản của số học:

Mọi số nguyên n  2 đều có thể biểu diễn duy nhất dưới dạng tích các thừa số nguyên tố (không kể sai khác phép hoán vị các thừa số nguyên tố)

3 Phép chia dư trên trường Z m , với m  N *

Cho m  N* Quan hệ “đồng dư mod m” trên Z:

x  y (mod m)  m | (x-y)

Z m = tập các số nguyên mod m

= { 0, 1, 2, , m-1 }

- Định lý:

(i) Quan hệ “đồng dư mod m” là quan hệ tương đương trên Z

(ii) a  a1 (mod m), b  b1 (mod m)

 a + b  a1 + b1 (mod m) a.b  a1.b1 (mod m)

an = (a1)n (mod m), với mọi n  Z.

Trang 4

 ta có phép toán cộng (+) và nhân (.) trên Z m.

4 Hàm phi-Euler, Định lý Euler và Định lý Fermat

Ký hiệu tập các phần tử khả nghịch trong Zm là Zm*

- Định nghĩa hàm phi-Euler :

Cho n 1, đặt

(n) = số các số nguyên trong khoảng [1,n] nguyên tố cùng nhau với n

- Định lý:

Cho x, y  Zm, m  2

(i) x  Zm*  x  m

(ii) x, y  Zm*  x-1, xy  Zm*

(iii) card(Zm*) = (m)

Nhận xét : Khi m nguyên tố thì (m) = m-1 và Zm* = Zm- {0}

- Định lý Euler:

Cho m  2 ta có :

x  m  x(m)  1 (mod m)

- Định lý Fermat:

Cho m  2 ta có :

p  P, x  p  xp-1  1 (mod p)

- Định lý:

(i) p  P, n  Z  np  n (mod p)

(ii) p  P, n  Z, r  s (mod (m))  nr  ns (mod p) (iii) Nếu p và q là hai số nguyên tố khác nhau, và n = p.q thì

(n) = (p-1)(q-1)

Trang 5

- Định lý dư số Trung Hoa:

(i) Nếu các số nguyên n1, n2, …, nk đôi một nguyên tố cùng nhau

và n = n1.n2…nk, thì hệ đồng dư

x  a1 (mod n1)

x  a2 (mod n2)

x  ak (mod nk)

có nghiệm duy nhất trong Zn

(ii) Ánh xạ f : Zn  Zn1 x Zn2 x … x Znk

với f(x) = (x mod n1, x mod n2, …, x mod nk), x  Zn,

là song ánh

- Định lý:

Cho m  n

Ánh xạ f : Zmn  Zm x Zn xác định bởi

f(x) = (x mod m, x mod n), x  Zmn,

là song ánh

5 Các biểu diễn số theo cơ số và các thuật giải tính toán số học.

(tham khảo: [12])

Trang 6

II BẢO MẬT THÔNG TIN

1 Giới thiệu:

Bảo mật thông tin là khoa học nghiên cứu các nguyên lý

và phương pháp cho phép mã hóa thông tin sao cho chỉ

người có khóa giải mã (bí mật) mới có thể giải để hiểu

được thông tin gốc

- Hai dạng bài toán an toàn thông tin:

(1) Bảo mật: ngăn cản không cho người lạ trích chọn thông tin

từ các thông điệp được gởi trên các kênh truyền phổ biến (thường không an toàn)

(2) Chứng thực: đảm bảo chỉ có người nhận đúng mới có thể

đọc được thông điệp, đồng thời cũng đảm bảo người gửi không thể phủ nhận thông điệp mình gửi

- Hai loại hệ mã:

(1) Hệ mã khóa bí mật (còn được gọi là hệ mã đối xứng).

(2) Hệ mã khóa công khai (còn được gọi là hệ mã không đối xứng).

- Các ký hiệu:

 M: không gian các bản rõ, mỗi bản rõ là một chuỗi ký tự cần

mã hóa

Trang 7

 C: không gian các bản mã, mỗi bản mã là một chuỗi ký tự

đã được mã hóa

 K: không gian khóa, mỗi khóa là một chuỗi ký tự Trong đó,

ek : khóa mã hóa

dk : khóa giải mã

 E: tiến trình (thuật giải) mã hóa: E(ek,M) = C

 D: tiến trình (thuật giải) giải mã: D(dk,C) = M

Các thuật giải E và D phải thỏa các tính chất:

D(dk,C) = D(dk, E(ek,M) = M

2 Mã khóa bí mật

Trong mã khóa bí mật cả quá trình mã hóa lẫn giải mã chỉ sử dụng một khóa, gọi là khóa bí mật; vì vậy hệ thống này còn được gọi là

hệ mã đối xứng

Ở người gửi, thực hiện mã hóa và truyền đi:

C = E(k,M)

Ở người nhận được C, thực hiện giải mãđể có được thông tin gốc:

D(k,C) = M

Dưới đây là một số dạng mã đối xứng

Trang 8

- Mã theo chuỗi bit:

Thông điệp M là một chuỗi bit, khóa K cũng là chuỗi bit

được phát sinh ngẫu nhiên Bản rõ được mã hóa theo từng bit

một để được bản mã, chẳng hạn C = M xor K; khi đó phép

giải mã sẽ là C xor K = M

- Mã theo theo chữ:

Biến đổi một chữ cái trong bản rõ thành một chữ cái khác

trong bản mã Kỹ thuật này còn được gọi là mã thay thế

Ví dụ: Các chữ cái từ A đến Z được cho tương ứng với các số nguyên từ

0 đến 25 Phép mã hóa như sau:

E(k,m) = m + k (mod 26) = c, 0  k,m  25;

và phép giải mã:

D(k,c) = c – k (mod 26), 0  k,c  25

Cụ thể:

E(3,IBM) = LEP

E(7,ENCRYPTION) = LUJXFWAPYU

- Mã theo khối:

Để tăng độ an toàn ta có thể mã hóa theo khối Bản rõ và bản

mã được chia thành từng khối ký tự trước khi thực hiện mã

hóa và giải mã:

(1) Chia văn bản M thành nhiều khối

M = M1M2…Mj, mỗi khối Mi gồm n ký tự

Trang 9

(2) Chuyển các ký tự thành các số tương ứng và

xây dựng bản mã:

Ci  A.Mi + B (mod n), i = 1, 2, …, j trong đó, (A, B) là khóa, A là ma trận khả nghịch cấp n với

gcd(det(A), n) = 1, B = [B1 B2 … Bn]t,

C = [c1 c2 … cn]t, và M = [m1 m2 … mn]t (3) Để giải mã, ta thi hành phép toán:

Mi  A-1.(Ci – B) (mod n)

Trong đó, A-1 là ma trận nghịch đảo của A

dụ   :

Chọn B = [0 0 … 0]t, n = 3, ma trận mã hóa là

Ta có :

Thông điệp M = ONE TWO SIX sẽ được mã hóa thành:

C = WBX ZPS BRB

Tiến trình giải mã sẽ cho ta thông điệm gốc:

M = ONE TWO SIX

3 Mã khóa công khai

- Khái niệm cơ bản:

Trang 10

 Trong một hệ mạ hóa công khai (mã không đối xứng),

khóa mã hóa ek và khóa giải mã dk khác nhau

 ek có thể công bố (vì chỉ dùng để mã hóa), còn gọi là

khóa công khai

 dk phải giữ bí mật, còn gọi là khóa cá nhân

 Hệ mã khóa công khai được xây dựng trên ý tưởng

hàm một chiều.

Định nghĩa:

Cho các tập hữu hạn S và T Hàm một chiều f : S  T là hàm

khả nghịch thỏa:

(1) f dễ thực hiện

(2) hàm ngược f-1 khó thực hiện

(3) f-1 có thể dễ tính được khi có thêm một số thông tin

Ví dụ: Một số hàm một chiều

(a) f : (p,q)  n = p.q là hàm một chiều với p và q là các số nguyên

tố lớn

(b) fg,N : x  gx mod N là hàm một chiều

(c) fk,N : x  xk mod N là hàm một chiều, với N = pq, p và q là các

số nguyên tố lớn, k.k’  1 (mod (N))

Phép tính xk mod N có độ phức tạp đa thức, nhưng tính f-1 cực khó Tuy nhiên, nếu biết k’, có thể dễ dàng tính f-1 từ công thức (xk)k’ = x

Trang 11

- Hệ mã RSA:

Hệ thống RSA, viết tắt từ tên của 3 nhà toán học đã phát minh ra

hệ mã RSA: R Rivest, A Shamir, L Adleman

Định lý:

Cho p và q là hai số nguyên tố phân biệt, n = pq,

 = (n) = (p-1)(q-1), 1 < e < , e và  nguyên tố cùng nhau,

d = e-1 mod , 1 < d < , 0  m < n, và c = me mod n

Thì m = cd mod n

- Thuật giải RSA:

[1] Mã hóa

(1) Từ khóa công khai (n, e) và thông điệp dưới dạng một số nguyên m  [0, n), m được gọi là bản rõ (plaintext)

(2) Tính c = me mod n, c được gọi là bản mã (ciphertext)

[2] Giải mã

Tìm lại bản rõ m từ bản mã c, sử dụng khóa cá nhân d để tính

M = cd mod n

Ví dụ:

p = 2357, q = 2551

n = pq = 6012707,  = (p-1)(q-1) = 6007800

Trang 12

Với e = 3674911  (1, ), thuật giải Bezout cho ta

d = e-1 mod  = 422191

Vì thế khóa công khai là cặp (n = 6012707, e = 3674911) và khóa

cá nhân là d = 422191

Để mã hóa bản tin m = 5234673 ta tính c = me mod n = 3650502

Để giải mã c, ta tính cd mod n = 5234673

Ngày đăng: 23/06/2014, 16:21

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w