Main Page | Modules | File List | File Members

GSCryptoInterface.h File Reference

Interface ubi.com's cryptographic library. More...

#include "GSTypes.h"
#include "GSCryptoDefines.h"

Go to the source code of this file.

Functions

GSbool InitializeCrypto ()
 Initialize library.

GSvoid UninitializeCrypto ()
 Uninitialize library.

GSbool GenerateRawHash (GSCRYPTO_HASH_ALGO eAlgo, const GSubyte *pucInBuffer, GSuint uiBufferSize, GSubyte *pucOutBuffer, GSuint uiIterations=1)
 Generate binary hash.

GSbool GenerateHexaHash (GSCRYPTO_HASH_ALGO eAlgo, const GSubyte *pucInBuffer, GSuint uiBufferSize, GSchar *pszOutBuffer, GSuint uiIterations=1)
 Generate hexadecimal hash.

GShandle InitializeHash (GSCRYPTO_HASH_ALGO eAlgo)
 Initialize the hash context.

GSbool UpdateHash (GShandle hHash, const GSubyte *pucInBuffer, GSuint uiBufferSize, GSuint uiIterations=1)
 Update the internal hash context.

GSbool TerminateRawHash (GShandle hHash, GSubyte *pucOutBuffer)
 Terminate the hash context, output binary hashed result.

GSbool TerminateHexaHash (GShandle hHash, GSchar *pszOutBuffer)
 Terminate the hash context, output hexadecimal hashed result.

GSbool ResetHash (GShandle hHash)
 Reset the hash module.

GSvoid UninitializeHash (GShandle hHash)
 Uninitiaze the hash module.

GShandle StartNumberGenerator (GSCRYPTO_PRNG_ALGO eAlgo, GSCRYPTO_HASH_ALGO eHash, const GSubyte *pucSeed, GSuint uiSeedSize)
 Initialize the pseudo-random number generator.

GSvoid StopNumberGenerator (GShandle hPRNG)
 Uninitiaze the pseudo-random number generator.

GSubyte GenerateBit (GShandle hPRNG)
 Generate random bit.

GSubyte GenerateByte (GShandle hPRNG)
 Generate random byte.

GSulong GenerateNumber (GShandle hPRNG, GSulong ulMax=(GSulong)-1, GSulong ulMin=0)
 Generate random number.

GSvoid GenerateBlock (GShandle hPRNG, GSubyte *pucBlock, GSuint uiBlockSize)
 Generate random array of bytes.

GShandle InitializeCipher (GSCRYPTO_CIPHER_ALGO eAlgo, const GSubyte *ucKey, GSuint uiKeyLength)
 Initialize the encryption module.

GSvoid UninitializeCipher (GShandle hCipher)
 Uninitialize the encryption module.

GSbool ResetKey (GShandle hCipher, const GSubyte *ucKey, GSuint uiKeyLength)
 Reset the encryption key.

GSbool Encrypt (GShandle hCipher, const GSvoid *pInputBuffer, GSuint uiInBufferLength, GSvoid *pOutputBuffer, GSuint *puiOutBufferLength)
 Encrypt a data buffer.

GSbool Decrypt (GShandle hCipher, const GSvoid *pInputBuffer, GSuint uiInBufferLength, GSvoid *pOutputBuffer, GSuint *puiOutBufferLength)
 Decrypt a data buffer.

GShandle InitializePKC (GSCRYPTO_PKC_ALGO eAlgo)
 Initialize the hash context.

GSvoid UninitializePKC (GShandle hPKC)
 Uninitiaze the hash module.

GSbool RandomInit (GShandle hPKC, RANDOM_STRUCT *pRandomData)
GSbool RandomUpdate (GShandle hPKC, RANDOM_STRUCT *pRandomData, GSubyte *block, GSuint blockLen)
GSvoid RandomFinal (GShandle hPKC, RANDOM_STRUCT *pRandomData)
GSint GetRandomBytesNeeded (GShandle hPKC, GSuint *bytesNeeded, RANDOM_STRUCT *pRandomData)
GSbool GenerateKeyPair (GShandle hPKC, RSA_PUBLIC_KEY *pPublicKey, RSA_PRIVATE_KEY *pPrivateKey, RSA_PROTO_KEY *pProtoKey, RANDOM_STRUCT *pRandomData)
GSbool PublicEncrypt (GShandle hPKC, GSubyte *pInputBuffer, GSuint uiInputBufferLength, GSubyte *pOutputBuffer, GSuint *pOutputBufferLength, RSA_PUBLIC_KEY *pPublicKey, RANDOM_STRUCT *pRandomData)
GSbool PrivateEncrypt (GShandle hPKC, GSubyte *pInputBuffer, GSuint uiInputBufferLength, GSubyte *pOutputBuffer, GSuint *pOutputBufferLength, RSA_PRIVATE_KEY *pPrivateKey)
GSbool PublicDecrypt (GShandle hPKC, GSubyte *pInputBuffer, GSuint uiInputBufferLength, GSubyte *pOutputBuffer, GSuint *pOutputBufferLength, RSA_PUBLIC_KEY *pPublicKey)
GSbool PrivateDecrypt (GShandle hPKC, GSubyte *pInputBuffer, GSuint uiInputBufferLength, GSubyte *pOutputBuffer, GSuint *pOutputBufferLength, RSA_PRIVATE_KEY *pPrivateKey)


Detailed Description

This interface provides one-way hash, synchronous block cipher and pseudo-random number generator functionality to be use along with the ubi.com crypto interface.

Function Documentation

GSbool InitializeCrypto  ) 
 

Description:
Initialize library
Returns:
Status of the function call
Return values:
GS_TRUE the operation suceeded.
GS_FALSE the operation failed.

GSvoid UninitializeCrypto  ) 
 

Description:
Uninitialize library
Returns:
void


Ubi.com GameService SDK - ©UbiSoft Entertainment 2002
GameService development team