⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mycrypt_kr.h

📁 最新版本的加密解密算法库
💻 H
字号:
#ifdef KR#if !defined(MRSA) || !defined(MDH) || !defined(MECC)    #error "Keyring code requires all three public key algorithms."#endif#define MAXLEN    256enum {   NON_KEY=0,   RSA_KEY,   DH_KEY,   ECC_KEY};typedef union {    rsa_key rsa;    dh_key  dh;    ecc_key ecc;} _pk_key;typedef struct Pk_key {    int     key_type,             /* PUBLIC, PRIVATE, PRIVATE_OPTIMIZED */            system;               /* RSA, ECC or DH ?   */    unsigned char             name[MAXLEN],         /* various info's about this key */            email[MAXLEN],            description[MAXLEN];    unsigned long ID;             /* CRC32 of the name/email/description together */    _pk_key key;    struct Pk_key  *next;         /* linked list chain */} pk_key;extern int kr_init(pk_key **pk);extern unsigned long kr_crc(const unsigned char *name, const unsigned char *email, const unsigned char *description);extern pk_key *kr_find(pk_key *pk, unsigned long ID);extern pk_key *kr_find_name(pk_key *pk, const char *name);extern int kr_add(pk_key *pk, int key_type, int sys, const unsigned char *name,                   const unsigned char *email, const unsigned char *description, const _pk_key *key);                  extern int kr_del(pk_key **_pk, unsigned long ID);extern int kr_clear(pk_key **pk);extern int kr_make_key(pk_key *pk, prng_state *prng, int wprng,                        int sys, int keysize, const unsigned char *name,                       const unsigned char *email, const unsigned char *description);extern int kr_export(pk_key *pk, unsigned long ID, int key_type, unsigned char *out, unsigned long *outlen);extern int kr_import(pk_key *pk, const unsigned char *in, unsigned long inlen);extern int kr_load(pk_key **pk, FILE *in, symmetric_CTR *ctr);extern int kr_save(pk_key *pk, FILE *out, symmetric_CTR *ctr);extern int kr_encrypt_key(pk_key *pk, unsigned long ID,                           const unsigned char *in, unsigned long inlen,                          unsigned char *out, unsigned long *outlen,                          prng_state *prng, int wprng, int hash);extern int kr_decrypt_key(pk_key *pk, const unsigned char *in,                          unsigned char *out, unsigned long *outlen);extern int kr_sign_hash(pk_key *pk, unsigned long ID,                         const unsigned char *in, unsigned long inlen,                        unsigned char *out, unsigned long *outlen,                        prng_state *prng, int wprng);extern int kr_verify_hash(pk_key *pk, const unsigned char *in,                           const unsigned char *hash, unsigned long hashlen,                          int *stat);extern int kr_fingerprint(pk_key *pk, unsigned long ID, int hash,                          unsigned char *out, unsigned long *outlen);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -