Principio di Kerckhoffs afferma:
A cryptosystem should be secure even if everything about the system,
except the key, is public knowledge.
Quindi se AES è rotto, probabilmente il tuo algoritmo homebrew sarà molto più semplice e sarebbe già stato rotto.
Mi rendo conto che una parte della tua domanda originale ha dichiarato:
provided they do not have the algorithm
Tuttavia, poiché questo viola il principio di Kerckhoffs, il tuo approccio alla produzione casalinga è di per sé imperfetto e insicuro.
Il motivo principale per cui questo è un problema è che non è quantificabile la sicurezza che aggiunge al tuo sistema. Ti rimando alla risposta di Thomas Pornin a una domanda simile qui :
An additional twist is that algorithm obscurity can harm security.
What I explain above is that obscurity cannot be trusted for security:
it might increase security, but not by much (and you cannot really
know "how much"). It turns out that it can also decrease security. The
problem is the following: it is very hard to make a secure
cryptographic algorithm. The only known method is to publish the
algorithm and wait for the collective wisdom of cryptographers around
the world to gnaw at it and reach a conclusion which can be expressed
as either "can be broken that way" or "apparently robust". An
algorithm is declared "good" only if it resisted the onslaught of
dozens or hundreds of competent cryptographers for at least three or
four years.
Quindi, dovresti usare un altro algoritmo se sei preoccupato che AES possa presto essere rotto (o che non usi affatto AES). Suppongo che il resto del tuo sistema non sia sicuro al 100%, quindi invece di sprecare tempo, sforzi, energie e risorse nella creazione di un algoritmo di produzione casalinga, questo sforzo dovrebbe essere speso altrove, dove può essere quantificabile che sta effettivamente aumentando sicurezza. Tutto il codice ha un costo, e non è solo lo stipendio dello sviluppatore junior che lo sta creando. Deve essere mantenuto e compreso da tutti - e ogni persona in più che impara come funziona è una via in più per far filtrare l'algoritmo. Non perdere tempo.