|
|||||||
|
|
ENCRYPTSection: Manuel du programmeur Linux (3)Updated: 21 juillet 2003 Index Return to Main Contents NOMencrypt, setkey, encrypt_r, setkey_r - Crypter des messages de 64 bits.SYNOPSIS#define _XOPEN_SOURCE#include <unistd.h> void encrypt(char block[64], int edflag);
#define _XOPEN_SOURCE
void setkey(const char *key);
#define _GNU_SOURCE
void setkey_r (const char *key, struct crypt_data *data);
Édition des liens avec -lcrypt. DESCRIPTIONCes fonction cryptent et décryptent des messages de 64 bits. La fonction setkey() permet de fournir la clé à utiliser pour encrypt(). Le paramètre key est une table d'octets, chacun ayant la valeur 0 ou 1. L'octet key[n] où n=8*q-1 est ignoré, ce qui ramène la clé à 56 bits effectifs.La fonction encrypt() modifie le buffer transmis, en le cryptant si le paramètre edflag vaut 0, et en le décryptant s'il vaut 1. Le paramètre block est, comme le paramètre key, une représentation de la valeur à encoder sous forme de vecteur de bits. Le résultat est renvoyé dans le même vecteur. Ces fonctions ne sont pas réentrantes, c'est-à-dire que la clé est stockée dans une zone de stockage statique. Les fonctions setkey_r () et encrypt_r () sont des versions réentrantes. Elles utilisent la structure suivante pour contenir la clé :
VALEUR RENVOYÉESCes routines ne renvoient pas de valeur.ERREURSMettez errno à zéro avant d'appeler les routines ci-dessus. Si elles réussissent, il n'est pas modifié. Sinon, il peut valoir :
EXEMPLEAvec la GlibC 2.2, il faudra lier cet exemple avec la bibliothèque libcrypt. Pour servir à quelque chose, les tables key[] et txt[] devraient être remplies avec des zones significatives. Notez que l'en-tête <crypt.h> donne toujours les prototypes de setkey() et encrypt().
#include <crypt.h> main() { char key[64]; /* bit pattern for key */ char txt[64]; /* bit pattern for messages */ setkey(key); encrypt(txt, 0); /* encode */ encrypt(txt, 1); /* decode */ } NOTEDans la GlibC 2.2, ces fonctions utilisent l'algorithme DES.CONFORMITÉLes fonctions encrypt() et setkey() sont conformes ) SVID, SUSv2, et POSIX 1003.1-2001. Les fonctions encrypt_r() et setkey_r() sont des extensions GNU.VOIR AUSSIcbc_crypt(3) crypt(3) ecb_crypt(3) fcrypt(3)TRADUCTIONChristophe Blaess, 2000-2003.
Index | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man3". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |