Điểm:1

Mật mã chẵn Mansour: Các thuật toán hiệu quả để lấy mẫu một hoán vị ngẫu nhiên

lá cờ cn

Sự hiểu biết của tôi về mật mã Even-Mansour như sau:

  • Chúng tôi rút ra một hoán vị ngẫu nhiên $P$ từ tập hợp tất cả các hoán vị $P: \{0,1\}^n \rightarrow \{0,1\}^n$. Hoán vị này là công khai.
  • Chúng tôi tạo hai khóa ngẫu nhiên $k_1, k_2 \in \{0,1\}^n$.
  • Để mã hóa một tin nhắn $m \in \{0,1\}^n$, chúng tôi tính toán $E_{k_1, k_2} = P(m \oplus k_1) \oplus k_2$.

Loại thuật toán nào tồn tại cho phép chúng ta lấy mẫu (và biểu diễn) hiệu quả một hoán vị $P$ từ tập hợp tất cả các hoán vị từ $n$ chuỗi bit để $n$ chuỗi bit?

Điểm:1
lá cờ sa

Even-Mansour là một mô hình lý thuyết để chứng minh kết quả bảo mật. Người ta sẽ cần lấy mẫu hoán vị của $n$ bit, nói cho $n=128,$ vì không gian kết quả của $N=2^n$ các đối tượng sẽ quá lớn để lưu trữ hoặc thao tác. Điều này tương tự như thực tế là không ai sử dụng i.i.d và i.i.d hoàn toàn ngẫu nhiên. chuỗi bit dưới dạng dòng khóa trong chế độ OTP trong mật mã hiện đại. Nó quá chậm.

Tuy nhiên, thuật toán sau đưa ra một hoán vị ngẫu nhiên trên $\{1,2,\ldots, N\}.$ Không có yêu cầu về hiệu quả tối ưu được thực hiện ở đây.

MÃ CHO PHÉP NGẪU NHIÊN CỦA DANH SÁCH NHỎ

Đầu vào: Danh sách $A=[1,2,\ldots, N]$ của $N=2^n$ mặt hàng.

Nhiệm vụ: hoán vị các giá trị trong $A$ ngẫu nhiên.

Để cho $S:=\{u: u \in A\}.$ Để cho $B:=A$

cho mỗi $i=1,\ldots,N$ làm

$\quad$ Chọn một số nguyên ngẫu nhiên $j \in S$

$\quad$ Thay đổi mảng $B$ qua $B[j]:=A[i]$

$\quad$ Gỡ bỏ $j$ từ bộ $S$

kết thúc cho Thuật toán này chọn $N,$ sau đó $N-1$, sau đó $N-2$ v.v. các đối tượng một cách thống nhất và có thể tạo ra từng hoán vị với khả năng như nhau, vì nó tạo ra $N\!$ sự lựa chọn. Đầu ra: Danh sách $A$ bây giờ là ngẫu nhiên.

Có nhiều cách hiệu quả hơn để lấy mẫu hoán vị ngẫu nhiên, xem ví dụ Jens Gustedt, "Efficient sampling of Random permutations", Tạp chí thuật toán rời rạc, Tập. 6, Số 1, 2006. Ngoài ra, hãy xem Fisher-Yates shuffle và Knuth Shuffle, google là bạn của bạn.

Thuật toán bên dưới không hoàn toàn đạt được điều đó, cảm ơn @kelalaka đã sửa lỗi

Đầu vào: Danh sách $A=\{1,2,\ldots, N\}$ của $N=2^n$ mặt hàng.

Nhiệm vụ: hoán vị các giá trị trong $A$ ngẫu nhiên.

cho mỗi $i=0,\ldots,N-1$ làm

$\quad$ Chọn một số nguyên ngẫu nhiên $j$ với $i<j<N.$

$\quad$ Hoán đổi các mục $A[i]$$A[j].$

kết thúc cho

Đầu ra: Danh sách $A$ bây giờ là ngẫu nhiên.

kelalaka avatar
lá cờ in
Như chúng ta đã biết từ ràng buộc sắp xếp so sánh, người ta cần khoảng $n \log n$ hoán đổi để biến mảng chưa sắp xếp thành mảng đã sắp xếp. $N$-swap không đủ để lấy mẫu tất cả các hoán vị, phải không?
lá cờ pe
Fisher-Yates dẫn đến một hoán vị ngẫu nhiên thống nhất. Xem xét số lượng khả năng cho $A[0]$, sau đó là $A[1]$, v.v.: $N\cdot N-1 \cdot \dots \cdot 1$ ​​= $N!$.

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