/* kcrypt_fp.c * 暗号化・復号のサンプル */ #define USAGE "Usage: kcrypt " /* cipher_alg = "camellia-128-cbc" */ #include #include #include /* #include #include */ #include "mycipher_fp.h" int main (int ac, char **av) { char *cipher_alg = NULL; char *encdec = NULL; char *input_file = NULL; char *output_file = NULL; int enc = 0; if (ac < 5) { fprintf(stderr, "%s\n", USAGE); goto _ERROR_; } cipher_alg = av[1]; encdec = av[2]; input_file = av[3]; output_file = av[4]; if (!strcmp(encdec, "enc")) { enc = 1; } if (1) { FILE *fpin = NULL; FILE *fpout = NULL; /* メモ:鍵やIVは乱数にするのが普通だけど…。 */ if (!(fopen_s(&fpin, input_file, "rb")) && !(fopen_s(&fpout, output_file, "wb"))) { if (enc) { kencrypt_from_FP_to_FP(cipher_alg, "0123456789ABCDEF", 16, "This is a pencil", 16, fpin, fpout); } else { kdecrypt_from_FP_to_FP(cipher_alg, "0123456789ABCDEF", 16, "This is a pencil", 16, fpin, fpout); } fclose(fpout); fclose(fpin); } } printf("\ndone.\n"); return 0; /* 正常終了 */ _ERROR_: fprintf(stderr, "failed!\n"); return 1; /* 異常終了 */ } /* end of main */