Điểm:2

Các tính toán của tôi về thông số WOTS có đúng không?

lá cờ ca

Tôi đang đọc báo WOTS+, nhưng tôi gặp một số rắc rối với ký hiệu của nó và đặc biệt là các đơn vị liên quan. Ví dụ, theo diễn giải của tôi, các tham số n=11, w=16m=256 dẫn đến mức độ bảo mật lượng tử khoảng 81 bit, với một 992 byte chiều dài chữ ký, nhưng điều đó có vẻ không chính xác.

Theo hiểu biết tốt nhất của tôi, tôi đã tạo tập lệnh sau để xuất khóa công khai và độ dài chữ ký cũng như mức độ bảo mật cho cả WOTS+ và WOTS.

WOTS+

nhập toán

n = 16 # tham số bảo mật, tính bằng byte
w = 16 # tham số w
m = 256 # độ dài tin nhắn, tính bằng bit

l1 = math.ceil(m / math.log2(w))
l2 = math.floor(math.log2(l1*(w-1))/math.log2(w))+1
l = l1 + l2

# công thức từ giấy
pub_len = (l + w - 1) * n + 8 # độ dài khóa công khai tính bằng byte
sig_len = l * n # độ dài chữ ký theo byte
sec_lvl = n*8 - math.log2(w*w*l + w) # mức bảo mật lượng tử theo bit

in ("wot +")
print("pub_len: " + str(pub_len))
print("sig_len: " + str(sig_len))
in("sec_lvl: " + str(sec_lvl))

WOTS

nhập toán

n = 256 # tham số bảo mật, tính bằng bit
w = 16 # bit trên mỗi đơn vị ký
m = 256 # độ dài tin nhắn, tính bằng bit

l1 = n / w
l2 = math.ceil((math.floor(math.log2(l1))+1+w)/w)
l = l1 + l2

#chắc nhầm
pub_len = m * l1 / 8 # độ dài khóa công khai tính bằng byte
sig_len = m * l / 8 # độ dài chữ ký theo byte
sec_lvl = m / 3 # mức bảo mật lượng tử tính bằng bit

in ("wot")
print("pub_len: " + str(pub_len))
print("sig_len: " + str(sig_len))
in("sec_lvl: " + str(sec_lvl))

Tính toán của tôi có đúng không?

poncho avatar
lá cờ my
Bạn có ý nghĩa gì với "80 bit bảo mật hậu lượng tử"? Ý của bạn là thực hiện các phép toán $2^{80}$ trên máy tính lượng tử phải không? Nếu vậy, bạn cần tính đến Grover's, điều này hơi khó định lượng - một ứng dụng ngây thơ sẽ giả sử hàm băm 160 bit; tuy nhiên, Grover's sẽ yêu cầu các phép tính băm liên tiếp $2^{80}$ để tìm tiền ảnh 160 bit với phép tính $2^{80}$, điều này không thực tế...
lá cờ ca
@poncho vâng, ý tôi là thực hiện 2^80 thao tác trên máy tính lượng tử. Thành thật mà nói, tôi chỉ muốn chắc chắn rằng mình hiểu các công thức trong bài báo. Tôi đã cập nhật câu hỏi để hỏi trực tiếp hơn.
Điểm:0
lá cờ in

Các phép tính WOTS+ phần lớn là chính xác. Chỉ có mức độ bảo mật là "chỉ" bảo mật chống lại các đối thủ thông thường. Phương trình đúng cho các đối thủ lượng tử phải là

sec_lvl = n*8/2 - math.log2(w*w*l + w) # mức bảo mật lượng tử theo bit   

Vì máy tính lượng tử có thể tìm thấy tiền ảnh và tiền ảnh thứ hai với $2^{8n/2}$ truy vấn.

Trong tính toán WOTS

pub_len = m * l1 / 8 # độ dài khóa công khai tính bằng byte 
sig_len = m * l / 8 # độ dài chữ ký theo byte

nên là

pub_len = n * l # độ dài khóa công khai tính bằng byte 
sig_len = n * l # độ dài chữ ký theo byte

(chữ ký, khóa bí mật và khóa chung bao gồm l chuỗi giá trị có n bit).

Nếu không, mọi thứ dường như là chính xác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.