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

Báo Cáo môn Mã Hóa và an toàn dữ liệu Mã hóa đồng cấu

10 675 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 1,6 MB

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 Cáo môn Mã Hóa và an toàn dữ liệu Mã hóa đồng cấu Giới thiệu mã hóa đồng cấu Phương pháp mã hóa đồng cấu ứng dụng trong hệ mã Elgamal Ứng dụng mã hóa đồng cấu trong loại bỏ phiếu “ có, không” Cho P là tập bản rõ, tạo thành với phép tính ( + ) Còn C là tập bản mã tạo thành nhóm với phép tính ( X ) Ek( m ) là hàm mã hóa bản rõ theo tham số ngẫu nhiên k Hệ mã hóa được gọi có tính chất ( + , x ) – đồng cấu nếu Ek1( m1 ) + Ek2( m2 ) = Ek( m1 x m2) Trong đó m1, m2 là hai bản rõ k1, k2 là 2 tham số ngẫu nhiên

Trang 1

Giảng viên: PGS TS Trịnh Nhật Tiến HV: Nguyễn Văn Duy

Trang 2

- Giới thiệu mã hóa đồng cấu

- Phương pháp mã hóa đồng cấu ứng dụng trong hệ

mã Elgamal

- Ứng dụng mã hóa đồng cấu trong loại bỏ phiếu “

có, không”

Trang 3

Cho P là tập bản rõ, tạo thành với phép tính ( + )

Còn C là tập bản mã tạo thành nhóm với phép tính ( X )

Ek( m ) là hàm mã hóa bản rõ theo tham số ngẫu nhiên k

Hệ mã hóa được gọi có tính chất ( + , x ) – đồng cấu nếu

Ek1( m1 ) + Ek2( m2 ) = Ek( m1 x m2)

Trong đó m1, m2 là hai bản rõ k1, k2 là 2 tham số ngẫu nhiên

Trang 4

Hệ mã Elgamal

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

Zp* Chọn tập bản rõ p = Zp, chọn tập bản mã C = { ( a,b ) / a,b Zp }

Chọn khóa bí mật a Zp*, khóa công khai h = ga

Để mã hóa m, ta chọn số ngẫu nhiên bí mật k, bản

mã (x,y) = Ek( m ) = ( gk , hk m )

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

Trang 5

Tính chất đồng cấu

Ek1( m1 ) + Ek2( m2 ) = Ek( m1 x m2)

Vì với k = k1 + k2, ta có

 Ek1( m ) = ( gk1 , hk1 m1 )

 Ek2( m ) = ( gk2 , hk2 m2 )

Thỏa mãn công thức đồng cấu

Ek1( m ) * Ek2( m ) = ( gk1 gk2, hk1 hk2 m1 m2 ) = ( gk1 + k2, hk1 + k2 m1 m2 )

= ( gk, hk m1 m2 )

= Ek( m1 m2 )

Trang 6

Bài toán

 Cần lấy ý kiến về một vấn đề nào đó, cử tri ghi vào lá phiếu: đồng ý hay không đồng ý

 Nội dung lá phiếu được mã hóa và gửi về ban kiểm phiếu Vấn đề là ban kiểm phiếu tính kết quả bỏ phiếu như thế nào, trong khi không biết nội dung từng lá

phiếu?

Trang 7

Giả sử có 4 cử tri tham gia bỏ phiếu là V1, V2, V 3, V4 Lá phiếu tương ứng của họ ghi: v1 = 0 (không đồng ý), v2 = 1(đồng ý), v3 = 1,v4 = 0

Chọn phần tử sinh g =3,hệ mã hoá Elgamal được sử dụng ở đây với các khoá như sau:

Khóa bí mật a = 2, khóa công khai h = ga = 32 = 9

Mỗi cử tri Vi, chọn khóa ngẫu nhiên bí mật k đề mã hóa lá

phiếu m của mình thành (x, y) = (gk, hk m )

Trang 8

V1 chọn ngẫu nhiên k1 = 5, mã hóa v1 = 0

thành ( x1,y1 ) = ( 35, 95 * 30 ) = ( 35, 95 )

V2 chọn ngẫu nhiên k2 = 3, mã hóa v2 = 1

thành ( x2,y2 ) = ( 33, 93 * 31 ) = ( 35, 95 *3 )

V3 chọn ngẫu nhiên k3 = 3, mã hóa v3 = 1

thành ( x3,y3 ) = ( 33, 93 * 31 ) = ( 35, 95 *3 )

V4 chọn ngẫu nhiên k4 = 7, mã hóa v4 = 0

thành ( x4,y4 ) = ( 37, 97 * 30 ) = ( 37, 97 )

Trang 9

Ban kiểm phiếu kiểm tra kết quả

 Ban kiểm phiếu không cần giải mã từng lá phiếu vẫn có thể tính được kết quả bỏ phiếu bằng cách tính nhân các lá phiếu đã được mã hóa.

 ( x1, y1 )*( x2, y2 ) = ( x1x2, y1y2 ) = ( g k1+k2 h k1+k2 , g v1+v2 ).

Theo tính chất đồng cấu thì phép nhân trên chính là kết quả bỏ phiếu

( X, Y ) = ( I xi, I yi )

= ( gk1+k2+k3+k4, hk1+k2+k3+k4 gv1+v2+v3+v4 )

= ( 318, 918 * 32 )

Giải mã ( X, Y ) bằng cách tính

m = gv = Y/Xa = 918*32 / (318)2 = 32

Như vậy số phiếu đồng ý là 2

Ngày đăng: 20/10/2014, 00:34

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