Điểm:0

Cách thực hiện tổng kiểm tra WOTS

lá cờ us

Theo như tôi hiểu, chữ ký một lần của Winternitz được tạo bởi:

  1. Tạo một mảng các khóa riêng.
  2. Tạo một mảng khóa công khai bằng cách băm mỗi khóa riêng X lần, X là số khả năng khác nhau của các ký tự có thể xuất hiện ở mỗi vị trí của tin nhắn (hoặc hàm băm của tin nhắn) để xác minh.
  3. Tạo một mảng các giá trị băm làm chữ ký bằng cách băm từng khóa riêng X trừ đi "số thứ tự của ký tự" lần.
  4. Xác minh chữ ký bằng cách đếm số lần mỗi giá trị băm chữ ký cần được băm để đạt được khóa công khai và diễn giải số đó được tính là số thứ tự của ký tự. Với những con số này, sau đó chúng ta có thể tạo thành tin nhắn (hoặc hàm băm của tin nhắn), sau đó sẽ chứng minh rằng tin nhắn là hợp lệ.

Do đó, ví dụ: nếu chúng ta đang ký bằng các chữ số HEX, thì X sẽ là 15, vì các ký tự sẽ chuyển từ 0 (ký tự thứ nhất, đại diện cho 0 lần lặp) sang F (ký tự thứ 16, đại diện cho 15 lần lặp). Vì vậy, tuy nhiên, số lần chúng ta cần băm chữ ký để đạt được khóa công khai, nó sẽ đại diện cho một giá trị nhất định, từ 0 lần đến 15 lần (có hiệu quả 16 khả năng). Và nếu nó không bao giờ đạt đến nó, thì nó không hợp lệ.

Phải nói rằng, tôi đã đọc được rằng điểm yếu là chữ ký có thể bị thay đổi, bởi vì, ví dụ: nếu một ký tự được ký là A, thì có đủ thông tin để băm cả B, C, D, E và F. Sau đó , theo nhiều người, bao gồm cả Trang web này, giải pháp là thực hiện tổng kiểm tra.

Và đây là nơi tôi bị mắc kẹt. Tôi cũng không hiểu cách triển khai tổng kiểm tra. Tôi đã tìm thấy một số lời giải thích, nhưng tất cả chúng đều quá kỹ thuật hoặc quá mơ hồ và không cho tôi biết chính xác, nói một cách đơn giản, cách thực hiện tổng kiểm tra đó.

Vui lòng giải thích cho tôi cách thực hiện tổng kiểm tra bằng ngôn ngữ đơn giản mà bất kỳ ai cũng có thể hiểu được.

Và, nếu có thể, hãy bình luận làm thế nào tổng kiểm tra đó không thể bị nhiễm độc. Cảm ơn bạn.

Điểm:1
lá cờ my

Vui lòng giải thích cho tôi cách thực hiện tổng kiểm tra bằng ngôn ngữ đơn giản mà bất kỳ ai cũng có thể hiểu được.

Trên thực tế, đó là một 'tổng kiểm tra nghịch đảo'; khi bạn ký một ký tự X, bạn cũng thêm giá trị 15-X vào tổng kiểm tra; ví dụ: nếu bạn ký A, bạn thêm 5 vào tổng kiểm tra (vì A+5=F, ít nhất là ở dạng hex). Sau đó, bạn lấy số tiền đó và ký tên vào đó.

Ví dụ: nếu giá trị bạn đang ký bao gồm 4 ký tự A, 4, F, 0, thì bạn tính tổng các nghịch đảo (F-A)+(F-4)+(F-F)+(F-0)=1F, và do đó bao gồm hai ký tự 1, F trong chữ ký.

Dễ thấy rằng, nếu kẻ tấn công cố gắng tăng một ký tự trong thông điệp được băm, hắn sẽ giảm giá trị của tổng kiểm tra nghịch đảo, nghĩa là một số ký tự trong tổng giảm (và kẻ tấn công không thể tạo chữ ký cho ký tự giảm dần đó).

Ví dụ: nếu kẻ tấn công cố gắng giả mạo 4 ký tự B, 4, F, 0, thì tổng kiểm tra nghịch đảo mà người xác minh sẽ nhận được là 1E, kẻ tấn công không thể tạo WOTS hợp lệ cho 'E' (vì anh ta chỉ biết giá trị cho 'F')

algo avatar
lá cờ us
Cảm ơn rất nhiều. Suy nghĩ đầu tiên của tôi là, tại sao họ không thể sửa đổi một ký tự khác để bù cho phần bị mất trong tổng kiểm tra đảo ngược, vì vậy, thay vì chuyển từ A4F0 sang B4F0, hãy chuyển sang B3F0, để cân bằng nó, nhưng sau đó tôi hiểu rằng nó sẽ không thể 'xuống thấp hơn' vì chúng không có khóa riêng, chúng chỉ có thể tăng lên.
algo avatar
lá cờ us
Vì vậy, có vẻ như bất cứ khi nào một ký tự được tăng lên, giá trị của tổng kiểm tra sẽ giảm xuống và đồng thời, các ký tự không thể giảm được.
algo avatar
lá cờ us
Câu hỏi duy nhất của tôi là, làm thế nào mà họ không thể làm hỏng tổng kiểm tra? Ví dụ: tổng kiểm tra trong ví dụ của bạn là như thế này: A4F0 1F Nếu kẻ tấn công thay đổi ký tự của thông báo, nhưng cũng thay đổi một số ký tự trong tổng kiểm tra... B4F0 1E Tuy nhiên, có vẻ như tổng kiểm tra 1F thực sự không thể thay đổi thành 1E, vì các ký tự không thể giảm, vì vậy đó dường như là lý do tại sao tổng kiểm tra phải được đảo ngược ... Điều này có đúng không? Bởi vì tôi vẫn có một chút cảm giác nghi ngờ liên quan đến việc làm rối tổng kiểm tra.
poncho avatar
lá cờ my
@algo: vâng, đúng vậy; ý tưởng là kẻ tấn công không thể trực tiếp gây rối với tổng kiểm tra; anh ta chỉ có thể gây rối với hàm băm (và tổng kiểm tra được tính dựa trên đó). Và, nếu anh ta tăng một số ký tự ở đâu đó, thì anh ta phải giảm một số ký tự khác - và vì anh ta không biết tiền đề của phần tử WOTS đó nên anh ta không thể.

Đă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.