Điểm:3

Các hàm dẫn xuất chính của PRNG có phải không?

lá cờ ng

PRNG là một cơ chế để tạo ra tính ngẫu nhiên từ một hạt giống ngẫu nhiên ban đầu, vì vậy về cơ bản là một cách để lấy được nhiều bí mật hơn từ một bí mật.

Nhìn vào mục Wikipedia cho KDF bạn tìm thấy

Trong mật mã học, hàm dẫn xuất khóa (KDF) là thuật toán mã hóa lấy được một hoặc nhiều khóa bí mật từ một giá trị bí mật, chẳng hạn như khóa chính, mật khẩu hoặc cụm mật khẩu.

Nghe có vẻ như PRNGS là gì đối với tôi. Vì vậy, việc phân loại PRNG là KDF có đúng không?

Điểm:2
lá cờ ng

Mặc dù PRNG không chính xác là KDF, nhưng có một số cấu trúc của KDF từ PRNG (thực ra là PRF, nhưng chúng tương đương nhau). Điều này tương tự như cách mã hóa (đối xứng) không giống với PRG, nhưng thật đơn giản để xây dựng mã hóa đối xứng từ PRG.

Để đọc thêm về điều này, xem NIST 800-108. Có ba cấu trúc được liệt kê từ các PRF tùy ý.

Lưu ý rằng cũng có nhiều cách khác để xây dựng KDF. Đặc biệt, một số KDF được xây dựng từ hàm băm, thay vì PRF. Cụ thể, tôi tin rằng PBKDF2 và Argon2 là những KDF phổ biến sử dụng hàm băm (SHA2 và Blake2) thay vì PRG cho nguyên thủy giả ngẫu nhiên cơ bản của chúng.

Điểm:0
lá cờ ph
jpa

Vì vậy, việc phân loại PRNG là KDF có đúng không?

Có hai sự khác biệt quan trọng:

  1. Loại bỏ bất kỳ mối tương quan nào trong các bit đầu ra có thể giúp thỏa hiệp các thuật toán khác sử dụng khóa. PRNG mã hóa đáp ứng điều này theo mặc định, nhưng ví dụ LFSR các thuật toán dựa trên không.

  2. Trong trường hợp đầu vào là mật khẩu, KDF cần một khoảng thời gian hợp lý để thực thi. Không quá chậm, nhưng cũng không quá nhanh - điều này giúp tăng khả năng chống lại bruteforcing khi entropy của mật khẩu không đủ lớn. Thông thường, các KDF được thiết kế để hạn chế lượng tăng tốc có sẵn từ phần cứng chuyên dụng như GPU và FPGA. Mặt khác, hầu hết các PRNG được thiết kế để hoạt động nhanh nhất có thể.

Tiêu chuẩn NIST 800-108 được đề cập bởi câu trả lời khác chỉ định các cách lặp lại PRNG nhiều lần theo một cách cụ thể. Điều này vừa giúp làm cho nó chậm hơn vừa giảm bất kỳ sai lệch đã biết hoặc chưa biết nào trong đầu ra.

SAI Peregrinus avatar
lá cờ si
Câu trả lời này dành riêng cho KDF dựa trên mật khẩu, không dành cho KDF nói chung. Các KDF "đơn giản" như HKDF được sử dụng để biến các byte ngẫu nhiên không đồng nhất (như kết quả của trao đổi ECDH) thành các byte ngẫu nhiên đồng nhất và thực hiện việc này một cách hiệu quả nhất có thể.
lá cờ ph
jpa
@SAIPeregrinus Bạn nói đúng. Tôi chỉnh sửa câu trả lời một chút.

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