const void *sch) {
int blocksize= alg->blocksize;
memcpy(chain,iv,blocksize);
- alg->byteswap(chain);
+ if (alg->byteswap) alg->byteswap(chain);
while (blocks > 0) {
- alg->byteswap(data);
+ if (alg->byteswap) alg->byteswap(data);
memxor(data, chain, blocksize);
alg->encrypt.crypt(sch, data, data);
memcpy(chain, data, blocksize);
- alg->byteswap(data);
+ if (alg->byteswap) alg->byteswap(data);
blocks--; data += blocksize;
}
return 0;
int cchain= 0;
memcpy(chain,iv,blocksize);
- alg->byteswap(chain);
+ if (alg->byteswap) alg->byteswap(chain);
while (blocks > 0) {
- alg->byteswap(data);
+ if (alg->byteswap) alg->byteswap(data);
memcpy(chain + (cchain^blocksize), data, blocksize);
alg->decrypt.crypt(sch, data, data);
memxor(data, chain + cchain, blocksize);
cchain ^= blocksize;
- alg->byteswap(data);
+ if (alg->byteswap) alg->byteswap(data);
blocks--; data += blocksize;
}
return 0;
int blocksize= alg->blocksize;
memcpy(buf,iv,blocksize);
- alg->byteswap(buf);
+ if (alg->byteswap) alg->byteswap(buf);
while (blocks > 0) {
memcpy(buf + blocksize, data, blocksize);
- alg->byteswap(buf + blocksize);
+ if (alg->byteswap) alg->byteswap(buf + blocksize);
memxor(buf, buf + blocksize, blocksize);
alg->encrypt.crypt(sch, buf, buf);
const BlockCipherAlgInfo *alg,
const void *sch) {
cbcmac_core(data,blocks,iv,buf,alg,sch);
- alg->byteswap(buf);
+ if (alg->byteswap) alg->byteswap(buf);
return 0;
}
const void *sch) {
cbcmac_core(data,blocks,iv,buf,alg,sch);
alg->encrypt.crypt(sch, buf, buf);
- alg->byteswap(buf);
+ if (alg->byteswap) alg->byteswap(buf);
return 0;
}
int blocksize= alg->blocksize;
while (blocks > 0) {
- alg->byteswap(data);
+ if (alg->byteswap) alg->byteswap(data);
(encr ? &alg->encrypt : &alg->decrypt)->crypt(sch, data, data);
- alg->byteswap(data);
+ if (alg->byteswap) alg->byteswap(data);
blocks--; data += blocksize;
}
return 0;