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

Bài tập lớn môn An Toàn Thông Tin: Hệ mật mã khóa công khai

21 542 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 21
Dung lượng 313,76 KB

Nội dung

Khái niệm• Mật mã khóa công khai Public key hay còn gọi là mật mã bất đối xứng là mô hình mã hóa 2 chiều sử dụng một cặp khóa là khóa riêng Private key và khóa công khai Public key.. •

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CNTT & TRUYỀN THÔNG

 MÔN: AN TOÀN THÔNG TIN

ĐỀ TÀI: HỆ MẬT MÃ KHÓA CÔNG KHAI

Giảng viên hướng dẫn : PGS.TS Đặng Văn Chuyết

Sinh viên thực hiện : Phạm Việt Dũng

Lớp : 18BMMT

Mã học viên : CB180193

Trang 2

Mục lục

1 Khái niệm

1.1 Vấn đề sử dụng và phân phối khóa

1.2 Các yêu cầu của loại hệ mã PKC

Trang 3

1 Khái niệm

• Mật mã khóa công khai (Public key) hay còn gọi là mật mã bất đối xứng là

mô hình mã hóa 2 chiều sử dụng một cặp khóa là khóa riêng (Private key) và khóa công khai (Public key) Khóa công khai dùng để mã hóa, khóa riêng

được dùng để giải mã.

• Hệ thống mật mã khóa công khai có thể sử dụng với các mục đích:

- Mã hóa: Giữ bí mật thông tin và chỉ có người có khóa bí mật mới giải mã

• Các hệ mật mã khóa công khai được biết đến nhiều nhất là hệ RSA Trong các

hệ mật mã khóa công khai thì hệ RSA được cộng đồng Quốc tế chấp nhận và ứng dụng rộng rãi nhất.

Trang 4

1.1 Vấn đề sử dụng và phân phối khóa

• Hệ mật bất đối xứng khắc phục được tính chất phức tạp trong việc phân phối khóa ở hệ mật đối xứng cho phép giao tiếp giữa các đối tượng một cách uyển chuyển , dễ dàng

và giải mật

• Có hai mode làm việc :

- Bảo mật : Mã bằng public key → giải mật bằng private key

- Xác thực : Mã bằng private key → giải mật bằng public key

Trang 5

1.2 Các yêu cầu của loại hệ mã PKC

• Việc sinh KP, KS phải dễ dàng

• Việc tính E(KP, M) là dễ dàng

• Nếu có C = E(KP, M) và KS thì dễ ràng giải mật

• Nếu biết KP thì việc dò tìm KS là khó

• Rất khó tìm bản rõ từ bản mã nếu không biết khóa

Trang 7

1.4 Cấu trúc của PKC

• PKC được xây dựng trên các hàm một chiều (one way functions)

• f : X → Y là hàm nếu biết x є X → dễ dàng tính y = f(x) Nhưng với mọi y є Y việc tìm x є X: y = f(x), có nghĩa tìm hàm ngược f-1 rất khó

• Trong các hệ mã PKC sử dụng các “trapdoor” giúp cho việc tìm x :

y = f(x) dễ dàng Hàm (trapdoor function): là một hàm một chiều trong đó việc tính f-1 là rất nhanh khi chúng ta biết được “trapdoor”

Trang 8

• ECC The Elliptic Curve Cryptosystem (ECC) được sử dụng trên các thiết bị nhỏ , ít thông minh như “ cell phones” và “wireless”.

• El Gamal thuật giả dùng để truyền “digital signatures” và “ key

exchanges”(Cũng tương tự Diffie-Hellman “ The El Gamal còn

được gọi là DSA

Trang 9

2 Hệ mã knapsack

2.1 Bài toán xếp ba lô

• Cho M, N và A 1 , A 2 , , A N là các số nguyên dương

Hỏi có tồn tại một véc tơ nhị phân x=(x 1 , x 2 ,…, x N ) sao cho

• Vectơ A = (A 1 , A 2 , , A N ) gọi là vectơ “xếp balô”

• Vectơ X = (x 1 , x 2 , …, x N ) là vectơ nghiệm.

• Đây là bài toán khó có thời gian là hàm mũ O(2 N ).

• Nếu S là dãy siêu tăng thì bài toán trên giải được với thời gian tuyến tính O N

• Vector siêu tăng : Dãy A=(Ai ) gọi là siêu tăng nếu với mọi Ai>ΣAj (j=1, i-1) (tức là phần tử đứng sau lớn hơn tổng ΣAj (j=1, i-1) (tức là phần tử đứng sau lớn hơn tổng Aj (j=1, i-1) (tức là phần tử đứng sau lớn hơn tổng

các phần tử đứng trước nó.

• Khi đó bài toán balo được phát biểu như sau:

• Cho M, N và A’=(A’ 1 , A’ 2 , , A’ N ) là một dãy siêu tăng Hỏi có tồn tại một véc tơ nhị phân x=(x 1 , x 2 ,…, x N ) sao cho:

M=ΣΣ i =Σ1x i A i (i=1 N)).

Trang 10

2.2 Cách xây dựng hệ mã knapsack

• 1.Chọn 1 vecto siêu tăng A’ = (a’ 1 , a’ 2 , , a’ N ),

Trang 11

3 Ưu nhược điểm của hệ mật mã khóa công

• Tốc độ mã hóa/ giải mã khá chậm (chậm hơn khoảng một ngàn lần

so với mật mã khóa đối xứng như mã DES chẳng hạn) do phải sử dụng đến các số nguyên tố rất lớn trên trường hữu hạn

Trang 12

• Cho p,q là hai SNT phân biệt N=pq.

• Có một hàm φ = φ (n)=(p-1)(q-1), 1≤e≤ φ, (e, φ)=1,e≤e≤ φ, (e, φ)=1, φ, (e, φ)=1,

• Tính được : d = e-1mod φ, 1<d< φ ,

• Cho một số m : 0 ≤e≤ φ, (e, φ)=1, m < N , và tính c = memodN Thì : m = cdmodN

Trang 13

4.2 Thuật giải RSA

4.2.1 Phát sinh khóa RSA

• Tính N = p*q và φ = φ (n)=(p-1)(q-1) ; (p,q là hai SNT phân biệt đủ lớn Trong thực tế >100 chữ số)

• Cho ngẫu nhiên một số eϵ]1, φ[ thoả (e, φ)=1 Sử dụng thuật giải Bezout tính số nghịch đảo d ϵ]1, φ[ = e-1 mod φ ; ed ≡ 1 mod φ

• Cặp (e ,N) là khóa công khai (Kp )

• Cặp (d,N) là khóa các nhân – khóa bí mật (Ks )

Trang 14

4.2.2 Mã hóa và giải mã

• Mã hóa

- Tạo cặp khóa công khai (e,N), và một thông điệp rõ dưới dạng một

số nguyên dương m ; mϵ[0,N[, m – văn bản rõ (plaintext)

- Tính c: c = memodN, c – văn bản mật (ciphertext)

• Giải mật

- Phục hồi lại văn bản rõ m từ văn bản bảo mật c, ta sử dụng cặp khóa

cá nhân (d,N) để tính m; m = cd modN.

Trang 15

4.2.3 Độ an toàn của RSA

• Độ an toàn của RSA phụ thuộc vào độ khó của việc tính φ

(N) Muốn vậy , cần phân tích N ra thừa số nguyên tố

• Thuật toán Brent-Pollard là thuật toán phân tích số nguyên tố hiệu quả nhất hiện nay

• Việc sử dụng RSA cần tới các số nguyên tố lớn nên phải có một cơ

sở dữ liệu các số nguyên tố

• Tốc độ RSA chậm do phải tính số lượng lớn các phép nhân Phép nhân 2 số n bit cần thực hiện O(n2) phép tính bit Thuật toán nhân các số nguyên Schonhage – Strassen cho phép nhân 2 số với độ phức tạp là O(n log n)

Trang 16

4.2.4 Một số vấn đề xung quanh thuật toán RSA

• Vấn đề chọn p và q:

• Vấn đề về tốc độ thuật toán trong cài đặt

• Vấn đề đi tìm số nguyên tố lớn

4.2.5 Điểm yếu của giải thuật RSA

• Trong hệ RSA, không phải tất cả các thông tin đều được che giấu tốt, tức là mọi khoá đều tốt và đều làm bản rõ thay đổi hoàn toàn

Trang 18

4.2.7 Phạm vi ứng dụng của RSA

• Mạng hành chính công , E-Business , E-Government

• Kinh doanh thương mại điện tử : Thanh toán điện tử,bảo mật các dữ liệu điện tử,chứng thực chữ ký điện tử

• Đào tạo ,thi cử từ xa,bảo mật dữ liệu tuyển sinh

• Ngân hàng thương mại : Giao dịch, thanh toán qua mạng

• Xuất nhập cảnh

Trang 19

5 Hệ mã Difie - Henman

• Được sử dụng trong các cơ chế phân phối khóa trong hệ mật đối xứng.

• Tạo khóa

- Ta có p là số nguyên tố (p є Zp)

- Giả sử α ϵ Zp là một số nguyên thuỷ (primitive element ).

- Các giá trị p và α được công bố công khai trên mạng.

- UID thông tin định danh hợp lệ cho từng user U trên mạng (“tên”,” e-mail address”,” telephone number”…).

- Từng “user U,V” có một số mũ a u ,a V với (0 ≤a u ,a V ≤ p-2), và tính giá trị b U ,b V công khai tương ứng :

bU = α a modp và

b V = α a modp

- Khoá chung K u,v được tính K u,v = α au , av modp

• Thuật giải

- Input : p SNT và α primitive element ϵ Z * p → truyền công khai trên mạng.

- Từng “user U,V” có một số mũ a u ,a v với : (0 ≤ a u , a v ≤ p-2),

- Output: Hai bên cùng tính b u = α a mod p và b v =α a mod p Hai bên gửi cho nhau : b u và b v

- Bên V tính : K U,V =α a , a mod p = b u v mod p Dùng b U từ U cùng với giá trị mật a u

- Bên U tính : K U,V =α a , a mod p = b v u mod p Dùng b V gửi từ V cùng với giá trị mật a v

Trang 20

6 Hệ mã El Gamal

• Là một biến thể của sơ đồ Diffie – Hellman

• Tính an toàn dựa trên tính khó giải của bài toán logarit rời rạc

• Nhược điểm chính: kích thước thông tin sau khi mã hóa sẽ tăng gấp đôi so với thông tin gốc

• Giống các hệ mã khóa công khai khác , El Gamal làm việc với tốc

độ thấp (việc với các số nguyên lớn)

• Cần bộ nhớ lớn dành cho việc lưu trữ các khóa

• Với hệ mã El Gamal chúng ta cần gấp đôi bộ nhớ để chứa bản mã so với các hệ mã khác

Trang 21

XIN TRÂN TRỌNG CẢM ƠN!

Ngày đăng: 15/03/2019, 10:56

TỪ KHÓA LIÊN QUAN

w