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

Giao thức trao đổ khóa Diffie-Hellman

28 989 15
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

Tiêu đề Giao thức trao đổi khoá Diffie-Hellman
Thể loại Bài giảng
Định dạng
Số trang 28
Dung lượng 497,79 KB

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

Nội dung

Giao thức trao đổi khoá Diffie-HellmanGiao thức trao đổi khoá giữa A và B: – A và B thống nhất chọn chung một số nguyên tố q vàmột phần tử sinh α... Quản lý khoá– Phải phân phối khoá mớ

Trang 1

3 Giao thức trao đổi khoá Diffie-Hellman

Thuật toán tập trung vào giới hạn việc trao

Trang 2

3 Giao thức trao đổi khoá Diffie-Hellman

Giao thức trao đổi khoá giữa A và B:

– A và B thống nhất chọn chung một số nguyên tố q vàmột phần tử sinh α

– A chọn ngẫu nhiên một số XA ∈ {1, 2, , q-1} rồi gởi cho B kết quả YA = αXA mod q

– B chọn ngẫu nhiên một số XB ∈ {1, 2, , q-1} rồi gởi cho A kết quả YB = αXB mod q

– A tính khoá bí mật: K=(αXB)XA mod q = αXAXB mod q– B tính khoá bí mật: K=(αXA)XB mod q = αXAXB mod q

Trang 3

3 Giao thức trao đổi khoá Diffie-Hellman

Trang 4

3 Giao thức trao đổi khoá Diffie-Hellman

Trang 5

3 Giao thức trao đổi khoá Diffie-Hellman

Trang 6

Mã hóa và giải mã được thực hiện với một số

khối rõ M (plaintext) và khối mã C (cyphertext):

C = Me mod n

M = Cd mod n = (Me)d mod n = Med mod n

Trang 7

M = Cd mod n, với d là khoá bí mật.

Trang 8

4 Hệ RSA

Cả người gửi và người nhận phải biết giá trị của n

Người gửi biết giá trị của e, và chỉ người nhận mới biết giá trị của d

Như vậy, đây là một thuật toán mã hoá khoá công khai với một khóa công khai PU={n, e} và một khoá riêng

PU={d, n}

Các yêu cầu sau đây phải được đáp ứng:

– Phải có khả năng tìm được giá trị của e, d, n sao cho

Med mod n = M, với M < n

– Phải dễ dàng tính toán được mod Me mod n và Cd

cho tất cả các giá trị của M < n

– Nó là không khả thi để xác định d khi cho e và n

– Để an toàn, RSA đòi hỏi p và q phải là các số nguyên

tố rất lớn để không thể phân tích được n=pq

Trang 9

4 Hệ RSA

Trang 10

4 Hệ RSA

Trang 11

4 Hệ RSA

Ví dụ:

Trang 13

4 Hệ RSA

Tính 1123 mod 187

– 1123 mod 187 = [(111 mod 187) x (112 mod 187) x (114 mod 187) x (118 mod 187) x (118 mod 187)] mod 187

– 111 mod 187 = 11

– 112 mod 187 = 121

– 114 mod 187 = 14,641 mod 187 = 55

– 118 mod 187 = 214,358,881 mod 187 = 33

Trang 15

4 Hệ RSA

Ví dụ :

Để mã hoá bản rõ

M = 5234673 ∈ [0, 6012707) tính C = Me mod n = 3650502

Để giải mã

tính Cd mod n = 5234673

Trang 16

5 Quản lý khoá

– Thu hồi khoá khi khoá bị sai sót hoặc có tính phá

hoại

– Thường được tham gia bởi từ hai thực thể trở lên

Ví dụ: cả Alice và Bob cùng thoả thuận thu hồi khoá

Trang 17

5 Quản lý khoá

– Phải phân phối khoá mới sau khi khoá cũ bị thu

hồi nhằm đảm bảo hệ thống tiếp tục hoạt động một cách an toàn

– Cần giảm thời gian giữa thời điểm thu hồi khoá

và thời điểm phân phối khoá mới tới mức tối thiểu

– Phải đảm bảo yêu cầu về an ninh và yêu cầu về

tính sẵn sàng của hệ thống

Trang 18

5 Quản lý khoá

– Thông báo về một khóa nào đó bị thu hồi cần

đến được tất cả những người đang sử dụng nótrong thời gian ngắn nhất có thể

Trang 19

5 Quản lý khoá

– Hầu hết các trường hợp thu hồi khoá xảy ra khi

khoá bí mật đã bị lộ Hai khả năng xảy ra:

Các văn bản mã hóa với khóa công khai sau thời điểm T không còn được xem là bí mật

các chữ ký số thực hiện với khóa bí mật sau thời điểm T không còn được xem là thật

– Cần xác định người có quyền thu hồi khóa,

cách thức truyền thông tin tới người dùng, cách

Trang 20

6 Bài tập

1 Viết chương trình nhập vào một số nguyên

dương n, xuất ra:

– n có phải là số nguyên tố hay không?

– Dãy số nguyên tố nhỏ hơn hoặc bằng n.

– n số nguyên tố đầu tiên.

2 Cho p là một số nguyên tố và n < p là một số

nguyên dương Chứng minh rằng a2 mod p = 1 nếu và chỉ nếu a mod p = 1 hoặc a mod p = -1.

Trang 21

6 Bài tập

giao thức trao đổi khoá Diffie-Hellman

Man-in-the-Middle.

Trang 22

6 Bài tập

4 Nếu cho số nguyên tố p = 353 thì a = 3 là

một primitive root modulo p Sử dụng hai

số này để xây dựng một hệ thống trao đổi

khoá Diffiel-Hellman

a Nếu Alice chọn một private key XA = 97,

giá trị public key YA của Alice là?

b Nếu Bob chọn một private key XB = 233,

giá trị public key YB của Bob là?

c Giá trị của khoá bí mật thống nhất giữa

cả Alice và Bob là bao nhiêu?

Trang 23

6 Bài tập

5 Cho p = 13.

a Chứng minh rằng a = 2 là một primitive

root modulo p Sử dụng hai tham số này

để xây dựng một hệ thống trao đổei khoá Diffie-Hellman.

b Nếu public key của Alice là YA = 7, giá

trị private key XA của cô ấy là bao nhiêu?

c Nếu public key của Bob là YB = 11, giá

Trang 25

6 Bài tập

7 Alice sử dụng phương pháp dưới đây để

mã hoá văn bản rõ (plaintext messages)

tiếng Anh với toàn các ký tự viết hoa:

z Ánh xạ mỗi ký tự viết hoa đến các số từ

100 đến 125; cụ thể là, ánh xạ A thành

100, B thành 101, , và Z thành 125

z Sau đó cô ấy mã hoá các số nguyên này

sử dụng các giá trị lớn của n và e

Trang 26

6 Bài tập

8 Giả sử rằng Alice mã hoá một thông

điệp M sử dụng RSA với public key n =

Trang 27

6 Bài tập

9 Viết một ứng dụng client-server sử

dụng socket API để thực hiện giao

thức trao đổi khoá Diffie-Hellman.

10 Viết một ứng dụng client-server sử

dụng để thực hiện mã hoá và giải

mã RSA, với các tham số của RSA

được cho trước .

Ngày đăng: 19/10/2013, 03:20

TỪ KHÓA LIÊN QUAN

w