¿No podría alguien simplemente aplicar ingeniería inversa al código y obtener la fuente?
Sí. Eso es exactamente lo que sucedió en 1994:
De la entrada de Wikipedia :
RC4 fue inicialmente un secreto comercial, pero en septiembre de 1994 una descripción
Se publicó de forma anónima en la lista de correo de Cypherpunks. Eso
Pronto se publicó en el grupo de noticias sci.crypt, y de allí a muchos
sitios en internet. El código filtrado fue confirmado como genuino como
se encontró que su salida coincide con la del software propietario que usa
licencia RC4. Debido a que el algoritmo es conocido, ya no es un intercambio
secreto. El nombre RC4 es una marca registrada, por lo que RC4 a menudo se conoce como
ARCFOUR o ARC4 (es decir, supuestamente RC4) para evitar problemas con la marca.
RSA Security nunca ha lanzado oficialmente el algoritmo; Rivest tiene,
Sin embargo, vinculado al artículo de Wikipedia en inglés sobre RC4 en su propio
notas del curso en 2008 y confirmó la historia de RC4 y su código
en un artículo de 2014 escrito por él.
Puede, con diversos grados de éxito, hacerlo más difícil, por ejemplo, ofuscar el código, cifrar el código, almacenar el código en un HSM que se autodestruye cuando se manipula, exigir contratos restrictivos, amenazar acciones legales , etc ... Pero al final, no hay seguridad sin seguridad física. Una vez que deja que el código salga de su control físico, es potencialmente expuesto.
En cuanto a por qué nadie lo hizo antes, sospecho que fue una falta de interés y preocupaciones legales.