Multe tipuri de criptare pot fi generalizate ca folosind un mesaj $m$ și o cheie $k$ ca intrare a unei funcții de criptare $f$ cu un cifr $c$ ca ieșire.
$$f(m,k)=c$$
Ca un grafic nod, acesta ar putea arăta astfel:
Nodul dat $m$ are o margine de progresie. Dacă o funcție inversă $f{^{-1}}$ există, l-am putea folosi ca a doua margine la $m$. Cu acest nod $m$ ar avea 2 margini de progresie. La nod $c$ mai putem adauga $f{^{-1}}$ înapoi la $m$ si daca $f$ este păstrarea lungimii putem adăuga $f$ la un nou nod $c'=f(c,\cdot)$. Culegând acest lucru din nou și din nou, vom ajunge într-un nod pe care l-am vizitat deja înainte (nu toți ajung la $m$ din nou.)
Ale mele întrebare este acum dacă există vreun tip de criptare (sau înrudit) care oferă nod mesaj $m$ mai mult de două margini ale progresiei. De exemplu. ca aceasta:
Aici nodul $m$ are 3 margini de progresie (sau dacă includem nedesenați $f{^{-1}}$ ar fi 4). Acesta este doar un subgraf care prezintă unele margini ale progresiei pentru nod $m$. Pentru a fi completă, inversul fiecărei funcții de progresie și multe noduri cu funcțiile lor aferente trebuiau adăugate (parametrul funcției aferente $k$ de asemenea). Cu toate acestea, conexiunile nu trebuie să existe ca între ele $b$ și $c$.
O criptare (ușor de spart) ar putea fi $g^{-1}(f(f(g(m))))=c$
Aceasta poate fi văzută ca o generalizare a unui grup ciclic cu o ordine a factorilor primi și mulți generatori înrudiți.
În cazul de utilizare țintă, securitatea s-ar baza pe numărul de progresii/funcții de margine necesare între două noduri.
În plus, trebuie să fie reprezentabil în spațiul euclidian 3D cu o densitate aproximativ egală a notelor. Deci cu asta $n-$vecinătatea unui nod este limitată la 24 USD n^2+1$ noduri (în medie, la fel ca numerele adiacente din a $\mathbb{Z}^3$ spaţiu). Similar ca mai sus, progresia într-o direcție va avea ca rezultat un nod $m$ iarăşi după $D$ trepte. În afara de mai sus, acest lucru se poate face în 3 direcții ortogonale în $D_1, D_2, D_3$ pași de progresie (între început și sfârșit nu sunt necesare 100% ortogonale). Numărul total de noduri $N \ge D_1\cdot D_2\cdot D_3$ ar trebui să fie $< 2^{200}$ dar găsirea progresiei marginii între două noduri aleatorii ar trebui să ia în medie $>O(2^{100})$ etapele de progresie. Nodurile aleatoare trebuie generate fără scurgeri de informații legate de securitate. Funcțiile de progresie și inversele lor trebuie să dureze aproximativ același timp de calcul.Adversarul poate rula codul programului, astfel încât aceeași structură de noduri trebuie să fie creată iterativ din orice nod de pornire dat. Un set mic $<\aproximativ 10$ de rețele disjunse cu aceeași structură ar fi, de asemenea, suficiente (rețeaua rezultată ar fi legată de nodul de pornire).
Asta înseamnă mult să ceri. Din fericire, sunt și despre ceva asemănător care s-ar putea rezolva cu unele ajustări.
(Fac nu caută ceva ca o rețea Feistel. Acestea sunt doar între două noduri. Ele servesc doar ca (parte) a unei funcții de progresie a muchiei. Caut o rețea între un set de noduri)