Điểm:1

Từng bước làm việc với đầu vào ví dụ cho Hàm băm NIST như SHA-1, SHA-2 và SHA-3

lá cờ in

Tôi đang làm việc để thực hiện triển khai Python ngây thơ của SHA-1, SHA-2 và SHA-3 và tôi cần kiểm tra và gỡ lỗi vì kết quả băm ngay bây giờ không chính xác.

Tôi đã tìm thấy từng bước hoạt động của SHA-256 tại đây. https://docs.google.com/spreadsheets/d/1mOTrqckdetCoRxY5QkVcyQ7Z0gcYIH-Dc0tu7t9f7tw/edit#gid=1025601888

Ai đó có thể liên kết với tôi từng bước hoạt động của SHA-1, SHA-2 và SHA-3 để lấy ví dụ đầu vào không?

Maarten Bodewes avatar
lá cờ in
Tại sao không chỉ thực hiện một triển khai đang hoạt động và đưa vào một số câu lệnh in để nhận các giá trị thập lục phân? SHA-512 không * phức tạp * như vậy.
arunkumaraqm avatar
lá cờ in
@MaartenBodewes Ý kiến ​​hay. Tôi bắt đầu làm điều đó 15 phút trước.
Maarten Bodewes avatar
lá cờ in
Tôi sẽ tăng tốc cho bạn một chút, xem [tại đây](https://eips.ethereum.org/assets/eip-2680/sha256-384-512.pdf). Nếu bạn có đầu ra không chính xác (và nếu không, bạn sẽ không hỏi), mặc dù vậy, bạn vẫn có thể cần triển khai tốt đã biết đó, chúng chỉ liệt kê các giá trị giữa các vòng.
arunkumaraqm avatar
lá cờ in
@MaartenBodewes Điều đó hữu ích ở một mức độ nào đó, nhưng tôi cần tính toán phức tạp cho khối đầu tiên đó.
Điểm:2
lá cờ in

NIST có một truyền thống rất lâu đời về việc xác thực các thuật toán đã được NIST chấp thuận. Nó được gọi là Chương trình xác thực thuật toán mật mã (CAVP). Trên trang con về thuật toán băm, bạn sẽ tìm thấy;

vectơ kiểm tra

Các vectơ thử nghiệm được liên kết bên dưới có thể được sử dụng để xác minh một cách không chính thức tính đúng đắn của việc triển khai thuật toán băm an toàn (trong FIPS 180-4 và FIPS 202) bằng cách sử dụng các hệ thống xác thực được liệt kê ở trên.

Tệp phản hồi (.rsp): các vectơ kiểm tra được định dạng đúng trong tệp phản hồi (.rsp). Các tệp phản hồi của nhà cung cấp phải khớp chính xác với định dạng này.

Tệp kết quả trung gian (.txt): tệp có kết quả trung gian (.txt) được cung cấp để trợ giúp gỡ lỗi.

Xem tệp README trong mỗi tệp zip để biết chi tiết.

Tải xuống cái thích hợp. Vectơ kiểm tra chứa, đầu vào và đầu ra, ngoại trừ Kiểm tra MonteCarlo. Nó cung cấp thông tin vòng lặp bên trong cho một số vòng lặp được chọn nhưng không cung cấp thông báo!.

Giá trị trung gian

Nếu bạn đang tìm kiếm đầu ra trung gian đầy đủ, có

  • Nguyên tắc và tiêu chuẩn mật mã - Ví dụ với các giá trị trung gian

    • FIPS 180-2 - Tiêu chuẩn băm an toàn

      • SHA-1
      • SHA-224
      • SHA-256
      • SHA-384
      • SHA-512
      • SHA-512/224
      • SHA-512/256
    • FIPS 202 - Tiêu chuẩn SHA-3: Hàm băm dựa trên hoán vị và hàm đầu ra có thể mở rộng

      • SHA3-224
      • SHA3-256
      • SHA3-384
      • SHA3-512
      • LẮC128
      • LẮC256
    • SP 800-185 - Hàm bắt nguồn từ SHA-3: cSHAKE, KMAC, TupleHash và ParallelHash

      • cSHAKE
      • KMAC và KMACXOF
      • TupleHash và TupleHashXOF
      • ParallelHash và ParallelHashXOF

Cách dễ nhất là xuất ra định dạng đầu ra chính xác giống nhau để bạn có thể so sánh tìm sự không khớp chỉ bằng một khác biệt công cụ như so sánh. Ở đó bạn có thể tìm thấy lỗi với xác suất cao.

Maarten Bodewes avatar
lá cờ in
Hmm, tôi tự hỏi làm thế nào mà những người làm tiền điện tử lại tạo ra một tài liệu được trình bày độc đáo như vậy. Nhưng có vẻ như bản gốc mà từ đó tài liệu NIST đã được tạo ra.

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