ECCTK (Elliptic Curve Cryptographic ToolKit): PSEC-3

# PSEC-3
[Chiffrement asymétrique]

## Typedefs
typedef psec3_ctx | PSEC3_CTX
## Fonctions
s2byte | DecryptFilePsec3 (s1byte *EncryptFile, s1byte *DecryptFile, KPRV_CTX *Ctx, s1byte *Password)
| Permet de déchiffrer un fichier en utilisant l'algorithme PSEC3.
s2byte | EncryptFilePsec3 (s1byte *PlainFile, s1byte *EncryptFile, s2byte Algo, KPUB_CTX *Kctx, ECC_CIPHER_CTX *Cctx)
| Permet de chiffrer un fichier en utilisant l'algorithme PSEC3.
u1byte * | DecryptStreamPsec3 (u1byte *BufferIn, u4byte BufferInSize, s4byte *BufferOutSize, KPRV_CTX *Ctx, s1byte *Password)
| Permet de déchiffrer un buffer mémoire en utilisant l'algorithme PSEC3.
u1byte * | EncryptStreamPsec3 (u1byte *BufferIn, u4byte BufferInSize, s4byte *BufferOutSize, s2byte Algo, KPUB_CTX *Kctx, ECC_CIPHER_CTX *Cctx)
| Permet de chiffrer un buffer mémoire en utilisant l'algorithme PSEC3.

## Documentation des typedef

typedef struct psec3_ctx PSEC3_CTX

| Context utilisé pour effectuer les opérations avec l'algorithme PSEC3

## Documentation des fonctions

s2byte DecryptFilePsec3 | ( | s1byte * | EncryptFile,
|  | s1byte * | DecryptFile,
|  | KPRV_CTX * | Ctx,
|  | s1byte * | Password
| ) |

  | Permet de déchiffrer un fichier en utilisant l'algorithme PSEC3. Paramètres:
  | EncryptFile | : nom du fichier chiffré.
  | DecryptFile | : nom du fichier de sortie (déchiffré).
  | Ctx | : context de clef privée initialisé.
  | Password | : mot de passe protégeant la clef privée.
Remarques: si la clef privée n'est pas protégée, le mot de passe peut-être NULL. Renvoie: code d'erreur de la fonction. Exemples: decrypt_file_asym.cpp.

s2byte EncryptFilePsec3 | ( | s1byte * | PlainFile,
|  | s1byte * | EncryptFile,
|  | s2byte | Algo,
|  | KPUB_CTX * | Kctx,
|  | ECC_CIPHER_CTX * | Cctx
| ) |

  | Permet de chiffrer un fichier en utilisant l'algorithme PSEC3. Paramètres:
  | PlainFile | : nom du fichier à chiffrer.
  | EncryptFile | : nom du fichier de sortie (chiffré).
  | Algo | : algorithme de hash pour l'intégrité
  | Kctx | : context de clef publique initialisé.
  | Cctx | : context de chiffrement initialisé.
Renvoie: code d'erreur de la fonction. Exemples: encrypt_file_asym.cpp.

u1byte* DecryptStreamPsec3 | ( | u1byte * | BufferIn,
|  | u4byte | BufferInSize,
|  | s4byte * | BufferOutSize,
|  | KPRV_CTX * | Ctx,
|  | s1byte * | Password
| ) |

  | Permet de déchiffrer un buffer mémoire en utilisant l'algorithme PSEC3. Paramètres:
  | BufferIn | : buffer mémoire chiffré.
  | BufferInSize | : taille du buffer mémoire chiffré.
  | BufferOutSize | : pointeur sur taille du buffer mémoire de sortie(déchiffré).
  | Ctx | : context de clef privée initialisé.
  | Password | : mot de passe protégeant la clef privée.
Remarques: si la clef privée n'est pas protégée, le mot de passe peut-être NULL. BufferOutSize est toujours mis à jour. Renvoie: buffer mémoire alloué contenant le déchiffrement, ou NULL en cas d'erreur. Exemples: decrypt_stream_asym.cpp.

u1byte* EncryptStreamPsec3 | ( | u1byte * | BufferIn,
|  | u4byte | BufferInSize,
|  | s4byte * | BufferOutSize,
|  | s2byte | Algo,
|  | KPUB_CTX * | Kctx,
|  | ECC_CIPHER_CTX * | Cctx
| ) |

  | Permet de chiffrer un buffer mémoire en utilisant l'algorithme PSEC3. Paramètres:
  | BufferIn | : buffer mémoire à chiffrer.
  | BufferInSize | : taille du buffer mémoire à chiffrer.
  | BufferOutSize | : pointeur sur taille du buffer mémoire de sortie (chiffré).
  | Algo | : algorithme de hash pour l'intégrité
  | Kctx | : context de clef publique initialisé.
  | Cctx | : context de chiffrement initialisé.
Remarques: BufferOutSize est toujours mis à jour. Renvoie: buffer mémoire alloué contenant le chiffrement, ou NULL en cas d'erreur. Exemples: encrypt_stream_asym.cpp.