ECCTK (Elliptic Curve Cryptographic ToolKit): Partage de secret

# Partage de secret
[Algorithmes Asymétriques]

## Typedefs
typedef sharing_ctx | SHARING_CTX
## Fonctions
void | SharingPtFree (SHARING_CTX **Ctx)
| Effacement et libération d'un pointeur sur des context de partage de secret.
SHARING_CTX ** | SharingPtInit (int m)
| Allcation d'un pointeur sur des context de partage de secret.
void | SharingCtxFree (SHARING_CTX *Ctx)
| Effacement et libération d'un context de partage de secret.
SHARING_CTX * | ReadStreamSharingCtx (u1byte *Buffer, u4byte Size)
| Permet de lire une structure de partage de secret dans un buffer mémoire.
SHARING_CTX * | ReadFileSharingCtx (s1byte *File)
| Permet de lire une structure de partage de secret dans un fichier.
s2byte | WriteFileSharingCtx (s1byte *File, SHARING_CTX *Ctx)
| Permet d'écrire un context de partage de secret dans un fichier.
s2byte | WriteStreamSharingCtx (u1byte *Buffer, u4byte *Size, SHARING_CTX *Ctx)
| Permet d'écrire un context de partage de secret dans un buffer mémoire.
SHARING_CTX * | PemReadFileSharingCtx (s1byte *File)
| Permet de lire un context de partage de secret au format PEM dans un fichier.
SHARING_CTX * | PemReadStreamSharingCtx (s1byte *Buffer)
| Permet de lire un context de partage de secret au format PEM dans un buffer mémoire.
s2byte | PemWriteFileSharingCtx (s1byte *File, SHARING_CTX *Ctx)
| Permet d'écrire au format PEM un context de partage de secret dans un fichier.
s1byte * | PemWriteStreamSharingCtx (SHARING_CTX *Ctx)
| Permet d'écrire au format PEM un context de partage de secret dans un buffer mémoire.
u1byte * | ResolveSecretSharingCtx (SHARING_CTX **Ctx, u2byte *Size)
| Permet de retrouver un secret à partir des secrets partagés.
SHARING_CTX ** | CreateSecretSharingCtx (u1byte *Secret, u2byte Size, u2byte Nb, u2byte NbGen)
| Permet de créer des secrets partagés à partir d'un secret.

## Documentation des typedef

typedef struct sharing_ctx SHARING_CTX

| Context utilisé pour effectuer les opérations avec l'algorithme de partage de secret

## Documentation des fonctions

void SharingPtFree | ( | SHARING_CTX ** | Ctx | ) |

  | Effacement et libération d'un pointeur sur des context de partage de secret. Paramètres:
  | Ctx | : un pointeur sur des context de partage de secret précédemment initialisé.
Exemples: secret_sharing.cpp.

SHARING_CTX** SharingPtInit | ( | int | m | ) |

  | Allcation d'un pointeur sur des context de partage de secret. Paramètres:
  | m | : le nombre de context de partage de secret allant être utilisés.
Exemples: secret_sharing.cpp.

void SharingCtxFree | ( | SHARING_CTX * | Ctx | ) |

  | Effacement et libération d'un context de partage de secret. Paramètres:
  | Ctx | : un context de partage de secret précédemment initialisé.
Exemples: secret_sharing.cpp.

SHARING_CTX* ReadStreamSharingCtx | ( | u1byte * | Buffer,
|  | u4byte | Size
| ) |

  | Permet de lire une structure de partage de secret dans un buffer mémoire. Paramètres:
  | Buffer | : buffer mémoire contenant une structure de partage de secret.
  | Size | : taille du buffer mémoire.
Renvoie: un context de partage de secret initialisé, ou NULL en cas d'erreur.

SHARING_CTX* ReadFileSharingCtx | ( | s1byte * | File | ) |

  | Permet de lire une structure de partage de secret dans un fichier. Paramètres:
  | File | : fichier contenant une structure de partage de secret.
Renvoie: un context de partage de secret initialisé, ou NULL en cas d'erreur. Exemples: secret_sharing.cpp.

s2byte WriteFileSharingCtx | ( | s1byte * | File,
|  | SHARING_CTX * | Ctx
| ) |

  | Permet d'écrire un context de partage de secret dans un fichier. Paramètres:
  | File | : fichier de sortie pour le context.
  | Ctx | : context de partage de secret à écrire.
Renvoie: code d'erreur de la fonction. Exemples: secret_sharing.cpp.

s2byte WriteStreamSharingCtx | ( | u1byte * | Buffer,
|  | u4byte * | Size,
|  | SHARING_CTX * | Ctx
| ) |

  | Permet d'écrire un context de partage de secret dans un buffer mémoire. Paramètres:
  | Buffer | : buffer mémoire de sortie pour le context.
  | Size | : pointeur sur taille du buffer mémoire.
  | Ctx | : context de partage de secret à écrire.
Remarques: le buffer mémoire peut-être NULL. la taille du buffer mémoire est toujours mise à jour. Renvoie: code d'erreur de la fonction.

SHARING_CTX* PemReadFileSharingCtx | ( | s1byte * | File | ) |

  | Permet de lire un context de partage de secret au format PEM dans un fichier. Paramètres:
  | File | : fichier contenant un context de partage de secret.
Renvoie: un context de partage de secret initialisé, ou NULL en cas d'erreur.

SHARING_CTX* PemReadStreamSharingCtx | ( | s1byte * | Buffer | ) |

  | Permet de lire un context de partage de secret au format PEM dans un buffer mémoire. Paramètres:
  | Buffer | : buffer mémoire contenant un context de partage de secret.
Renvoie: un context de partage de secret initialisé, ou NULL en cas d'erreur.

s2byte PemWriteFileSharingCtx | ( | s1byte * | File,
|  | SHARING_CTX * | Ctx
| ) |

  | Permet d'écrire au format PEM un context de partage de secret dans un fichier. Paramètres:
  | File | : fichier de sortie pour le context.
  | Ctx | : context de partage de secret à écrire.
Renvoie: code d'erreur de la fonction.

s1byte* PemWriteStreamSharingCtx | ( | SHARING_CTX * | Ctx | ) |

  | Permet d'écrire au format PEM un context de partage de secret dans un buffer mémoire. Paramètres:
  | Ctx | : context de partage de secret à écrire.
Renvoie: buffer mémoire alloué contenant le context de partage de secret, ou NULL en cas d'erreur.

u1byte* ResolveSecretSharingCtx | ( | SHARING_CTX ** | Ctx,
|  | u2byte * | Size
| ) |

  | Permet de retrouver un secret à partir des secrets partagés. Paramètres:
  | Ctx | : tableau contenant les contexts de partages de secret nécessaire à la résolution du système.
  | Size | : pointeur sur taille du buffer secret retourné.
Remarques: la taille du secret est mise à jour, si il n'y a pas d'erreurs. Renvoie: buffer mémoire alloué contenant le secret, ou NULL en cas d'erreur. Exemples: secret_sharing.cpp.

SHARING_CTX** CreateSecretSharingCtx | ( | u1byte * | Secret,
|  | u2byte | Size,
|  | u2byte | Nb,
|  | u2byte | NbGen
| ) |

  | Permet de créer des secrets partagés à partir d'un secret. Paramètres:
  | Secret | : buffer contenant le secret à partager.
  | Size | : taille du buffer contenant le secret.
  | Nb | : nombre de secrets partagés nécessaire à la reconstruction du secret.
  | NbGen | : nombre de secrets partagés à générer.
Avertissement: la taille du secret doit être au maximum 63 octets Renvoie: tableau de contexts contenant les secrets partagés, ou NULL en cas d'erreur. Exemples: secret_sharing.cpp.