Couldn't someone just reverse-engineer the code and get the source?
Sì. Questo è esattamente quello che è successo nel 1994:
Dalla voce di Wikipedia :
RC4 was initially a trade secret, but in September 1994 a description
of it was anonymously posted to the Cypherpunks mailing list. It
was soon posted on the sci.crypt newsgroup, and from there to many
sites on the Internet. The leaked code was confirmed to be genuine as
its output was found to match that of proprietary software using
licensed RC4. Because the algorithm is known, it is no longer a trade
secret. The name RC4 is trademarked, so RC4 is often referred to as
ARCFOUR or ARC4 (meaning alleged RC4) to avoid trademark problems.
RSA Security has never officially released the algorithm; Rivest has,
however, linked to the English Wikipedia article on RC4 in his own
course notes in 2008 and confirmed the history of RC4 and its code
in a 2014 paper by him.
Puoi, con diversi gradi di successo, renderlo più difficile, ad esempio, offuscando il codice, crittografando il codice, memorizzando il codice in un HSM che si autodistrugge quando manomesso, richiedendo contratti restrittivi, minacciando azioni legali , ecc ... Ma alla fine, non c'è sicurezza senza sicurezza fisica. Una volta che si lascia il codice fuori dal proprio controllo fisico, è potenzialmente esposto.
Riguardo al motivo per cui nessuno l'ha mai fatto prima, sospetto che sia stata la mancanza di interesse e preoccupazioni legali.