SVC_DecryptRSA

Syntax

#include <twl/os/common/systemCall.h>
int SVC_DecryptRSA( const SVCSignHeapContext* acmemory_pool,
                     const SVCSignBuffers* pData,
                    unsigned int* len );

typedef struct
{
   u32* head;
   u32* tail;
   u32 size;
}
SVCSignHeapContext;

typedef struct
{
   void* output;
   const void* input;
   const void* key;
}
SVCSignBuffers;

Arguments

acmemory_pool Pointer to the heap information.
pData Pointer to the structure containing data including which region the data is stored in.
len Size of the data.

Return Values

Returns FALSE if any pointers in the arguments or any members of pData are NULL. Returns TRUE otherwise.

Description

Performs RSA decryption.

acmemory_pool is a pointer to the SVCSignHeapContext structure where information about the heap area used for the operation is stored. This is initialized by the SVC_InitSignHeap function.

pData is a pointer to a structure that contains various data, including which region the data will be stored in. The input member is a pointer to the input data, and the output member is a pointer to the output data region. The key is a pointer to the private key used for decryption. Only a 1024-bit key length is supported for the private key.

len is the length of the data.

See the key creation example in the CRYPTO library's RSA encryption overview for information on how to create a private key.

See Also

SVC_InitSignHeap, SVC_DecryptSign, SVC_DecryptSignDER

Revision History

2008/09/18 Added an explanation related to keys.
2007/10/19 Initial version.


CONFIDENTIAL