1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Luận văn một số giao thức chuyển giao không lộ thông tin và ứng dụng

54 45 0

Đ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 54
Dung lượng 860,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

T RƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 PHAN VĂN ĐƯƠNG MỘT SỐ GIAO THỨC CHUYỂN GIAO KHÔNG LỘ THÔNG TIN VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ TOÁN HỌC HÀ NỘI - 2018... TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

Trang 1

T RƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

PHAN VĂN ĐƯƠNG

MỘT SỐ GIAO THỨC CHUYỂN GIAO KHÔNG LỘ THÔNG TIN VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ TOÁN HỌC

HÀ NỘI - 2018

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2

PHAN VĂN ĐƯƠNG

MỘT SỐ GIAO THỨC CHUYỂN GIAO KHÔNG LỘ THÔNG TIN VÀ ỨNG DỤNG

Chuyên ngành: Toán ứng dụng

Mã số: 8 46 01 12

LUẬN VĂN THẠC SĨ TOÁN HỌC

Người hướng dẫn khoa học: TS Trần Văn Dũng

HÀ NỘI - 2018

Trang 3

Luận văn này được thực hiện tại Trường Đại học Sư phạm Hà Nội 2 Để hoàn thành được luận văn này tôi đã nhận được rất nhiều sự động viên, giúp

đỡ của nhiều cá nhân và tập thể

Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS Trần Văn Dũng – Giảng viên trường ĐHGTVT Hà Nội đã nhiệt tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn tôi trong suốt quá trình thực hiện luận văn cao học Xin cùng bày tỏ lòng biết ơn chân thành tới các thầy cô giáo trong trường Đại học Sư phạm Hà Nội 2, người đã đem lại cho tôi những kiến thức bổ trợ,

vô cùng có ích trong những năm học vừa qua

Cũng xin gửi lời cám ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo sau đại học, Khoa Toán trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện

cho tôi trong quá trình học tập

Cuối cùng tôi xin gửi lời cám ơn đến gia đình, bạn bè, những người đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình

Hà Nội, ngày 06 tháng 11 năm 2018

Học viên thực hiện

Phan Văn Đương

Trang 4

Tôi xin cam đoan:

Những số liệu và kết quả nghiên cứu trình bày trong luận văn này là hoàn toàn trung thực, của tôi không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật Việt Nam Mọi sự giúp đỡ cho việc thực hiện luận văn này

đã được cảm ơn và các thông tin trích dẫn trong luận văn đều được ghi rõ nguồn gốc Những kiến thức tôi trình bày trong luận văn này chưa được trình bày hoàn chỉnh trong bất cứ tài liệu nào

Hà Nội, ngày 6 tháng 11 năm 2018

Học viên thực hiện

Phan Văn Đương

Trang 5

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục đích nghiên cứu 2

3 Nhiệm vụ nghiên cứu 2

4 Đối tượng nghiên cứu: 2

5 Phương pháp nghiên cứu 3

6 Dự kiến nội dung 3

CHƯƠNG IKIẾN THỨC CƠ SỞ 4

1.1 Số học modulo 4

1.1.1 Các phép toán trên modulo 4

1.1.2 Logarit rời rạc 9

1.2 Hệ mật mã khóa công khai 13

1.2.1 Mã khoá công khai RSA 13

1.2.2 Khởi tạo khóa RSA 13

1.2.3 Sử dụng RSA 14

1.2.4 Cơ sở của RSA 14

1.3 Mã Elgamal 15

1.3.1 Hệ mã hóa Elgamal 15

1.3.2 Khái niệm mã hóa đồng cấu 16

1.4 Chữ ký điện tử DSA 16

1.4.1 Tạo chữ ký DSA 17

1.4.2 Kiểm chứng chữ ký DSA 17

Tóm tắt chương I 18

CHƯƠNG II MỘT SỐ GIAO THỨC CHUYỂN GIAO KHÔNG LỘ THÔNG TIN 19

Trang 6

2.3 Giao thức chuyển giao không lộ thông tin 1 từ n 24

2.4 Giao thức chuyển giao không lộ thông tin k từ n 27

Tóm tắt chương II 31

CHƯƠNG III MỘT SỐ ỨNG DỤNG CỦA GIAO THỨC CHUYỂN GIAO KHÔNG LỘ THÔNG TIN 32

3.1 Lược đồ chia sẻ thông tin mật Shamir 32

3.1.1 Phân phối mảnh cho các thành viên 33

3.1.2 Khôi phục khoá K từ t thành viên 35

3.2 Giao thức ngưỡng chuyển giao không lộ thông tin 1 từ n 36

3.3 Ví dụ Giao thức ngưỡng chuyển giao không lộ thông tin (3, 4)-OT2 1 39 3.4 Ứng dụng trong lược đồ truy vấn dữ liệu riêng tư 43

3.5 Ứng dụng với truy vấn thích nghi 44

Tóm tắt chương III 46

KẾT LUẬN 47

TÀI LIỆU THAM KHẢO 48

Trang 7

M Ở ĐẦU

1 Lý do ch ọn đề tài

Ngày nay máy tính ngày càng thể hiện rõ vai trò thiết yếu trong mọi lĩnh vực của xã hội Nó đã trở thành phương tiện điều hành các hệ thống giúp cho mọi công việc rút ngắn khoảng cách về không gian và thời gian Chữ ký

số ra đời giúp cho doanh nghiệp tiết kiệm rất nhiều thời gian, công sức trong

một số công việc giao dịch với ngân hàng, cơ quan hành chính Hoạt động giao dịch điện tử cũng được đẩy mạnh

Với mạng máy tính ngày càng phổ biến trên toàn cầu người ta đã dùng

mạng Internet một cách thông dụng Nhiều dịch vụ điện tử như: thư điện tử, chuyển tiền, thương mại điện tử, chính phủ điện tử… đã được áp dụng rộng rãi Do đó yêu cầu về an toàn mạng và an ninh dữ liệu càng trở lên cấp bách

và cần thiết Đặc biệt trên thực tế cần thực hiện các giao thức truyền dữ liệu

giữa các bên không tin cậy lẫn nhau, như chia sẻ thông tin mật giữa một số thành viên (chìa khóa mở tài khoản), cam kết biết một thông tin mật nào đó,

chứng minh không tiết lộ thông tin (xác thực danh tính), bầu cử điện tử (lá phiếu và kết quả bầu cử hợp lệ) hay tính toán đa bên an toàn khi các bên che

giấu thông tin đầu vào của mình (đấu thầu hợp đồng) Đó là các hướng nghiên

cứu của các giao thức an ninh nâng cao, khi các bên tham gia không tin cậy

lẫn nhau Cần tạo ra các sơ đồ, môi trường và kỹ thuật trao đổi để các bên

phối hợp thực hiện nhiệm vụ chung, nhưng đảm bảo yêu cầu an ninh cho các bên

Được sự gợi ý của giáo viên hướng dẫn và nhận thấy tính thiết thực của

vấn đề em đã chọn đề tài “Một số giao thức chuyển giao không lộ thông tin

và ứng dụng” để làm nội dung cho luận văn Bài toán có nội dung đại thể

như sau: hai người cần trao đổi thông tin, trong đó một người cung cấp một số

Trang 8

dữ liệu khác nhau và một người được quyền lựa chọn và chỉ xem được một

hoặc một số trong số các dữ liệu đó và người cung cấp cũng không được biết

là người nhận chọn các dữ liệu nào Cần phải thiết lập giao thức tức là các qui

tắc và các bước thực hiện để giải bài toán đó

3 Nhi ệm vụ nghiên cứu

- Đọc hiểu tài liệu, trình bày lại một số giao thức chuyển giao không lộ thông tin hiện đại, hiệu quả, chứng minh một số tính chất an ninh của chúng

- Ứng dụng Giao thức chuyển giao không lộ thông tin kết hợp với một số giao

thức nâng cao khác như chia sẻ thông tin mật, cam kết và chứng minh không

tiết lộ thông tin thông qua một số ví dụ tự giải theo các bước của giao thức

- Đối tượng và phạm vi nghiên cứu: trình bày các giao thức không lộ thông tin

1 từ 2, 1 từ n, k từ n và giao thức chuyển giao không lộ thông tin khắc phục

lỗi (t, p), ở đó hai bên chuyển giao thông qua p máy chủ, nhưng chỉ cần t máy

hoạt động

4 Đối tượng nghiên cứu:

Nhiều khi trong quá trình trao đổi thông tin giữa hai bên không tin cậy, cần

sử dụng một giao thức với hộp đen trung gian giữa hai bên A và B như sau: bên A gửi vào hộp đen trung gian hai thông điệp M0 và M1, bên B lựa chọn bit c = 0 hoặc c = 1 rồi gửi đến hộp đen trung gian, tùy thuộc vào lựa chọn c, bên B sẽ nhận được thông điệp Mc từ hộp đen Giao thức đảm bảo bên B chỉ

nhận được thông điệp Mc mà không được nhận thông điệp còn lại, bên A không biết bên B nhận được thông điệp nào Giao thức đó được gọi là giao

Trang 9

thức chuyển giao không lộ thông tin 1 từ 2 Sau này các nhà khoa học đưa ra các định nghĩa khác nhau của giao thức chuyển giao không lộ thông tin như Giao thức chuyển giao không lộ thông 1 từ n, k từ n, mà ở bên A gửi n thông điệp và B nhận được 1 hoặc k thông điệp Ngoài ra giao thức chuyển giao không lộ thông tin (t, p) kết hợp với giao thức chia sẻ thông tin mật để khắc

phục lỗi xảy ra trên môi trường mạng Cụ thể bên A gửi các mảnh thông điệp cho p máy chủ, B sẽ trao đổi với ít nhất t máy chủ để nhận được thông điệp

lựa chọn của mình

Đọc hiểu, trình bày lại một số giao thức chuyển giao không lộ thông tin

hiệu quả và đưa ra một số ví dụ của mình minh họa cho các giao thức đó, đồng thời cũng sử dụng các giao thức chuyển giao không lộ thông tin trong các giao thức an ninh nâng cao khác như: chia sẻ thông tin mật, chứng minh không tiết lộ thông tin, tính toán đa bên an toàn và truy suất dữ liệu cá nhân

riêng tư

6 D ự kiến nội dung

liệu tham khảo Nội dung trong các dự kiến được phân bổ như sau:

Trang 10

CHƯƠNG I

Chương này sẽ trình bày về các lý thuyết toán học để bổ trợ và xây

dựng phương pháp bầu cử điện tử dừa trên mã đồng cấu như lý thuyết về toán

học modulo, các bài toán Logarit rời rạc, hệ mã hóa công khai, mã Elgamal

cũng như các định lý Fermat, Euler v.v Tiếp đó, luận văn mô tả các khái

dùng trong việc xây dựng một số giao thức an ninh nâng cao [1, 2, 3]

1.1 S ố học modulo

1.1.1 Các phép toán trên modulo

a Định nghĩa 1.1

Cho m là số nguyên dương Giả sử a, b là các số nguyên: Ta ký hiệu

a º b (mod m), khi và chỉ khi b = a + km trong đó k là số nguyên Khi đó ta

nói a và b đồng dư với nhau theo modulo m Nếu trong đó a là số nguyên

dương nhỏ hơn m, thì a được gọi là phần dư của b khi chia cho m, đôi khi a

được gọi là thặng dư của b theo modulo m

hoàn toàn modulo m Điều này có nghĩa là, với mỗi số nguyên a, thặng dư

modulo m là một số từ 0 đến m − 1

hoán, kết hợp và phân phối Mặt khác, giảm mỗi giá trị trung gian trong suốt

quá trình tính toán

(a + b) mod m = ((a mod m) + (b mod m)) mod m

(a - b) mod m = ((a mod m) − (b mod m)) mod m

(a ´ b) mod m = ((a mod m) ´ (b mod m)) mod m

(a ´ (b +c)) mod m = ((a ´ b) + (a ´ c)) mod m

Ví d ụ 1.1: 10 º 7 (mod 3) vì 10 = 3.3 + 1 và 7 = 2.3 + 1

Trang 11

Phương trình trên tương đương với tìm x và k sao cho:

4x = 7k + 1 với điều kiện cả x và k đều là số nguyên

Vấn đề chung đặt ra tại đây là tìm x sao cho:

Trang 12

Trong trường hợp chung a-1

º x (mod n) chỉ duy nhất một lời giải nếu a

và n là một cặp số nguyên tố cùng nhau Nếu a và n không phải là một cặp số nguyên tố cùng nhau, thì a-1

º x (mod n) không có lời giải nào Thuật toán

Euclid có thể mở rộng tính ra được số nghịch đảo của số modulo n, đôi khi thuật toán này còn gọi là thuật toán Euclid mở rộng

Ví d ụ 1.2: Tìm nghịch đảo theo Euclide mở rộng

Tìm số nghịch đảo (nếu có) của 30 theo môđun 101

27-1 mod 7 = 1 (= 26 mod 7 = 64 mod 7 = 1)

35-1 mod 5 = 1 (= 34 mod 5 = 81 mod 5 = 1)

Trang 13

1.1.1.3 Định lí Euler

Định lí 1: Hàm Euler Cho n là một số nguyên dương Khi thực hiện

ph p tính đồng dư n của mọi số nguyên khác ta nhận được tập đầy đủ các

phần dư có thể có là: 0, 1, 2,…, n – 1

Từ tập trên ta tìm tập rút gọn bao gồm các số nguyên tố cùng nhau với n

và quan tâm đến số lượng các phần tử như vậy đối với số nguyên dương n

hơn n được loại bỏ vì đây là bài toán tốn nhiều công sức Nói chung có thể

tính hàm Euler của một số dựa trên biểu thức phân tích ra thừa số của số đó

· Dễ dàng thấy, nếu p là số nguyên tố, thì Ф(p) = p − 1

· Nếu p và q là hai số nguyên tố khác nhau, thì có thể chứng minh được

).(32 – 31

) = 4.6 = 24 Định lý Euler là tổng quát hoá của Định lý Ferma, khẳng định như sau:

aF(n) mod n= 1với mọi cặp số nguyên dương nguyên tố cùng nhau a và n:

Trang 14

am mod n = (a mod n)(m modF(n)) mod n

Chẳng hạn: 4518

mod 20 = (45 mod 20)18 mod F(20) mod 20 = 52 mod 20 = 1

1.1.1.4 Định lí phần dư Trung Hoa

Nếu bạn biết cách tìm thừa số nguyên tố của một số n, thì bạn có thể

đã sử dụng, một số điều gọi là phần dư Trung Hoa để giải quyết trong suốt

hê phương trình Bản dịch cơ bản của định lý này được khám phá bởi toán

học Trung Hoa vào thế k thứ nhất

Định lí 2: Giả sử, sự phân tích thừa số của n = p1´ p2´ …´ pt thì hệ phương trình: (x mod pi) = ai, với i = 1,2….t có duy nhất một nghiệm với x

nhỏ hơn n Bởi vậy, với a, b tùy ý sao cho a < p và b < q (với p, q là số nguyên tố) thì tồn tại duy nhất a, x khi x nhỏ hơn p ´ q thì: x º a (mod p) và x

º b(mod q) Để tìm ra x, đầu tiên cần sử dụng thuật toán Euclid để tìm u,

u ´ q º 1 (mod p), khi đó cần tính toán:

x = (((a − b)xu) mod p).q + b

Ví dụ 1.7: Cho hai số nguyên dương p, q nguyên tố cùng nhau Chứng minh

rằng tồn tại số nguyên k sao cho (pq−1)n

.k + 1 là hợp số với mọi số nguyên dương n

Trang 15

.k + 1 là hợp số

Nếu n lẻ, thì (pq−1)n

.k + 1 ≡ −k + 1 ≡ −1 + 1 = 0 (mod p), suy ra (pq −1)n

.k +1 là hợp số

Vậy luôn tồn tại số k sao cho (pq −1)n

.k + 1 là hợp số với mọi số nguyên dương n

1.1.2 Logarit r ời rạc

1.1.2.1 Bài toán logarit trên trường số thực R

Định nghĩa 1.2: Cho hai số dương a, b với a ¹ 1 Số x thỏa mãn đẳng

- Bài toán ngược: x = logab (a,b > 0, a¹ 1)

Một số tính chất của hàm logarit: Với a, b, c, d > 0, a ¹ 1, a Î R, ta có:

y = loga1 = 0

y = logaa = 1

y = loga(aa) = a

y = loga(c.d) = loga|c| + loga|d|

y = loga(c/d) = loga|c| − loga|d|

1.1.2.2 Bài toán logarit trên trường hữu hạn

X t vành số Zp, với p là số nguyên tố, vậy ta có Zp= GF(p) Tất cả các

Trang 16

Nếu cấp của a bằng p thì ta nói a là căn nguyên thủy của Zp

X t bài toán thuận: Cho y = ax

Ví d ụ 1.8: Cho p = 19, a = 2 Ta tính y = ax

mod 19 với x Î Zp= GF(p), dễ dàng thấy 2 là căn nguyên thủy và các giá trị đƣợc cho bởi bảng sau:

- Do a là phần tử nguyên thủy nên ax

sẽ đi qua hết các phần tử trong vành Zp

- Từ phần tử nguyên thủy a = 2 đã cho ban đầu ta có thể tìm đƣợc các

phần tử nguyên thủy khác theo công thức b = ai

mod n với (i,j(n)) = 1 Vậy

tập các phần tử nguyên thủy của Z19 là: {2, 13, 14, 15, 3, 10}

- Các phần tử nguyên thủy tạo thành các cặp nghịch đảo:

Dựa trên tính chất các hàm logarit ta có:

y = loga bc = (loga b + loga c) mod (p 1)

y = loga b/c = (loga b loga c) mod (p 1)

Trang 17

1.1.2.3 Bài toán logarit r ời rạc

Cho Zp, với p là số nguyên tố, a là phần tử nguyên thủy a Î *

Trang 18

B ảng 2.3 Tính các logarit rời rạc y = log 2 x mod 19

1.1.2.4 B ản chất của bài toán logarit rời rạc

Từ những ví dụ trên ta rút ra được những kết luận sau:

Logarit rời rạc là sư tiếp nối của ph p tính logarit trên trường số thực vào các nhóm hữu hạn Chúng ta đã biết với 2 số thực x, y và cơ số a > 0, a ¹

= {1,2,3,…,p-1} với phép nhân modulo p

Nếu ta tính lũy thừa bậc k của một số trong nhóm rồi rút gọn theo modulo p thì ta được một số trong nhóm đó Quá trình này gọi là lũy thừa rời

rạc modulo p Chẳng hạn p = 17, lấy a = 3, k = 4, ta có: 34

= 81 º 13(mod17) Logarit rời rạc là ph p tính ngược lại: biết 3k

Trang 19

Như vậy bài toán logarit rời rạc là bài toán khó

1.2 H ệ mật mã khóa công khai

1.2.1 Mã khoá công khai RSA

RSA là mã công khai được sáng tạo bởi Rivest, Shamir & Adleman ở MIT (Trường Đại học Công nghệ Massachusetts) vào năm 1977 RSA là mã công khai được biết đến nhiều nhất và sử dụng rộng rãi nhất hiện nay Nó

dựa trên các ph p toán lũy thừa trong trường hữu hạn các số nguyên theo modulo nguyên tố Cụ thể, mã hóa hay giải mã là các ph p toán luỹ thừa theo modulo số rất lớn Việc thám mã, tức là tìm khóa riêng khi biết khóa công khai, dựa trên bài toán khó là phân tích một số rất lớn đó ra thừa số nguyên tố

Nếu không có thông tin gì, thì ta phải lần lượt kiểm tra tính chia hết của số đó cho tất cả các số nguyên tố nhỏ hơn căn của nó Đây là việc làm không khả thi

Người ta chứng minh được rằng, ph p lũy thừa cần O((log n)3

) phép toán, nên có thể coi lũy thừa là bài toán dễ Cần chú ý rằng ở đây ta sử dụng các số rất lớn khoảng 1024 bit, tức là cỡ 10350

Tính an toàn dựa vào độ khó

của bài toán phân tích ra thừa số các số lớn Bài toán phân tích ra thừa số yêu

cầu O(elogn log logn

) ph p toán, đây là bài toán khó

mã hóa/giải mã

1.2.2 Kh ởi tạo khóa RSA

Mỗi người sử dụng A tạo một cặp khóa công khai – riêng như sau: Chọn ngẫu nhiên hai số nguyên tố lớn p và q khác nhau

Tính số N làm modulo của hệ thống: N = p.q Ta đã biết Ф(N) = (p 1)(q 1) Chọn ngẫu nhiên khóa mã e làm khóa công khai, sao cho 1 < e < Ф(N) và gcd (e,Ф(N)) = 1, tức là e và Ф(N) là hai số nguyên tố cùng nhau

Nghịch đảo của e theo modulo Ф(N) là khóa riêng d, vậy tìm d từ

Trang 20

phương trình (e.d) mod Ф(N) = 1, với 0 < d < Ф(N) hay d = e-1mod Ф(N)

Chú ý: Vai trò c ủa e và d c th thay đổi cho nhau, tức là c th lấy e làm

khóa m ật, khi đ tính d nghịch đảo của e làm khóa công khai

Người sử dụng A in khóa mã công khai: KU = {e, N} và thông báo cho mọi người biết

Người sử dụng A giữ bí mật khóa riêng: KR = {d, p, q}

1.2.3 S ử dụng RSA

Để mã hóa mẩu tin M, người gửi B:

Lấy khóa công khai của người nhận A: KU = {e, N}

Mã hóa thông điệp M bằng khóa công khai của người nhận A:

Vì dựa theo định lý Euler có thể chứng minh được rằng M Ф(N) mod N = 1

= M.1 mod N = M

Ví dụ 1.11: Tạo khóa công khai cho người sử dụng A, sau đó người sử dụng B

dùng khóa công khai của A mã hóa thông điệp gửi cho A và cuối cùng A sử

Trang 21

dụng khóa riêng của mình để giải mã thông điệp

Tạo bộ khóa công khai cho người sử dụng A

7 In khóa công khai của người sử dụng A: KU = {7, 187}

8 Giữ khóa riêng bí mật riêng của A: KR = {23, 17, 11}

Cho mẩu tin M = 88 (thỏa mã điều kiện 88 < 187) Mã C = 887 mod 187 =

11

Người sử dụng A d ng kh a riêng của m nh để giải mã như sau:

M = 1123 mod 187 = 88 Có thể dùng định lý phần dư Trung Hoa để giải mã cho nhanh như sau:

-1

mod 17) = 11.(14 mod 17) = 154 Vậy M = (3.154) mod 187 = 462 mod 187 = 88

1.3 Mã Elgamal

1.3.1 H ệ mã hóa Elgamal

Chọn số nguyên tố p sao cho bài toán logarit rời rạc trong Zp là khó giải, g là

phần tử sinh trong Zp* Chọn tập bản rõ A = Zp, chọn tập bản mã C = {(a, b) /

Trang 22

a, b ∈ Zp} Chọn khóa bí mật là a ∈ Zp*, khóa công khai là h = ga Để mã hóa

m, ta chọn số ngẫu nhiên bí mật k, bản mã là: (x, y) = Ek (m) = (gk, hk m) Tài

liệu được giải mã là m = y / xa

Ví d ụ 1.12: Cho p = 2579, g = 2, a = 765 Khi đó h = 2765

mod 2579 = 949 Bây giờ ta giả sử Alice muốn gửi thông báo m = 1299 tới Bob

Giả sử số ngẫu nhiên k mà cô chọn là k = 853 Sau đó cô ta tính:

x = 2853 mod 2579 = 435

y = 1299 × 949853 mod 2579 = 2396

Bob thu được bản mã Ek(m) = (435, 2396), anh ta tính:

m = 2396×(435765)-1 mod 2579 = 1299

Đó chính là bản rõ mà Alice đã mã hóa

1.3.2 Khái ni ệm mã hóa đồng cấu

Cho tập bản rõ P tạo thành nhóm với phép tính ⊕, tập bản mã C tạo thành nhóm với phép tính ⊗ Ek(m) là hàm mã hoá bản rõ m theo tham số

ngẫu nhiên bí mật k Hệ mã hóa E được gọi là có tính chất (⊕, ⊗) - đồng

cấu, nếu với tham số k = k1 + k2, thỏa mãn công thức đồng cấu: Ek1(m1) ⊗

Ek2(m2) = Ek(m1 ⊕ m2), trong đó m1, m2 là 2 bản rõ, k1, k2 là 2 tham số ngẫu nhiên bí mật

1.4 Ch ữ ký điện tử DSA

Sinh khóa DSA Chia sẻ giá trị khóa công khai tổng thể (p, q, g):

Số nguyên tố lớn p = 2L

, ở đó L = 512 đến 1024 bit và là bội của 64;

Chọn q là số nguyên tố 160 bit và là ước của p 1;

Chọn g = h(p 1)/q, ở đó h < p 1, h(p 1)/q (mod p) > 1;

Người sử dụng A chọn khóa riêng và tính khóa công khai

Trang 23

Chọn khóa riêng: x < q

Tính khóa công khai: y = gx (mod p)

1.4.1 T ạo chữ ký DSA

Để ký mẩu tin M người gửi trước hết cần: Sinh khóa chữ ký ngẫu nhiên k:

k < p, k phải là số ngẫu nhiên, được xóa sau khi dùng và không bao giờ dùng

Trang 25

CHƯƠNG II

Chương I của luận văn đã trình bày về một số kiến thức chuẩn bị như số

học modulo, các hệ mã hóa công khai và chứ ký điện tử DSA Chương II này

sẽ đi sâu vào một số giao thức chuyển giao không lộ thông tin Tiếp đó em trình bày một số lược đồ cam kết, chứng minh không tiết lộ thông tin và giao

thông tin ngưỡng ở chương sau

2.1 Giao th ức chuyển giao không lộ thông tin

Chúng ta x t tình huống sau: chúng ta có một máy chủ và một khách hàng (hoặc người gửi và người nhận), nơi máy chủ có danh sách chuỗi n giá trị:

x 1, , x nvà khách hàng muốn biết x i Tất nhiên khách hàng có thể chỉ cần gửi yêu cầu đến máy chủ, nhưng khách hàng không muốn máy chủ biết là anh

ta cần giá trị thứ i đó Bây giờ, máy chủ có thể chỉ cần gửi các chuỗi n giá trị

đến máy khách nhưng máy chủ không biết máy khách tìm hiểu x j cho j = i và máy khách không biết các giá trị khác ngoài xi Vấn đề này, bắt nguồn từ Rabin, nơi máy chủ sẽ chuyển x isang máy khách mà không cần biết i bằng bao nhiêu và máy khách không biết giá trị nào khác ngoài xi, được gọi là

chuyển giao lãng quên hay là chuyển giao không lộ thông tin

Ứng dụng có thể như sau: Giả sử chúng ta muốn một chương trình chuyển tiền điện tử Ý tưởng là Alice sẽ thiết lập một dịch vụ, nơi người dùng như Bob có thể mua từ chứng từ kỹ thuật số (tiền điện tử) của cô ấy mà họ sau

đó có thể sử dụng để mua những thứ từ các nhà cung cấp Các nhà cung cấp

sau đó sẽ trình bày các chứng từ này cho Alice để thu tiền Một giải pháp

ngây thơ sẽ là như sau: Alice sẽ chuẩn bị thông điệp m = tôi sẵn sàng trả 1

và chữ ký σ trên m Bất cứ khi nào Bob trả cho cô ấy x Alice sẽ cung cấp

Trang 26

cho Bob x bản sao của thông điệp m và chữ ký σ Nhà cung cấp có thể kiểm tra chữ ký khi Bob thanh toán cho một cái gì đó, và bất cứ khi nào Alice được

yêu cầu với (m, σ) cô sẽ trả cho nhà cung cấp 1 Điều này giải pháp rất đơn

giản nhưng có nhược điểm là có thể Bob hoặc các nhà cung cấp sẽ sao ch p m

và “in tiền” Bây giờ giả sử rằng Alice thử một giải pháp mới: cô ấy có một id

truy cập mà ban đầu được thiết lập để 1, và bất cứ khi nào Bob trả cho cô ấy

1 đô la, Alice cung cấp cho Bob chữ ký trên m, id = Tôi sẵn sàng trả 1 ID =

id và sau đó tăng id lên một Bây giờ cô ấy giữ một cơ sở dữ liệu của tất cả các chứng từ mà cô ấy đã lưu trong bộ nhớ cache, vì vậy cô ấy sẽ không bao giờ trả lại cùng một phiếu thưởng hai lần Hơn nữa, cô ấy làm cho cơ sở dữ liệu này có sẵn trực tuyến để các nhà cung cấp có thể xác minh rằng một

phiếu thưởng hợp lệ trước khi chấp nhận nó Điều này là tuyệt vời, nhưng bây

giờ Bob không hài lòng Lý do duy nhất anh muốn sử dụng tiền điện tử và không phải thẻ tín dụng của anh ta là anh ta không muốn giao dịch của mình

bị theo dõi, nhưng bây giờ Alice biết chính xác những gì Bob đưa ra, và vì vậy biết chính xác những gì ông đã mua với tiền điện tử, mà anh ta không

muốn cho Alice biết

Để giải quyết vấn đề này và làm cho Bob hài lòng nhưng Alice không phá sản, chúng ta sử dụng chuyển giao không lộ thông tin Alice chuẩn bị m tin nhắn trước: m1, , mn(trong đó n là số tiền cô ấy có) và chữ ký tương ứng

σ 1, , σ n Cô ấy gh p các thông điệp với các chũ ký tương ứng: x i = m i◦

σ i Khi Bob trả cho cô ấy 1 đô la, họ thực hiện một giao thức chuyển giao khônglộ thông tin với đầu vào của Alice là x 1, , x nvà Bob chọn i ngẫu nhiên Vào cuối giao thức, Bob đã nhận chính xác một cặp hợp lệ m i, σ i và Alice không biết i Một lần nữa, khi Alice được yêu cầu thanh toán với một thông điệp mi, σi, cô ta hủy bỏ phiếu mua hàng này, xóa nó khỏi danh sách được sử dụng trong các lần chuyển tiền không lộ thông tin trong tương lai và

Trang 27

đưa ra danh sách hủy bỏ công khai i

2.2 Giao th ức chuyển giao không lộ thông tin 1 từ 2

với cặp khóa công khai / riêng (h=gx

, x), trong đó g là phần tử sinh của nhóm

G có bậc q Để mã hóa m, ta lấy số ngẫu nhiên k thuộc Zq, và tính:

(c1, c2) = (gk, m.hk)

Để giải mã dùng khóa riêng x tính:

c2 / c1 x

= m.hk / gkx = m

Ý tưởng cho giao thức chuyển giao không lộ thông tin là cho người

Ngày đăng: 18/06/2019, 14:57

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] D ƣơng Anh Đứ c (2008), Mã hóa và ứ ng d ụ ng , NXB Đạ i h ọ c qu ố c gia TPHCM Sách, tạp chí
Tiêu đề: Mã hóa và "ứ"ng d"ụ"ng
Tác giả: D ƣơng Anh Đứ c
Nhà XB: NXB Đại học quốc gia TPHCM
Năm: 2008
[2] Hà Huy Khoái, Ph ạm Huy Điể n (2004), Mã h a thông tin cơ sở toán h ọ c và ứ ng d ụ ng , NXB Đạ i h ọ c qu ố c gia Hà N ộ i Sách, tạp chí
Tiêu đề: toán h"ọ"c và "ứ"ng d"ụ"ng
Tác giả: Hà Huy Khoái, Ph ạm Huy Điể n
Nhà XB: NXB Đại học quốc gia Hà Nội
Năm: 2004
[3] Phan Đình Diệ u (2002), Lý thuy ế t m ậ t mã và an toàn thông tin , NXB Đạ i h ọ c qu ố c gia Hà N ộ i Sách, tạp chí
Tiêu đề: Lý thuy"ế"t m"ậ"t mã và an toàn thông tin
Tác giả: Phan Đình Diệ u
Nhà XB: NXB Đại học quốc gia Hà Nội
Năm: 2002
[5] C K Chu, W-G Tzeng. Efficient k out of n Oblivious Transfer Schemes Sách, tạp chí
Tiêu đề: Efficient k out of n Oblivious Transfer Schemes
Tác giả: C K Chu, W-G Tzeng
[6] Tung Chou1 and Claudio Orlandi, The Simplest Protocol for Oblivious Transfer Tung Chou1 and Claudio Orlandi. Cryptology ePrint Archive 267, 2015 Sách, tạp chí
Tiêu đề: The Simplest Protocol for Oblivious Transfer
Tác giả: Tung Chou, Claudio Orlandi
Nhà XB: Cryptology ePrint Archive
Năm: 2015
[4] Nigel Smart. Cryptography: An Introduction (3rd Edition). 2004 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w