Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.88 KB | None | 0 0
  1.         public uint[] GenerateHash(List<uint[]> blocks, uint[] skey)
  2.         {
  3.             var clefia = new Clefia();
  4.             var rk = new uint[8 * 26 + 16];
  5.             const int rkPos = 0;
  6.             var dst = new uint[16];
  7.             const int dstPos = 0;
  8.             var r = clefia.ClefiaKeySet(ref rk, rkPos, ref skey, 0, 128);
  9.             for (var i = 0; i < blocks.Count; i++)
  10.             {
  11.                 var block = blocks[i];
  12.                 clefia.ClefiaEncrypt(ref dst, dstPos, ref block, 0, ref rk, rkPos, r);
  13.                 if (i == blocks.Count - 1)
  14.                     continue;
  15.                 r = clefia.ClefiaKeySet(ref rk, rkPos, ref block, 0, 128);
  16.                 for (var j = 0; j < block.Length; j++)
  17.                 {
  18.                     blocks[i + 1][j] = (blocks[i + 1][j] ^ dst[j]);
  19.                 }
  20.             }
  21.             return dst;
  22.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement