Changes

1,567 bytes added ,  08:04, 2 December 2012
no edit summary
Line 1: Line 1: −
La consola 3DS utiliza varios tipos de archivos. La siguiente, es una lista de los formatos conocidos.
+
La consola 3DS utiliza varios tipos de archivos, la siguiente es una lista de los formatos conocidos.
    
== [[NCCH]] ==
 
== [[NCCH]] ==
      −
.[[NCCH#CXI|CXI]] - Imagen ejectubale CTR - Hay dos posibles variaciones de este formato. 1) Datos empaquetados con formato CCI/CSU, cuyo objetivo es ser ejecutados desde un cartucho. 2) Datos empaquetados con formato CIA, cuyo objetivo es ser instalado en la memoria SDMC o en la NAND.
+
.[[NCCH#CXI|CXI]] - Imagen ejectubale CTR - Hay dos posibles variaciones de este formato.  
 +
 
 +
1. Datos empaquetados con formato CCI/CSU. Son ejecutados desde un cartucho.
 +
 
 +
2. Datos empaquetados con formato CIA. Son instalados en la memoria SDMC o en la NAND.
    
.[[NCCH#CFA|CFA]] - Archivo de datos CTR - Rom-FS creado para ser utilizado de forma externa. Esta es una versión no ejecutable del formato de contenedor NCCH. Este formato se utiliza generalmente junto con una versión ejecutable del formato de contenedor NCCH (CXI).
 
.[[NCCH#CFA|CFA]] - Archivo de datos CTR - Rom-FS creado para ser utilizado de forma externa. Esta es una versión no ejecutable del formato de contenedor NCCH. Este formato se utiliza generalmente junto con una versión ejecutable del formato de contenedor NCCH (CXI).
Line 107: Line 111:  
El sistema de archivos de la consola 3DS necesita rutas absolutas. Puede manejar nombres de archivos largos y cortos, es decir
 
El sistema de archivos de la consola 3DS necesita rutas absolutas. Puede manejar nombres de archivos largos y cortos, es decir
 
en formato de 8.3 (ocho caracteres para el nombre y tres caracters para la extensión) y en formato de 255 caracteres como máximo.
 
en formato de 8.3 (ocho caracteres para el nombre y tres caracters para la extensión) y en formato de 255 caracteres como máximo.
 +
 +
== Cifrado AES modo Contador (CTR AES)==
 +
 +
AES es un esquema de cifrado basado en bloques que utliza la NIST ("National Institute of Standards and Technology").
 +
Se puede utilizar de cinco modos diferentes, uno de ellos es el modo Contador ("Counter") o CTR. AES-CTR genera un
 +
valor único por cada paquete de datos. Este valor lo tiene que genera el que cifra y se lo tiene que comunicar al que decifra.
 +
Este valor es llamado en otros contextos el vector de inicialización o IV por sus siglas en ingles.
 +
El que cifra necesita asegurar que este valor IV sea único.
 +
 +
AES-CTR utiliza el cifrado de bloques AES para crear un cifrado de flujo. Esto se logra aplicando la operación XOR
 +
entre los datos y el flujo de llaves que genera AES. AES-CTR se puede paralelizar y permite calcular previamente
 +
el flujo de llaves.
 +
 +
En el documento RFC 3686 se comentá que el AES-CTR es inapropiado cuando la llave es estática, y también
 +
que se debe de utilizar junto con una función de autentificación, como SHA.
 +
 +
Para cifrar, AES-CTR divide los datos en bloques de 128 bits (o 16 octetos ). A cada bloque se le asocia una llave de 128 bits
 +
que se produce del flujo de llaves, y luego se aplica la función XOR entre el bloque de datos y la llave del flujo.
 +
 +
El algoritmo se puede resumir así:
 +
 +
bloque_CTR = Valor NONCE (32 bits) || Valor IV (64 bits) || puros unos (32 bits)
 +
Para  i = 1 hasta n - 1, en incrementos de uno en uno.
 +
Realizar
 +
        datos_cifrados[i] = datos[i] XOR AES(bloque_CTR)
 +
        bloque_CTR = bloque_CTR + 1
 +
Fin
 +
datos_cifrados[n] = datos[n] XOR truncar(AES(bloque_CTR))
6

edits