¿se ha planteado atacar la KEY privada de MS para firmar XBX?

algo de historia: en la epoca de XBOX habia un proyecto usando un programa similar al "seti at home" usando calculo distribuido para romper por fuerza bruta la clave privada RC4 que usaba MS para firmar los XBE.

obviamente, se sabe que es imposible modificar los XBE/XEX para tocarle los 'media-id' (los bits que especifican desde que dispositivos se puede arrancar un XBE/XEX) porque eso alteraria la firma. Una propuesta que se hizo, es encontrar la clave privada RSA2048 que usaba MS para firmar los XBE, posibilitando abrir los XBE, modificarlos a voluntad, y volver a firmarlos. eso posibilitaria la ejecucion de cualquier software (esto incluye homebrew) en nuestras consolas. La cuestion es que, desde que se descubrio la posibilidad de los soft-exploits (el exploit del dashboard y de las fonts en las XBOX) esto quedo en el olvido y no se volvio a saber de el, pero el software existio y de hecho lo tuve funcionando en un par de PCs en casa durante un par de meses.

Si mal no estoy informado, MS usa algo parecido (sino igual) para firmar los XBX de la XBOX360. ¿no se ha planteado crackear por fuerza bruta la clave privada que usa MS para firmar sus ejecutables? ¿sabeis si existe algun proyecto asi?

agradeceria tambien cualquier informacion sobre el sistema de firmado/cifrado que usa microsoft en X360 para proteger el lanzamiento de de homebrew o que me proporcionarais URL donde se discuta del tema.

UPDATE: he encontrado un link interesante en xbox-scene sobre dicho proyecto. el proyecto se llamaba 'the neo project' y esta es la URL de la noticia. la pagina web desaparecio. http://www.xbox-scene.com/xbox1data/news-archive-5-1-2003.php

EDIT: MS usa una clave RSA de 2048 bits, y no una clave RC4 como puse anteriormente.

EDIT2: corregida la extension de los ejecutables X360 de XBX (incorrecto) a XEX (correcto). patinazo mio, perdon...
Sinceramente, no entiendo mucho de encriptacion la verdad, aun no estoy puesto en el tema, pero tengo entendido que petar una key de estas caracteristicas es, si se puede, un trabajo titanico. Supongo que habria que crear el adecuado programa que conectado en red con los equipos que lo posean realizara los calculos para desencryptar la KEY (k supongo que basicamente seria una generacion interminable de keys aleatorias hasta dar con la correcta)
ALgun experto en el tema sabe que capacidad de calculo y tiempo seria necesario para esto?

Aun asi.. es una idea.
nadie lo intenta porque es imposible

un ordenador tardaria miles de años

se necesitarian muchos en red, nadie lo intenta por eso jeje.
Es más factible descubrir un exploit y explotarlo como en la primera X o en la psp.
Informacion sobre RSA:
http://es.wikipedia.org/wiki/RSA

ya en 1999 se rompio una clave RSA de 512bits en 1 año. ¿cuanto mas rapidas son las computadoras de hoy dia que hace 8 años?
Ya se dice que las claves de 1024 podrian dejar de resultar seguras...
La clave de MS es de 2048 bits...

hombre, claro que seria un esfuerzo titanico, pero poco a poco deja de ser una utopia...
f5inet escribió:Informacion sobre RSA:
http://es.wikipedia.org/wiki/RSA

ya en 1999 se rompio una clave RSA de 512bits en 1 año. ¿cuanto mas rapidas son las computadoras de hoy dia que hace 8 años?
Ya se dice que las claves de 1024 podrian dejar de resultar seguras...
La clave de MS es de 2048 bits...

hombre, claro que seria un esfuerzo titanico, pero poco a poco deja de ser una utopia...

que se rompa una clave no quiere decir que el resto sea insegura.
El proyecto de descifrar la clave de xbox1 aún duro bastete aun despues de los chips y demás gracias a que se dar con ella tenía un premio de 100000 dolares que pagaba el fundador de lindows y ni así se consiguió nada.
Aparte una clave de 2048 bits es bastante mas costosa que 4 de 512 bits por poner un paralelismo a la hora de estimar su coste por mucho que avanzaran los pcs desde el 99.
Amos que es mas fácil sacar la clave asaltando cuan splinter cell la sede de M$ que descifrandolaXD
Ok pues, id cogiendo vuestras gafas de vision nocturna y gadgets, nos encontramos esta noche a las 12:00 hora zulu en el cuartel general de billi.

Mision : Robar la clave de la 360.

Objetivo secundario : Borrar el servidor de baneados de Live

Objetivo Secundario : Instalar linux en el portatil de billi.

Recuerden... el sigilo es clave..
ja ja ja ja.... buena el sarcasmo!!

Saludos,!!
Jejejeje, muy wena la ironía. La cosa es que ya hubo un proyecto similar con la XBOX 1, tipo xbox@HOME, pero microsoft rápidamente cerró los servidores centralizados de dicho proyecto porque me parecía, y si no recuerdo mal, violaban la ley, o se amenazó con represalias. Ahí queda eso.

Un saludito
Por fuerza bruta es imposible sacar esa key, una key de 2048 bits no es 4 veces más larga que una de 512 sino 2^4=16 veces, además que se sacara en un año la de 512 no quiere decir nada, ya que usando esos métodos es todo azar y en otro intento se pueden llevar 3años... seguramente esa que se sacó fue de las más rápidas y por eso la ponen como ejemplo, pero RSA y fuerza bruta nunca pueden ir de la mano
AIXI escribió:Amos que es mas fácil sacar la clave asaltando cuan splinter cell la sede de M$ que descifrandolaXD


Definitivamente xD...

...si ya conseguirla seria casi imposible, pienso yo que en un remoto caso de que se lograse, lo que hacen ellos es actualizar a traves del live, banear esa clave y listo... a comenzar de nuevo X-D ...

...yo creo que la xbox 360 se queda sin scene, a menos mientras tenga vida util y a microsoft le interese que permanezca sin ella..
Mira por lo menos en algunos años seria segura la clave de RSA de 2048bits, pero como van avanzando los computadores personales que ahora procesan con cuatro nucleos y si las comunicacion de banda ancha ya son lo suficientemente anchas, podria sugerirce que dentro de 2 a cuatro años, se hablaria que algunos cientos de computadores ya no miles como actualmente se necesitarian seria posible desifrar la clave e inclucibe r mas haya sino adelantarce a decifrar una clave mas segura como una en 4096 bits.


Todo es posible solo es cuestion de todos los de la scen se pusieran deacuerdo un regalar la mitad de procesamiento de sus computadores al igual que la mitad de su ancho de banda.

Esta seria la mejor forma como lo esta haciendo la Ps3 con regalar procesamiento para investigacion
Lamentablemente, se desconoce el algoritmo de encriptacion, que aunque sea RSA, no se sabe que impplementacion. Incluso la clave publica es desconocida.
te equivocas.

se sabe la clave publica. es necesario para comprobar la firma de un XBE/XBX

se sabe tambien que es una RSA-2048.

o sea, sabemos:

n=p*q
phi=(p-1)*(q-1)
e=phi^n (mod 1) (+o-, no recuerdo exactamente esa formula)

d=la sabemos
n=la sabemos

debemos encontrar 'e' que es la clave de 'cifrado' o 'firma'

el problema es que, con los datos que tenemos, NO ES POSIBLE sacarla, o al menos, nadie ha descubierto hoy dia, una vulnerabilidad en el algoritmo RSA. la posibilidad es atacar por fuerza bruta el valor de n=p*q, puesto que sabemos que p y q son dos valores primos, lo cual reduce bastante la busqueda, y que teniendo p y n, por ejemplo, la obtencion de q es trivial.
Segun tengo entendido, desencriptar una clave RSA es un problema NP-Completo, es decir, que con un ordenador actual es muy complicado y muy costoso conseguir-la descifrar, ya que un ordenador actual no resuelve este tipo de problemas. Y menos con una clave de ese tamaño. Se necessita un gran procesamiento de calculo para poder reventar una clave de este tipo.

Si no estoy en lo cierto corregirme.

Saludos!
Por lo que se, todavia no se conoce la clave publica, ni donde se encuentra alojada, probablemente está en la CPU junto con el algoritmo de decriptacion.

La RSA tiene varias implementaciones, por culpa de varias vulnerabilidades, que las tiene. Por ejemplo creo recordar que habia una basada en el tiempo de decriptacion, y tampoco sabemos si hace padding del mensaje encriptado, que seguramente lo hará.

La e es un valor entre 1 y (p-1)(n-1) que sea coprimo de (p-1)(n-1)

Tienes razon que p y n al ser primos se reduce la busqueda, pero al ser numeros primos realmente grandes, y al no exixtir una forma rapida de factorizacion que nos permita obtener todos los numeros primos gigantes, no se pueden ir probando.
gracias por la correccion bibbo, no recordaba exactamente la formula de 'e'. pero vamos, para eso le echamos un vistacito a la wikipedia y en paz :D

con respecto a un lista de numeros primos... EXISTE. en internet hay varias paginas con listados de numeros primos de hasta 3000 digitos. una RSA de 2048bits equivale a un numero 'n' de 630 digitos. como ves, tenemos numeros primos de sobra... la cuestion es... ¿cuantos numeros primos hay entre 2 y 2^2048?

adicionalmente, y puesto que por matematica, para que un producto sea 'cercano' o 'igual' a 2^2048 (recordamos: n=p*q, tal que 'p' y 'q' son numeros primos y 'n' es un numero cercano a 2^2048), tiene que tener como factores (2^x)*(2^(2048-x)), se puede simplificar bastante el proceso de multiplicacion, e incluso, basar el proceso en divisiones. por poner un ejemplo, cogemos los numeros primos cercanos a 2^2, y los multiplicamos por los numeros primos cercanos a 2^2046, para ver si nos da 'n'. si te das cuenta, apenas necesitas un par de indices, uno por abajo y otro por arriba del listado de numeros primos. en cuanto las multiplicaciones superan 'n' vamos bajando el indice superior (o sea, cogemos limites superiores mas pequeños), pero si las multiplicaciones no llegan a 'n', subimos el limite inferir (o sea, vamos cogiendo numeros mas altos)...

ufffff, que algoritmo me acabo de currar y explicar... ahora la cuestion es ¿de cuantos numero primos estamos hablando entre 2 y 2^2048? dependiendo de cuantos numeros primos hablemos, podemos estar hablando de algo 'resoluble' en esta vida, puesto que si llamamos 'nnp' (numero de numeros primos) a la cantidad de numeros primos, la cantidad de multiplicaciones a realizar simplemente serian de 'nnp/2' y estariamos hablando de una solucion polinomial a un problema no-polinomial.

PD: me considero con buena base matematica, pero no creo que un mindundi como yo sea mas listo que los cientos de miles de matematicos que estan comiendose el coco para encontrar una vulnerabilidad a RSA...

PD2: en 2^23 hay 6 millones de numeros primos. pero hay que tener en cuenta que los numeros primos disminuyen su frecuencia de aparicion conforme los numeros son mas grandes.

PD3: aproximadamente, cada 18 millones de numeros, hay 1 millon de numeros primos. esto es asi, al menos, hasta el numero 275,604,541, que es el numero primo '15 millones'. asi que... puesto que 18=2^4 (+o-) resulta que todas las multiplicaciones necesarias serian, en el peor de los casos, 2^((2048-4)/2)=2^1022 multiplicaciones... y encima, multiplicaciones 'BIGNUM', que no son precisamente rapidas...
y a mi me parecen dificiles los sudokus... [tadoramo] [tadoramo] [tadoramo] [tadoramo] [tadoramo]
f5inet escribió:PD3: aproximadamente, cada 18 millones de numeros, hay 1 millon de numeros primos. esto es asi, al menos, hasta el numero 275,604,541, que es el numero primo '15 millones'. asi que... puesto que 18=2^4 (+o-) resulta que todas las multiplicaciones necesarias serian, en el peor de los casos, 2^((2048-4)/2)=2^1022 multiplicaciones... y encima, multiplicaciones 'BIGNUM', que no son precisamente rapidas...


Vamos! Nada que no podamos resolver con unos cuantos mainframes de IBM en paralelo y una vida por delante de procesos batch... ratataaaa
Nose, pero creo que algo se me escapa.

Que yo sepa, hay un juegito llamado 'King Kong' se emplea ahora como base para un exploit. Resulta, que anunciaron que dicho juegito no estaba firmado y que se por tanto se podía modificar.

¿Joer, no era necesario que el fichero este firmado? Conociendo a los Msoft, seguro que le han metido al kernel la firma o el checksum del king para que no lo puedan cargas.

Luego, la x360 era capaz de ejecutar soft no firmado. No es por nada, pero me huele que tiene que haber algún que otro xex sin firmar rulando por ahi y que también lo ejecuta. Por ejemplo, demos o juegos del live en el HDD.

¿Eso no sería suficiente para hacer scene?

Por cierto, se que está la herramienta xextool que saca datos de los xex. ¿Mi pregunta es, donde han deducido que los datos que saca son los correctos ?
Azbel escribió:Ok pues, id cogiendo vuestras gafas de vision nocturna y gadgets, nos encontramos esta noche a las 12:00 hora zulu en el cuartel general de billi.

Mision : Robar la clave de la 360.

Objetivo secundario : Borrar el servidor de baneados de Live

Objetivo Secundario : Instalar linux en el portatil de billi.

Recuerden... el sigilo es clave..


Asi tardariamos minutos y no un monton de años como han dicho. X-D

Saludos
dbg escribió:y a mi me parecen dificiles los sudokus...

me solidarizo contigo. Yo me creia listo por terminar los dificiles..! [poraki]
cjsosa escribió:Nose, pero creo que algo se me escapa.

Que yo sepa, hay un juegito llamado 'King Kong' se emplea ahora como base para un exploit. Resulta, que anunciaron que dicho juegito no estaba firmado y que se por tanto se podía modificar.

¿Joer, no era necesario que el fichero este firmado? Conociendo a los Msoft, seguro que le han metido al kernel la firma o el checksum del king para que no lo puedan cargas.


te doy unas clases basicas:
el ejecutable de el juego king kong SI ESTA FIRMADO. lo que sucede es que el ejecutable carga otros datos del disco que estan sin firmar, como por ejemplo, LOS SHADERS, que son 'mini programitas' que ejecuta la GPU de forma directa para hacer efectos graficos. se descubrio una vulnerabilidad, en la cual, modificando los shaders se provocaba un overflow y se podia ejecutar codigo. es el mismo proceso que sucedio en la XBOX con los juegos mechassault, 007 agent under fire y splinter cell, los tres tenian un bug a la hora de cargar los savegames.

una cosa que se pretenden cambiar son los MEDIA ID, que son unos bits que, a modo de bandera, especifica desde cuales medios pueden ser lanzados los ejecutables. en este caso, el proceso mas sencillo seria: coger CUALQUIER JUEGOS, tocar el ejecutable y activarle el MEDIA ID por el cual se permitiria el lanzamiento desde un DVDR, volver a firmar el ejecutable con la firma privada de MS, tostar dicha ISO en un DVD. dicho DVD funcionaria en una consola de fabrica SIN FLASHEAR NI CHIPEAR, o sea, una consola virgen.

por supuesto, dicha consola seria baneada de xbox live a las primeras de cambio (nada mas sencillo para MS que emitir un update del juego que compruebe el MD5 del ejecutable y si no cuadra, baneo al canto), PERO PERMITIRIA EL HOMEBREW A CUALQUIER NIVEL, puesto que podemos firmar con la clave de MS cualquier ejecutable que queramos.
f5inet escribió:por supuesto, dicha consola seria baneada de xbox live a las primeras de cambio (nada mas sencillo para MS que emitir un update del juego que compruebe el MD5 del ejecutable y si no cuadra, baneo al canto), PERO PERMITIRIA EL HOMEBREW A CUALQUIER NIVEL, puesto que podemos firmar con la clave de MS cualquier ejecutable que queramos.


En este caso el baneo no seria posible.. ya que segun microsoft.. se banea la consola por estar modificada.. en este caso.. la consola no lo estaria por lo tanto el baneo no tendria justificacion..

Sobre el otro tema no hablo.. porque me he liado hace un rato.. :D
jandemor escribió:
En este caso el baneo no seria posible.. ya que segun microsoft.. se banea la consola por estar modificada.. en este caso.. la consola no lo estaria por lo tanto el baneo no tendria justificacion..

Sobre el otro tema no hablo.. porque me he liado hace un rato.. :D


MS puede banear a cualquier nivel, desde nivel de consola, hasta nivel de gamertag. lo mas sencillo es banear a nivel de consola, puesto que por lo menos tienes la posibilidad de que el 'piratilla' se compre otra consola nueva...
f5inet escribió:
MS puede banear a cualquier nivel, desde nivel de consola, hasta nivel de gamertag. lo mas sencillo es banear a nivel de consola, puesto que por lo menos tienes la posibilidad de que el 'piratilla' se compre otra consola nueva...


Me parece que a lo que intenta hace referencia jandemor no es a la posibilidad del baneo por parte de microsoft, que sabemos que lo puede hacer con sólo le de la gana, sino a la justificación del mismo. Según el contrato no estaría justificado un baneo de esa consola al no estar modificada en esa situación concreta.

Pero vamos, todo esto se lo pueden pasar por el real arco del triunfo con esa política tan maja de "no admito reclamaciones ni aún cuando tengas razón"... como si no hubiera habido casos de errores por parte de MS en el pasado (Tiempos de Xbox1) baneando consolas vírgenes.

Salu2.
DNKROZ escribió:
Me parece que a lo que intenta hace referencia jandemor no es a la posibilidad del baneo por parte de microsoft, que sabemos que lo puede hacer con sólo le de la gana, sino a la justificación del mismo. Según el contrato no estaría justificado un baneo de esa consola al no estar modificada en esa situación concreta.

Pero vamos, todo esto se lo pueden pasar por el real arco del triunfo con esa política tan maja de "no admito reclamaciones ni aún cuando tengas razón"... como si no hubiera habido casos de errores por parte de MS en el pasado (Tiempos de Xbox1) baneando consolas vírgenes.

Salu2.


a eso me refiero DNKROZ, banearan por lo que les de la gana y lo que les de la gana. se de gente que jugaba al forza hackeado en el HD, por live, arrancando desde el mechassault rebentandolo con el hack de los saves... y no los baneaban... y otros casos que por tener un DNS algo 'caprichoso' te baneaban la consola sin mas al conectar al live (consola virgen)
Exacto.. me referia no a la posibilidad tecnica.. sino a la posibilidad segun contrato.. otra cosa es que lo hiciese por sus santos #~@#es..

Y perdon por ser fuera del tema en cuestion, mejor seguir con el antes de que esto se convierta en un lanzamiento de hipotesis y maldiciones contra microsoft...

Un saludo y si hay que poner maquinas a trabajar.. yo tengo mas de 20 en la oficina.. :D
ok, por mi parte dejo el offtopic de los baneos, que para eso hay otros hilos. por ejemplo, el de mi firma.

recuperando el topic... tengo una lista de los primeros 15 millones de numeros primos, pero apenas llega al numero 275.000.000, muy lejos del maximo teorico 2^2048.

voy a aclarar un poco el tema de RSA:
El algoritmo RSA funciona de la siguiente manera:

1. Inicialmente es necesario generar aleatoriamente dos números primos grandes, a los que llamaremos p y q.

2. A continuación calcularemos n como producto de p y q: n = p * q

3. Se calcula fi: fi(n)=(p-1)(q-1)

4. Se calcula un número natural e de manera que MCD(e, fi(n))=1 , es decir e debe ser primo relativo de fi(n).
Es lo mismo que buscar un numero impar por el que dividir fi(n) que de cero como resto.
*nota: MCD es Maximo Comun Divisor.

5. Mediante el algoritmo extendido de Euclides se calcula d: e.d mod fi(n)=1 Puede calcularse d=((Y*fi(n))+1)/e para Y=1,2,3,... hasta encontrar un d entero.

6. El par de números (e,n) son la clave pública.

7. El par de números (d,n) son la clave privada.

8. Cifrado: La función de cifrado es C = M^e mod n

9. Descifrado: La función de descifrado es M = C^d mod n
-------------------------

un ejemplo de RSA con numeros pequeños. con ejemplos se ve mas claro...

# Escogemos dos números primos, por ejemplo p=3 y q=11.

# n = 3 * 11 = 33.

# fi(n) = (3-1) * (11-1) = 20.

# Buscamos e: 20/1=0, 20/3=6.67. e=3.

# Calculamos d como el inverso multiplicativo módulo z de e, por ejemplo, sustituyendo Y por 1,2,3,... hasta que se obtenga un valor entero en la expresión: d = ((Y * fi(n)) + 1) / e = ( Y * 20 + 1) / 3 = 21 / 3 = 7

# e=3 y n=33 son la clave pública.

# d=7 y n=33 son la clave privada.

# Cifrado: Mensaje = 5, C = M^e mod n = 5^3 mod 33 = 26

# Descifrado: M = C^d mod n = 26^7 mod 33 = 8031810176 mod 33 = 5
-----------------------

sin embargo, hay una cosa que me ha llamado poderosamente la atencion:
a dia de hoy, nadie ha demostrado MATEMATICAMENTE que sea imposible obtener 'e' partiendo de 'n' y 'd'
esto es importante, puesto que aun es posible encontrar una vulnerabilidad en RSA, aunque lo veo francamente dificil, que no imposible, ojo...


NUEVO ALGORITMO:
Sabemos que si n=p*q y, por fuerza, p > q (siempre tiene que haber un numero mayor que otro, seria ilogico multiplicar un numero primo por si mismo para obtener 'n', puesto que una simple raiz cuadrada a 'n' te daria tanto 'p' como 'q'). puesto que p > q , esto significa que p > raiz(n), y q < raiz(n). Esto permite empezar a buscar por el numero mas grande. En caso de que p y q sean cercanos, llegaremos antes si empezamos por el primer primo cercano a raiz(n).
adicionalmente es mucho mas sencillo dividir n/(numero primo candidato a 'p'), si su resto es 0, el cociente de la division sera por fuerza OTRO numero primo que, casualmente, sera 'q'. con esto solo habria que hacer, como maximo NNP(sqrt(n)->2^2048) divisiones. o sea, habria que hacer como maximo, tantas divisiones como 'numero de numeros primos' desde 2^1024(esto es sqrt(n), teniendo en cuenta que n es un numero cercano a 2^2048) a 2^2048, teniendo en cuenta que hay menos numeros primos mientras mas avanzamos en numeros, o sea, que NNP(1->2^1024)>NNP(2^1024->2^2048).

PD: creo que estoy soltando demasiado tocho... ¿alguien me sigue u os habeis perdido todos?
Lo mismo digo una burrada pero, no se podría hacer un miniprogramita como el del SETI o el del cáncer para libre distribución?. Lo mismo si 2 millones de personas lo ponen en su ordenador el proceso sería viable.
sigue sigue, a mi me esta interesando mucho el tema, pero segun unas clases que tuve en la universidad el año pasado sobre fisica cuantica, encontrar una clave encriptada por fuerza bruta seria cuestion de muchos siglos con ordenadores convencionales.
NO obstante me parece super interesante todo lo que estais comentando.
Efectivamente, seria ams facil poner una bomba en los servidores y esperar q el fuego cumpla su funcion borrando las IDs de las consolas baneadas que petar una RSA
fuera ya de algoritmos de encriptacion, creo recordar que el problema es que conforme aumentamos la clave linealmente el tiempo de calculo aunmenta exponecialmente, seria algo asi como que si para una clave con n bits se tarda x en calcularla, para una clave con 2n bits se tardaria x^2.
Si estoy muy lejos de la realidad que alguien me corrija, yo soy industrial no informatico, XD.
Zer0_Blue escribió:fuera ya de algoritmos de encriptacion, creo recordar que el problema es que conforme aumentamos la clave linealmente el tiempo de calculo aunmenta exponecialmente, seria algo asi como que si para una clave con 'n' bits se tarda 't' en calcularla, para una clave con n*2 bits se tardaria t^2.
Si estoy muy lejos de la realidad que alguien me corrija, yo soy industrial no informatico, XD.


es correcto, zero_blue. una clave n*2 se tardaria t^2

PD: he cambiado tu variable 'x' por 't' puesto que se refiere a 'tiempo' y es mas facil de entender asi.

con respecto a la clave publica y privada de MS, he encontrado varios hilos muy interesantes en xboxhacker y xbox-scene:
http://www.xboxhacker.net/index.php?topic=7591.0
http://www.xboxhacker.net/index.php?topic=583.0
http://www.xboxhacker.net/index.php?topic=193.0
http://forums.xbox-scene.com/index.php?showtopic=466262

segun parece, nadie ha obtenido 'aun' la clave publica de MS (el equivalente a (d,n), lo de 'd' viene porque es la calve de 'descifrado' y n... bueno, a estas alturas ya deberiais saber que n=p*q que a su vez son dos numeros primos y que n es un valor cercano a 2^2048 etcetcetc...)
A ver, yo sigo en mi línea de aportar ideas. Es posible que por curiosidad hayan utilizado dos primos de Mersenne?. se podría intentar crear un programa simple que cogiese los 30 primeros primos de mersenne y comprobase si la cantidad es aprox n.
Jarod escribió:A ver, yo sigo en mi línea de aportar ideas. Es posible que por curiosidad hayan utilizado dos primos de Mersenne?. se podría intentar crear un programa simple que cogiese los 30 primeros primos de mersenne y comprobase si la cantidad es aprox n.


ilustrame... ¿que son primos de mersenne?

adicionalmente, no se cuales son los valores de 'd' y 'n' que teoricamente son la clave publica de MS para firmar XEX de X360. ¿alguien los sabe? teoricamente, estos numeros 'n' y 'd' deberian estar grabados en alguna parte dentro de la X360, porque se usan para verificar la firma de los XEX.

EDITO: busqueda rapida en wikipedia: Se dice que un número M es un número primo de Mersenne si es primo y M+1 es una potencia de 2. Así, 7 es un primo de Mersenne (7 + 1 = 8 = 2³, y 7 es primo), pero 13 no lo es (por no ser 14 una potencia de 2) y 15 tampoco lo es (por no ser un número primo).
http://es.wikipedia.org/wiki/N%C3%BAmero_primo_de_Mersenne

creo que tu idea no nos lleva a ninguna parte (de todas formas muchas gracias, toda aportacion es bienvenida), puesto que un numero equivalente a 2^2048 tiene unos 630 digitos, y para conseguir dicho numero de aprox. 630 digitos, hay que multiplicar dos numeros de +o- 315 digitos. hay un primo de mersenne de 386 digitos, pero no hay otro primo de mersenne de 244 digitos. no obstante, en cuanto sepamos 'n' y 'd' (sobre todo 'n') podemos dividir 'n' entre los primos de mersenne de 157, 183 y 386 digitos como primeros candidatos. quien sabe, quizas suene la flauta y demos con otro numero primo... (lo cual solucionaria el problema de factorizar 'n')
Perdona, yo tampoco soy un matemático ni nada, simplemente he estado mirando las propiedades de los primos para ver si con ecuaciones complementarias se pudiesen acotar las posibilidades.

Los primos de Meresenne son números primos a los que sumando +1 daría una potencia de 2. Hay una lista de de unos 45,46 primos de Messene encontrados, que son números concretos. Tan sólo por si la clave no es tan aleatoria como podría ser, sería algo al menos a intentar.


Más información:

http://es.wikipedia.org/wiki/N%C3%BAmero_primo_de_Mersenne
Aun asi, seria logico pensar que microsoft no elegiria un numero de una formula conocida, mas bien seria un numero al azar, o el cumpleaños de billi....

El echo es que sin la clave publica, no podemos saber si el numero x encontrado es la clave. Pero hipoteticamente teniendo este dato, alguien sabe calcular a ojo cuanto tiempo/potencia de calculo podriamos necesitar? es decir, pongamos que creamos el adecuado programa que funciona en red, y todos los frikis de eol nos lo ponemos, no se cuantos somos, pero por sacar una cifra, 1000. Eso y con un poco de suerte (hay que contar con ella) despues de probar el 70% de las combinaciones posibles...
Jarod escribió:Lo mismo digo una burrada pero, no se podría hacer un miniprogramita como el del SETI o el del cáncer para libre distribución?. Lo mismo si 2 millones de personas lo ponen en su ordenador el proceso sería viable.

El gran inconveniente de esto mas que el hecho técnico de hacerlo sería su dudosa legalidad
Bah, si es que sois todos unos torpes, esto con la calculadora del güindows tardo yo 5 minutines de na...


PD: Es coña xD
PD2: Ánimo a los que entienden todos esos numerajos
AIXI escribió:El gran inconveniente de esto mas que el hecho técnico de hacerlo sería su dudosa legalidad


la Union Europea permite que saltarse limites de seguridad sea legal siempre que sea para dotar de mas compatibilidad al producto. rebentaremos la proteccion de X360 para hacerla compatible con linux y con software homebrew.
AIXI escribió:El gran inconveniente de esto mas que el hecho técnico de hacerlo sería su dudosa legalidad


Que yo sepa aki solo intentamos resolver un problema matematico, ¿acaso es eso ilegal?.

A ver si alguien sabe que problema tendriamos si tuvieramos todos los primos representados con 2048 bits. Es decir, si tuvieramos todos esos primos en principio seria facil crear una aplicacion que hallara las claves.
-Si tuvieramos una clave, ¿como sabemos que es la correcta?
Me da a mí la impresión que romper esa clave es casi imposible, a no ser que usemos una potencia de cálculo brutal y hasta con esas tardaríamos una eternidad.

Sin embargo tiene que haber otros métodos; un ejemplo, me hacía mucha falta una clave de un ZIP, intenté sacarla por fuerza bruta y que va... imposible, y eso que era un core 2 duo de los ultimitos y lo dejé rulando cerca de 3 días; luego me comentaron que había una web que pagando, te lo hacía en un pis.

Con poca fe digo... bueno, probemos, total te hacía una simulación y te daba los primeros bytes para demostarte que estaba abierto y luego ya pagabas y te mandaban el archivo. La cosa es que el ca**on tardó menos de dos minutos, consecuencia, o es un ordenador cuántico de esos o usaba otros métodos, ojo, y la clave no había podido salir de ningún diccionario ni nada por el estilo, ya que luego la supe y eran 10 caractéres mezclados con números (difecenciaba mayúsculas).

La cosa es que me enviaron el archivo desencriptado, pero no la clave, por lo visto eso no se podía... no tengo mucha idea de mates, pero a lo mejor ese servidor ya conocía cierto algoritmo o algo sobre la encriptación en ZIP y a partir de ahí lo desencriptó sin tener que averiguar la clave, es posible?

A ver si le mando un DVD original de XBOX y por la misma regla de tres te hace un "chanfly" parecido.
f5inet escribió:
la Union Europea permite que saltarse limites de seguridad sea legal siempre que sea para dotar de mas compatibilidad al producto. rebentaremos la proteccion de X360 para hacerla compatible con linux y con software homebrew.

En esto tienes una linea legal muy pero que muy difusa. Por ejemplo no solo dotas de mas compatibilidad al producto sinoq ue también puedes alterar su funcionamiento hasta el momento. Por ejemplo tu podrias modificar un juego o cargar un programa estilo action replay y poder usarlo online. Así consigues alterar la funcionalidad del servicio y encima de mala fe, que vale que M$ banearia a las primeras de cambio pero eso no exime que se pueda modificar el funcionamiento.

Aparte técicamente tu tienes medios comerciales de firmar tu hombrew ya sea via xna o via el sdk así que tampoco se está dotando de mas compatibilidad al producto, sino liberando una solucion comercial al romper la seguridad de esta cosa que ya dudo mucho que sea legal.

Aparte a la hora de poner abogado me da a mi que los de M$ nos comerian con patatas(fritas en una consola con 3 luces rojas por supuestoXD)
adicionalmente, no se cuales son los valores de 'd' y 'n' que teoricamente son la clave publica de MS para firmar XEX de X360. ¿alguien los sabe? teoricamente, estos numeros 'n' y 'd' deberian estar grabados en alguna parte dentro de la X360, porque se usan para verificar la firma de los XEX.


Como dije, suponen que están dentro de una rom en la cpu. Aunque incluso podrian estar en la gpu.

Alguien sabe como es el algoritmo empleado para calcular C^d mod n ?
Te aseguro q si hacen un programa para eso colaboro con varias maquinas, estaria muy bien que lo hicieran.

Saludos
axon escribió:Me da a mí la impresión que romper esa clave es casi imposible, a no ser que usemos una potencia de cálculo brutal y hasta con esas tardaríamos una eternidad.

Sin embargo tiene que haber otros métodos; un ejemplo, me hacía mucha falta una clave de un ZIP, intenté sacarla por fuerza bruta y que va... imposible, y eso que era un core 2 duo de los ultimitos y lo dejé rulando cerca de 3 días; luego me comentaron que había una web que pagando, te lo hacía en un pis.

Con poca fe digo... bueno, probemos, total te hacía una simulación y te daba los primeros bytes para demostarte que estaba abierto y luego ya pagabas y te mandaban el archivo. La cosa es que el ca**on tardó menos de dos minutos, consecuencia, o es un ordenador cuántico de esos o usaba otros métodos, ojo, y la clave no había podido salir de ningún diccionario ni nada por el estilo, ya que luego la supe y eran 10 caractéres mezclados con números (difecenciaba mayúsculas).

La cosa es que me enviaron el archivo desencriptado, pero no la clave, por lo visto eso no se podía... no tengo mucha idea de mates, pero a lo mejor ese servidor ya conocía cierto algoritmo o algo sobre la encriptación en ZIP y a partir de ahí lo desencriptó sin tener que averiguar la clave, es posible?

A ver si le mando un DVD original de XBOX y por la misma regla de tres te hace un "chanfly" parecido.


Jajaja y pagaste por eso? yo tambien lo hacia en mi viejo pentium 3 jojojo, me tendre que mirar eso de cobrar por hacerlo... la verdad esque era bastante facil, solo habia que utilizar el winrar para abrir los zip y la opción de recovery con ciertos parametros canviados... desde luego de lo que uno se entera! funcionaba no sabias el pass pero eso ya era lo de menos.
Hay que crear un programa como el de la ps3 para el genoma Humano pero para esto ajjajaaj .Todos los ordenadores calculando las variables para la clave jajaja.
Aunque me gusta mas la infiltracion en M$ estilo splinter
bibbo escribió:
Como dije, suponen que están dentro de una rom en la cpu. Aunque incluso podrian estar en la gpu.

Alguien sabe como es el algoritmo empleado para calcular C^d mod n ?


pues C^d mod n se calcula haciendo C^d mod n... [looco]

no, sin coñas, es (C 'elevado a' d) dividido entre 'n' y quedandonos con el resto, que no el cociente de la division.

quizas lo que te ha despistado es el 'mod' que es la operacion 'modulus' o 'modulo'. no es mas que hacer una division entera, y al final quedarte con el resto que ya no es divisible. por ponerte otro ejemplo: 7/3=2 pero (7 mod 3)=1 (1 es el 'resto' de la division entera, la parte que no se puede seguir dividiendo)
No me voy a repetir como el ajo diciendo que romper una clave RSA de 2048 bits está fuera del alcance de la computación actual y que se tardarían siglos aunque se usaran todos los ordenadores de la Tierra y bla bla bla...

Si os queréis entretener (y aprender mucho) os recomiendo bajar CRYPT-TOOL (Freeware GPL) y poneros a "trastear".

Salu2 ;)

PD: Por cierto, para calcular C^d mod n cuando C^d es un número muy tocho se usa esto -> http://en.wikipedia.org/wiki/Modular_exponentiation
55 respuestas
1, 2