static int bf_encrypt(PX_Cipher *c, const uint8 *data, unsigned dlen, uint8 *res) { struct int_ctx *cx = (struct int_ctx *) c->ptr; BlowfishContext *bfctx = &cx->ctx.bf; if (dlen == 0) return 0; if (dlen & 7) return PXE_NOTBLOCKSIZE; memcpy(res, data, dlen); switch (cx->mode) { case MODE_ECB: blowfish_encrypt_ecb(res, dlen, bfctx); break; case MODE_CBC: blowfish_encrypt_cbc(res, dlen, bfctx); break; } return 0; }
static void blowfish_encrypt_blk(unsigned char *blk, int len) { blowfish_encrypt_cbc(blk, len, &ectx); }