SceSblGcAuthMgr

command 0x1000B 0x11
Original PSP Kirk 0x11 service for 160bit ECC signature verification.

command 0x1000B 0x18
Almost certainly a 224bit version of 0x11

command 0x1000B 0x4
Original PSP Kirk 4 service for encrypting data

command 0x1000B 0x4
Original PSP Kirk 4 service for encrypting data

command 0x1000B 0x4
Original PSP Kirk 4 service for encrypting data

command 0x1000B 0x4
Original PSP Kirk 4 service for encrypting data

command 0x1000B 0x7
Original PSP Kirk 7 service for decrypting data

command 0x1000B 0x7
Original PSP Kirk 7 service for decrypting data

command 0x1000B 0x7
Original PSP Kirk 7 service for decrypting data

command 0x1000B 0x4 0x7
Original PSP Kirk Enc and Dec

enc_dec
includes both aes and psp kirk 1000B 4 and 7

error
returns error 0x808A040A

get_5018_data
This function copies first 0x20 bytes of the buffer of size 0x34 to destination.

memcmp_5018_fast
This function verifies that last 0x14 bytes of last responce of size 0x34 from the game card (cmd56) are valid

For example it is called from

This is a timing safe memcmp. Xyz (talk) 10:02, 1 May 2017 (UTC)

clear_sensitive_data
Clears some sensitive data.

Called after

clear_sensitive_data
Clears sensitive data that is left after cmd56 custom initialization.

This includes data generated by Kirk services 0x1C, 0x1F, 0x20 and packet6.

Buffer offsets are 0x4BC4, 0x4FF8, 0x5018, 0x544C.

Called after

cmd56_handshake
This is a wrapper function that starts initialization subroutine through run_execlusive

get_act_data
executes kirk command 1000B 19

gcauth_sm "KIRK" calls to F00D
The use of os0:sm/gcauthmgr_sm.self is to support the next generation of KIRK. It uses a similar input structure to the original KIRK on the PSP.

PSP support
4,7,0xC,0xD,0xE, 0x10, 0x11, 0x12 are the classic PSP KIRK Services supported by gcauth_sm.

New PSVita Codes
0x14-0x19, 0x1b-0x23 are the new KIRK Services supported by gcauth_sm.

0x14 is the 224bit ecdsa keypair gen. The only input is an empty buffer size (3*0x1C) it returns 3 values. Private key, Public X point, Public Y point. Each value is 0x1C bytes long.

0x16 is random 224bit generator. It will return 0x1C bytes of random data into the buffer. 0x17 -0x19 are the 224bit ecdsa versions of psp's 160bit 0x10-0x12