Điểm:2

Sự hỗn loạn có thể cung cấp điều gì cho mật mã?

lá cờ us

Mật mã dựa trên hỗn loạn đang vấp phải rất nhiều chỉ trích, tuy nhiên, một số người cho rằng nó có thể cung cấp nhiều nguyên tắc mã hóa, chẳng hạn như mật mã luồng, mật mã khối, hàm băm, mật mã khóa công khai.

Bỏ qua tất cả các khiếm khuyết của sự hỗn loạn ứng dụng trong mật mã, không phải hỗn loạn nhiều nhất là một trình tạo giả ngẫu nhiên có thể được sử dụng cho mật mã dòng (nếu điều này thậm chí có thể)?

Lưu ý: Tôi đang lang thang tại sao một số người nghĩ rằng nó phù hợp với nhiều nguyên tắc mật mã.

[Chỉnh sửa] nói cách khác: Có khả thi để xây dựng toàn bộ nhánh mật mã trên một họ các nguồn giả ngẫu nhiên chẳng hạn như LFSR không?

Hoặc

Ví dụ: đối với các mật mã khối không phải là sự hỗn loạn, chỉ có thể được sử dụng để tạo chuỗi ngẫu nhiên được phân tách để xây dựng mật mã mà chúng ta đã xây dựng thành mật mã dòng hoặc khối?

Hoặc

Một số tác giả nói rằng sự hỗn loạn phù hợp với prng, nhưng nó không cung cấp được các nguyên tắc mật mã đã được phê duyệt. Không phải vai trò hỗn loạn trong mật mã được đề xuất chỉ đơn thuần là một prng?

poncho avatar
lá cờ my
'Bỏ qua [các vấn đề về mật mã, tại sao] tối đa không phải là hỗn loạn [được sử dụng như] một trình tạo giả ngẫu nhiên' - bạn có hỏi tại sao nó không được sử dụng như một rng không mã hóa không?
user2357 avatar
lá cờ us
@poncho Tôi đang thắc mắc tại sao một số người nghĩ rằng nó phù hợp với nhiều nguyên tắc mã hóa.
Điểm:2
lá cờ ng

Có khả thi để xây dựng toàn bộ nhánh mật mã trên một họ các nguồn giả ngẫu nhiên không?

Về lý thuyết, có. Nếu đã có một Trình tạo số ngẫu nhiên giả an toàn về mật mã và hiệu quả được xây dựng từ một hệ thống hỗn loạn, sau đó hệ thống đó có thể đóng vai trò là nền tảng của mật mã đối xứng thực tế hợp lý và thậm chí cả chữ ký.

Vấn đề là chúng ta không biết điều đó. Các PRNG được xây dựng từ một hệ thống hỗn loạn và có lập luận bảo mật thậm chí còn hơi thuyết phục¹, kém hiệu quả so với CSPRNG² hiện đại (trừ khi chúng tôi mở rộng định nghĩa về "hệ thống hỗn loạn" vượt xa các chức năng liên tục được lặp lại thông thường trên $\mathbb R$, hoặc các xấp xỉ rời rạc của chúng).


Trình tạo số ngẫu nhiên giả (bảo mật bằng mật mã), trong đó nét hiện đại, là một công cụ đủ mạnh để xây dựng tất cả các chức năng mật mã đối xứng khác: CPACCA(2)-mật mã an toàn, khóa mật mã, Mã xác thực tin nhắn, mã hóa xác thực, băm⦠Một số ví dụ:

  • Một mật mã có thể được xây dựng từ (CS)PRNG bằng cách sử dụng khóa và IV ngẫu nhiên thực sự ngẫu nhiên để tạo PRNG và xây dựng bản mã bằng XOR đầu ra của PRNG với văn bản gốc³.Bảo mật trực tiếp theo sau bảo mật của PRNG và đó là một cách tốt và phổ biến để xây dựng một mật mã mà nó có tên: dòng mật mã.
  • Mật mã khối có thể được xây dựng từ PRNG dưới dạng mật mã Feistel, bằng cách sử dụng PRNG để xây dựng các hàm vòng. Khóa, số vòng và nửa bên phải của khối khởi tạo PRNG, đầu ra là giá trị để XOR với nửa bên trái.

Những công trình này là một cách rõ ràng bảo mật bằng mật mã nếu PRNG là. Nhưng ngoại trừ mật mã dòng, chúng không được sử dụng trong thực tế, chủ yếu vì lý do hiệu quả. CSPRNG phổ biến được xây dựng từ mật mã khối hoặc/và giá trị băm, thay vì ngược lại.


Có khả thi để xây dựng các nguyên hàm tiền điện tử khóa công khai từ PRNG không?

Có cho chữ ký. Chúng ta có thể xây dựng hàm băm an toàn từ PRNG an toàn, sau đó là chữ ký an toàn từ hàm băm, bằng nhiều cách tiếp cận khác nhau, bao gồm SPHINCS. Theo lộ trình này, bất kỳ PRNG hiệu quả nào cũng dẫn đến sơ đồ chữ ký hợp lý.

Đối với mã hóa và trao đổi khóa, tôi nghi ngờ rằng một phương pháp có bằng chứng bảo mật hoặc thậm chí là một lập luận thuyết phục đã được biết đến. Tôi không bị thuyết phục bởi những nỗ lực xây dựng mã hóa bất đối xứng từ các hệ thống hỗn loạn liên tục bằng các tuyến đường trực tiếp hơn´.


¹ Chúng tôi không thể yêu cầu bằng chứng theo nghĩa toán học, vì chúng tôi không có bằng chứng bảo mật như vậy cho bất kỳ CPRNG nào. Nhưng chúng tôi không muốn chấp nhận thực tế vượt qua một bài kiểm tra ngẫu nhiên được xác định trước làm đối số bảo mật, chẳng hạn như NIST SP800-22rev1a hoặc cứng rắn hơn. Một thử nghiệm thử nghiệm ít nhất phải là: không thể đối với các nhà mật mã lành nghề của con người biết thiết kế của PRNG, được hỗ trợ bởi các máy tính cổ điển, để phân biệt với tính ngẫu nhiên thực sự, đầu ra của PRNG được gieo với tính ngẫu nhiên thực sự. Và chúng tôi muốn mở rộng điều đó đến mức không thể như vậy bắt đầu với giá trị tối thiểu của một số (các) tham số của PRNG, như kích thước trạng thái hoặc/và số vòng, với (các) tham số thực sự được sử dụng được đặt lớn hơn một cách thoải mái.

² Chẳng hạn như cái có nguồn gốc từ chacha bằng cách coi khóa và IV là hạt giống và bản rõ hoàn toàn bằng không.

³ Quá trình giải mã tương tự với trao đổi văn bản gốc và bản mã, ngoại trừ việc mã hóa lấy IV và biến nó thành phần mở đầu của bản mã, trong khi quá trình giải mã trích xuất IV từ phần mở đầu.

´ Một trong những nỗ lực (có tường phí) sử dụng đa thức Chebyshev $T_r$ mức độ lớn $r$. Khóa riêng là $r$, khóa công khai phù hợp là $T_r(x)$ đối với một số thực cố định được chọn ngẫu nhiên $x\in[-1,1]$. Đối với bất kỳ số nguyên $s>0$ nó giữ $T_r(T_s(x))=T_s(T_r(x))$ và (bỏ qua các vấn đề về cách tính toán) cho phép tương tự Trao đổi khóa Diffie-Hellman, và từ đó mã hóa ElGamal. Khi tôi đọc nó lần đầu tiên, tôi đã không bị thuyết phục bởi khẳng định bảo mật không cần tranh luận, cũng như bởi một số khía cạnh của tính khả thi (ví dụ: với độ chính xác 2048 bit cho các giá trị thực, các số nguyên $r$$s$ có thể được chọn là số nguyên 910-bit ngẫu nhiên, chứ không phải là tích của các số nguyên tố nhiều nhất là 133 như trong bài viết).
Cập nhật: Hệ thống mật mã được phát hiện là không an toàn, xem cái này mạo từ (có tường phí). Nó vẫn được trình bày trong này chương về Mật mã khóa công khai (paywalled) trong một thời gian dài sau đó cuốn sách về mật mã dựa trên hỗn loạn (có tường phí), với sự thừa nhận về sự không an toàn. Tôi thấy nó nói lên tình trạng của toàn bộ lĩnh vực học thuật đó. Và đó là điều tốt nhất: hầu hết các tuyên bố về bảo mật, được đưa ra với những lập luận tương đối yếu, không bao giờ được điều tra nghiêm túc và được chứng minh là sai.

user2357 avatar
lá cờ us
Cảm ơn bạn… Ý của bạn là gì: trừ khi chúng ta mở rộng định nghĩa về "hệ thống hỗn loạn" vượt xa các hàm lặp thông thường trên R (hoặc các xấp xỉ rời rạc của chúng)?
fgrieu avatar
lá cờ ng
@ user2357 : Bây giờ tôi đã sửa đổi một chút _"(trừ khi chúng tôi mở rộng định nghĩa về "hệ thống hỗn loạn" vượt xa các hàm liên tục được lặp lại thông thường trên $\mathbb R$ hoặc các xấp xỉ rời rạc của chúng)"_ là vì chúng tôi có thể định nghĩa lại là "hệ thống hỗn loạn " phép lặp của một hàm trên tập hợp các chuỗi bit có kích thước nhất định, với hàm được xác định bằng cách sử dụng xoay bit, XOR bit và phép cộng nhị phân với lần mang cuối cùng bị mất, sẽ bao gồm Chacha. Nhưng hàm lặp của Chacha là _not_ trên $\mathbb R$, cũng không được xây dựng dưới dạng xấp xỉ rời rạc của hàm liên tục trên $\mathbb R$.
user2357 avatar
lá cờ us
Bạn đã nói "PRNG được xây dựng từ một hệ thống hỗn loạn với lập luận bảo mật thậm chí còn thuyết phục nhẹ". Bạn có ví dụ về điều này trên những ví dụ được xác định trong $\mathbb R$ không?
fgrieu avatar
lá cờ ng
@ user2357 : ChaCha không phải là PRNG được xây dựng từ một hệ thống hỗn loạn theo định nghĩa mà tôi muốn nói về "hệ thống hỗn loạn". \[cập nhật: [bản đồ hậu cần](https://en.wikipedia.org/wiki/Logistic_map) $x\mapsto r\,x(1-x)$ là một hàm liên tục trên $\mathbb R$, khi được lặp lại, dẫn đến một hệ thống hỗn loạn để lựa chọn $r$ thích hợp. Thông thường, nó hạn chế đối với một tập hợp hữu hạn bằng phép xấp xỉ rời rạc khác xa với sự hỗn loạn tương tự. Không có cấu trúc tự nhiên tương tự nào của hàm lặp được sử dụng trong Chacha.\]
user2357 avatar
lá cờ us
Bắt được rồi. Bạn có nghĩa là "nhẹ nhàng" để được tốt và được chấp nhận?
fgrieu avatar
lá cờ ng
@ user2357 : "thậm chí nhẹ nhàng" là để nhấn mạnh rằng những gì tiếp theo không cần phải nghiêm ngặt.Tôi có thể đã viết: _PRNG được xây dựng từ một hệ thống hỗn loạn và có lập luận bảo mật, kém hiệu quả so với CSPRNG hiện đại. Đó là ngay cả khi chúng tôi không yêu cầu lập luận bảo mật rất thuyết phục_.
Điểm:2
lá cờ my

Tôi tự hỏi tại sao một số người nghĩ rằng nó phù hợp với nhiều nguyên tắc mật mã

Chà, tôi không phải là một trong số 'một số người' đó, tuy nhiên tôi sẽ cho bạn biết quan điểm của mình.

Một trong những tính chất tốt mà chúng tôi thích trong các hệ thống mật mã của chúng tôi là 'tuyết lở'; nghĩa là, một thay đổi nhỏ ở đâu đó sẽ tạo ra những gợn sóng trong toàn bộ hệ thống. Tôi hy vọng rằng 'một số người' sẽ chú ý đến điều này và nói "này, đó chính xác là sự hỗn loạn ".

Thoạt nhìn, điều này có vẻ hợp lý; Tuy vậy:

  • Hỗn loạn không phải là cách duy nhất để đạt được điều này. Ảnh hưởng 'tuyết lở' này là một thuộc tính được thiết kế có chủ ý của (hầu hết) các hệ thống mật mã đối xứng. Ví dụ: với AES, thay đổi một bit ở bất kỳ đâu trong trạng thái sẽ sửa đổi tất cả 16 byte trong hai vòng sau đó.

  • Cũng không rõ liệu thuộc tính hỗn loạn của 'những thay đổi nhỏ thường xảy ra ở mọi nơi' có thực sự đủ hay không. Thứ nhất, chúng ta cần đảm bảo rằng tất cả những thay đổi như vậy đều có thuộc tính tuyết lở này; chúng tôi cần chỉ ra rằng không có ngóc ngách nào mà các thay đổi không lan truyền nhanh như mong đợi và những thay đổi được coi là lớn bởi cơ sở hạ tầng hỗn loạn (ví dụ: các thay đổi đối với msbit của trạng thái) cũng được lan truyền.

  • Hỗn loạn thường được định nghĩa dưới dạng số thực; khi chúng tôi thực hiện mã hóa, chúng tôi xử lý các giá trị với độ chính xác hữu hạn. Không rõ (ít nhất là với tôi) liệu việc dịch từ thực sang một cõi hữu hạn nào đó có nhất thiết phải bảo toàn các thuộc tính mà chúng ta mong đợi hay không.

Cuối cùng, tất cả là do hiệu suất. Trên thực tế, nó không phải là điều đó khó thiết kế một mật mã đối xứng an toàn (như Ron Rivest đã chỉ ra, một nghìn vòng của bất kỳ thứ gì (không cần thiết [1]) thường an toàn); chúng ta cũng cần phải thực hiện tốt một cách hợp lý. Sự phản đối rõ ràng cuối cùng sẽ là 'các mật mã dựa trên sự hỗn loạn này có hoạt động cạnh tranh so với các mật mã truyền thống hơn, trong khi vẫn duy trì tính bảo mật không?'


[1]: Ron đã không chỉ rõ tính không cần thiết trong quan sát của mình, rõ ràng là có các hàm tròn hoàn toàn tuyến tính hoặc không có lan truyền theo hướng phải; Tôi đã thấy các thiết kế mật mã nghiệp dư với các thuộc tính này và rõ ràng 1000 vòng sẽ không giúp ích gì cho bạn trong những trường hợp đó ...

user2357 avatar
lá cờ us
Cảm ơn.......
user2357 avatar
lá cờ us
Bạn đã nói "Đối với một người, chúng tôi cần đảm bảo rằng tất cả những thay đổi như vậy đều có thuộc tính tuyết lở này". Câu hỏi của tôi là: làm thế nào chúng ta có thể chắc chắn về điều này trong các mật mã chính thống, chẳng hạn như AES?
user2357 avatar
lá cờ us
"Không rõ (ít nhất là với tôi) liệu việc dịch từ thực sang một số cõi hữu hạn có nhất thiết phải bảo toàn các thuộc tính mà chúng ta đang hy vọng hay không." Có sự suy giảm số lượng được coi là một trong những vấn đề lớn nhất trong việc thực hiện các hệ thống này. Một số nhà nghiên cứu nghiêm túc đã chỉ ra điều này vào đầu thế kỷ và đã thực hiện một số công việc về nó, tuy nhiên, cộng đồng mật mã hỗn loạn hầu hết thời gian đều bỏ qua điều này.
poncho avatar
lá cờ my
@ user2357: AES là một ví dụ điển hình; chúng tôi có bằng chứng rằng (ví dụ) thay đổi một byte trong một byte của trạng thái trung gian sẽ luôn thay đổi tất cả 16 byte trong trạng thái hai vòng sau đó. Điều này xảy ra bất kể thay đổi trong một byte đó là gì và các câu lệnh tương tự có thể được thực hiện đối với các thay đổi đối với 2 hoặc 3 byte của trạng thái trung gian. Các hệ thống tiền điện tử dựa trên Chaos có thể đưa ra các tuyên bố tương tự không?
Điểm:1
lá cờ si

Rõ ràng hành vi hỗn loạn là cần thiết nhưng không đủ cho mật mã. Đó là kết quả của bảo mật mật mã, không phải nguyên nhân. Một số người đảo ngược quan hệ nhân quả và nghĩ rằng bất kỳ thứ gì thể hiện hành vi hỗn loạn đều phù hợp với mật mã. Tôi không biết tại sao một số người mắc lỗi này và nó không phải là duy nhất đối với mật mã.

Lorenz định nghĩa về sự hỗn loạn: "Khi hiện tại quyết định tương lai, nhưng hiện tại gần đúng không quyết định tương lai".

Đối với các hệ thống mật mã máy tính hoạt động hoàn toàn trên bit, chúng tôi không gặp vấn đề về các phép đo không chính xác dẫn đến giới hạn chỉ có "hiện tại gần đúng" mà các hệ thống hỗn loạn vật lý có.

Hệ thống mã hóa thực tế làm thể hiện hành vi hỗn loạn, nhưng họ Mà còn có các thuộc tính khác. Các khái niệm của Shannon về Nhầm lẫn và khuếch tán tạo ra sự phụ thuộc nhạy cảm vào các điều kiện ban đầu cho bản mã từ cả bản rõ và khóa. Họ Mà còn đảm bảo quá trình chuyển đổi không thể đảo ngược, điều mà một hệ thống hỗn loạn đơn giản có thể không làm được.

Một nơi mà các bộ tạo dao động hỗn loạn được sử dụng nhiều là trong các bộ tạo số ngẫu nhiên phần cứng. Chúng thường bao gồm một số bộ tạo dao động vòng được lấy mẫu ở các tần số đồng hồ độc lập khác nhau, dẫn đến rung pha trong các giá trị mẫu. Sự rung pha đó có nghĩa là các phép đo của các bộ tạo dao động chỉ là một phép đo gần đúng với trạng thái hoàn chỉnh của chúng, do đó, thực tế là không thể xác định trạng thái tương lai từ một phép đo hiện tại. Tương tự như vậy, một số sử dụng tiếng ồn diode tuyết lở, là một hiệu ứng cơ học lượng tử ở cốt lõi của nó. Vì chúng ta không bao giờ biết được trạng thái hoàn chỉnh của một hệ lượng tử (nếu nó tồn tại), nên chúng cũng thể hiện tính chất "hiện tại gần đúng".

poncho avatar
lá cờ my
Hmmmm, phân tích chính thức về các nguồn entropy của bộ dao động vòng mà tôi đã thấy dựa trên nguồn entropy không dựa trên hành vi hỗn loạn, mà thay vào đó là nhiễu nhiệt làm thay đổi một cách tinh tế thời gian chuyển tiếp (làm thay đổi trực tiếp thời gian RO chính xác). Bạn đã thấy một phân tích chính thức dựa trên hành vi hỗn loạn chưa?
SAI Peregrinus avatar
lá cờ si
Tiếng ồn nhiệt * là * hành vi hỗn loạn. Ở quy mô đủ nhỏ, quá trình truyền nhiệt là một hệ động lực thể hiện sự phụ thuộc nhạy cảm vào các điều kiện ban đầu. Việc mô hình hóa nó như vậy thường không hữu ích, việc coi nó như một loại nguồn ngẫu nhiên "đúng" nào đó sẽ dễ dàng hơn nhiều, nhưng đó là một hệ thống xác định không thể đoán trước.
user2357 avatar
lá cờ us
@SAIPeregrinus cảm ơn bạn.
Điểm:-3
lá cờ cn

Sự hỗn loạn có thể cung cấp điều gì cho mật mã?

Nó có thể cung cấp entropy tốt. Và với entropy, chúng ta có những con số thực sự ngẫu nhiên. Hữu ích trong mật mã.

Có một khái niệm toán học gọi là sự hỗn loạn tất định. Đó là sự pha trộn của sự hỗn loạn có thể dự đoán được 'một chút'. Các ví dụ cổ điển là hấp dẫn kỳ lạ Thích:-

chất thu hút

Bạn có thể thấy rằng cả hai đều có thể dự đoán được ở chỗ đường cong quay quanh hai quỹ đạo, tuy nhiên các quỹ đạo cụ thể là không thể dự đoán chi tiết. Entropy (thường là KolmogorovâSinai [một chút xa hơn tôi]) được tạo ra khi bạn đo sự khác biệt tương đối trong không gian pha. Một tài liệu tham khảo tốt là Ồn ào, hỗn loạn và $(\epsilon, \tau)$-entropy trên một đơn vị thời gian.

Một ví dụ kinh điển khác là daemon entropy giả mạo. Nó sử dụng độ rung của CPU để tạo ra entropy. Vì vậy, bạn có các nguồn entropy cho các trình tạo số ngẫu nhiên thực sự.

Tất nhiên, điều này chỉ áp dụng cho việc triển khai phần cứng như mạch Chua và CPU thực. Bất kỳ mô hình toán học nào cũng sẽ hoàn toàn mang tính quyết định.

user2357 avatar
lá cờ us
Cảm ơn bạn. Internet của tôi ở dạng phương trình Chaos mang tính quyết định. Bên cạnh đó, nếu những gì nó cung cấp là entropy, thì chẳng phải điều này tối đa là một trình tạo giả ngẫu nhiên có thể được sử dụng cho mật mã luồng (nếu điều này thậm chí có thể)? Ví dụ: đối với các mật mã khối không phải là sự hỗn loạn, chỉ có thể được sử dụng để tạo chuỗi ngẫu nhiên được phân tách để xây dựng mật mã mà chúng ta đã xây dựng thành mật mã dòng hoặc khối? Có khả thi không khi xây dựng toàn bộ nhánh tiền điện tử trên một họ prng, ví dụ: LFSR?
user2357 avatar
lá cờ us
Tôi có một câu hỏi khác: nếu mục tiêu của chúng tôi là chuỗi ngẫu nhiên thực sự, thì đây không phải là một lần đệm, điều này không thực tế sao?
Paul Uszak avatar
lá cờ cn
@ user2357 1) Chà, PRNG chỉ có entropy của giá trị gốc, chẳng hạn như 128 bit. Vậy là xong, bất kể độ dài của chuỗi đầu ra. Một TRNG dựa trên sự hỗn loạn có đầu ra entropy vô hạn.
Paul Uszak avatar
lá cờ cn
@ user2357 2) Một chuỗi thực sự ngẫu nhiên được sử dụng để tạo khóa và tạo PRNG. Mặt khác, entropy ban đầu đến từ đâu? Và OTP rất thiết thực vì chúng đã được sử dụng trong một thế kỷ; xem http://users.telenet.be/d.rijmenants/en/onetimepad.htm để có đánh giá thực sự tốt. Lý do chúng tôi bị thu hút bởi OPT (và các chính phủ, ngân hàng & NATO cũng vậy) là vì chúng được đảm bảo không thể bị phá vỡ mọi lúc, điều này không đúng với các nguyên tắc mật mã thông thường.
user2357 avatar
lá cờ us
Cảm ơ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.