mycipher_fp.h

最終更新:2009/10/18

mycipher_fp.h

001: /* 暗号化に使用するバッファサイズ(バイト長)
002:  * 128bits = 16bytes, 192bits = 24bytes, 256bits = 32bytes の公倍数にしてみる
003:  */
004: #define ENCDEC_BUFF_SIZE 1536
005: 
006: /*
007:  * ファイルを暗号化・復号する関数(FILE*版)
008:  * 返り値:
009:  * 0 失敗
010:  * 1 成功
011:  */
012: 
013: int kencdec_from_FP_to_FP(
014:   char *cipher_alg         /* IN:暗号アルゴリズム。OpenSSL の指定に基づく。暗号名+"-"+鍵長+"-"+暗号モード */
015:   , unsigned char *keyData /* IN:暗号鍵のオクテット列 */
016:   , int keyLen             /* IN:暗号鍵の長さ(オクテット長) */
017:   , unsigned char *ivData  /* IN:初期化ベクトルのオクテット列 */
018:   , int ivLen              /* IN:初期化ベクトルの長さ(オクテット長) */
019:   , FILE *fpIn             /* IN:入力ファイルポインタ */
020:   , FILE *fpOut            /* OUT:出力ファイルポインタ */
021:   , int type               /* IN:処理タイプ。1:暗号化、0:復号 */
022: );
023: 
024: /*
025:  * ファイルの暗号化(FILE*版)
026:  */
027: #define kencrypt_from_FP_to_FP(ca,kd,kl,ivd,ivl,fi,fo) \
028:   kencdec_from_FP_to_FP((ca),(kd),(kl),(ivd),(ivl),(fi),(fo),(1))
029: 
030: /*
031:  * ファイルの復号(FILE*版)
032:  */
033: #define kdecrypt_from_FP_to_FP(ca,kd,kl,ivd,ivl,fi,fo) \
034:   kencdec_from_FP_to_FP((ca),(kd),(kl),(ivd),(ivl),(fi),(fo),(0))
Copyright (C) KAKU PROJECT (2009)KAKU PROJECT (2009)