Asymmetric Key Services TISCI Description

Introduction

This section describes the APIs availailable which provide asymmetric key services in System Firmware.

TISCI Message ID Message Name
0x9010 TISCI_MSG_SA2UL_PKA_RSA_SIGN_PRIM
0x9011 TISCI_MSG_SA2UL_PKA_RSA_VERIFY_PRIM
0x9012 TISCI_MSG_SA2UL_PKA_RSA_ENCRYPT_PRIM
0x9013 TISCI_MSG_SA2UL_PKA_RSA_DECRYPT_PRIM
0x9014 TISCI_MSG_SA2UL_PKA_ECDSA_SIGN
0x9015 TISCI_MSG_SA2UL_PKA_ECDSA_VERIFY

TISCI_MSG_SA2UL_PKA_RSA_SIGN_PRIM - Perform RSA Sign Primitive (RSASP1)

Usage

Message Type Secure
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_SA2UL_PKA_RSA_SIGN_PRIM          (0x9010U)

Message to perform the RSA signature primitive

struct tisci_msg_sa2ul_pka_rsa_sign_prim_req

Request to perform RSA signature primitive (RSASP1)

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
key_index u8 Index in keystore to access the private key for performing the signature primitive
data_lo u32 Lower 32-bit memory location of the plaintext data to sign
data_hi u32 Upper 32-bit memory location of the plaintext data to sign
signature_lo u32 Lower 32-bit memory location where the signature will be placed upon successful completion
signature_hi u32 Upper 32-bit memory location where the signature will be placed upon successful completion

struct tisci_msg_sa2ul_pka_rsa_sign_prim_resp

Response to the RSA sign primitive request

Parameter Type Description
hdr struct tisci_header Generic TISCI message header. ACK response indicates that the signature was successful and contents were placed into the memory location provided by the host during the request. NACK response indicates that the signature was not able to be completed.

TISCI_MSG_SA2UL_PKA_RSA_VERIFY_PRIM - Perform RSA Verify Primitive (RSAVP1)

Usage

Message Type Secure
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_SA2UL_PKA_RSA_VERIFY_PRIM          (0x9011U)

Message to perform the RSA verification primitive

struct tisci_msg_sa2ul_pka_rsa_verify_prim_req

Request to perform RSA verification primitive (RSAVP1)

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
key_index u8 Index in keystore to access the public key for performing the verification primitive
signature_lo u32 Lower 32-bit memory location of the signature
signature_hi u32 Upper 32-bit memory location of the signature
data_lo u32 Lower 32-bit memory location where the plaintext data will be placed upon successful completion
data_hi u32 Upper 32-bit memory location where the plaintext data will be placed upon successful completion

struct tisci_msg_sa2ul_pka_rsa_verify_prim_resp

Response to the RSA verify primitive request

Parameter Type Description
hdr struct tisci_header Generic TISCI message header. ACK response indicates that the verification was successful and contents were placed into the memory location provided by the host during the request. NACK response indicates that the verification was not able to be completed.

TISCI_MSG_SA2UL_PKA_RSA_ENCRYPT_PRIM - Perform RSA Encrypt Primitive (RSAEP)

Usage

Message Type Secure
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_SA2UL_PKA_RSA_ENCRYPT_PRIM          (0x9012U)

Message to perform the RSA encryption primitive

struct tisci_msg_sa2ul_pka_rsa_encrypt_prim_req

Request to perform RSA Encryption Primitive (RSAEP)

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
key_index u8 Index in keystore to access the public key for performing the encryption primitive
data_lo u32 Lower 32-bit memory location of the plaintext data
data_hi u32 Upper 32-bit memory location of the plaintext data
cipher_lo u32 Lower 32-bit memory location where the ciphertext data will be placed upon successful completion
cipher_hi u32 Upper 32-bit memory location where the ciphertext data will be placed upon successful completion

struct tisci_msg_sa2ul_pka_rsa_encrypt_prim_resp

Response to the RSA encrypt primitive request

Parameter Type Description
hdr struct tisci_header Generic TISCI message header. ACK response indicates that the encryption was successful and contents were placed into the memory location provided by the host during the request. NACK response indicates that the encryption was not able to be completed.

TISCI_MSG_SA2UL_PKA_RSA_DECRYPT_PRIM - Perform RSA Decrypt Primitive (RSADP)

Usage

Message Type Secure
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_SA2UL_PKA_RSA_DECRYPT_PRIM          (0x9013U)

Message to perform the RSA decryption primitive

struct tisci_msg_sa2ul_pka_rsa_decrypt_prim_req

Request to perform RSA Decryption Primitive (RSADP)

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
key_index u8 Index in keystore to access the private key for performing the decryption primitive
cipher_lo u32 Lower 32-bit memory location of the ciphertext data
cipher_hi u32 Upper 32-bit memory location of the ciphertext data
data_lo u32 Lower 32-bit memory location where the plaintext data will be placed upon successful completion
data_hi u32 Upper 32-bit memory location where the plaintext data will be placed upon successful completion

struct tisci_msg_sa2ul_pka_rsa_decrypt_prim_resp

Response to the RSA decrypt primitive request

Parameter Type Description
hdr struct tisci_header Generic TISCI message header. ACK response indicates that the decryption was successful and contents were placed into the memory location provided by the host during the request. NACK response indicates that the decryption was not able to be completed.

TISCI_MSG_SA2UL_PKA_ECDSA_SIGN - Sign a message

Usage

Message Type Secure
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_SA2UL_PKA_ECDSA_SIGN          (0x9014U)

Message to sign a message hash with an EC private key

struct tisci_msg_sa2ul_pka_ecdsa_sign_req

Request to perform ECDSA signature

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
key_index u8 Index in keystore to access the private key for performing the signature
input_lo u32 Lower 32-bit memory location of the hashed message
input_hi u32 Upper 32-bit memory location of the hashed message
signature_r_lo u32 Lower 32-bit memory location where the r component of the signature pair S = (r, s) will be placed upon successful completion
signature_r_hi u32 Upper 32-bit memory location of the r component of the the signature pair S = (r, s) will be placed upon successful completion
signature_s_lo u32 Lower 32-bit memory location of the s component of the the signature pair S = (r, s) will be placed upon successful completion
signature_s_hi u32 Upper 32-bit memory location of the s component of the the signature pair S = (r, s) will be placed upon successful completion

struct tisci_msg_sa2ul_pka_ecdsa_sign_resp

Response to the ECDSA signature request

Parameter Type Description
hdr struct tisci_header Generic TISCI message header. ACK response indicates that the signature was successful and contents were placed into the memory locations provided by the host during the request. NACK response indicates that the signature was not able to be completed.

TISCI_MSG_SA2UL_PKA_ECDSA_VERIFY - Verify a signature

Usage

Message Type Secure
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_SA2UL_PKA_ECDSA_VERIFY          (0x9015U)

Message to verify an EC signature

struct tisci_msg_sa2ul_pka_ecdsa_verify_req

Request to perform ECDSA verification

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
key_index u8 Index in keystore to access the public key for performing the verification
input_lo u32 Lower 32-bit memory location of the hashed message
input_hi u32 Upper 32-bit memory location of the hashed message
signature_r_lo u32 Lower 32-bit memory location of the r component of the signature pair S = (r, s)
signature_r_hi u32 Upper 32-bit memory location of the r component of the signature pair S = (r, s)
signature_s_lo u32 Lower 32-bit memory location of the s component of the signature pair S = (r, s)
signature_s_hi u32 Upper 32-bit memory location of the s component of the signature pair S = (r, s)

struct tisci_msg_sa2ul_pka_ecdsa_verify_resp

Response to the ECDSA verification request

Parameter Type Description
hdr struct tisci_header Generic TISCI message header. ACK response indicates that the verification was successful. NACK response indicates that the verfication was not successful.