Sigo dandole vueltas y me he encontrado de morros con el tema de la firma digital...
Es cierto que si un archivo no esta firmado digitalmente, la PSP nunca lo ejecutara... Pero supongamos que nosotros podemos crear esa firma digital...
El sistema de encriptacion de la PSP esta combinado con RSA de 2048 bits y SHA1.
Como funciona la firma digital?
Bien, parace ser que la firma digital esta en el archivo DATA.PSP en las Demos y aplicaciones y en EBOOT.bin en los juegos UMD.
Para firmar digitalmente un archivo se necesita una "Clave Privada" en este caso una clave RSA de 2048 bits, cojemos el archivo y hacemos un resumen del mismo (HASH) con SHA1 y el resultado lo encriptamos con nuestra "Clave Privada". Este resultado es la firma digital.
Cuando la PSP ejecuta un archivo, busca en este la firma digital, la desencripta con la "Clave Publica" y calcula el HASH del archivo, si el resultado de la clave desencriptada es el mismo que el HASH del archivo, la firma digital es buena.
Como podemos firmar digitalmente un archivo, si no disponemos de la "Clave Privada"?
Cojemos un archivo, en el cual este nuestra firma digital, le hacemos un HASH y guardamos el resultado, a continuacion cojemos nuestra firma digital y la desencriptamos con la "Clave Publica" si coinciden, BINGO!, pero claro, esto seria un milagro, tendriamos que ir cambiando la firma digital e ir comprobando si despues de desencriptarla con la "Clave Publica" coincide con el HASH de nuestro archivo...
Trabajo de chinos?
No te creas, la firma digital normalmente no son muy grandes, y con un ordenador medio potente, quizas en unas horas tendriamos nuestra firma. Eso si, nos haria falta un programita que nos hiciera el trabajo. (Tendre que desempolvar mis apuntes de VB y criptosistemas)
El mayor problema que encuentro es que no tengo ni idea de donde esta la firma digital en estos archivos...
Que estoy loco, puede ser, pero esto me divierte
P.D. Espero que alguien me convenza antes de liarme con esto...