Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public uint[] GenerateHash(List<uint[]> blocks, uint[] skey)
- {
- var clefia = new Clefia();
- var rk = new uint[8 * 26 + 16];
- const int rkPos = 0;
- var dst = new uint[16];
- const int dstPos = 0;
- var r = clefia.ClefiaKeySet(ref rk, rkPos, ref skey, 0, 128);
- for (var i = 0; i < blocks.Count; i++)
- {
- var block = blocks[i];
- clefia.ClefiaEncrypt(ref dst, dstPos, ref block, 0, ref rk, rkPos, r);
- if (i == blocks.Count - 1)
- continue;
- r = clefia.ClefiaKeySet(ref rk, rkPos, ref block, 0, 128);
- for (var j = 0; j < block.Length; j++)
- {
- blocks[i + 1][j] = (blocks[i + 1][j] ^ dst[j]);
- }
- }
- return dst;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement