Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
8251 superturbo 1
 
2
3
 
4
{
5
    /* set up */
6
    uint32_t v0 = block[0];
7
    uint32_t v1 = block[1];
8
    uint32_t sum = 0;
9
    uint32_t i;
10
11
 
12
    uint32_t delta = 0x9e3779b9;
13
14
 
15
    uint32_t k0 = key[0];
16
    uint32_t k1 = key[1];
17
    uint32_t k2 = key[2];
18
    uint32_t k3 = key[3];
19
20
 
21
    for (i = 0; i < 32; i++)
22
    {
23
        sum += delta;
24
        v0 += ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);
25
        v1 += ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);
26
    }
27
    /* end cycle */
28
29
 
30
    block[1] = v1;
31
}
32
33
 
34
{
35
    /* set up */
36
    uint32_t v0 = block[0];
37
    uint32_t v1 = block[1];
38
    uint32_t sum = 0xC6EF3720;
39
    uint32_t i;
40
41
 
42
    uint32_t delta = 0x9e3779b9;
43
44
 
45
    uint32_t k0 = key[0];
46
    uint32_t k1 = key[1];
47
    uint32_t k2 = key[2];
48
    uint32_t k3 = key[3];
49
50
 
51
    for (i = 0; i < 32; i++)
52
    {
53
        v1 -= ((v0 << 4) + k2) ^ (v0 + sum) ^ ((v0 >> 5) + k3);
54
        v0 -= ((v1 << 4) + k0) ^ (v1 + sum) ^ ((v1 >> 5) + k1);
55
        sum -= delta;
56
    }
57
    /* end cycle */
58
59
 
60
    block[1] = v1;
61
}
62