Cryptosystem: Difference between revisions

TuxSH (talk | contribs)
m Typo, see above: it says that the SBK is console-unique
Rei (talk | contribs)
No edit summary
Line 52: Line 52:


This is presumably using data stored in fuses that only microcode authenticated by NVidia has access to.
This is presumably using data stored in fuses that only microcode authenticated by NVidia has access to.
== Security Engine ==
The security engine (SE) is responsible for the crypto done on the switch. SE is mapped to physical address 0x70012000.
=== SE registers ===
{| class="wikitable" border="1"
|-
! Register
! Offset
|-
| OPERATION_REG_OFFSET
| 0x008
|-
| INT_ENABLE_REG_OFFSET
| 0x00C
|-
| INT_STATUS_REG_OFFSET
| 0x010
|-
| CONFIG_REG_OFFSET
| 0x014
|-
| IN_LL_ADDR_REG_OFFSET
| 0x018
|-
| OUT_LL_ADDR_REG_OFFSET
| 0x024
|-
| HASH_RESULT_REG_OFFSET
| 0x030
|-
| CONTEXT_SAVE_CONFIG_REG_OFFSET
| 0x070
|-
| SHA_CONFIG_REG
| 0x200
|-
| SHA_MSG_LENGTH_REG
| 0x204
|-
| SHA_MSG_LEFT_REG
| 0x214
|-
| KEYSLOT_1
| 0x284
|-
| KEYSLOT_2
| 0x288
|-
| KEYSLOT_3
| 0x28C
|-
| KEYSLOT_4
| 0x290
|-
| KEYSLOT_5
| 0x294
|-
| KEYSLOT_6
| 0x298
|-
| KEYSLOT_7
| 0x29C
|-
| KEYSLOT_8
| 0x2A0
|-
| KEYSLOT_9
| 0x2A4
|-
| KEYSLOT_10
| 0x2A8
|-
| KEYSLOT_11
| 0x2AC
|-
| KEYSLOT_12
| 0x2B0
|-
| KEYSLOT_13
| 0x2B4
|-
| KEYSLOT_14
| 0x2B8
|-
| KEYSLOT_15
| 0x2BC
|-
| KEYSLOT_16
| 0x2C0
|-
| CRYPTO_REG
| 0x304
|-
| CRYPTO_CTR_REG
| 0x308
|-
| BLOCK_COUNT_REG
| 0x318
|-
| KEYTABLE_REG
| 0x31C
|-
| KEYTABLE_DATA0_REG
| 0x320
|-
| CRYPTO_KEYTABLE_DST_REG
| 0x330
|-
| RNG_CONFIG_REG
| 0x340
|-
| RNG_SRC_CONFIG_REG
| 0x344
|-
| RNG_RESEED_INTERVAL_REG
| 0x348
|-
| RSA_CONFIG
| 0x400
|-
| RSA_KEY_SIZE_REG_OFFSET
| 0x404
|-
| RSA_EXP_SIZE_REG_OFFSET
| 0x408
|-
| RSA_KEYSLOT_1
| 0x410
|-
| RSA_KEYSLOT_2
| 0x414
|-
| RSA_KEYTABLE_ADDR
| 0x420
|-
| RSA_KEYTABLE_DATA
| 0x424
|-
| RSA_OUTPUT
| 0x428
|-
| SPARE_0_REG_OFFSET
| 0x80C
|}


== Package1 ==
== Package1 ==