Điểm:4

Làm cách nào để lấy khóa một cách an toàn từ danh sách các byte ngẫu nhiên được sắp xếp?

lá cờ us

Có thể lấy khóa mật mã an toàn từ một mảng các byte được sắp xếp, giả sử chính các byte đó được tạo theo cách an toàn (giả sử, từ hiện tượng lượng tử)?

Điều gì sẽ là cách tiếp cận tốt nhất cho vấn đề này?

Maarten Bodewes avatar
lá cờ in
Tôi cho rằng các giá trị byte trùng lặp được cho phép? Mặt khác, sau 256 byte, không còn entropy. Tôi đang cố gắng tính toán xem có bao nhiêu entropy cho một lượng byte cụ thể, nhưng không thành công.
lá cờ us
Có, các giá trị trùng lặp được cho phép. Cảm ơn
Maarten Bodewes avatar
lá cờ in
Ổn thỏa. Sau khi chúng tôi tìm hiểu cách nhận được tới 128 bit entropy với các byte được sắp xếp, bạn chỉ cần sử dụng KDF để lấy khóa. Một số mật mã cũng có thể lấy khóa ở bất kỳ kích thước và hình thức nào, vì vậy bạn thậm chí có thể sử dụng trực tiếp các byte trong trường hợp bạn có đủ chúng (nhưng tôi có thể sẽ mặc định trên KDF để đảm bảo).
kelalaka avatar
lá cờ in
Đây là bài toán về xác suất, với 16 hộp đặt số theo thứ tự tăng dần từ 0 đến 255 và cho phép lặp lại. [Xác suất tăng trình tự](https://www.cut-the-knot.org/Probability/IncreasingSequence.shtml)
kelalaka avatar
lá cờ in
Tự hỏi nguồn gốc của vấn đề. Nguồn là gì, tại sao bạn nhận được các chuỗi ngẫu nhiên ngày càng tăng?
kelalaka avatar
lá cờ in
Để có câu trả lời chính xác, bạn cần xác định nguồn của byte. Bạn có một nguồn tạo ra chuỗi byte tăng dần hay nguồn tạo ra các byte ngẫu nhiên cho bạn thì bạn đang sắp xếp chúng.
Điểm:4
lá cờ ru

Giả sử rằng bạn biết rằng nguồn của bạn đang tạo ra các byte IID, những gì bạn có trong trường hợp này là một mẫu từ một phân phối đa thức với $k=256$. Nếu bạn biết rõ về xác suất của từng byte (ví dụ: 1/256 nếu chúng có thể xác định được), thì bạn có thể tính toán entropy trong phân phối sẽ tăng theo $n$ (kích thước của mảng) như được đề xuất trong nhận xét. Công thức cho entropy được đưa ra trong bài viết Wikipedia.

Tuy nhiên, entropy Shannon vẫn có thể che giấu các xác suất riêng lẻ xảy ra quá thường xuyên đối với khóa mật mã tốt. Thay vào đó, bạn nên đảm bảo rằng entropy tối thiểu $H_\infty$ lớn hơn một chút so với kích thước khóa được yêu cầu. Đối với các byte có thể trang bị được và đối với $256|n$, cái này sẽ $$-\log \left(\frac{n!}{\left(\frac n{256}\right)!^{256}}256^{-n}\right) .$$

Một lần nữa, điều này sẽ phát triển với $n$. Khi bạn có đủ entropy tối thiểu để cảm thấy thoải mái, chỉ cần tính số byte và đưa chúng vào hàm phái sinh chính mà bạn chọn.

ETA: @fgrieu yêu cầu một công thức entropy tối thiểu cho các giá trị tổng quát hơn của $n$. Điều sau đây rườm rà hơn, nhưng tôi nghĩ rằng nó nắm bắt chính xác giá trị phương thức của đa thức. Vì $n=256d+r$ với $0\le r<256$ công thức là $$-\log \left(\frac{n!}{(d!)^{256-r}((d+1)!)^r}256^{-n}\right) .$$

Paul Uszak avatar
lá cờ cn
Đây là _"byte đã sắp xếp"_, do đó rất KHÔNG PHẢI I.I.D. Vì vậy, cũng không thể được trang bị. Shannon đơn giản như vậy không áp dụng ở đây.
Daniel S avatar
lá cờ ru
@paul Tôi có hiểu lầm không? Tôi đặt câu hỏi có nghĩa là các byte được tạo theo cách IID và sau đó được sắp xếp.
kelalaka avatar
lá cờ in
Có bạn đã làm .. Mảng được sắp xếp và câu hỏi không hoàn toàn có thể trả lời được. Và tôi không chắc rằng đây là sự tò mò thuần túy từ OP. Nếu là người mới, hãy luôn cẩn thận rằng đó có thể là một hw.
lá cờ us
Cảm ơn bạn đã trả lời. Lý do tôi hỏi là vì tôi có quyền truy cập vào máy lượng tử mà tôi hy vọng sẽ sử dụng để tạo khóa mã hóa, nhưng kết quả tôi nhận được từ các lần chụp lặp lại chứa các kết quả được sắp xếp, không theo thứ tự thời gian.
kelalaka avatar
lá cờ in
Nếu kết quả được sắp xếp, làm thế nào chúng có thể là ngẫu nhiên?
lá cờ us
Như @DanielS đã quan sát, tính ngẫu nhiên không đến từ bản thân các con số mà từ tần suất chúng xuất hiện. Ít nhất đó là cách tôi hiểu phản ứng của anh ấy.
Daniel S avatar
lá cờ ru
@fgrieu: Cảm ơn vì đôi mắt đại bàng: Tôi đã bỏ qua giai thừa, điều này rõ ràng tạo ra sự khác biệt đáng kể! Lưu ý rằng công thức chỉ đúng với $256|n$. Nó là nhật ký của xác suất phương thức trong phân phối đa thức.
fgrieu avatar
lá cờ ng
@Daniel: Tôi đồng ý với công thức mới cho ít nhất $n=0$ và $n=256$ (đối với $0$ và $364,004$ bit entropy tối thiểu). Một công thức cho các giá trị trung gian sẽ rất tuyệ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.