You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Description

Encrypts the data buffer using the AES128 cryptographic algorithm associated with the Feature. Checks the license conditions of the feature.

If the license is limited by the number of launches, this function decrements the value of the launch counter for the license.

Encryption flags can be applied in addition to the selected encryption mode. If the GRD_NO_COUNTER_DECREMENT flag is set, the function uses a different encryption key and the launch counter is not decreased. 

The GRD_SOFTWARE_ACCELERATION flag allows you to speed up the function significantly, since the data will be decrypted by a software algorithm which key depends on the feature.

The encrypting results of the same data with and without the GRD_NO_COUNTER_DECREMENT flag will be different

The GRD_EM_CFB and GRD_EM_OFB encryption modes are only available when the GRD_SOFTWARE_ACCELERATION flag is used simultaneously.

Syntax

int GRD_API GrdFeatureEncrypt(GrdHandle handle, 
							  grd_uint32 dataSize, 
							  void* data, 
							  grd_uint32 mode, 
							  void* context, 
							  grd_uint32 contextSize);

Parameters

handle
Session handle
dataSize

The size (in bytes) of the buffer for open message

data

Pointer to a buffer with the open message.

mode

Encryption mode:

  • GRD_EM_ECB
  • GRD_EM_CBC
  • GRD_EM_CFB 
  • GRD_EM_OFB

Encryption flags:

  • GRD_NO_COUNTER_DECREMENT
  • GRD_SOFTWARE_ACCELERATION
context

Pointer to GrdAesContext context required for AES encryption operations. May be NULL

contextSize

The size of the context. Must be equal to sizeof(GrdAesContext). Zero value is allowed.

Return values

GRD_OK

GRD_INVALID_HANDLE

GRD_INVALID_FEATURE


  • No labels