SlideShare uma empresa Scribd logo
1 de 26
Đề tài:Mã hóa đồng cấu
Homomorphic Encryption
Nhóm 8:
Lớp:vtk37
Môn:mã hóa thông tin
GVHD:Lê Ngọc Luyện
1.Khái niệm mã hóa đồng cấu
• 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 ) xEk2( m2 ) = Ek( m1 + m2)
• Trong đó m1, m2 là hai bản rõ k1, k2 là 2 tham số ngẫu nhiên
2. Phương pháp mã hóa đồng cấu
• Hệ mã hóa Elgamal có tính chất đồng cấu nên ta có thể sử dụng hệ mã hóa
này để thực hiện mã hóa.
• 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ảng mã
C = {(a,b) / a,b ∈ Zp }.
• Chọn khóa bí mật a ∈ Zp
*, khóa côngn 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.
Tại sao hệ mã hóa Elgamal có tính chất
đồng cấu
• 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 )
3. Ứng dụng mã hóa đồng cấu cho loại bỏ
phiếu có, không.
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 ý(1)
hay không đồng ý(0)
• 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?( vì chúng đã được mã hóa ).
Giải quyết vấn đề
• Bước 1: Cử tri ghi ý kiến vào lá phiếu
• Giả sử có 4 cử tri tham gia bỏ phiếu là 𝑉1, 𝑉2, 𝑉3, 𝑉4. 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 ).
• Bước 2: Cử chi mã hóa lá phiếu
• V1 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu:
• V1 chọn ngẫu nhiên k1 = 5, mã hóa v1 = 0 thành ( x1,y1 ) = ( 35, 95 * 30)
= ( 35, 95 )
• V2 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu:
• 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 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu:
• 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 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu:
• V4 chọn ngẫu nhiên k4 = 7, mã hóa v4 = 0 thành ( x4,y4 ) = ( 37, 97 * 30)
= ( 37, 97 )
• Bước 3 : 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 )
= ( gk1+k2 h k1+k2, gv1+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.
Cụ thể tích của 4 giá trị lá phiếu đã được mã hóa là:
(X, Y) = (∏ixi , ∏iyi)
= ( 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.
4. Sơ đồ chia sẻ bí mật Shamir phối hợp
với Hệ mã hoá Elgamal
Bài toán:
• Ban quản lý thông tin mật (QL TTM) (Ví dụ Ban kiểm phiếu bầu cử
có t thành viên 𝐴𝑗.
• Một người V (Ví dụ cử tri) cần gửi Bản tin mật 𝑔 𝑠 tới Ban QL TTM.
• Bài toán là hãy đề xuất giải pháp bảo đảm để tất cả t thành viên nhất
trí, mới xem được thông tin mật. Ít hơn t thành viên không thể xem
được thông tin này. hiếu bầu cử).
Giải quyết:
• 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 của Zp * .
• Trong Ban QL TTM, mỗi thành viên 𝐴𝑗 chọn khóa bí mật 𝑍𝑗 và khóa
công khai ℎ𝑗= 𝑔 𝑍 𝑗
• Người V chia tin mật 𝑔 𝑠
thành t mảnh tin khác nhau, mã hoá chúng,
sau đó chuyển cho mỗi 𝐴𝑗 một mảnh mã. Khi tất cả t thành viên nhất
trí cần xem tin mật, họ sẽ khớp các mảnh tin đã giải mã. Cụ thể là tính
tích của các mảnh tin đã giải mã. (Ta hiểu "mảnh tin" là mẩu tin,
"mảnh mã" là mẩu tin đã được mã hóa).
Chia sẻ thông tin mật thành các mảnh tin
• Người V chọn đa thức ngẫu nhiên bậc t thuộc 𝑍 𝑝:
P(x)= 𝑘=0
𝑡
∝ 𝑘 𝑥 𝑘
• V chọn bí mật các hệ số s = ∝0và ∝1 , ∝2, …, ∝ 𝑡 ∈ 𝑍 𝑝. Người V tính
các mảnh tin mật 𝑦𝑗 = 𝑃(𝑗)=1, 2, .., t. Các mảnh tin mật 𝑦𝑗 được mã
hóa thành 𝐻𝑗= ℎ𝑗
𝑃(𝑗)
, V gửi 𝐻𝑗 cho thành viên 𝐴𝑗 .
Khôi phục thông tin mật từ các mảnh tin
• Ban QL TTM khớp nối các mảnh tin mật 𝐻𝑗 khi tất cả t thành viên 𝐴𝑗
đều nhất trí.
• Đầu tiên từng người trong Ban QL 𝐴𝑗 giải mã 𝐻𝑗 bằng cách tính
𝑆𝑗=𝐻𝑗
1/𝑍 𝑗
.
• Theo quá trình trên, ta nhận được: 𝑆𝑗=𝐻𝑗
1/𝑍 𝑗
=ℎ𝑗
𝑃(𝑗)1/𝑍𝑗
=(((𝑔 𝑍𝑗
))
𝑃𝑗1/𝑍𝑗
• Sau đó tin mật 𝑔 𝑠
được xác định nhờ tính chất đặc biệt sinh ra
do sự phối hợp giữa sơ đồ Shamir và hệ mã hoá Elgamal:
𝑗∈𝐴 𝑆𝑗
λ𝑗,𝐴
= 𝑗∈𝐴 𝑔𝑗
𝑃(𝑗)λ𝑗,𝐴
=𝑔 𝑗∈𝐴 𝑃(𝑗)λ𝑗,𝐴 = 𝑔 𝑃(0)=𝑔 𝑠
trong đó λ𝑗,𝐴 = 𝑙∈𝐴−{𝑗}
𝑙
𝑙−𝑗
là hệ số Lagrange, A = {1, 2, … , t}.
5.Ứng dụng Sơ đồ chia sẻ bí mật Shamir và Hệ mã
hoá Elgamal cho loại bỏ phiếu chọn L trong K.
Bài toán:
• Giả sử có 3 ứng cử viên:
0: Lý Văn Nghêu.
1: Trần Văn Sò.
2: Lê Thị Ốc.
• Có 3 nguời kiểm phiếu là A1, A2, A3 .
• Đây là cuộc bỏ phiếu chọn 2 trong 3 người (Ví dụ vào chức vụ Giám
đốc và phó Giám đốc).
• Cử tri không tin vào một số thành viên trong Ban kiểm phiếu (Ban
KP), nên họ dùng sơ đồ chia sẻ bí mật Shamir để chia lá phiếu của
mình thành các mảnh tin và gửi cho mỗi người kiểm phiếu một mảnh.
• Vấn đề là Ban KP phải khớp nối các mảnh tin để biết nội dung từng lá
phiếu? (Vì nội dung mỗi lá phiếu được chia thành nhiều mảnh tin,
từng mảnh lại được mã hoá trước khi gửi về Ban KP).
Giải quyết:
• 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 của Zp * .
• Sử dụng Sơ đồ chia sẻ bí mật Shamir và Hệ mã hoá Elgamal.
Biểu diễn sự lựa chọn ứng cử viên (Nội
dung phiếu bầu cử)
• Cử tri V bầu cử cho ông Nghêu và bà Ốc tương ứng với lựa chọn 0 và
2.
• Để diễn đạt sự lựa chọn của mình, cử tri dùng hệ số cơ số 3.
• Nội dung lá phiếu của V được biểu diễn là s = 0*30+ 2*31= 6.
Ban kiểm phiếu chuẩn bị
• Trong Ban KP, phần tử sinh của 𝑍 𝑝 * là g=3, mỗi thành viên 𝐴𝑗chọn
khóa bí mật 𝑍𝑗 và khóa công khai ℎ𝑗 = 𝑔 𝑍 𝑗 . Cụ thể là:
A1 chọn khóa bí mật z1=2, khóa công khai là ℎ1=32
A2 chọn khóa bí mật z2=3, khóa công khai là ℎ2=33
A3 chọn khóa bí mật z3=5, khóa công khai là ℎ3=35.
Cử tri V chia sẻ nội dung lá phiếu (tin mật)
thành các mảnh tin
• Với nội dung lá phiếu là s = 6, cử tri V chọn đa thức ngẫu nhiên bí
mật:
P(X) = 6 +2X+5𝑋2
Ở đây 𝛼0 = s = 6, 𝛼1 = 2, 𝛼2 = 5.
V tính các mảnh tin mật: λ𝑗 = P(j), theo đa thức trên, P(1) =13, P(2) =30,
P(3) =57.
V mã hoá các mảnh tin mật trên thành 𝐻𝑗=ℎ𝑗
𝑃(𝑗)
, cụ thể là:
𝐻1 = ℎ1
𝑃(1)
= (32)13
𝐻2 = ℎ2
𝑃(2)
= (33)31
𝐻3 = ℎ3
𝑃(3)
= (35
)57
Cử tri V chuyển 𝐻1, H2, 𝐻3tương ứng cho các thành viên Ban KP: 𝐴1, 𝐴2,
𝐴3.
Ban KP khôi phục nội dung lá phiếu (tin
mật) từ các mảnh tin
• Ban KP khớp nối các mảnh tin 𝐻𝑗 khi tất cả t thành viên Aj đều nhất
trí.
• Đầu tiên từng người kiểm phiếu 𝐴𝑗 giải mã Hj bằng cách tính
𝑆𝑗=𝐻𝑗
1/𝑍 𝑗
.
• Theo các quá trình trên ta nhận được:
𝑆𝑗=𝐻𝑗
1/𝑍 𝑗
=(ℎ 𝑗
𝑃(𝑗)
)1/𝑧𝑗=(((𝑔 𝑧𝑗)) 𝑃(𝑗))1/𝑧𝑗=𝑔(𝑗)
• Cụ thể là:
𝐴1 giải mã 𝐻1 thành 𝑆1 = ((32
)13
)1/2
=313
𝐴2 giải mã 𝐻2 thành 𝑆2 = ((33)30)1/3=330
𝐴3 giải mã 𝐻3 thành 𝑆3 = ((57)1/5
=357
• Bí mật 𝑔 𝑠= 36được xác định nhờ tính chất đặc biệt sinh ra do sự phối
hợp giữa sơ đồ chia sẻ bí mật Shamir và hệ mã hoá
Elgamal: 𝑗∈𝐴 𝑆𝑗
λ𝑗,𝐴
= 𝑗∈𝐴 𝑔 𝑃 𝑗 λ𝑗,𝐴
= 𝑔 𝑗∈𝐴 𝑃 𝑗 λ𝑗,𝐴
=𝑔 𝑃(0) = 𝑔 𝑠
• trong đó, λ𝑗, 𝐴= 𝑙∈𝐴− 𝑗
𝑙
𝑙−𝑗
là hệ số Lagrange, A={1, 2, 3}.
• Trong ví dụ trên, hệ số Lagrange được tính như sau:
λ1=2/ (2-1)*3/ (3-1) = 3,
λ2=1/(1-2)*3/(3-2) = -3,
λ3=1/(1-3)*2/(2-3) = 1.
𝑔 𝑠= S1
λ1*S2
λ2 ∗ S3
λ3
= (313
)3
*(330
)−3
*(357
)1
=36
Đây là nội dung lá phiếu đã được khôi phục sau khi “khớp nối các mảnh
tin “.
Tài liệu tham khảo
• http://download.tailieu.vn//07afc9d59de0f91509a15f0622dbd02b/573
d5660/source/2012/20121213/tuanlocmuido/7_9702.pdf
• http://text.123doc.org/document/2331205-ma-hoa-dong-cau-
homomorphic-encryption.htm
• http://kiemtailieu.com/cong-nghe-thong-tin/tai-lieu/ma-hoa-dong-
cau/4.html
• https://en.wikipedia.org/wiki/Homomorphic_encryption
• https://crypto.stanford.edu/craig/craig-thesis.pdf

Mais conteúdo relacionado

Mais procurados

Bai 4 bieu dien do thi va thuat toan tim kiem
Bai 4   bieu dien do thi va thuat toan tim kiemBai 4   bieu dien do thi va thuat toan tim kiem
Bai 4 bieu dien do thi va thuat toan tim kiemDuy Vọng
 
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...nataliej4
 
Hỗ trợ ra quyết định
Hỗ trợ ra quyết địnhHỗ trợ ra quyết định
Hỗ trợ ra quyết địnhlmphuong06
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong EllipticLE Ngoc Luyen
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtHưởng Nguyễn
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong EllipticLE Ngoc Luyen
 
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHBÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHHoà Đoàn
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttanhhuycan83
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Nguyễn Công Hoàng
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...Dịch vụ Làm Luận Văn 0936885877
 
Thuat toan pca full 24-5-2017
Thuat toan pca full   24-5-2017 Thuat toan pca full   24-5-2017
Thuat toan pca full 24-5-2017 Tuan Remy
 
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderhoamonkhach
 

Mais procurados (20)

Bai 4 bieu dien do thi va thuat toan tim kiem
Bai 4   bieu dien do thi va thuat toan tim kiemBai 4   bieu dien do thi va thuat toan tim kiem
Bai 4 bieu dien do thi va thuat toan tim kiem
 
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Hệ thống quản lý phòng máy thực hành...
 
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý ĐiểmPhân Tích Thiết Kế Hệ Thống Thông Tin -  Quản Lý Điểm
Phân Tích Thiết Kế Hệ Thống Thông Tin - Quản Lý Điểm
 
Hỗ trợ ra quyết định
Hỗ trợ ra quyết địnhHỗ trợ ra quyết định
Hỗ trợ ra quyết định
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong Elliptic
 
MATMA - Chuong2
MATMA - Chuong2MATMA - Chuong2
MATMA - Chuong2
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
 
Mã hóa đường cong Elliptic
Mã hóa đường cong EllipticMã hóa đường cong Elliptic
Mã hóa đường cong Elliptic
 
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHBÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
 
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcnttPhụ thuộc hàm và các dạng chuẩn - dhcntt
Phụ thuộc hàm và các dạng chuẩn - dhcntt
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
Giáo trình Phân tích và thiết kế giải thuật - CHAP 1
 
Phương pháp tham lam
Phương pháp tham lamPhương pháp tham lam
Phương pháp tham lam
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
Xây dựng phần mềm quản lý thông tin sinh viên thực tập bằng ngôn ngữ lập trìn...
 
Thuat toan pca full 24-5-2017
Thuat toan pca full   24-5-2017 Thuat toan pca full   24-5-2017
Thuat toan pca full 24-5-2017
 
Tóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinderTóm tắt về track, sector, cluster, cylinder
Tóm tắt về track, sector, cluster, cylinder
 
Đề tài: Phần mềm mô phỏng, lắp ráp và báo giá máy tính, HAY
Đề tài: Phần mềm mô phỏng, lắp ráp và báo giá máy tính, HAYĐề tài: Phần mềm mô phỏng, lắp ráp và báo giá máy tính, HAY
Đề tài: Phần mềm mô phỏng, lắp ráp và báo giá máy tính, HAY
 

Semelhante a Mã hóa đồng cấu

9 phương pháp giải pt nghiệm nguyên
9 phương pháp giải pt nghiệm nguyên9 phương pháp giải pt nghiệm nguyên
9 phương pháp giải pt nghiệm nguyênCảnh
 
9 phuong phap giai phuong trinh nghiem nguyen
9 phuong phap giai phuong trinh nghiem nguyen9 phuong phap giai phuong trinh nghiem nguyen
9 phuong phap giai phuong trinh nghiem nguyenHoàng Quý
 
9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyên9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyênThấy Tên Tao Không
 
Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3nataliej4
 
Toan pt.de038.2012
Toan pt.de038.2012Toan pt.de038.2012
Toan pt.de038.2012BẢO Hí
 
Toan pt.de041.2010
Toan pt.de041.2010Toan pt.de041.2010
Toan pt.de041.2010BẢO Hí
 
260 he-phuong-trinh-trong-cac-de-thi
260 he-phuong-trinh-trong-cac-de-thi260 he-phuong-trinh-trong-cac-de-thi
260 he-phuong-trinh-trong-cac-de-thiThành Chuyển Sleep
 
Tich phan ham nhi phan thuc
Tich phan ham nhi phan thucTich phan ham nhi phan thuc
Tich phan ham nhi phan thucHuynh ICT
 
Toan pt.de023.2010
Toan pt.de023.2010Toan pt.de023.2010
Toan pt.de023.2010BẢO Hí
 
Bai 2 cong tru so huu ti
Bai 2 cong tru so huu tiBai 2 cong tru so huu ti
Bai 2 cong tru so huu timanggiaoduc
 
Toan pt.de017.2010
Toan pt.de017.2010Toan pt.de017.2010
Toan pt.de017.2010BẢO Hí
 
Cachuongtuduyvaphuongphapgiaitronghinhoxy
CachuongtuduyvaphuongphapgiaitronghinhoxyCachuongtuduyvaphuongphapgiaitronghinhoxy
CachuongtuduyvaphuongphapgiaitronghinhoxyDuc Tam
 
Các hướng tư duy và phương pháp giải trong hình oxy
Các hướng tư duy và phương pháp giải trong hình oxyCác hướng tư duy và phương pháp giải trong hình oxy
Các hướng tư duy và phương pháp giải trong hình oxyRan Mori
 
[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyen
[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyen[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyen
[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyenTam Vu Minh
 
Slide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpenSlide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpenTai Tran
 
Toan pt.de062.2010
Toan pt.de062.2010Toan pt.de062.2010
Toan pt.de062.2010BẢO Hí
 

Semelhante a Mã hóa đồng cấu (20)

9 phương pháp giải pt nghiệm nguyên
9 phương pháp giải pt nghiệm nguyên9 phương pháp giải pt nghiệm nguyên
9 phương pháp giải pt nghiệm nguyên
 
9 phuong phap giai phuong trinh nghiem nguyen
9 phuong phap giai phuong trinh nghiem nguyen9 phuong phap giai phuong trinh nghiem nguyen
9 phuong phap giai phuong trinh nghiem nguyen
 
9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyên9 phương pháp giải phương trình nghiệm nguyên
9 phương pháp giải phương trình nghiệm nguyên
 
Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3Tai lieu boi duong doi tuyen quoc gia 2013 3
Tai lieu boi duong doi tuyen quoc gia 2013 3
 
Toan pt.de038.2012
Toan pt.de038.2012Toan pt.de038.2012
Toan pt.de038.2012
 
Hệ mật mã Mcelice
Hệ mật mã MceliceHệ mật mã Mcelice
Hệ mật mã Mcelice
 
Toan pt.de041.2010
Toan pt.de041.2010Toan pt.de041.2010
Toan pt.de041.2010
 
Hoán vị lặp tổ hợp
Hoán vị lặp tổ hợpHoán vị lặp tổ hợp
Hoán vị lặp tổ hợp
 
260 he-phuong-trinh-trong-cac-de-thi
260 he-phuong-trinh-trong-cac-de-thi260 he-phuong-trinh-trong-cac-de-thi
260 he-phuong-trinh-trong-cac-de-thi
 
Tich phan ham nhi phan thuc
Tich phan ham nhi phan thucTich phan ham nhi phan thuc
Tich phan ham nhi phan thuc
 
Toan pt.de023.2010
Toan pt.de023.2010Toan pt.de023.2010
Toan pt.de023.2010
 
Bai 2 cong tru so huu ti
Bai 2 cong tru so huu tiBai 2 cong tru so huu ti
Bai 2 cong tru so huu ti
 
Toan pt.de017.2010
Toan pt.de017.2010Toan pt.de017.2010
Toan pt.de017.2010
 
Chuong03
Chuong03Chuong03
Chuong03
 
Chuong03
Chuong03Chuong03
Chuong03
 
Cachuongtuduyvaphuongphapgiaitronghinhoxy
CachuongtuduyvaphuongphapgiaitronghinhoxyCachuongtuduyvaphuongphapgiaitronghinhoxy
Cachuongtuduyvaphuongphapgiaitronghinhoxy
 
Các hướng tư duy và phương pháp giải trong hình oxy
Các hướng tư duy và phương pháp giải trong hình oxyCác hướng tư duy và phương pháp giải trong hình oxy
Các hướng tư duy và phương pháp giải trong hình oxy
 
[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyen
[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyen[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyen
[Www.toan trunghoccoso.toancapba.net] phuong trinh nghiem nguyen
 
Slide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpenSlide_Chữ ký điện tử của chaum van antwerpen
Slide_Chữ ký điện tử của chaum van antwerpen
 
Toan pt.de062.2010
Toan pt.de062.2010Toan pt.de062.2010
Toan pt.de062.2010
 

Mã hóa đồng cấu

  • 1. Đề tài:Mã hóa đồng cấu Homomorphic Encryption Nhóm 8: Lớp:vtk37 Môn:mã hóa thông tin GVHD:Lê Ngọc Luyện
  • 2. 1.Khái niệm mã hóa đồng cấu • 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 ) xEk2( m2 ) = Ek( m1 + m2) • Trong đó m1, m2 là hai bản rõ k1, k2 là 2 tham số ngẫu nhiên
  • 3. 2. Phương pháp mã hóa đồng cấu • Hệ mã hóa Elgamal có tính chất đồng cấu nên ta có thể sử dụng hệ mã hóa này để thực hiện mã hóa. • 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ảng mã C = {(a,b) / a,b ∈ Zp }. • Chọn khóa bí mật a ∈ Zp *, khóa côngn 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.
  • 4. Tại sao hệ mã hóa Elgamal có tính chất đồng cấu • 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 )
  • 5. 3. Ứng dụng mã hóa đồng cấu cho loại bỏ phiếu có, không. 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 ý(1) hay không đồng ý(0) • 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?( vì chúng đã được mã hóa ).
  • 6. Giải quyết vấn đề • Bước 1: Cử tri ghi ý kiến vào lá phiếu • Giả sử có 4 cử tri tham gia bỏ phiếu là 𝑉1, 𝑉2, 𝑉3, 𝑉4. 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 ).
  • 7. • Bước 2: Cử chi mã hóa lá phiếu • V1 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu: • V1 chọn ngẫu nhiên k1 = 5, mã hóa v1 = 0 thành ( x1,y1 ) = ( 35, 95 * 30) = ( 35, 95 ) • V2 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu: • V2 chọn ngẫu nhiên k2 = 3, mã hóa v2 = 1 thành ( x2,y2 ) = ( 33, 93 * 31) = ( 35, 95 *3 )
  • 8. • V3 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu: • 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 mã hóa lá phiếu của mình như sau và gửi tới ban kiểm phiếu: • V4 chọn ngẫu nhiên k4 = 7, mã hóa v4 = 0 thành ( x4,y4 ) = ( 37, 97 * 30) = ( 37, 97 )
  • 9. • Bước 3 : 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 ) = ( gk1+k2 h k1+k2, gv1+v2 ).
  • 10. • Theo tính chất đồng cấu thì phép nhân trên chính là kết quả bỏ phiếu. Cụ thể tích của 4 giá trị lá phiếu đã được mã hóa là: (X, Y) = (∏ixi , ∏iyi) = ( 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.
  • 11. 4. Sơ đồ chia sẻ bí mật Shamir phối hợp với Hệ mã hoá Elgamal Bài toán: • Ban quản lý thông tin mật (QL TTM) (Ví dụ Ban kiểm phiếu bầu cử có t thành viên 𝐴𝑗. • Một người V (Ví dụ cử tri) cần gửi Bản tin mật 𝑔 𝑠 tới Ban QL TTM. • Bài toán là hãy đề xuất giải pháp bảo đảm để tất cả t thành viên nhất trí, mới xem được thông tin mật. Ít hơn t thành viên không thể xem được thông tin này. hiếu bầu cử).
  • 12. Giải quyết: • 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 của Zp * . • Trong Ban QL TTM, mỗi thành viên 𝐴𝑗 chọn khóa bí mật 𝑍𝑗 và khóa công khai ℎ𝑗= 𝑔 𝑍 𝑗 • Người V chia tin mật 𝑔 𝑠 thành t mảnh tin khác nhau, mã hoá chúng, sau đó chuyển cho mỗi 𝐴𝑗 một mảnh mã. Khi tất cả t thành viên nhất trí cần xem tin mật, họ sẽ khớp các mảnh tin đã giải mã. Cụ thể là tính tích của các mảnh tin đã giải mã. (Ta hiểu "mảnh tin" là mẩu tin, "mảnh mã" là mẩu tin đã được mã hóa).
  • 13. Chia sẻ thông tin mật thành các mảnh tin • Người V chọn đa thức ngẫu nhiên bậc t thuộc 𝑍 𝑝: P(x)= 𝑘=0 𝑡 ∝ 𝑘 𝑥 𝑘 • V chọn bí mật các hệ số s = ∝0và ∝1 , ∝2, …, ∝ 𝑡 ∈ 𝑍 𝑝. Người V tính các mảnh tin mật 𝑦𝑗 = 𝑃(𝑗)=1, 2, .., t. Các mảnh tin mật 𝑦𝑗 được mã hóa thành 𝐻𝑗= ℎ𝑗 𝑃(𝑗) , V gửi 𝐻𝑗 cho thành viên 𝐴𝑗 .
  • 14. Khôi phục thông tin mật từ các mảnh tin • Ban QL TTM khớp nối các mảnh tin mật 𝐻𝑗 khi tất cả t thành viên 𝐴𝑗 đều nhất trí. • Đầu tiên từng người trong Ban QL 𝐴𝑗 giải mã 𝐻𝑗 bằng cách tính 𝑆𝑗=𝐻𝑗 1/𝑍 𝑗 . • Theo quá trình trên, ta nhận được: 𝑆𝑗=𝐻𝑗 1/𝑍 𝑗 =ℎ𝑗 𝑃(𝑗)1/𝑍𝑗 =(((𝑔 𝑍𝑗 )) 𝑃𝑗1/𝑍𝑗
  • 15. • Sau đó tin mật 𝑔 𝑠 được xác định nhờ tính chất đặc biệt sinh ra do sự phối hợp giữa sơ đồ Shamir và hệ mã hoá Elgamal: 𝑗∈𝐴 𝑆𝑗 λ𝑗,𝐴 = 𝑗∈𝐴 𝑔𝑗 𝑃(𝑗)λ𝑗,𝐴 =𝑔 𝑗∈𝐴 𝑃(𝑗)λ𝑗,𝐴 = 𝑔 𝑃(0)=𝑔 𝑠 trong đó λ𝑗,𝐴 = 𝑙∈𝐴−{𝑗} 𝑙 𝑙−𝑗 là hệ số Lagrange, A = {1, 2, … , t}.
  • 16. 5.Ứng dụng Sơ đồ chia sẻ bí mật Shamir và Hệ mã hoá Elgamal cho loại bỏ phiếu chọn L trong K. Bài toán: • Giả sử có 3 ứng cử viên: 0: Lý Văn Nghêu. 1: Trần Văn Sò. 2: Lê Thị Ốc. • Có 3 nguời kiểm phiếu là A1, A2, A3 . • Đây là cuộc bỏ phiếu chọn 2 trong 3 người (Ví dụ vào chức vụ Giám đốc và phó Giám đốc).
  • 17. • Cử tri không tin vào một số thành viên trong Ban kiểm phiếu (Ban KP), nên họ dùng sơ đồ chia sẻ bí mật Shamir để chia lá phiếu của mình thành các mảnh tin và gửi cho mỗi người kiểm phiếu một mảnh. • Vấn đề là Ban KP phải khớp nối các mảnh tin để biết nội dung từng lá phiếu? (Vì nội dung mỗi lá phiếu được chia thành nhiều mảnh tin, từng mảnh lại được mã hoá trước khi gửi về Ban KP).
  • 18. Giải quyết: • 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 của Zp * . • Sử dụng Sơ đồ chia sẻ bí mật Shamir và Hệ mã hoá Elgamal.
  • 19. Biểu diễn sự lựa chọn ứng cử viên (Nội dung phiếu bầu cử) • Cử tri V bầu cử cho ông Nghêu và bà Ốc tương ứng với lựa chọn 0 và 2. • Để diễn đạt sự lựa chọn của mình, cử tri dùng hệ số cơ số 3. • Nội dung lá phiếu của V được biểu diễn là s = 0*30+ 2*31= 6.
  • 20. Ban kiểm phiếu chuẩn bị • Trong Ban KP, phần tử sinh của 𝑍 𝑝 * là g=3, mỗi thành viên 𝐴𝑗chọn khóa bí mật 𝑍𝑗 và khóa công khai ℎ𝑗 = 𝑔 𝑍 𝑗 . Cụ thể là: A1 chọn khóa bí mật z1=2, khóa công khai là ℎ1=32 A2 chọn khóa bí mật z2=3, khóa công khai là ℎ2=33 A3 chọn khóa bí mật z3=5, khóa công khai là ℎ3=35.
  • 21. Cử tri V chia sẻ nội dung lá phiếu (tin mật) thành các mảnh tin • Với nội dung lá phiếu là s = 6, cử tri V chọn đa thức ngẫu nhiên bí mật: P(X) = 6 +2X+5𝑋2 Ở đây 𝛼0 = s = 6, 𝛼1 = 2, 𝛼2 = 5. V tính các mảnh tin mật: λ𝑗 = P(j), theo đa thức trên, P(1) =13, P(2) =30, P(3) =57.
  • 22. V mã hoá các mảnh tin mật trên thành 𝐻𝑗=ℎ𝑗 𝑃(𝑗) , cụ thể là: 𝐻1 = ℎ1 𝑃(1) = (32)13 𝐻2 = ℎ2 𝑃(2) = (33)31 𝐻3 = ℎ3 𝑃(3) = (35 )57 Cử tri V chuyển 𝐻1, H2, 𝐻3tương ứng cho các thành viên Ban KP: 𝐴1, 𝐴2, 𝐴3.
  • 23. Ban KP khôi phục nội dung lá phiếu (tin mật) từ các mảnh tin • Ban KP khớp nối các mảnh tin 𝐻𝑗 khi tất cả t thành viên Aj đều nhất trí. • Đầu tiên từng người kiểm phiếu 𝐴𝑗 giải mã Hj bằng cách tính 𝑆𝑗=𝐻𝑗 1/𝑍 𝑗 . • Theo các quá trình trên ta nhận được: 𝑆𝑗=𝐻𝑗 1/𝑍 𝑗 =(ℎ 𝑗 𝑃(𝑗) )1/𝑧𝑗=(((𝑔 𝑧𝑗)) 𝑃(𝑗))1/𝑧𝑗=𝑔(𝑗)
  • 24. • Cụ thể là: 𝐴1 giải mã 𝐻1 thành 𝑆1 = ((32 )13 )1/2 =313 𝐴2 giải mã 𝐻2 thành 𝑆2 = ((33)30)1/3=330 𝐴3 giải mã 𝐻3 thành 𝑆3 = ((57)1/5 =357 • Bí mật 𝑔 𝑠= 36được xác định nhờ tính chất đặc biệt sinh ra do sự phối hợp giữa sơ đồ chia sẻ bí mật Shamir và hệ mã hoá Elgamal: 𝑗∈𝐴 𝑆𝑗 λ𝑗,𝐴 = 𝑗∈𝐴 𝑔 𝑃 𝑗 λ𝑗,𝐴 = 𝑔 𝑗∈𝐴 𝑃 𝑗 λ𝑗,𝐴 =𝑔 𝑃(0) = 𝑔 𝑠 • trong đó, λ𝑗, 𝐴= 𝑙∈𝐴− 𝑗 𝑙 𝑙−𝑗 là hệ số Lagrange, A={1, 2, 3}.
  • 25. • Trong ví dụ trên, hệ số Lagrange được tính như sau: λ1=2/ (2-1)*3/ (3-1) = 3, λ2=1/(1-2)*3/(3-2) = -3, λ3=1/(1-3)*2/(2-3) = 1. 𝑔 𝑠= S1 λ1*S2 λ2 ∗ S3 λ3 = (313 )3 *(330 )−3 *(357 )1 =36 Đây là nội dung lá phiếu đã được khôi phục sau khi “khớp nối các mảnh tin “.
  • 26. Tài liệu tham khảo • http://download.tailieu.vn//07afc9d59de0f91509a15f0622dbd02b/573 d5660/source/2012/20121213/tuanlocmuido/7_9702.pdf • http://text.123doc.org/document/2331205-ma-hoa-dong-cau- homomorphic-encryption.htm • http://kiemtailieu.com/cong-nghe-thong-tin/tai-lieu/ma-hoa-dong- cau/4.html • https://en.wikipedia.org/wiki/Homomorphic_encryption • https://crypto.stanford.edu/craig/craig-thesis.pdf