static void block_decrypt(struct block_state *self, const uint8_t *in, uint8_t *out) { #ifdef PCT_DES3_MODULE des3_ecb_decrypt(in, out, &self->sk); #else des_ecb_decrypt(in, out, &self->sk); #endif }
static void block_decrypt(block_state *self, unsigned char *in, unsigned char *out) { int rc; #ifdef PCT_DES3_MODULE rc = des3_ecb_decrypt(in, out, &self->sk); #else rc = des_ecb_decrypt(in, out, &self->sk); #endif assert(rc == CRYPT_OK); }
Gc_rc gc_cipher_decrypt_inline (gc_cipher_handle handle, size_t len, char *data) { _gc_cipher_ctx *ctx = handle; switch (ctx->alg) { #ifdef GC_USE_ARCTWO case GC_ARCTWO40: switch (ctx->mode) { case GC_ECB: arctwo_decrypt (&ctx->arctwoContext, data, data, len); break; case GC_CBC: for (; len >= ARCTWO_BLOCK_SIZE; len -= ARCTWO_BLOCK_SIZE, data += ARCTWO_BLOCK_SIZE) { char tmpIV[ARCTWO_BLOCK_SIZE]; size_t i; memcpy (tmpIV, data, ARCTWO_BLOCK_SIZE); arctwo_decrypt (&ctx->arctwoContext, data, data, ARCTWO_BLOCK_SIZE); for (i = 0; i < ARCTWO_BLOCK_SIZE; i++) data[i] ^= ctx->arctwoIV[i]; memcpy (ctx->arctwoIV, tmpIV, ARCTWO_BLOCK_SIZE); } break; default: return GC_INVALID_CIPHER; } break; #endif #ifdef GC_USE_ARCFOUR case GC_ARCFOUR128: case GC_ARCFOUR40: arcfour_stream (&ctx->arcfourContext, data, data, len); break; #endif #ifdef GC_USE_DES case GC_DES: for (; len >= 8; len -= 8, data += 8) des_ecb_decrypt (&ctx->desContext, data, data); break; #endif #ifdef GC_USE_RIJNDAEL case GC_AES128: case GC_AES192: case GC_AES256: { int nblocks; nblocks = rijndaelBlockDecrypt (&ctx->aesContext, &ctx->aesDecKey, data, 8 * len, data); if (nblocks < 0) return GC_INVALID_CIPHER; } break; #endif default: return GC_INVALID_CIPHER; } return GC_OK; }