#ifdef NOSPOOKS #include "lib9.h" #include void bufferECBEncrypt(uchar *buf, uchar *key, int len) { uchar *block; uchar tmp[8]; DESstate s; int i; setupDESstate(&s, key, 0); for (i=8, block=buf; i<=len; i+=8, block+=8) block_cipher(s.expanded, block, 0); if ((len & 7) != 0) { for (i=0; i<8; i++) tmp[i] = i; block_cipher(s.expanded, tmp, 0); for (i=0; i<(len&7); i++) block[i] ^= tmp[i]; } } void bufferECBDecrypt(uchar *buf, uchar *key, int len) { uchar *block; uchar tmp[8]; DESstate s; int i; setupDESstate(&s, key, 0); for (i=8, block=buf; i<=len; i+=8, block+=8) block_cipher(s.expanded, block, 1); if ((len & 7) != 0) { for (i=0; i<8; i++) tmp[i] = i; block_cipher(s.expanded, tmp, 1); for (i=0; i<(len&7); i++) block[i] ^= tmp[i]; } } #endif NOSPOOKS