25
25
#include "sha1_rc4.h"
26
26
27
27
/* RC4 */
28
- static void xbox_rc4_swap (RC4Context * ctx , int first , int second )
28
+ static void rc4_swap (RC4Context * ctx , int first , int second )
29
29
{
30
30
uint8_t temp = ctx -> s [first ];
31
31
ctx -> s [first ] = ctx -> s [second ];
32
32
ctx -> s [second ] = temp ;
33
33
}
34
34
35
- void xbox_rc4_init (RC4Context * ctx , uint8_t * data , size_t len )
35
+ void rc4_init (RC4Context * ctx , uint8_t * data , size_t len )
36
36
{
37
37
for (int i = 0 ; i < 256 ; i ++ ) {
38
38
ctx -> s [i ] = i ;
39
39
}
40
40
for (int i = 0 , j = 0 ; i < 256 ; i ++ ) {
41
41
j = (j + ctx -> s [i ] + data [i % len ]) % 256 ;
42
- xbox_rc4_swap (ctx , i , j );
42
+ rc4_swap (ctx , i , j );
43
43
}
44
44
}
45
45
46
- void xbox_rc4_crypt (RC4Context * ctx , uint8_t * data , size_t len )
46
+ void rc4_crypt (RC4Context * ctx , uint8_t * data , size_t len )
47
47
{
48
48
for (int i = 0 , j = 0 , k = 0 ; k < len ; k ++ ) {
49
49
i = (i + 1 ) % 256 ;
50
50
j = (j + ctx -> s [i ]) % 256 ;
51
- xbox_rc4_swap (ctx , i , j );
51
+ rc4_swap (ctx , i , j );
52
52
data [k ] ^= ctx -> s [(ctx -> s [i ] + ctx -> s [j ]) % 256 ];
53
53
}
54
54
}
55
55
56
56
/* SHA1 */
57
- static uint32_t xbox_sha1_rotate (uint32_t bits , uint32_t val )
57
+ static uint32_t sha1_rotate (uint32_t bits , uint32_t val )
58
58
{
59
59
return (val << bits ) | (val >> (32 - bits ));
60
60
}
61
61
62
- void xbox_sha1_fill (SHA1Context * ctx , uint32_t a , uint32_t b , uint32_t c ,
63
- uint32_t d , uint32_t e )
62
+ void sha1_fill (SHA1Context * ctx , uint32_t a , uint32_t b , uint32_t c ,
63
+ uint32_t d , uint32_t e )
64
64
{
65
65
ctx -> intermediate [0 ] = a ;
66
66
ctx -> intermediate [1 ] = b ;
@@ -69,7 +69,7 @@ void xbox_sha1_fill(SHA1Context *ctx, uint32_t a, uint32_t b, uint32_t c,
69
69
ctx -> intermediate [4 ] = e ;
70
70
}
71
71
72
- static void xbox_sha1_process (SHA1Context * ctx )
72
+ static void sha1_process (SHA1Context * ctx )
73
73
{
74
74
const uint32_t k [] = { 0x5A827999 , 0x6ED9EBA1 , 0x8F1BBCDC , 0xCA62C1D6 };
75
75
uint32_t w [80 ];
@@ -84,11 +84,11 @@ static void xbox_sha1_process(SHA1Context *ctx)
84
84
}
85
85
86
86
for (int i = 16 ; i < 80 ; i ++ ) {
87
- w [i ] = xbox_sha1_rotate (1 , w [i - 3 ] ^ w [i - 8 ] ^ w [i - 14 ] ^ w [i - 16 ]);
87
+ w [i ] = sha1_rotate (1 , w [i - 3 ] ^ w [i - 8 ] ^ w [i - 14 ] ^ w [i - 16 ]);
88
88
}
89
89
90
90
for (int i = 0 ; i < 80 ; i ++ ) {
91
- uint32_t temp = xbox_sha1_rotate (5 , a ) + w [i ] + e ;
91
+ uint32_t temp = sha1_rotate (5 , a ) + w [i ] + e ;
92
92
switch (i / 20 ) {
93
93
case 0 :
94
94
temp += k [0 ] + ((b & c ) | ((~b ) & d ));
@@ -105,7 +105,7 @@ static void xbox_sha1_process(SHA1Context *ctx)
105
105
}
106
106
e = d ;
107
107
d = c ;
108
- c = xbox_sha1_rotate (30 , b );
108
+ c = sha1_rotate (30 , b );
109
109
b = a ;
110
110
a = temp ;
111
111
}
@@ -118,38 +118,38 @@ static void xbox_sha1_process(SHA1Context *ctx)
118
118
ctx -> msg_blk_index = 0 ;
119
119
}
120
120
121
- static void xbox_sha1_pad (SHA1Context * ctx )
121
+ static void sha1_pad (SHA1Context * ctx )
122
122
{
123
123
ctx -> msg_blk [ctx -> msg_blk_index ++ ] = 0x80 ;
124
124
if (ctx -> msg_blk_index > 56 ) {
125
125
while (ctx -> msg_blk_index < 64 ) {
126
126
ctx -> msg_blk [ctx -> msg_blk_index ++ ] = 0 ;
127
127
}
128
- xbox_sha1_process (ctx );
128
+ sha1_process (ctx );
129
129
}
130
130
while (ctx -> msg_blk_index < 56 ) {
131
131
ctx -> msg_blk [ctx -> msg_blk_index ++ ] = 0 ;
132
132
}
133
133
* (uint32_t * )& ctx -> msg_blk [56 ] = 0 ;
134
134
* (uint32_t * )& ctx -> msg_blk [60 ] = cpu_to_be32 (ctx -> length );
135
- xbox_sha1_process (ctx );
135
+ sha1_process (ctx );
136
136
}
137
137
138
- void xbox_sha1_input (SHA1Context * ctx , uint8_t * data , size_t len )
138
+ void sha1_input (SHA1Context * ctx , uint8_t * data , size_t len )
139
139
{
140
140
ctx -> length += len << 3 ;
141
141
for (int i = 0 ; i < len ; i ++ ) {
142
142
ctx -> msg_blk [ctx -> msg_blk_index ++ ] = data [i ];
143
143
if (ctx -> msg_blk_index == 64 ) {
144
- xbox_sha1_process (ctx );
144
+ sha1_process (ctx );
145
145
}
146
146
}
147
147
}
148
148
149
- void xbox_sha1_result (SHA1Context * ctx , uint8_t * data )
149
+ void sha1_result (SHA1Context * ctx , uint8_t * data )
150
150
{
151
151
if (!ctx -> computed ) {
152
- xbox_sha1_pad (ctx );
152
+ sha1_pad (ctx );
153
153
ctx -> length = 0 ;
154
154
ctx -> computed = true;
155
155
}
@@ -158,11 +158,9 @@ void xbox_sha1_result(SHA1Context *ctx, uint8_t *data)
158
158
}
159
159
}
160
160
161
- void xbox_sha1_reset (SHA1Context * ctx )
161
+ void sha1_reset (SHA1Context * ctx )
162
162
{
163
- xbox_sha1_fill (ctx , 0x67452301 , 0xEFCDAB89 , 0x98BADCFE , 0x10325476 ,
164
- 0xC3D2E1F0 );
165
-
163
+ sha1_fill (ctx , 0x67452301 , 0xEFCDAB89 , 0x98BADCFE , 0x10325476 , 0xC3D2E1F0 );
166
164
167
165
ctx -> msg_blk_index = 0 ;
168
166
ctx -> computed = false;
0 commit comments