/// <summary> /// Key computing modern path /// </summary> /// <param name="seed"></param> /// <param name="keys"></param> /// <returns></returns> private uint[] PrepareKey(uint seed, uint[] keys) { uint v1 = Keyset.InvertedXorShift(seed, keys[0]); uint v2 = Keyset.InvertedXorShift(v1, keys[1]); uint v3 = Keyset.InvertedXorShift(v2, keys[2]); uint v4 = Keyset.InvertedXorShift(v3, keys[3]); uint[] newKey = new uint[4]; newKey[0] = v1 & 0x1FFFF; newKey[1] = v2 & 0x7FFFF; newKey[2] = v3 & 0x7FFFFF; newKey[3] = v4 & 0x1FFFFFFF; return(newKey); }
public VolumeCryptoTransform(Keyset keyset, uint seed) { this.currentKey = keyset.ComputeKey(seed); }
public VolumeCryptoOld(Keyset keyset) { _keys = keyset; }