Skip to content

Instantly share code, notes, and snippets.

@hshrzd
Created September 26, 2020 05:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hshrzd/8b5b0dcc1173d1aab737ed4113b56f1b to your computer and use it in GitHub Desktop.
Save hshrzd/8b5b0dcc1173d1aab737ed4113b56f1b to your computer and use it in GitHub Desktop.
//-----
// encode:
//
DWORD part1 = val[0];
DWORD part2 = val[1];
DWORD prev = 0;
for (int i = 0; i < 16; i++) {
DWORD res = part1 ^ encode_chunk(part2, t1[i], t2[i], t3[i]);
part1 = part2;
part2 = res;
}
val[0] = part2;
val[1] = part1;
//-----
// decode:
//
DWORD part1 = val[1];
DWORD part2 = val[0];
DWORD prev = 0;
for (int i = 15; i >= 0; i--) {
DWORD res = part2 ^ encode_chunk(part1, t1[i], t2[i], t3[i]);
part2 = part1;
part1 = res;
}
val[0] = part1;
val[1] = part2;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment