Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out, | - |
7 | long length, IDEA_KEY_SCHEDULE *schedule, | - |
8 | unsigned char *ivec, int *num) | - |
9 | { | - |
10 | unsigned long v0,v1,t; | - |
11 | int n= *num; | - |
12 | long l=length; | - |
13 | unsigned char d[8]; | - |
14 | char *dp; | - |
15 | unsigned long ti[2]; | - |
16 | unsigned char *iv; | - |
17 | int save=0; | - |
18 | | - |
19 | iv=(unsigned char *)ivec; | - |
20 | (v0 =((unsigned long)(*((iv)++)))<<24L, v0|=((unsigned long)(*((iv)++)))<<16L, v0|=((unsigned long)(*((iv)++)))<< 8L, v0|=((unsigned long)(*((iv)++)))); | - |
21 | (v1 =((unsigned long)(*((iv)++)))<<24L, v1|=((unsigned long)(*((iv)++)))<<16L, v1|=((unsigned long)(*((iv)++)))<< 8L, v1|=((unsigned long)(*((iv)++)))); | - |
22 | ti[0]=v0; | - |
23 | ti[1]=v1; | - |
24 | dp=(char *)d; | - |
25 | (*((dp)++)=(unsigned char)(((v0)>>24L)&0xff), *((dp)++)=(unsigned char)(((v0)>>16L)&0xff), *((dp)++)=(unsigned char)(((v0)>> 8L)&0xff), *((dp)++)=(unsigned char)(((v0) )&0xff)); | - |
26 | (*((dp)++)=(unsigned char)(((v1)>>24L)&0xff), *((dp)++)=(unsigned char)(((v1)>>16L)&0xff), *((dp)++)=(unsigned char)(((v1)>> 8L)&0xff), *((dp)++)=(unsigned char)(((v1) )&0xff)); | - |
27 | while (l--TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
28 | { | - |
29 | if (n == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
30 | { | - |
31 | idea_encrypt((unsigned long *)ti,schedule); | - |
32 | dp=(char *)d; | - |
33 | t=ti[0]; (*((dp)++)=(unsigned char)(((t)>>24L)&0xff), *((dp)++)=(unsigned char)(((t)>>16L)&0xff), *((dp)++)=(unsigned char)(((t)>> 8L)&0xff), *((dp)++)=(unsigned char)(((t) )&0xff)); | - |
34 | t=ti[1]; (*((dp)++)=(unsigned char)(((t)>>24L)&0xff), *((dp)++)=(unsigned char)(((t)>>16L)&0xff), *((dp)++)=(unsigned char)(((t)>> 8L)&0xff), *((dp)++)=(unsigned char)(((t) )&0xff)); | - |
35 | save++; | - |
36 | } never executed: end of block | 0 |
37 | *(out++)= *(in++)^d[n]; | - |
38 | n=(n+1)&0x07; | - |
39 | } never executed: end of block | 0 |
40 | if (saveTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
41 | { | - |
42 | v0=ti[0]; | - |
43 | v1=ti[1]; | - |
44 | iv=(unsigned char *)ivec; | - |
45 | (*((iv)++)=(unsigned char)(((v0)>>24L)&0xff), *((iv)++)=(unsigned char)(((v0)>>16L)&0xff), *((iv)++)=(unsigned char)(((v0)>> 8L)&0xff), *((iv)++)=(unsigned char)(((v0) )&0xff)); | - |
46 | (*((iv)++)=(unsigned char)(((v1)>>24L)&0xff), *((iv)++)=(unsigned char)(((v1)>>16L)&0xff), *((iv)++)=(unsigned char)(((v1)>> 8L)&0xff), *((iv)++)=(unsigned char)(((v1) )&0xff)); | - |
47 | } never executed: end of block | 0 |
48 | t=v0=v1=ti[0]=ti[1]=0; | - |
49 | *num=n; | - |
50 | } never executed: end of block | 0 |
| | |