Nhiều loại mã hóa có thể được khái quát hóa như sử dụng một tin nhắn $m$ và một chìa khóa $k$ làm đầu vào của chức năng mã hóa $f$ với một mật mã $c$ như đầu ra.
$$f(m,k)=c$$
Là một biểu đồ nút, nó có thể trông như thế này:
nút đã cho $m$ nó có một khía cạnh của sự tiến bộ. Nếu một hàm ngược $f{^{-1}}$ tồn tại, chúng tôi có thể sử dụng nó như một cạnh thứ 2 tại $m$. Với nút này $m$ sẽ có 2 cạnh của sự tiến triển. Tại nút $c$ chúng ta cũng có thể thêm $f{^{-1}}$ Quay lại $m$ và nếu $f$ là bảo toàn độ dài chúng ta có thể thêm $f$ đến một nút mới $c'=f(c,\cdot)$. Lặp đi lặp lại điều này, chúng ta sẽ kết thúc ở một nút mà chúng ta đã truy cập trước đó (không phải tất cả đều kết thúc ở $m$ lần nữa.)
Của tôi câu hỏi bây giờ nếu có bất kỳ loại mã hóa nào (hoặc có liên quan) cung cấp nút thông báo $m$ nhiều hơn hai cạnh của sự tiến triển. Ví dụ. như thế này:
đây nút $m$ có 3 cạnh của tiến trình (hoặc nếu chúng tôi bao gồm các cạnh không được vẽ $f{^{-1}}$ nó sẽ là 4). Đây chỉ là biểu đồ con trình bày một số cạnh của tiến trình cho nút $m$. Để hoàn thành nghịch đảo của từng hàm tiến trình và nhiều nút có chức năng liên quan của chúng phải được thêm vào (tham số hàm liên quan $k$ cũng). Tuy nhiên, các kết nối không cần tồn tại như ở giữa $b$ và $c$.
Mã hóa (dễ phá vỡ) có thể là $g^{-1}(f(f(g(m))))=c$
Đây có thể coi là tổng quát của một nhóm tuần hoàn với một thứ tự các thừa số nguyên tố và nhiều trình sinh liên quan đó.
Trong trường hợp sử dụng mục tiêu, bảo mật sẽ dựa vào số lượng tiến trình/chức năng cạnh cần thiết ở giữa hai nút.
Hơn nữa, nó cần phải được biểu diễn trong không gian euclide 3D với mật độ nốt bằng nhau. Vì vậy, với điều này $n-$lân cận của một nút được giới hạn ở $24n^2+1$ các nút (có nghĩa là, giống như các số liền kề trong một $\mathbb{Z}^3$ khoảng trống). Tương tự như tiến trình trên theo một hướng sẽ dẫn đến nút $m$ một lần nữa sau $D$ các bước. Khác với ở trên, điều này có thể được thực hiện theo 3 hướng trực giao trong $D_1, D_2, D_3$ các bước tiến triển (ở giữa bắt đầu và kết thúc không cần trực giao 100%). Tổng số nút $N \ge D_1\cdot D_2\cdot D_3$ nên là $< 2^{200}$ nhưng việc tìm kiếm tiến trình cạnh ở giữa hai nút ngẫu nhiên sẽ có ý nghĩa $>O(2^{100})$ các bước tiến triển. Các nút ngẫu nhiên cần được tạo mà không làm rò rỉ thông tin liên quan đến bảo mật. Các hàm lũy tiến và hàm nghịch đảo của chúng cần có cùng thời gian tính toán.Đối thủ có thể chạy mã chương trình, do đó, cấu trúc nút giống như vậy cần được tạo lặp lại từ bất kỳ nút bắt đầu nhất định nào. một bộ nhỏ $<\xấp xỉ 10$ của các mạng rời rạc có cùng cấu trúc cũng sẽ đủ (mạng kết quả sẽ liên quan đến nút bắt đầu).
Đó là rất nhiều yêu cầu. Tôi cũng rất biết ơn về một thứ tương tự có thể hoạt động với một số điều chỉnh.
(Tôi làm không phải tìm thứ gì đó giống như mạng Feistel. Đó chỉ là ở giữa hai nút. Chúng chỉ đóng vai trò (một phần) của chức năng lũy tiến cạnh. Tôi đang tìm một mạng ở giữa một tập hợp các nút)