Stavo cercando un buon generatore di stream pseudocasuale per integrare o sostituire RC4-drop-lotti, in un'applicazione non crittografica. Dato che lo sto mixando con l'output di /dev/random
, ho deciso di non utilizzare ChaCha per i miei scopi: /dev/random
potrebbe già usarlo e non volevo correlazione accidentale.
Ho deciso che qualcosa in grado di crittografare mi avrebbe dato delle garanzie contro l'imprevedibilità e sono incappato in ISAAC.
Ovunque io lo veda menzionato, vedo che è abbastanza strong per il lavoro di crittografia. Ma non ho visto chi l'ha deciso, e guardando l'implementazione in C, cerca in tutto il mondo come qualcuno ha scelto costanti arbitrarie per le operazioni di cambio e ha trafficato con operazioni di aggiunta finché non hanno ottenuto qualcosa che aveva buone proprietà statistiche. (Capisco che spesso sembrano così, ma questo codice sembra particolarmente arbitrario).
L'unico documento che ho trovato che fa un'analisi prontamente diagnostica un gruppo di chiavi deboli e propone ISAAC + - che nessuno sembra aver discusso del tutto. Un sito web per ISAAC dice che non è mai stato rotto, ma vista la mancanza di discussioni online, forse solo due persone hanno mai provato.
Esistono validi motivi per le descrizioni sfocate e calme di ISAAC? Se è bello e ininterrotto dopo tutto questo tempo, perché non è un pilastro