File Formats/es: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
La consola 3DS utiliza varios tipos de archivos | 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 | .[[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 118: | Line 122: | ||
AES-CTR utiliza el cifrado de bloques AES para crear un cifrado de flujo. Esto se logra aplicando la operación XOR | 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 | entre los datos y el flujo de llaves que genera AES. AES-CTR se puede paralelizar y permite calcular previamente | ||
el flujo de llaves. | 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)) |