Có băm liên tục?


8

Câu hỏi:

Có thể có một hàm băm (bảo mật bằng mật mã) bảo tồn cấu trúc liên kết thông tin của không?{0,1}

Chúng ta có thể thêm một vị gần gũi tính toán một cách hiệu quả mà cho h k ( y ) (hoặc y chính nó) nói với chúng tôi nếu yrất gần với x (ví dụ khoảng cách Levenshtein hoặc Hamming khoảng cách xy là ít hơn một hằng số cố định c )?hk(x)hk(y)yyxxyc


Lý lịch:

Bởi topo thông tin trên trên tôi có nghĩa là không gian topo với điểm Σ * và với cơ sở { x Σ * : x Σ * } .ΣΣ{xΣ:xΣ}

Một cách tốt đẹp để suy nghĩ về topo đang xem xét bộ mở như tính chất của điểm đó là affirmable / kiểm chứng (tức là nếu nó là đúng, nó có thể được xác minh / quan sát rằng đó là sự thật). Với ý nghĩ này, các bộ đóng là thuộc tính đáng tin cậy .

Một chức năng là liên tục nếu hình ảnh nghịch đảo của mở bộ được mở. Trong trường hợp của chúng tôi phương tiện này mà cho tất cả các y Σ * , có tôi Σ *e - 1 ( y Σ * ) = x I x Σ * .f:ΣΣyΣIΣ

f1(yΣ)=xIxΣ.

Một cách hay để suy nghĩ về cấu trúc liên kết thông tin là xem nó như một cây chuỗi nhị phân. Mỗi cây con là một bộ mở cơ sở (và bộ mở khác có thể thu được từ việc lấy một tập hợp các bộ mở cơ sở).

Điều này đôi khi được gọi là topo thông tin của chuỗi vì mỗi điểm trong có thể được coi là một xấp xỉ hữu hạn một chuỗi / chuỗi nhị phân. x xấp xỉ y iff x là một chuỗi con ban đầu của y ( x y ). Ví dụ như 0011 Σ * là một xấp xỉ tới 00.110 *0011 00.110 * .Σxyxyxy0011Σ00110001100110

Và để tiếp tục, nếu chúng ta lấy một chuỗi gần đúng và hội tụ thành chuỗi nhị phân y (nghĩ về y như một nhánh vô hạn trong cây và x i s là các điểm trên nhánh đó) thì { f ( x i ) } hội tụ đến f ( y ) , f ( y ) = i f ( x i ) .{xi}iyyxi{f(xi)}f(y)

f(y)=if(xi).

Tôi đã quên mọi thứ tôi từng biết về cấu trúc liên kết. Có thể giải nén những gì nó có nghĩa là "bảo tồn cấu trúc liên kết thông tin" trong các điều khoản khép kín? Ngoài ra, khi bạn nói mật mã an toàn, bạn muốn nói đến phiên bản nào? Bạn có nghĩa là "cư xử như một nhà tiên tri ngẫu nhiên", hay bạn có nghĩa là "một chiều và chống va chạm"?
DW

@DW Tôi đã thêm một số lời giải thích, nhưng viết khiến tôi nhận thấy rằng câu hỏi đầu tiên của tôi không rõ ràng. Tôi phải suy nghĩ một chút để làm rõ nó. Câu hỏi thứ hai có vẻ ổn.
Kaveh

1
Băm nhạy cảm cục bộ có thể có liên quan. vi.wikipedia.org/wiki/Locality-sensitive_hashing
zenna

Câu trả lời:


5

x

Về mặt kỹ thuật, các hàm băm mật mã hiện đại hoạt động "giống như một lời sấm truyền ngẫu nhiên". Đối với một lời tiên tri ngẫu nhiên, không có vị từ gần gũi như vậy: điều tốt nhất bạn có thể làm là đảo ngược hàm băm và sau đó liệt kê tất cả các chuỗi đóng và băm chúng. Kết quả là, không có cách nào để làm điều này cho các hàm băm mật mã hiện đại.

D

h(x)=SHA256(D(x))x,yh(x)=h(y)x,yh(x)h(y)x,yx,yh(x),h(y)D

r1,,rk

h(x)=(SHA256(D(xr1),,SHA256(D(xrk)).

x,yiD(xri)=D(yri)h(x)i=h(y)ih(x)h(y)kx,y

h1()h(x)=(h1(x),SHA256(x))h1h1()

Đây là tất cả cho khoảng cách Hamming. Chỉnh sửa khoảng cách có lẽ khó hơn đáng kể.

Trong quá trình xây dựng ở trên, tôi đã lấy cảm hứng từ bài báo sau:

Ari Juels, Martin Wattenberg. Một kế hoạch cam kết mờ .

Ari Juels, Madhi Sudhan. Một sơ đồ kho tiền mờ . Thiết kế, mã và mật mã 38 (2): 237-257, 2006.

Ngẫu nhiên: trong mật mã, các hàm băm không bị khóa. Nếu bạn muốn một điều quan trọng, bạn có thể muốn xem xét các chức năng giả danh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.