In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "/dev/aes"

From WiiBrew
Jump to navigation Jump to search
m (Robot: Cosmetic changes)
m (whoops, wrong button haha)
Tag: Undo
 
(15 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Don't know what this is, guessing it is todo with aes encryption
+
{{stub}}
 +
'''/dev/aes''' is an IPC interface for the [[Hardware/AES engine | AES engine]] that accepts IOS_Open, IOS_Close & IOCTLV commands.
 +
 
 +
Internally in IOS, it ''usually'' has an internal FD of 0x10000. despite this, it is better to do an IOS_Open when using this resource. 
 +
 
 +
== /dev/aes IOS_Ioctlv ==
 +
{| class="wikitable" style="margin: 0.2em 0.2em 0.2em 0.2em;"
 +
! style="vertical-align: top;" |number
 +
! style="vertical-align: top;" |Description
 +
! style="vertical-align: top;" |in count
 +
! style="vertical-align: top;" |out count
 +
! style="vertical-align: top;" |vector
 +
! style="vertical-align: top;" |vector length
 +
|-
 +
| style="vertical-align: top;" rowspan="2" | 0x00
 +
| style="vertical-align: top;" rowspan="2" | Copy
 +
| style="vertical-align: top;" rowspan="2" | 1
 +
| style="vertical-align: top;" rowspan="2" | 1
 +
| style="vertical-align: top;" | input data (16-byte aligned)
 +
| style="vertical-align: top;" | -
 +
|-
 +
| style="vertical-align: top;" | output data (16-byte aligned)
 +
| style="vertical-align: top;" | -
 +
|-
 +
| style="vertical-align: top;" rowspan="4" | 0x02
 +
| style="vertical-align: top;" rowspan="4" | Encrypt
 +
| style="vertical-align: top;" rowspan="4" | 2
 +
| style="vertical-align: top;" rowspan="4" | 2
 +
| style="vertical-align: top;" | input data (16-byte aligned)
 +
| style="vertical-align: top;" | -
 +
|-
 +
| style="vertical-align: top;" | key
 +
| style="vertical-align: top;" | 16 bytes
 +
|-
 +
| style="vertical-align: top;" | output data (16-byte aligned)
 +
| style="vertical-align: top;" | same as input
 +
|-
 +
| style="vertical-align: top;" | initialization vector
 +
| style="vertical-align: top;" | 16 bytes
 +
|-
 +
| style="vertical-align: top;" rowspan="4" | 0x03
 +
| style="vertical-align: top;" rowspan="4" | Decrypt
 +
| style="vertical-align: top;" rowspan="4" | 2
 +
| style="vertical-align: top;" rowspan="4" | 2
 +
| style="vertical-align: top;" | input data (16-byte aligned)
 +
| style="vertical-align: top;" | -
 +
|-
 +
| style="vertical-align: top;" | key
 +
| style="vertical-align: top;" | 16 bytes
 +
|-
 +
| style="vertical-align: top;" | output data (16-byte aligned)
 +
| style="vertical-align: top;" | same as input
 +
|-
 +
| style="vertical-align: top;" | initialization vector
 +
| style="vertical-align: top;" | 16 bytes
 +
|}
  
 
[[Category:Wii Filesystem]]
 
[[Category:Wii Filesystem]]

Latest revision as of 11:28, 30 October 2024

/dev/aes is an IPC interface for the AES engine that accepts IOS_Open, IOS_Close & IOCTLV commands.

Internally in IOS, it usually has an internal FD of 0x10000. despite this, it is better to do an IOS_Open when using this resource.

/dev/aes IOS_Ioctlv

number Description in count out count vector vector length
0x00 Copy 1 1 input data (16-byte aligned) -
output data (16-byte aligned) -
0x02 Encrypt 2 2 input data (16-byte aligned) -
key 16 bytes
output data (16-byte aligned) same as input
initialization vector 16 bytes
0x03 Decrypt 2 2 input data (16-byte aligned) -
key 16 bytes
output data (16-byte aligned) same as input
initialization vector 16 bytes