Vân tay cho bộ động


10

Có tồn tại cấu trúc dữ liệu từ RAM-bit với thời gian O (1) cho mỗi hoạt động cho vấn đề sau không?: Duy trì một bộ số nguyên không âm w-bit hỗ trợ các hoạt động

  • thêm (x): thêm x vào tập hợp
  • remove (x): xóa x khỏi tập hợp
  • dấu vân tay (): trả lại dấu vân tay của bộ. Dấu vân tay w-bit này có thuộc tính là hai bộ giống hệt nhau có cùng dấu vân tay trong khi hai bộ khác nhau có thể có dấu vân tay khác nhau

Tất cả các hoạt động nên chạy trong thời gian liên tục.

f(S)=(xS2x)modp
2xmodp

3
Tôi thấy rằng một câu hỏi tương tự đã được đăng ở đây , nhưng không có giải pháp liên tục được đưa ra.
Pat Morin

Câu trả lời:


1

Câu trả lời này là một chút sóng tay.

Chọn một hàm thống nhất một cách ngẫu nhiên từ tập hợp tất cả các hàm từ các từ w-bit đến các từ w-bit. Đối với mỗi bộ, duy trì dấu vân tay w-bit như sau:h

  1. Bộ trống có dấu vân tay 0.
  2. thêm (x) và xóa (x) cập nhật dấu vân tay thành , trong đó là xor.ffh(x)

Đặt là hai bộ số nguyên w-bit. Nếu dấu vân tay của chúng giống nhau, thì dấu vân tay của , chênh lệch đối xứng của và là 0, xảy ra với xác suất .STSTST2w


Và trong thực tế, bạn có thể khởi tạo với hàm giả ngẫu nhiên (PRF) từ mật mã - ví dụ, một cái gì đó dựa trên AES. Nên rất hiệu quả và bạn nhận được những lời hứa mạnh mẽ rằng nó sẽ hoạt động (trừ khi tiền điện tử bị hỏng). h
DW
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.