Điểm:2

Lợi thế của đối thủ chống lại một chức năng đơn giản?

lá cờ ng

Kẻ tấn công phải giành chiến thắng trong trò chơi sau bằng cách phân biệt đầu ra đó đã được cập nhật bởi một chức năng nào đó hay chưa?

  1. Kẻ tấn công truy vấn một lời tiên tri cho đầu ra.

  2. Oracle tạo 4 byte ngẫu nhiên mới $a$, $b$, $c$, và $d$ và một bit ngẫu nhiên $x$.

  3. nếu $x=0$, Oracle xuất ra các giá trị của $a$, $b$, $c$, và $d$.

  4. nếu $x=1$, trước tiên, nó cập nhật các giá trị bằng cách sử dụng các phương trình sau (được áp dụng tuần tự) và sau đó xuất các giá trị đã cập nhật của $a$, $b$, $c$, và $d$. $$\begin{align} a &= (a + dc) \bmod 256;\ b &= (b + quảng cáo) \bmod 256;\ c &= (c + ba) \bmod 256;\ d &= (d + cb) \bmod 256;\ \end{align}$$

  5. Mục tiêu của kẻ tấn công là tìm ra đầu ra đó là kết quả của bước 3 hay 4?

*Kẻ tấn công có thể thực hiện vô số truy vấn.

Ví dụ: nếu a=0, b=0, c=1, d=1 và x=1 ở bước 2, thì Oracle xuất ra 1,1,2,3.

ShAr avatar
lá cờ cn
Mục tiêu của kẻ tấn công là gì? Lợi nhuận/thu nhập hoặc tiện ích fn là gì?
elonnoe avatar
lá cờ ng
@ShAr đã cập nhật câu hỏi.
ShAr avatar
lá cờ cn
Tôi đã trả lời, nhưng tôi nghĩ Q này phù hợp hơn trong Khoa học máy tính hoặc Lý thuyết trò chơi/số thorey cho các hoạt động của mod nếu có. Dù sao, đây chỉ là một ý kiến ​​​​không bỏ phiếu bất cứ điều gì
fgrieu avatar
lá cờ ng
Tuyên bố vấn đề ở 4 không rõ ràng về việc liệu các phương trình được áp dụng tuần tự hay dưới dạng một khối, ví dụ: nếu ở bước 2 a=0, b=0, c=1, d=1, x=1 thì Oracle có xuất ra 1,1,2,3 hay 1,0,1,1 không? Lần đọc đầu tiên làm cho vấn đề trở nên dễ dàng hơn: mỗi thay đổi tạo ra điều gì đối với sự phân bố của những gì nó thay đổi? Lần đọc thứ hai thú vị hơn. Gợi ý: khám phá điều gì xảy ra với bit bậc thấp, sau đó là bit thứ hai. Thế là đủ để giành chiến thắng trong trò chơi, nhưng không có được lợi thế tốt nhất. Để suy ngẫm: $(\mathbb Z_{2^k},+,\cdot)$ chỉ là một trường khi $k=0$. Nếu bạn muốn giúp đỡ, hãy cho chúng tôi biết bạn đã làm gì, bạn đang gặp khó khăn ở đâu!
elonnoe avatar
lá cờ ng
@fgrieu Tôi đã cập nhật câu hỏi để giải quyết truy vấn của bạn. Tôi đã tính toán tần suất của từng giá trị có thể có cho từng byte đầu ra và bit ít quan trọng nhất của từng byte đầu ra, nhưng không thể tìm thấy bất kỳ mẫu nào trong đó. Vì kẻ tấn công không kiểm soát được các byte đầu vào và Oracle tạo các byte ngẫu nhiên mới mỗi khi nó được truy vấn, nên đầu ra của bước 4 xuất hiện ngẫu nhiên!!!.
fgrieu avatar
lá cờ ng
Điều này đúng: với các phương trình được áp dụng tuần tự, không có cách nào để phân biệt 3 với 4. Đó là bởi vì mỗi thay đổi trong số bốn thay đổi khiến phân phối của $(a,b,c,d)$ đồng nhất (đối số: trong bất kỳ nhóm nào có luật $\boxplus$, chỉ cần $u$ là ngẫu nhiên đều và độc lập với $v$ để $u\boxplus v$ là ngẫu nhiên đều). Không phải như vậy đối với `(a,b,c,d)=((a+d*c)%256,(b+a*d)%256,(c+b*a)%256,(d+c* b)%256)` theo nghĩa có trong Python, đó là nơi tôi đề xuất kiểm tra điều gì xảy ra đối với các bit thấp, sau đó là hai bit có thứ tự thấp.
elonnoe avatar
lá cờ ng
@fgrieu cảm ơn vì sự giúp đỡ. tôi đã bị mắc kẹt, nhưng bây giờ tôi hiểu lý do cơ bản đó.
Điểm:3
lá cờ us

Để cho $f(a,b,c,d)$ biểu thị sự chuyển đổi của bạn trong bước 4. Đây là thành phần tuần tự của 4 bước sau:

  1. $(a,b,c,d) \mapsto (a+dc \bmod 256,b,c,d)$
  2. $(a,b,c,d) \mapsto (a,b+ad \bmod 256,c,d)$
  3. $(a,b,c,d) \mapsto (a,b,c+ba \bmod 256,d)$
  4. $(a,b,c,d) \mapsto (a,b,c,d+cb \bmod 256)$

Lưu ý rằng mỗi bước là không thể đảo ngược. Chẳng hạn, bước đầu tiên là không thể đảo ngược như $(a',b,c,d) \mapsto (a'-dc \bmod 256,b,c,d)$. Do đó, toàn bộ quá trình chuyển đổi $f(a,b,c,d)$ là không thể đảo ngược.

Kể từ khi phân phối hơn $(a,b,c,d)$ ban đầu đều và $f$ là nghịch đảo, phân phối trên $f(a,b,c,d)$ cũng đồng nhất. Điều đó có nghĩa là: bất kể $x=0$ hoặc $x=1$, đầu ra là đồng nhất, do đó, một bộ phân biệt không có lợi thế đoán $x$.

fgrieu avatar
lá cờ ng
Đúng. Trường hợp phép biến đổi là $a'=(a+dc)\bmod256$, $b'=(b+ad)\bmod256$, $c'=(c+ba)\bmod256$, $d'=( d+cb)\bmod256$ tiếp theo là $a=a'$, $b=b'$, $c=c'$, $d=d'$ khó/thú vị hơn. Bây giờ có một lợi thế không đáng kể để tính toán.
crypt avatar
lá cờ cn
vậy điều đó đúng với mọi f khả nghịch?
Điểm:0
lá cờ cn
  • Xác suất thắng từ lần thử đầu tiên =0,5 (đoán thuần túy giả sử các giá trị X ngẫu nhiên thống nhất 0 hoặc 1)

  • Xác suất thắng ở lần thử thứ 2 nếu anh ta biết kết quả của lần thử thứ nhất = 1 - vấn đề[((a=a+dc)mod256) AND ((b=b+ad) mod256) AND ((c=c+ba) mod256) AND ((d=d+cb) mod256)]

Để bắt đầu, các công thức này phải là â¥256 (đạt được cùng một giá trị thông qua thao tác mod) ít nhất 3 trong số 4 giá trị phải là ¥128

Trên thực tế, chúng phải chứa (không chỉ lớn hơn hoặc bằng) đủ lũy thừa của 2 (dc=nâ¢256, ad=mâ¢256, ab=kâ¢256, cb=lâ¢256)

.... và cứ thế, tuy nhiên tôi nghĩ nên kiểm tra thêm xem các giá trị có phải được lưu trữ trong một byte hay không; tức là theo mặc định a, b, c, d < 256?

»»» Trong trường hợp bước 2 được lặp lại sau mỗi lần thử, thì tôi đoán cách duy nhất mà đối thủ thu được từ việc biết chức năng ( thay đổi xác suất chiến thắng của anh ta thành hơn 0,5 lần đoán thuần túy) là nếu các công thức đã cho r không đồng nhất ngẫu nhiên , tức là nếu bạn có thể chứng minh a, b, c, d đã sửa đổi nghiêng về nhiều hơn 1 giây hoặc nhiều hơn 9, thì có thể xác suất chiến thắng sẽ tăng lên khi giảm mức độ ngẫu nhiên.

fgrieu avatar
lá cờ ng
Xác suất giành chiến thắng phụ thuộc vào cách chúng ta đọc tuyên bố vấn đề cho bước 4 và vào chiến lược được đối thủ sử dụng (sẽ được xác định). Với hai điều này đã cố định, vì các thử nghiệm là độc lập nên xác suất thắng không thể phụ thuộc vào số thử nghiệm, như đã khẳng định trong câu trả lời hiện tại.
ShAr avatar
lá cờ cn
Thật vậy, nếu bạn thực hiện 2 lần thử liên tiếp và nhận thấy kết quả khác nhau, bạn có thể thắng 100% bằng cách nói X=1 nghĩa là đối thủ có lợi thế ít nhất trong trường hợp này bằng cách biết trò chơi cơ bản fn
fgrieu avatar
lá cờ ng
Bước 2 được thực hiện và tạo a, b, c, d, x mới trước bước 3 hoặc bước 4 mỗi khi đạt đến các bước này. Do đó, biết hai đầu ra khác nhau là không đủ để kết luận về x ở đầu ra thứ nhất hoặc thứ hai. Tổng quát hơn, không có ích gì khi so sánh kết quả đầu ra của các thử nghiệm khác nhau, vì chúng độc lập với nhau. Câu hỏi là về việc nghĩ ra một chiến lược mang lại lợi thế và chiến lược đó sẽ có ở mỗi thử nghiệm một cách độc lập. Như tôi đã giải thích trong nhận xét cho Q, điều đó có thể xảy ra hay không tùy thuộc vào cách chúng ta đọc bước 4 và có hai cách.
ShAr avatar
lá cờ cn
Aha Ok, xin lỗi, tôi nghĩ (được giải quyết trên cơ sở) bước 2 chỉ được thực hiện một lần giống như một hạt giống cho trình tạo số ngẫu nhiên
elonnoe avatar
lá cờ ng
@ShAr không, bước 2 được thực hiện lại cho mỗi truy vấn mới.

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