Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint8_t cl = 0x1D, ch = 0x1D, carry = 0;
- uint8_t al, bl, temp;
- for (int i = len; i >=0; --i){
- al = data[i];
- for (int j = 8; j > 0; --j) {
- bl = al ^ ch;
- //printf("BL %02x | CH %02x \n", al, ch);
- carry = (cl & 0x80) ? 1 : 0;
- cl <<= 1;
- temp = (ch & 0x80) ? 1 : 0;
- ch = (ch << 1) | carry;
- carry = temp;
- carry = (al & 0x80) ? 1 : 0;
- al <<= 1;
- carry = (bl & 0x80) ? 1 : 0;
- bl <<= 1;
- if (carry) {
- cl ^= 0x21;
- ch ^= 0x10;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement