Rivest-Shamir-Adleman (RSA) algorithm, according to PKCS #1. More...
#include "c4e_dlc.h"#include "c4e_algo32.h"#include "c4e_hash.h"
Go to the source code of this file.
Data Structures | |
| struct | C4eRsaKeyPrv |
| RSA private key. More... | |
Defines | |
| #define | C4E_RSA_TMPID_KEY_CHECK |
| Temp. space qualifier associated with c4e_rsa_keychk_prv() and c4e_rsa_keychk_pub(). | |
| #define | C4E_RSA_TMPID_PKCS1V1_ENCRYPT |
| Temp. space qualifier associated with c4e_rsa_encrypt_pkcs1v1(). | |
| #define | C4E_RSA_TMPID_PKCS1V1_DECRYPT |
| Temp. space qualifier associated with c4e_rsa_decrypt_pkcs1v1(). | |
| #define | C4E_RSA_TMPID_PKCS1V1_SIGN |
| Temp. space qualifier associated with c4e_rsa_sign_pkcs1v1(). | |
| #define | C4E_RSA_TMPID_PKCS1V1_VERIFY |
| Temp. space qualifier associated with c4e_rsa_verify_pkcs1v1(). | |
| #define | C4E_RSA_TMPID_PKCS1V2_ENCRYPT |
| #define | C4E_RSA_TMPID_PKCS1V2_DECRYPT |
| Temp. space qualifier associated with c4e_rsa_decrypt_pkcs1v2(). | |
| #define | C4E_RSA_TMPID_PKCS1V2_SIGN |
| Temp. space qualifier associated with c4e_rsa_sign_pkcs1v2(). | |
| #define | C4E_RSA_TMPID_PKCS1V2_VERIFY |
| Temp. space qualifier associated with c4e_rsa_verify_pkcs1v2(). | |
| #define | C4E_RSA_TMPID_PKCS1_MAX |
| Temp. space qualifier for the best-case. | |
| #define | C4E_RSA_TMPID_PKCS1_WORSTCASE |
| Temp. space qualifier for the worst-case. | |
| #define | C4E_RSA_TMP_NUM(tmpid, keylen) |
| Calculate the number of temp. space elements of type C4eAlgo32Digit for RSA algorithms. | |
| #define | C4E_RSA_PKCS1V1_EBOH |
| Minimum encoding overhead in a PKCS #1 v1.5 respective PEM (RFC 1423) encryption block, in bytes. | |
| #define | C4E_RSA_OAEP_EMOH(hlen) |
| Minimum encryption overhead in a PKCS #1 v2.1 EME-OAEP encoded message, in bytes. | |
| #define | C4E_RSA_PSS_EMLEN(hlen, slen) |
| Length of a PKCS #1 v2.1 EMSA-PSS (signature) encoded message, in bytes. | |
Functions | |
| C4eSysStatus | c4e_rsa_encrypt_pkcs1v1 (C4eDlcDomain *C4E_RESTRICT dom, C4E_CONST C4eElement *C4E_RESTRICT e, C4E_CONST C4eArchUint8 *C4E_RESTRICT plain, C4eArchSize len, C4eAlgo32Digit tmp[C4E_RESTRICT], C4eArchUint8 *C4E_RESTRICT cipher) |
| RSA encryption of a plaintext octet string into a ciphertext octet string, compatible with PKCS #1 v1.5 (block type 2) and Privacy Enhancement for Internet Electronic Mail (PEM). | |
| C4eSysStatus | c4e_rsa_decrypt_pkcs1v1 (C4E_CONST C4eDlcDomain *C4E_RESTRICT dom, C4eRsaKeyPrv *key, C4E_CONST C4eArchUint8 *C4E_RESTRICT cipher, C4eAlgo32Digit tmp[C4E_RESTRICT], C4eArchUint8 *C4E_RESTRICT plain, C4eArchSize *C4E_RESTRICT plen) |
| RSA decryption of a ciphertext octet string into a plain- text octet string, compatible with PKCS #1 v1.5 (block type 2) and Privacy Enhancement for Internet Electronic Mail (PEM). | |
| C4eSysStatus | c4e_rsa_sign_pkcs1v1 (C4E_CONST C4eDlcDomain *C4E_RESTRICT dom, C4eRsaKeyPrv *key, C4eHashId hid, C4E_CONST C4eArchUint8 *C4E_RESTRICT digest, C4eAlgo32Digit tmp[C4E_RESTRICT], C4eArchUint8 *C4E_RESTRICT signature) |
| RSA signature of a digest, compatible with PKCS #1 v1.5 (block type 1). | |
| C4eSysStatus | c4e_rsa_verify_pkcs1v1 (C4eDlcDomain *C4E_RESTRICT dom, C4E_CONST C4eElement *C4E_RESTRICT e, C4eHashId hid, C4E_CONST C4eArchUint8 *C4E_RESTRICT digest, C4eAlgo32Digit tmp[C4E_RESTRICT], C4eArchUint8 *C4E_RESTRICT signature, C4eArchSize len) |
| PKCS #1 v1.5 (block type 1) RSA signature verification. | |
| C4eSysStatus | c4e_rsa_encrypt_pkcs1v2 (C4eDlcDomain *C4E_RESTRICT dom, C4E_CONST C4eElement *C4E_RESTRICT e, C4eHashId hid, C4E_CONST C4eArchUint8 *C4E_RESTRICT plain, C4eArchSize len, C4eAlgo32Digit tmp[C4E_RESTRICT], C4eArchUint8 *C4E_RESTRICT cipher) |
| RSA encryption of a plaintext octet string into a ciphertext octet string, compatible with PKCS #1 v2.1 (RSAES-OAEP), IEEE Std 1363 (IFES/EME1) and ISO 18033-2 (RSAES/REM1). | |
| C4eSysStatus | c4e_rsa_decrypt_pkcs1v2 (C4E_CONST C4eDlcDomain *C4E_RESTRICT dom, C4eRsaKeyPrv *key, C4eHashId hid, C4E_CONST C4eArchUint8 *C4E_RESTRICT cipher, C4eAlgo32Digit tmp[C4E_RESTRICT], C4eArchUint8 *C4E_RESTRICT plain, C4eArchSize *C4E_RESTRICT plen) |
| RSA decryption of a ciphertext octet string into a plain- text octet string, compatible with PKCS #1 v2.1 (RSAES- OAEP), IEEE Std 1363 (IFES/EME1) and ISO 18033-2 (RSAES/REM1). | |
| C4eSysStatus | c4e_rsa_sign_pkcs1v2 (C4E_CONST C4eDlcDomain *C4E_RESTRICT dom, C4eRsaKeyPrv *key, C4eArchSize slen, C4eHashId hid, C4E_CONST C4eArchUint8 *C4E_RESTRICT digest, C4eAlgo32Digit tmp[C4E_RESTRICT], C4eArchUint8 *C4E_RESTRICT signature) |
| RSA signature of a digest, compatible with PKCS #1 v2.1 signature scheme RSASSA-PSS. | |
| C4eSysStatus | c4e_rsa_verify_pkcs1v2 (C4eDlcDomain *C4E_RESTRICT dom, C4E_CONST C4eElement *C4E_RESTRICT e, C4eHashId hid, C4eArchUint8 *C4E_RESTRICT digest, C4eArchUint8 *C4E_RESTRICT signature, C4eArchSize len, C4eAlgo32Digit tmp[C4E_RESTRICT]) |
| PKCS #1 v2.1 RSA signature verification, according to scheme RSASSA-PSS. | |
| C4eSysStatus | c4e_rsa_keychk_prv (C4E_CONST C4eDlcDomain *C4E_RESTRICT dom, C4E_CONST C4eRsaKeyPrv *C4E_RESTRICT key, C4eAlgo32Digit tmp[C4E_RESTRICT]) |
| Private RSA key validity test. | |
| C4eSysStatus | c4e_rsa_keychk_pub (C4E_CONST C4eDlcDomain *C4E_RESTRICT dom, C4E_CONST C4eElement *C4E_RESTRICT e, C4eAlgo32Digit tmp[C4E_RESTRICT]) |
| Public RSA key validity test. | |
Rivest-Shamir-Adleman (RSA) algorithm, according to PKCS #1.
Definition in file c4e_rsa.h.
1.6.1