Bài giảng Hệ mật Elgamal - pdf 16

Link tải luận văn miễn phí cho ae


Nội dung
Tại sao cần bảo mật, bảo vệ thông tin
Công nghệ hiện đại giúp người dùng và các công ty để kết nối và chia sẻ nhiều điều với người dùng khách và đồng nghiệp bất cứ ở đâu. Nhưng các kết nối có thể mạng lại rủi ro rất lớn nếu người dùng không cẩn thận, trong khi học cách để bảo vệ thông tin thuộc cá nhân, làm sao để mật khẩu đủ mạnh là rất quan trọng cho sự an toàn và an ninh của các thết bị mà người dùng tương tác cũng như là các thiết bị lưu trữ.
Tại sao cần bảo mật, bảo vệ thông tin
Khóa an toàn là một ví dụ tốt về mật mã và bảo vệ vật lý có cùng một mục tiêu: nó bảo vệ bí mật thông tin tài liệu nhạy cảm, quan trong.
Tuy nhiên thực tế, có rất nhiều hạn chế, nhược điểm.
Nguyên tắc giữ cho mã hóa là: người sử dụng giải mã dữ liệu của họ để có thể sử dụng nó.
Mã hóa homomorphic
Phát triển từ một khái niệm gọi là mã hóa đồng cấu [30](1978, Rivest, Adleman và Dertouzos).
Cung cấp khả năng kiểm soát bản mã mà không cần giải mã chúng
Các thuật ngữ có liên quan chặt chẽ với ký số (kí hiêu) homomorphisms.
Ứng dụng có thể có mã hóa một phần và mã hóa hoàn toàn Homomorphic (PHE và FHE)
Định nghĩa mã hóa đồng cấu
Cho tập hợp rõ P tạo thành nhó với phép tính (+), tập bản mã C tạo thành nhóm với phép tính (x).
Ek(m) là hàm mã hóa 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 ((+),(x))- đồng cấu, nếu với các tham số k=k1 + k2, thỏa mãn công thức đồng cấu:
Ek1(m1) (x) 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.
Mã hóa homomorphic
Mã hóa một phần homomorphic PHE
Mã hóa đầy đủ Homomorphic FHE
Mã hóa 1 phần homomorphic PHE
Mã hóa SchemesExcept Boneh – Goh – Nissim hệ thống mật vã (cho phép một số ngẫu nhiên của đối tượng thêm vào chuỗi có sẵn), một chương trình PHE thường chỉ cho phép một loại hình hoạt động homomorphic.
Mã hóa một phần homomorphic PHE
Các thuật toán mã hóa một phần:
RSA
EI Gamal
Goldwasser-Micali
Benaloh
Pailier
Other partially homomorphic cryptosystems

Thuật toán Unpadded RSA và EI Gamal
Hoạt động homomorphic cung cấp bởi RSA là phép nhân của hai thông điệp modulo n:
Cho m1 và m2 hai thông điệp và được mã hóa của họ bằng cách sử dụng El Gamal. Sau đố, Ɛ(m1) Ɛ(m2) = Ɛ (m1m2).
Hệ thống mật mã này có thể tọa ra kí tự đặc biệt bảo đảm sử dụng chương trình mã hóa đệm ngâu nhiên như OAEP [14]. El Gamal hệ thống mật mã chủ yếu là cung cấp các phép nhân của hai tin nhắn.
Thuật toán RSA
Thuật toán RSA
Thuật toán RSA
Khóa công khai bao gồm:
n1 môđun,
e1 số mũ công khai (cũng gọi là số mũ mã hóa).
Khóa bí mật bao gồm:
n1 môđun, xuât hiện cả trong khóa công khai và khóa bí mât
d1 số mũ công khai (cũng gọi là số mũ mã hóa).

Thuật toán RSA
Một dạng khác của khóa bí mật bao gồm:
P and q1 hai số nguyên tố ban đầu,
D mod (p-1) và d mod (q-1) (thường được gọi là dmp1 và dmq1,
(1/q) mod p (thường được goi là iqmp)
Dạng này cho phé thực hiện giải mã và ký nhanh hơn với việ sử dụng định lý số dư Trung Quốc (tiếng anh: Chinese remainder Theorem – CRT). Ở dạng này, tất cả thành phần của khóa bí mật phải được giữ bí mật.
Thuật toán RSA
Hacker
Thuật toán RSA
Thuật toán RSA
Ví dụ:
Lấy 2 số khác nhau p, q:
P = 11, q = 13
Ta tính được số module N là N= qp = 11 * 13 = 143
Thuật toán RSA
Giá trị hàm Ơ le là:
ᶲ(n) = (p-1)(q-1) = 10 * 12 = 120
E là nguyên tố cùng nhau với sô ᶲ(n)
E = 17
Tìm d sao cho ed = 1 (mod ᶲ(n))
<=> 17 * d = 1 ( mod 120)
=> D = 113 vì 7*113 = 1921 = 16* 120 + 1 = 1 (mod 120)
Thuật toán RSA
Khóa công khai là cặp (e,n). Khóa bí mật là d. hàm mã hóa là:
C = encrypt(m) = me mod n = m17 mod 143
Với m là văn bản rõ. Hàm giả mã là:
M= decrypt(c) = ed mod n = e133 mod 143, với c là văn bản mã hóa
Thuật toán RSA
Để mã hóa văn bản có giá trị m = 50 và có cặp khóa công khai (e,n) là (17, 43) ta thực hiện phép tính:
Encrypt(50) = 5017 Mod 143 = 85
Để giải mã văn bản có giá trị c=85 và cặp khóa bí mật (d,n) là (113, 143) ta thực hiện phép tính:
Decrypt(85) = 85113 mod 143 = 50
Cả hai phé tính đều được thực hiện nhờ giải thuật bình phương và nhân
Goldwasser-Micali scheme
Goldwasser–Micali consists of three algorithms: a probabilistic key generation algorithm which produces a public and a private key,
a probabilistic encryption algorithm,
and a deterministic decryption algorithm.


Goldwasser-Micali scheme

The scheme relies on deciding whether a given value x is a square mod N, given the factorization (p, q) of N. This can be accomplished using the following procedure :

Tương tự RSA thì GM sử dụng độ khó của phân tích thừa số nguyên tố và sử dụng thêm tính chất của thặng dư bậc 2 để giải mã và mã hóa message.
Tạo khóa
1. Alice sẽ chọn 2 số nguyên tố p và q đủ lớn.
2. Nhân 2 số lại ta sẽ được N.
3. Alice sẽ tìm 1 số không phải là thặng dư bậc 2 của N là x
Khi đó public key sẽ là (x,N) và secret key là (p,q).
Mã hóa
Giả sử B.o.b gửi tin tới Alice
1. Mã hóa tin m thành chuỗi bit {m1,m2..}
2. Với mỗi bit thì Bob tạo chuỗi yi nguyên tố cùng nhau với N, cuối cùng tạo chuỗi ra chuỗi ci
Và gửi đi chuỗi này cho Alice.
Giải mã
Sau khi nhận chuỗi này thì Alice giải mã bằng cách với mỗi ci thì sử dụng 2 khóa p,q và xác định xem ci có phải là thặng dư bậc 2 của N không. Nếu có thì mi = 0 ngược lại thì mi = 1 .
Hệ mã hóa Elgamal
Hệ mã hóa với khoá công khai ElGamal được đề xuất năm 1985, dựa vào độ phức tạp của bài toán logarit rời rạc.
Hệ mã hóa 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 trong Zp*.
Chọn tập bản rõ P=Zp, chọn tạp bản
C={(a,b)/a,b,Zp}}
Chọn khóa bí mật là a, Zp*, khóa công khai h=ga
Đểm mã hóa m, ta chọn số ngẫu nhiên bí mật k, văn bản mã là(x,y) = Ek(m)=(gk, hkm).
Tài liệu được giải mã là m=y/xa.

Giả sử C có được bản mã, để giải mã được thì C phải đối mặt với bài toán sau :
- C phải tìm số a để có thể dùng phương pháp giải mã như B đã làm.
Cách tiếp cận này đòi hỏi C phải giải bài toán logarithm rời rạc, là một bài toán khó, do đó ElGamal là hệ mã khóa tương đối an toàn.

Benaloh và Paillier

Mã hóa đầy đủ Homomorphic FHE
FHE giải quyết một vấn đề mã hóa dữ liệ mà tính toán có thể được thực hiện trên các dữ liệu được mã hóa mà không biết khóa bí mật, giải mã. Chương trình như vậy nee cho phép một chức năng tùy ý trên dữ liệu được mã hóa mà không có chìa khó giải mã.
Đề án FHE bao gồm bốn thuật toán: key (hệ chính), encrypt (mã hóa tinh nhắn), decrypt (giải mã) và đánh giá (đánh giá homomorphic).
Mã hóa đầy đủ Homomorphic FHE
Sự phát triển của FHE
Trong năm 2009, Gentry xuất bản một chương trình FHE đầu tiên. Hệ thống của mình đã có thể đánh giá một số tùy ý bố sung và phép nhân trên dữ liệu được mã hóa (do đó, điện toán “bất kỳ” chức năng nào). Sử dụng mật mã mạng dự trên đề nghị đầu tiên của ông khá lý thuyết hơn việc có thể áp dụng.
Như vậy, trong tháng 12 năm 2009, ông mô tả trong môt bài báo viết cùng với van Dijk, Halevi và Vaikuntanathan, một chương trình đơn giản (DGHV) hơn một đầu tiên của mình.
Sự phát triển của FHE
Trong năm 2010, phiên bản mới triển khai thực hiện các đề án FHE làm việc xuất hiện. Đề án mới dựa trên RLWE (ring learning with erros) vấn đề đã được trình bày (bằng Brakerski và Vaikuntanathan) và áp dụng trong năm 2011 (theo Lauter, Naehrig và Vaikuntanathan). Ngoài ra, trong năm 2011 (theo Lauter, Naehrig và Vaikuntanathan). Ngoài ra, trong năm 2011, Coron, Naccache và Tibouchi mô tả một kỹ thuật nén để giảm kích thước khóa công khai của chương trình và DGHV.

Fully Homomorphic Encryption:
Protection of Applicatons and Data in the Cloud
Ứng dụng PHE – Đề án Bầu cử
Bình chọn trực tuyến (qua internet) có thể rất có lợi nhuận vì người sử dụng có khả năng bỏ phiếu độc lập vị trí của họ. Kết quả là, số lượng cử tri tham gia sẽ tăng lên và điều này sẽ có ảnh hửng lớn đối với xã hội của chúng ta. Hơn nữa, cuộc bầu cử có thể được tổ chức thường xuyên hơn để cho phép người dùng bày tỏ ý kiến của họ về những vấn đề nhất định. Chương trình bỏ phiếu điện tử đã được nghiên cứu hơn hai mươi năm qua. An toàn hệ thống bỏ phiếu điện tử cần mềm dẻo (đảm bảo sự rieeng tư của cử tri là rất quan trọng).
Ứng dụng PHE – Đề án Bầu cử
Bài toán e-voting:
Cần lấy ý kiến về một việc nào đó, cử tri phải ghi vào lá phiếu: đồng ý (1), 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ả như thế nào, trong khi không biết nội dung lá phiếu? (vì chúng đã được mã hóa)
Ứng dụng PHE – Đề án Bầu cử
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 tích các lá phiếu đã được mã hóa:
Theo tính chất đồng cấu thì tích của phép nhân trên chính là kết quả bỏ phiếu.
Ek1(m1) (x) Ek2(m2) = Ek (m1 (+) m2),
Như vậy sẽ xác định được kết quả mong muốn.
Kết luận
Các nhà nghiên cứu tin tưởng vào khả năng phát triển của FHE và đưa công nghệ liên qua mới đến cho thị trường rộng, các lĩnh vực liên quan. Trong bối cảnh đó, Homomorphic sẽ bắt đầu có nhiều hơn và nhiều hơn nữa các ứng dụng vượt xa các khu vực điện toán đám mây: nó có thể được sử dụng bất cứ khi nào cần làm các tính toán trên những thông tin chưa sở hữu xuất hiện.

[1] Wikipedia
[2] Bài báo: Homomorphic Encryption Schemes and Applications for a Secure Digital World

8qB4409r6N21xo4
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status