Migration services: Difference between revisions

 
(2 intermediate revisions by the same user not shown)
Line 1,062: Line 1,062:
| 0x8 || 0x20 || Data from [[SPL_services|GenerateRandomBytes]].
| 0x8 || 0x20 || Data from [[SPL_services|GenerateRandomBytes]].
|-
|-
| 0x28 || 0x10 || CMAC ([[SPL_services|ComputeCmac]]) over the above 0x20-bytes, followed by 0x20-bytes from state (the first state u8 here is set to 0x1).
| 0x28 || 0x10 || CMAC ([[SPL_services|ComputeCmac]]) over the above 0x20-bytes, followed by 0x20-bytes from state.
|}
|}


Line 1,071: Line 1,071:
! Offset || Size || Description
! Offset || Size || Description
|-
|-
| 0x8 || 0x10 || Ctr for [[SPL_services|ComputeCtr]] with the below data.
| 0x8 || 0x10 || Ctr for [[SPL_services|ComputeCtr]] with the below data (generated with [[SPL_services|GenerateRandomBytes]]).
|-
|-
| 0x18 || 0x70 || Data encrypted with [[SPL_services|ComputeCtr]].
| 0x18 || 0x70 || Data encrypted with [[SPL_services|ComputeCtr]].
Line 1,084: Line 1,084:
! Offset || Size || Description
! Offset || Size || Description
|-
|-
| 0x0 || 0x28 || Passphrase for key derivation.
| 0x0 || 0x28 || Passphrase for key derivation (generated with [[SPL_services|GenerateRandomBytes]]).
|-
|-
| 0x28 || 0x20 || Must match the random data previously sent by the client.
| 0x28 || 0x20 || Must match the random data previously sent by the client.
|-
|-
| 0x48 || 0x20 ||  
| 0x48 || 0x20 || Data from [[SPL_services|GenerateRandomBytes]].
|-
|-
| 0x68 || 0x8 ||  
| 0x68 || 0x8 || Zeros
|}
|}


Line 1,133: Line 1,133:
! Offset || Size || Description
! Offset || Size || Description
|-
|-
| 0x0 || 0x14 ||  
| 0x0 || 0x20 || Must match the 0x20-bytes which is used for [[#KeyExchange|KeyExchange]] response_plaintext+0x48.
|}
|}


Line 1,160: Line 1,160:
| 0x0 || 0x20 || Must match the random data previously sent by the client.
| 0x0 || 0x20 || Must match the random data previously sent by the client.
|-
|-
| 0x20 || 0x20 || Copied into state by the client.
| 0x20 || 0x20 || Data from [[SPL_services|GenerateRandomBytes]]. Copied into state by the client.
|}
|}