Sto costruendo un'implementazione del [Merkle-Hellman Knapsack Cryptosystem] per il mio studio. ( link )
Una delle cose che vorrei fare è creare una nuova chiave privata. Una chiave privata in Knapsack Cryptosystem consiste principalmente * di un cosiddetto zaino di aumento del surriscaldamento . Questa è una sequenza di numeri K dove K[n] > (K[0] + K[1] + ... + K[n-1]
.
Mi chiedo se esistono metodi intelligenti per costruire una nuova sequenza per la quale ciò è vero. È facile creare a lo spazio per il supercrescimento (come 1, 2, 4, 8, 16, ...
), ma fino ad ora ho trovato relativamente difficile farlo correttamente per una sequenza non prevedibile.
Ci sono degli algoritmi (che probabilmente incorporano un valore da un generatore di numeri casuali) che possono farlo?
* ci sono anche altri due numeri da calcolare per la chiave privata, ma questo è al di fuori dello scopo di questa domanda.