IPWorks Encrypt 2020 C++ Edition

Questions / Feedback?

RecipientKeyAlgorithm Property

This property holds the algorithm associated with the key.

Syntax

ANSI (Cross Platform)
int GetRecipientKeyAlgorithm();
int SetRecipientKeyAlgorithm(int iRecipientKeyAlgorithm); Unicode (Windows) INT GetRecipientKeyAlgorithm();
INT SetRecipientKeyAlgorithm(INT iRecipientKeyAlgorithm);

Possible Values

EA_SECP_256R_1(0), 
EA_SECP_384R_1(1),
EA_SECP_521R_1(2),
EA_ED_25519(3),
EA_ED_448(4),
EA_X25519(5),
EA_X448(6),
EA_SECP_160K_1(7),
EA_SECP_192K_1(8),
EA_SECP_224K_1(9),
EA_SECP_256K_1(10)
@property (nonatomic,readwrite,assign,getter=recipientKeyAlgorithm,setter=setRecipientKeyAlgorithm:) int recipientKeyAlgorithm;
- (int)recipientKeyAlgorithm;
- (void)setRecipientKeyAlgorithm:(int)newRecipientKeyAlgorithm;

Possible Values

EA_SECP_256R_1(0), 
EA_SECP_384R_1(1),
EA_SECP_521R_1(2),
EA_ED_25519(3),
EA_ED_448(4),
EA_X25519(5),
EA_X448(6),
EA_SECP_160K_1(7),
EA_SECP_192K_1(8),
EA_SECP_224K_1(9),
EA_SECP_256K_1(10)
#define PID_ECC_RECIPIENTKEYALGORITHM 24

IPWORKSENCRYPT_EXTERNAL void* IPWORKSENCRYPT_CALL IPWorksEncrypt_ECC_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal);
IPWORKSENCRYPT_EXTERNAL int IPWORKSENCRYPT_CALL IPWorksEncrypt_ECC_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);

Default Value

0

Remarks

This property holds the algorithm associated with the key. Possible values are:

  • 0 (eaSecp256r1)
  • 1 (eaSecp384r1)
  • 2 (eaSecp521r1)
  • 3 (eaEd25519)
  • 4 (eaEd448)
  • 5 (eaX25519)
  • 6 (eaX448)
  • 7 (eaSecp160k1)
  • 8 (eaSecp192k1)
  • 9 (eaSecp224k1)
  • 10 (eaSecp256k1)

When assigning a key using the PEM formatted RecipientKeyPrivateKey and RecipientKeyPublicKey the RecipientKeyAlgorithm property will be automatically updated with the key algorithm.

When assigning a key using the raw key parameters (RecipientKeyK, RecipientKeyRx, and RecipientKeyRy for NIST or RecipientKeyXPk, and RecipientKeyXSk for Curve25519/Curve448) the RecipientKeyAlgorithm property must be set manually to the key algorithm.

The following table summarizes the supported operations for keys created with each algorithm:

KeyAlgorithmSupported Operations
secp256r1ECDH/ECIES/ECDSA (ComputeSecret, Encrypt, Decrypt, Sign, and VerifySignature)
secp384r1ECDH/ECIES/ECDSA (ComputeSecret, Encrypt, Decrypt, Sign, and VerifySignature)
secp521r1ECDH/ECIES/ECDSA (ComputeSecret, Encrypt, Decrypt, Sign, and VerifySignature)
x25519ECDH (ComputeSecret)
x448ECDH (ComputeSecret)
ed25519EdDSA (Sign and VerifySignature)
ed448EdDSA (Sign and VerifySignature)
eaSecp160k1ECDH/ECIES/ECDSA (ComputeSecret, Encrypt, Decrypt, Sign, and VerifySignature)
eaSecp192k1ECDH/ECIES/ECDSA (ComputeSecret, Encrypt, Decrypt, Sign, and VerifySignature)
eaSecp224k1ECDH/ECIES/ECDSA (ComputeSecret, Encrypt, Decrypt, Sign, and VerifySignature)
eaSecp256k1ECDH/ECIES/ECDSA (ComputeSecret, Encrypt, Decrypt, Sign, and VerifySignature)

Data Type

Integer

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks Encrypt 2020 C++ Edition - Version 20.0 [Build 8155]