1 0fc65b37 2004-03-21 devnull #include "os.h"
2 0fc65b37 2004-03-21 devnull #include <mp.h>
3 0fc65b37 2004-03-21 devnull #include <libsec.h>
5 cbeb0b26 2006-04-01 devnull /* I wasn't sure what to do when the buffer was not */
6 cbeb0b26 2006-04-01 devnull /* a multiple of 8. I did what lacy's cryptolib did */
7 cbeb0b26 2006-04-01 devnull /* to be compatible, but it looks dangerous to me */
8 cbeb0b26 2006-04-01 devnull /* since its encrypting plain text with the key. -- presotto */
11 0fc65b37 2004-03-21 devnull desECBencrypt(uchar *p, int len, DESstate *s)
14 0fc65b37 2004-03-21 devnull uchar tmp[8];
16 0fc65b37 2004-03-21 devnull for(; len >= 8; len -= 8){
17 0fc65b37 2004-03-21 devnull block_cipher(s->expanded, p, 0);
21 0fc65b37 2004-03-21 devnull if(len > 0){
22 0fc65b37 2004-03-21 devnull for (i=0; i<8; i++)
23 0fc65b37 2004-03-21 devnull tmp[i] = i;
24 0fc65b37 2004-03-21 devnull block_cipher(s->expanded, tmp, 0);
25 0fc65b37 2004-03-21 devnull for (i = 0; i < len; i++)
26 0fc65b37 2004-03-21 devnull p[i] ^= tmp[i];
31 0fc65b37 2004-03-21 devnull desECBdecrypt(uchar *p, int len, DESstate *s)
34 0fc65b37 2004-03-21 devnull uchar tmp[8];
36 0fc65b37 2004-03-21 devnull for(; len >= 8; len -= 8){
37 0fc65b37 2004-03-21 devnull block_cipher(s->expanded, p, 1);
41 0fc65b37 2004-03-21 devnull if(len > 0){
42 0fc65b37 2004-03-21 devnull for (i=0; i<8; i++)
43 0fc65b37 2004-03-21 devnull tmp[i] = i;
44 0fc65b37 2004-03-21 devnull block_cipher(s->expanded, tmp, 0);
45 0fc65b37 2004-03-21 devnull for (i = 0; i < len; i++)
46 0fc65b37 2004-03-21 devnull p[i] ^= tmp[i];