Điểm:0

Các thuật toán nhanh nhất lấy mẫu từ phân phối đồng đều là gì?

lá cờ ru

Rất nhiều thuật toán mật mã dựa vào bộ tạo số giả ngẫu nhiên. Đôi khi, với một bản rõ, bạn cần tạo một số giả ngẫu nhiên từ nó. một số thuật toán nhanh mà làm như vậy là gì?

Tôi đã thấy một cái sử dụng SHA256 và cái khác sử dụng AES, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về chúng hoặc một số triển khai mà tôi có thể sử dụng. Chúng phải nhanh vì các bộ xử lý ngày nay có hỗ trợ phần cứng cho chúng.

trên trang 8 của bài báo này: dl.acm.org/doi/10.1145/2808425.2808431 nó nói rằng

nhập mô tả hình ảnh ở đây

lá cờ cn
Tiêu đề và nội dung của câu hỏi dường như không khớp.
lá cờ ru
@Maeher không phải trình tạo số giả ngẫu nhiên được sử dụng để lấy mẫu từ phân phối thống nhất?
Paul Uszak avatar
lá cờ cn
Tôi nghĩ rằng bạn sẽ phải mở rộng dựa trên _"Đôi khi, được cung cấp một văn bản thuần túy, bạn cần tạo một số giả ngẫu nhiên từ nó."_ Một văn bản thuần túy là một tin nhắn không được mã hóa với nội dung ngữ nghĩa. số giả ngẫu nhiên để làm gì?
lá cờ ru
@PaulUszak ở trang 8 của bài báo này: https://dl.acm.org/doi/10.1145/2808425.2808431 ghi là https://imgur.com/a/NhDoBlu
kodlu avatar
lá cờ sa
vui lòng chỉnh sửa câu hỏi của bạn để làm cho nó rõ ràng và khép kín
lá cờ cn
PRF không phải là lấy mẫu ngẫu nhiên. Và các bản phân phối có thể đồng nhất trên một thứ gì đó, ví dụ: một số bit nhất định hoặc một trường hữu hạn, không có 'phân bố đồng đều' chung.
lá cờ cn
Hmm, có 2 phiếu đóng và sau đó tiền thưởng đã được thêm vào (vì vậy không ai có thể bỏ phiếu đóng nữa). Thêm tiền thưởng thay vì khắc phục sự cố... điều này không khiến bất kỳ ai muốn giúp bạn.
Geoffroy Couteau avatar
lá cờ cn
Tôi nên đào sâu một chút để tìm một con trỏ, nhưng theo hiểu biết của tôi, các PRNG nhanh nhất hiện có dựa trên hoán vị AES với lịch trình khóa cố định. Một điểm khởi đầu tốt có thể là [bài báo này](https://eprint.iacr.org/2019/074.pdf)
Điểm:1
lá cờ in

Chuyển đổi một tin nhắn tùy ý thành một số giả ngẫu nhiên về cơ bản là tính toán một hàm băm mật mã.

Vì vậy, câu hỏi này dường như đang hỏi hàm băm mật mã an toàn nhanh nhất là gì?

Không rõ các yêu cầu bảo mật mà bạn có đối với hàm băm này là gì, một số thuật toán rất đơn giản và không bảo mật bằng mật mã nhưng vẫn cung cấp thông báo hữu ích khi không có đối thủ. ví dụ: CRC có thể rất nhanh.

Các thuật toán khác sẽ cung cấp khả năng chống ảnh trước và ảnh thứ hai nhưng không chống va chạm, ví dụ: MD5 hoặc SHA1

Một số thuật toán ngày nay được coi là an toàn nói chung và cung cấp khả năng chống va chạm và thường được mô hình hóa dưới dạng hàm giả ngẫu nhiên. Ví dụ: SHA-3.

Dưới đây là một số điểm chuẩn so sánh nguyên thủy mật mã https://www.cryptopp.com/benchmarks.html Và một so sánh khác (thiết lập khác và số liệu khác): https://medium.com/logos-network/benchmarking-hash-and-signature-algorithms-6079735ce05

Loại thứ hai đã chọn blake2 là hàm băm nhanh nhất và nó được coi là an toàn cho bất kỳ mục đích nào yêu cầu hàm băm an toàn, mặc dù nó không được sử dụng rộng rãi trong các họ SHA2 hoặc SHA3 được tiêu chuẩn hóa. (Lưu ý Blake2 có một số biến thể). nhập mô tả hình ảnh ở đây

Liên kết đầu tiên có MD5 khá nhanh với 6,8 chu kỳ cpu/byte, rất rất nhanh. Và vẫn an toàn cho nhiều mục đích nhưng một số sẽ không thoải mái khi sử dụng hàm Băm "Hỏng".

Đối với hầu hết các mục đích, bạn không cần thuật toán băm nhanh nhất, bạn cần một hàm băm đủ nhanh và việc triển khai tốt mọi tiêu chuẩn phải đủ nhanh. Không ai từng bị sa thải vì chọn SHA-3.

Điểm:0
lá cờ in

Cảnh báo: Tôi là người mới

TL; DR. Thuật toán mã hóa khóa chia sẻ trước nhanh nhất, chứa CSPRNG nhanh nhất (nó chỉ nói thêm rằng nó XOR đầu vào chống lại nó). Bạn có thể chỉ muốn sửa đổi một cái sao cho nó bỏ qua đầu vào (ví dụ: không XOR với đầu vào vì chúng tôi không muốn mã hóa).


Giả sử bạn hỏi về PRNG bảo mật bằng mật mã:

  • Nếu bạn muốn chu kỳ thực tế không giới hạn, thì hãy chọn thuật toán mã hóa chia sẻ trước nhanh nhất. Tôi nghĩ đó là mục tiêu thiết kế cơ bản của họ: tìm CSPRNG được tạo hạt giống nhanh nhất, sau đó XOR văn bản rõ ràng chống lại nó. Rốt cuộc, bí mật hoàn hảo xuất hiện khi văn bản rõ ràng được XOR đối với một số dữ liệu được phân phối đồng đều (tức là bảng một lần). Thuật toán mã hóa được chia sẻ trước chỉ nhằm mục đích tạo ra vùng đệm này bằng cách sử dụng phương pháp tạo hạt giống (hạt giống là khóa và trạng thái của CSPRNG là trạng thái mới).

  • Nếu bạn đồng ý với một chu kỳ giới hạn, thì bạn cần sửa đổi thuật toán mã hóa chia sẻ trước nhanh nhất để làm cho nó hoạt động ít hơn (ví dụ: kích thước khối nhỏ hơn).

  • Phớt lờ hàm băm cho mục đích này, vì chúng được thiết kế để giải quyết một to hơn vấn đề: nén, khiến chúng chậm hơn rất nhiều.

    Nén có nghĩa là đầu vào có thể lớn hơn nhiều so với đầu ra, tuy nhiên hàm băm được cho là đảm bảo rằng mọi bit của đầu vào được thể hiện trong mọi bit của đầu ra. Điều này buộc chức năng phải làm việc chăm chỉ hơn rất nhiều để đảm bảo sự phụ thuộc đó.

    Tôi thậm chí còn nghĩ rằng, nếu một người có thể sử dụng một hàm băm an toàn một cách kỳ diệu, bằng cách nào đó, quay trở lại đầu vào của nó, thì một $n$ chuỗi bit của hàm băm đó sẽ đánh bại quá trình nén dữ liệu mất dữ liệu tốt nhất cho một $n$ đầu ra bit.

    Mặt khác, thuật toán mã hóa chia sẻ trước không gặp phải thách thức khó khăn hơn này, vì đầu ra được đảm bảo ít nhất phải lớn bằng đầu vào.

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