… | |
… | |
133 | in optimized assembly language. |
133 | in optimized assembly language. |
134 | */ |
134 | */ |
135 | #define Fe32_(x,R) (_sBox_[0][2*_b(x,R )] ^ _sBox_[0][2*_b(x,R+1)+1] ^ \ |
135 | #define Fe32_(x,R) (_sBox_[0][2*_b(x,R )] ^ _sBox_[0][2*_b(x,R+1)+1] ^ \ |
136 | _sBox_[2][2*_b(x,R+2)] ^ _sBox_[2][2*_b(x,R+3)+1]) |
136 | _sBox_[2][2*_b(x,R+2)] ^ _sBox_[2][2*_b(x,R+3)+1]) |
137 | /* set a single S-box value, given the input byte */ |
137 | /* set a single S-box value, given the input byte */ |
138 | #define sbSet(N,i,J,v) { _sBox_[N&2][2*i+(N&1)+2*J]=MDStab[N][v]; } |
138 | //#define sbSet(N,i,J,v) { _sBox_[N&2][2*i+(N&1)+2*J]=MDStab[N][v]; } |
|
|
139 | #define sbSet(N,i,J,v) { *((DWORD *)_sBox_ + (N&2)*256 + 2*i + (N&1) + 2*J) = MDStab[N][v]; } |
139 | #define GetSboxKey |
140 | #define GetSboxKey |
140 | #endif |
141 | #endif |
141 | |
142 | |
142 | /* macro(s) for debugging help */ |
143 | /* macro(s) for debugging help */ |
143 | #define CHECK_TABLE 0 /* nonzero --> compare against "slow" table */ |
144 | #define CHECK_TABLE 0 /* nonzero --> compare against "slow" table */ |