Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
VII-O-9
PHƯƠNG PHÁP ĐỒNG CẤU DỰA TRÊN RSA CHO DỮ LIỆU SỐ
Nguyễn Ngọc Anh Thƣ1, Đặng Hải Vân1
1
Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
Email: nnanhthu2512@gmail.com, dhvan@fit.hcmus.edu.vn
TÓM TẮT
Việc kiểm tra tình trạng sở hữu dữ liệu từ xa đóng vai trò rất quan trọng trong lưu trữ dữ liệu trên
cloud. Nó cho phép người sử dụng kiểm tra xem dữ liệu thuê ngoài của họ có được giữ nguyên vẹn
mà không cần phải download dữ liệu đó về. Bài báo này trình bày một giao thức được đề nghị bởi
FrancescSebe [1] để giải quyết vấn đề trên.Giao thức này cho phép kiểm tra tính toàn vẹn của dữ liệu
mà không giới hạn số lần kiểm tra.
Từ khóa: kiểm tra tình trạng dữ liệu từ xa, cloud, đồng cấu dựa trên RSA.
MỞ ĐẦU
Công ty tài chínhContoso [5]có 8 chi nhánh trên cả nước. Phòng công nghệ thông tin (IT) của Contoso
đang quản lý 400 servers và 1000 máy ảo đang chạy trên 100 server. Phần mềm đang chạy trên các server của
Contoso cung cấp dịch vụ cho 5000 người dùng. Hàng năm công ty Contoso cần 50 triệu làm vốn và phải chi
150 triệu cho chi phí vận hành. Trong đó, 80% chi phí dành cho vận hành các hệ thống hiện tại và chỉ 20% chi
phí đầu tư cho các hệ thống mới. Hơn nữa, trong khi số lượng công việc của phòng IT ngày càng nhiều thì số
nhân viên của phòng không tăng hoặc thậm chí còn bị giảm. Việc cung cấp nguồn lực IT mới đòi hỏi phải mất
nhiều tuần mà hệ thống lại có quá nhiều sự cố dẫn đến không thể sửa chữa kịp thời và làm cho hệ thống bị đình
trệ trong một thời gian dài, do đó hiệu suất công việc cũng như lợi nhuận giảm đi nhiều.
Từ vấn đề trên, chúng ta thấy được rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ
liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công
việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn.
Thuật ngữ ―cloud computing‖ ra đời cũng nhằm giải quyết các vấn đề nêu trên. Trước hết, khi ứng dụng
công nghệ này thì doanh nghiệp chỉ cần đầu tư cơ sở hạ tầng đúng với yêu cầu của doanh nghiệp và một cách tức
thời, không dư thừa lãng phí.Khi có nhu cầu mở rộng thì doanh nghiệp không cần phải suy nghĩ là phải đầu tư
thêm bao nhiêu máy chủ, bao nhiêu máy trạm, mà chỉ cần đưa ra thông số kỹ thuật thì các nhà cung cấp cloud sẽ
tự tìm kiếm tài nguyên rỗi để cung cấp cho doanh nghiệp.Kế đến, vì là dịch vụ nên doanh nghiệp chủ động trong
việc cắt giảm chi phí để mua bán, bảo trì tài nguyên. Doanh nghiệp không cần một đội ngũ chuyên gia đi mua
máy chủ, cài đặt máy chủ, bảo trì,...cũng như không cần đầu tư một đội ngũ để vận hành hệ thống, mà tất cả
những công việc này đã có nhà cung cấp cloud lo.
Tuy nhiên, bên cạnh những lợi ích đáng kể như vậy, cloud computing cũng vẫn còn tồn đọng nhiềuvấn đề
cần phải giải quyết.Trước hết đó là tính riêng tư của dữ liệu. Liệu các thông tin người dùng và dữ liệu được chứa
trên cloud có đảm bảo được quyền riêng tư, và liệu các thông tin đó có bị sử dụng vì mục đích khác mà chủ nhân
nó không hề biết? Kế đến là tính sẵn sàng. Các dịch vụ của cloud có thể bị ―treo‖ bất ngờ, các rủi ro khách quan
như đường truyền internet bị mất kết nối, ... có thể ảnh hường đến việc không sử dụng các dịch vụ cũng như
truy cập dữ liệu của mình trong một khoảng thời gian nào đó làm ảnh hưởng đến công việc. Hơn nữa, khi ứng
dụng công nghệ cloud computing thì ta hoàn toàn dựa vào nhà cung cấp, nếu vì một lý do nào đó mà nhà cung
cấp ngừng hoạt động hoặc không cung cấp dịch vụ nữa, thì người dùng phải sao lưu dữ liệu từ cloud về máy cá
nhân rất tốn thời gian, và có thể có trường hợp mất luôn dữ liệu không phục hồi lại được. Đôi khi, nhà cung cấp
còn tự ý xóa những dữ liệu không hoặc ít được truy cập trong thời gian dài để tiết kiệm không gian lưu trữ và
che dấu việc mất mát dữ liệu bằng cách tuyên bố dữ liệu vẫn đang được lưu chính xác trên cloud.
Giải pháp hàm băm đồng cấu dựa trên RSA được đề ra trong bài báo này nhằm giải quyết một phần vấn đề
liên quan đến mất dữ liệu được nêu ở trên. Thông qua giao thức này, người dùng có thể kiểm tra tính chính xác
của dữ liệu đang được lưu trữ trên cloud, đồng thời nhà cung cấp cũng có thể chứng minh sở hữu cho bất kỳ tập
dữ liệu nào đối với người chủ dữ liệu. Đặc biệt, người kiểm tra không cần phải có dữ liệu này trong suốt quá
trình thực hiện giao thức mà chỉ cần giữ giá trị băm của nó. Giao thức này cũng đã được chứng minh là an toàn
như bài toán phân tích thành thừa số.
Bài báo được tổ chức như sau: Mục2giới thiệu mô hình băm đồng cấu sẽ được áp dụng để giải quyết những
tranh chấp liên quan đến tính nhất quán trong khi chuyển đổi dữ liệu. Mục 3 sẽ tổng kết lại các kết quả thực
nghiệm được thực hiện trên mô hình đã được đề xuất.Cuối cùng, mục 4 sẽ mô tả một số công trình có liên quan
đến bài toán chứng minh sở hữu dữ liệu.
ISBN: 978-604-82-1375-6
59
Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
GIẢI PHÁP HÀM BĂM ĐỒNG CẤU DỰA TRÊN RSA
Lý thuyết
Một số kiến thức liên quan
Mã hóa đồng cấu [6]
Mã hóa đồng cấu là dạng mã hóa cho phép các loại phép toán nào đó được thực hiện trên bản mã và tạo ra
kết quả được mã hóa mà khi được giải mã cho kết quả giống với kết quả khi thực hiện phép toán trên bản rõ, nói
cách khác mã hóa đồng cấu cho phép xử lý dữ liệu được mã hóa mà không cần giải mã chúng.
Giải thuật RSA là đồng cấu với phép nhân vì nó cho phép nhân các bản mã để đạt được bản mã tích. Sở dĩ
RSA có tính chất này là do RSA được dựa trên hàm mũ. Thực vậy, cho khóa công khai Kpub = (N,e), ta có được
bản mãC bằng cách C ← 𝜋 𝑒 mod N. Do đó, k bản mã có thể được nhân với nhau bằng cách sử dụng 𝑘𝑖 𝐶𝑖 =
( 𝑘𝑖 𝜋𝑖 )𝑒 mod N. Sau đó, ta có thể phục hồi kết quả bằng cách sử dụng khóa bí mật Kprivđể giải mã 𝑘𝑖 𝜋𝑖 . Do
RSA chỉ có thể thực hiện phép nhân mà không thể thực hiện phép cộng nên nó chỉ là đồng cấu một phần. Các
mô hình mã hóa đồng cấu toàn phần cho phép thực hiện cả hai phép cộng và phép nhân.
Hàm băm đồng cấu [2]
Một hàm H là đồng cấu nếu: cho hai toán tử + và ×, chúng ta có
H(d + d’) = H(d)×H(d’)
Một hàm băm đồng cấu là hàm băm có tính chất đồng cấu.Trong nhiều trường hợp, một hàm băm có tính
chất đồng cấu yếu. Tuy nhiên, có thể xây dựng các hàm băm đồng cấu mạnhdựa trên khoá công cộng, miễn là
các tham số bí mật không bị tiết lộ; cho đến nay, ví dụ duy nhất được biết đến là công việc của Krohn, Freedman
và Mazires [4], dựa trên logarit rời rạc.
Chúng ta bây giờ mô tả một hàm băm đồng cấu khác, dựa trên những nguyên lý tương tự RSA.
Gọi n là một RSA modulus (nghĩa làn = pqvới p và q là các số nguyên tố), và∅(n) = (p−1)(q−1) là cấp
của(Z/nZ)∗.Dữ liệu công khai cho hàm băm là n và một số nguyên b được chọn ngẫu nhiên. Để băm một cụm dữ
liệu d kích thước tuỳ ý, cần tính:
H(d) = bd mod n
Mô hình này là đồng cấu dưới phép cộng các số nguyên: H(d + d’) ≡ bd+d’ ≡ bdbd’ ≡ H(d)H(d’) (mod n).
Tìm sự đụng độ cho việc băm này liên quan đến tìm các thông điệp d, d’ sao choH(d) = H(d’).Nghĩa là, bd
d’
≡ b (mod n), do đóbd−d’ ≡ 1 (mod n). Theo định lý Euler, d−d’phải là bội số của∅(n).Do đó, bài toán được rút
gọn thành tìm các số nguyên đồng dư modulo ∅(n).
Giải pháp [1]
Giải thuậtđượccải tiến từ giao thức của Filho [2] bằng cách chia dữ liệu thành nhiều khối và tạo giá trị băm
đồng cấu cho từng khối. Giao thức kiểm tra dựa trên phương pháp trao đổi khóa Diffie-Helman.
Thiết lập tham số
Gọi verifier là người dùng muốn lưu trữ dữ liệu của mình lên server, prover là server được dùng để lưu trữ
dữ liệu.
Gọi N = pq là một RSA modulus do người verify tạo ra, trong đó p và q là những số nguyên tố sao cho
p'=(p-1)/2 và q'=(q-1)/2 cũng là các số nguyên tố. N được công khai còn∅(N) = (p-1)(q-1) được giữ bí mật (chỉ
người verify biết).
Gọi l là số nguyên dương được chọn sao cho đảm bảo thoả hiệp giữa yêu cầu về lưu trữ bên phía verifier và
chi phí tính toán bên phía prover, t là tham số bảo mật và PRNG là bộ sinh số giả ngẫu nhiên để tạo ra các số
nguyên t bit.
Dữ liệu đầu vào m được chia thành n khối, mỗi khối kích thước l bit (n= |𝑚|/𝑙 ). Khối cuối cùng nếu
không đủ l bit sẽ được chèn thêm các số 0 vào cuối.
Giá trị băm đồng cấu Mi = mi mod∅(N)sẽ được tính và lưu trữ cho từng mi.
Thủ tục verify challenge-response
ISBN: 978-604-82-1375-6
60
Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
Đầu tiên, verifier sẽ tạo hạt giống ngẫu nhiên S và phần tử ngẫu nhiên a ∈ZN \ {1,N-1} rồi gửi challenge
(a,S) đến prover. Sau khi nhận được (a,S), prover sẽ tạo ra n số giả ngẫu nhiên ci∈ [1,2t] với i = 1 đến n bằng
cách sử dụng PRNG với hạt giống S, tính 𝑟 = 𝑛𝑖=1 𝑐𝑖 𝑚𝑖 và R = armodN. Sau đó gửi R cho verifier. Verifier sau
khi nhận được R sẽ sinh lại n số giả ngẫu nhiên ci∈[1,2t] với i = 1 đến n bằng cách sử dụng PRNG với hạt giống
𝑛
S, tính𝑟′ = 𝑖=1 𝑐𝑖 𝑀𝑖 𝑚𝑜𝑑∅(𝑁) và R' = ar'modN. Sau cùng, verifier sẽ kiểm tra R và R’ xem có bằng nhau
không, nếu bằng chứng tỏ dữ liệu đang được lưu trữ chính xác.
Sơ đồ challenge-response được tóm tắt như sau:
1. Gửi mi,(a,S)
Prover
Verifier
2.
- Tạo (a,S)
- Nhận R
- Tạo ci, tính r’, R’
- Kiểm tra R, R’
Gửi R
- Nhận mi, (a,S)
- Tạo ci, tính r, R
Thuật toán
Giải thuật Sebe được chỉ ra trong Giải thuật 1. Giải thuật đầu tiên sẽ tính giá trị cận trên của số blocks mà
dữ liệu m sẽ được phân chia (dòng 1), kế tiếp sẽ tiến hành chia nhỏ dữ liệu m thành các blocks (dòng 2 và 3) rồi
thực hiện sinh 2 số nguyên tố p và q với chiều dài là k bits (dòng 4), tính giá trị cho ∅(𝑁) và N (dòng 5). Sau đó
tính giá trị hash cho từng block dữ liệu (dòng 6 – 8). Tiếp theo, giải thuật sẽ sinh giá trị ngẫu nhiên cho (a,S)
(dòng 9), sinh ngẫu nhiên các giá trị civà tính r, R (dòng 10 – 14). Cuối cùng là sinh lại ci và tính r’, R’ (dòng 15
– 18)
Giải thuật 1Sebe (data m, bitsl, security parameter t)
1: n ←length(m)/l
2: for i from 1 to n
3: m[i] ← m.substring(1+l*(i-1),l*i)
4: p ←Generate prime number (k); q← Generate prime number(k)
5: ∅(𝑁) ← (p-1)*(q-1); N ← p*q
6: initialize M[1..n] to be an empty array
7: for i from 1 to n do
8: M[i] ← m[i]mod ∅(𝑁)
9: S ← random(1,N-1); a←random(2, N-1)
10: initialize c[1..n] to be an empty array
11: for i from 1 to n do
12:
c[i] ←random(1, 2t)
13:
r ← r + c[i]*m[i]
r
14:R← a mod N
15: for i from 1 to n do
16:
c[i] ← random(1, 2t)
17:
r’← r’ + c[i]*M[i]mod∅(𝑁)
r’
18:R’← a mod N
ISBN: 978-604-82-1375-6
61
Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
THỰC NGHIỆM
Mô tả kịch bản
Thực nghiệm
Môi trường lập trình
Visual Studio 2013
Hệ điều hành
Win 8.1, x64
Cấu hình
Intel Core i5, 1.7GHz, RAM 4.00 GB
Thư viện (Các hàm sinh số nguyên tố, sinh
NTL 6.2.1
số ngẫu nhiên, nhân modulo, cộng modulo,
lũy thừa modulo, tính thời gian)
Đọc vào file dữ liệu gồm 49998 số nguyên tố, mỗi số 8000 bit. Chia file này thành 49998 blocks (m1,
m2,…,m49998), mỗi số là một block. Do đó, n = 49998 và l = 8000.
Tham số t là 128.
Tiến hành 2 lần thực nghiệm tương ứng với chiều dài N là 1024 và 2048 bit.Mỗi lần thực hiện cho số lượng
các block(n) khác nhau lần lượt là 6000, 12000, 18000, 30000 và 49998.Do kích thước dữ liệu lớn nên không thể
nạp tất cả 49998 blocks vào bộ nhớ một lúc mà phải chia thành nhiều lần đọc dữ liệu, mỗi lần đọc tương ứng với
6000, 12000, 18000, 30000 và 49998 blocks, đồng thời, dữ liệu của lần đọc sau sẽ được lưu vào ô nhớ của dữ
liệu lần đọc trước. Chẳng hạn, lần đầu tiên đọc 6000 blocks dữ liệu đầu, đo thời gian lưu trữ, thời gian tính toán
bên phía prover, thời gian tính toán bên phía verifier cho 6000 blocks đó, tiếp tục đọc tiếp 6000 blocks dữ liệu
tiếp theo và cũng đo các mốc thời gian tương tự…cho đến khi đọc hết 19998 blocks dữ liệu cuối cùng.
Mục đích thực nghiệm là nhằm đo được thời gian lưu trữ, thời gian tính toán bên phía prover và thời gian
tính toán bên phía verifierứng với chiều dài N lần lượt là 1024 bit và 2048 bit cho phương pháp mã hóa đồng cấu
được đề nghị bởi tác giả FrancescSebe.
Các bước thực nghiệm
Quá trình thực nghiệm gồm 3 bước.
Bước 1: Đọc file dữ liệu, tách dữ liệu thành nhiều blocks, sinh 2 số nguyên tố p,q, tính ∅(𝑁), N, Mi và đo
thời gian lưu trữ.
Bước 2: Sinh ngẫu nhiên a, S, ci, tính r, R và đo thời gian tính toán bên phía prover.
Bước 3: Sinh ngẫu nhiên ci, tính r’, R’ và đo thời gian tính toán bên phía verifier.
Kết quả thực nghiệm
Thời gian lưu trữ
Bảng 1. Thời gian lưu trữ
ISBN: 978-604-82-1375-6
N: 1024 bit
N: 2048 bit
Số blocks (n)
Thời gian (ms)
Thời gian (ms)
6000
17,050
639,942
12000
17,476
640,366
18000
17,830
640,978
30000
18,406
641,922
49998
19,655
643,543
62
Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
Thời gian prove
Bảng 2. Thời gian tính toán bên phía prover
N: 1024 bit
N: 2048 bit
Số blocks (n)
Thời gian (ms)
Thời gian (ms)
6000
1,424
2,547
12000
2,987
5,098
18000
4,324
7,680
30000
6,626
12,042
49998
11,015
18,318
Thời gian verify
Bảng 3. Thời gian tính toán bên phía verifier
ISBN: 978-604-82-1375-6
N: 1024 bit
N: 2048 bit
Số blocks (n)
Thời gian (ms)
Thời gian (ms)
6000
915
2,215
12000
2,429
4,353
18000
3,047
6,649
30000
5,037
10,849
49998
9,910
17,252
63
Thời gian (ms)
Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
650,000
640,000
630,000
620,000
610,000
600,000
590,000
580,000
570,000
560,000
550,000
540,000
530,000
520,000
510,000
500,000
490,000
480,000
470,000
460,000
450,000
440,000
430,000
420,000
410,000
400,000
390,000
380,000
370,000
360,000
350,000
340,000
330,000
320,000
310,000
300,000
290,000
280,000
270,000
260,000
250,000
240,000
230,000
220,000
210,000
200,000
190,000
180,000
170,000
160,000
150,000
140,000
130,000
120,000
110,000
100,000
90,000
80,000
70,000
60,000
50,000
40,000
30,000
20,000
10,000
0
Thời gian lưu trữ
(N:1024 bit)
Thời gian prove
(N:1024 bit)
Thời gian verify
(N:1024 bit)
Thời gian lưu trữ
(N:2048 bit)
Thời gian prove
(N:2048 bit)
Thời gian verify
(N:2048 bit)
6000
12000
18000
30000
49998
Hình 1. Tổng kết thời gian lưu trữ, thời gian prove và thời gian verify
Đánh giá kết quả:
Thời gian lưu trữ chủ yếu là thời gian sinh 2 số nguyên tố p, q. Chẳng hạn, khi thời gian lưu trữ là 17s thì
thời gian sinh số nguyên tố là 16.5s, chiếm 97% thời gian lưu trữ, trong khi thời gian tính N, ∅(𝑁) và tính giá trị
ISBN: 978-604-82-1375-6
64
Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
băm Michỉ khoảng 0.5s. Do đó, khi số lượng blocks tăng lên thì thời gian lưu trữ tăng không đáng kể do thời gian
sinh số nguyên tố vẫn như cũ, chỉ có thời gian tính giá trị băm Mităng lên không đáng kể.
Thời gian prove chủ yếu bao gồm thời gian sinh n số ngẫu nhiên ci và thời gian tính r, R. Chẳng hạn, khi
thời gian prove là 1.65s thì thời gian sinh n số ngẫu nhiên cilà 0.95s, thời gian tính r, R là 0.7s. Với thời gian
verify là 1.3s, thời gian sinh n số ngẫu nhiên cicũng khoảng 0.95s trong khi thời gian tính r’, R’ vào khoảng
0.35s.
Mặc dù thời gian thực hiện phép nhân nhanh hơn thời gian thực hiện phép nhân modulo (thời gian phép
nhân là 1𝜇𝑠 trong khi thời gian phép nhân modulo là 5𝜇𝑠) nhưng thời gian verify vẫn nhanh hơn thời gian prove
là do khi prove cần tính lũy thừa modulo của r, còn khi verify cần tính lũy thừa của r’. Mà kích thước của r
khoảng 8000 bit còn kích thước của r’ nhỏ hơn 1024 bit nên thời gian tính lũy thừa modulo khi prove chậm hơn
thời gian tính lũy thừa modulo khi verify dẫn đến thời gian prove chậm hơn thời gian verify.
Khi kích thước N tăng lên, thời gian prove và thời gian verify chỉ tăng khoảng gấp đôi tuy nhiên thời gian
lưu trữ tăng hơn 37 lần do thời gian sinh 2 số nguyên tố p, q tăng. Thời gian sinh số nguyên tố 512 bit là 22.877 s
trong khi thời gian sinh số nguyên tố 1024 bit là 736s.
Thực nghiệm với kích thước dữ liệu đầu vào m là 120MB (49998 blocks có kích thước 8000 bit/1 block)
thì thời gian tính toán tối đa chỉ khoảng 11s (bên phía prover) và khoảng 10s (bên phía verifier).
HẠN CHẾ
Chi phí lưu trữ vẫn còn khá lớn, chẳng hạn khi thực nghiệm với kích thước dữ liệu đầu vào m là 120MB thì
thời gian lưu trữ là hơn 19s.Tuy nhiên, hiện tại, trong chi phí lưu trữ thì chi phí sinh 2 số nguyên tố p, q chiếm
97.Vì vậy, muốn giảm chi phí lưu trữ thì cần thiết phải giảm chi phí sinh số nguyên tố. Mà hàm sinh số nguyên
tố sử dụng hàm của thư viện NTL:
p = GenGermainPrime_ZZ(512,80);
q = GenGermainPrime_ZZ(512,80);
Do đó, hiện nay vẫn chưa nghĩ ra cách để có thể cải thiện được chi phí lưu trữ.
CÁC CÔNG TRÌNH LIÊN QUAN
Filho et al.[2] đã đề nghị một giao thức mã hoá bằng hàm băm đồng cấu dựa trên RSA. Thông qua giao
thức này, prover có thể chứng minh việc sở hữu một tập dữ liệu cho verifier. Đầu tiên, verifier sẽ tính giá trị băm
cho dữ liệu m cần kiểm tra h(m)= m mod∅ 𝑁 (trong đó ∅ 𝑁 là hàm Euler của N) rồi gửi dữ liệu m cho prover.
Sau đó, verifier có thể xoá dữ liệu m trên máy và chỉ cần giữ lại giá trị bămh(m). Để kiểm tra tính chính xác của
dữ liệu có Verifier tính M’p = bh(m) mod N và kiểm tra xem Mpcó bằng M’p không. Nếu bằng, chứng tỏ prover
đang lưu dữ liệu m chính xác. Thật vậy, ta có h(m)= m mod∅ 𝑁 , suy ra m - h(m)phải là bội số của ∅ 𝑁 . Theo
định lý Euler ta được bm - h(m)≡ 1 (mod N), do đó bm≡bh(m)(mod N), nghĩa là Mp = M’p .
Acknowledgment.I acknowledge support from A.Prof. Dr. Nguyễn Đình Thúc, who is my supervisor.
Lời cảm ơn: Tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS.Nguyễn Đình Thúc – người đã trực tiếp
hướng dẫn, chỉ bảo tận tình, giúp tôi hoàn thành bài báo này.
RSA-BASED HOMOMORPHIC HASH VALUE
ABSTRACT
Remote data possession cheking plays an important role in data storage. It permits users to check that data
is correctly stored in the Cloud without downloading them. This paper presents a protocol which was proposed
by FrancescSebe [1] in order to tackle this problem. The protocol allows checking data integrity with an
unlimited number of file verifications.
Key words: remote data possession checking, cloud, RSA-based homomorphic.
TÀI LIỆU THAM KHẢO
[1] FrancescSebe,
JosepDomingoFerrer,
AntoniMartinezBalleste,
YvesDeswarte,
Jean-Jacques
JacquesQuisquater, Efficient remote data possession checking in critical information infrastructures,IEEE
Trans. Knowl. Data Eng. 2 (2008) 1034-1038.
[2] Décio LuizGazzoni Filho,Paulo Sérgio LicciardiMessederBarreto, Demonstrating Data Possession and
Uncheatable Data Transfer,IACR ePrint Archive150 (2006).
[3] Kan Yang, Xiaohua Jia, Data storage auditing service in cloud computing: challenges, methods and
opportunities,Springer Science+Business Media15 (2011) 409-428.
[4] Maxwell Krohn, Michael Freedman, David Mazieres, On-the-fly verification of rateless erasure codes for
efficient content distribution,IEEE Symposium on Security and Privacy(2004)226–240.
ISBN: 978-604-82-1375-6
65
Báo cáo toàn văn Kỷ yếu hội nghị khoa học lần IX Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM
[5]
[6]
Tom Shinder, Jim Dial, Yuri Diogenes, Bill Loeffler, John Dawson, Pilar Ackerman,Cloud infrastructure
solution for enterprise IT. Microsoft (2013).
Pedro Silveir Pisa, Michel Abdalla, Otto Carlos Muniz Bandeira Duarte, Somewhat Homomorphic
Encryption Scheme for Arithmetic Operations on Large Integers,Global Information Infrastructure and
Networking Symposium (GIIS) (2012) 1-8.
ISBN: 978-604-82-1375-6
66
... ĐHQG-HCM GIẢI PHÁP HÀM BĂM ĐỒNG CẤU DỰA TRÊN RSA Lý thuyết Một số kiến thức liên quan Mã hóa đồng cấu [6] Mã hóa đồng cấu dạng mã hóa cho phép loại phép toán thực mã tạo kết mã hóa mà giải mã cho kết... mã hóa đồng cấu cho phép xử lý liệu mã hóa mà không cần giải mã chúng Giải thuật RSA đồng cấu với phép nhân cho phép nhân mã để đạt mã tích Sở dĩ RSA có tính chất RSA dựa hàm mũ Thực vậy, cho khóa...