internal Haval(HashRounds a_rounds, HashSize a_hash_size) : base((int)a_hash_size, 128) { m_rounds = (int)a_rounds; Initialize(); }
/// <summary> /// /// </summary> /// <param name="a_rounds">4, 8</param> /// <param name="a_hash_size">128, 256</param> /// <returns></returns> public static IHash CreateSnefru(HashRounds a_rounds, HashLib.HashSize a_hash_size) { switch (a_rounds) { case HashRounds.Rounds4: switch (a_hash_size) { case HashLib.HashSize.HashSize128: return(CreateSnefru_4_128()); case HashLib.HashSize.HashSize256: return(CreateSnefru_4_256()); default: throw new ArgumentException(); } case HashRounds.Rounds8: switch (a_hash_size) { case HashLib.HashSize.HashSize128: return(CreateSnefru_8_128()); case HashLib.HashSize.HashSize256: return(CreateSnefru_8_256()); default: throw new ArgumentException(); } default: throw new ArgumentException(); } }
public Tiger(HashRounds a_rounds) : base(24, 64) { m_rounds = (int)a_rounds; Initialize(); }
protected Tiger(int hashSize, HashRounds rounds) : base(hashSize, 64) { switch (hashSize) { case 16: case 20: case 24: break; default: throw new ArgumentException(InvalidTigerHashSize); } switch (rounds) { case HashRounds.Rounds3: case HashRounds.Rounds4: case HashRounds.Rounds5: Rounds = (int)rounds; State = new ulong[3]; break; default: throw new ArgumentException(InvalidTigerHashRound); } }
/// <summary> /// /// </summary> /// <param name="a_rounds">3, 4, 5</param> /// <param name="a_hash_size">128, 160, 192, 224, 256</param> /// <returns></returns> public static IHash CreateHaval(HashRounds a_rounds, HashLib.HashSize a_hash_size) { switch (a_rounds) { case HashRounds.Rounds3: switch (a_hash_size) { case HashLib.HashSize.HashSize128: return(CreateHaval_3_128()); case HashLib.HashSize.HashSize160: return(CreateHaval_3_160()); case HashLib.HashSize.HashSize192: return(CreateHaval_3_192()); case HashLib.HashSize.HashSize224: return(CreateHaval_3_224()); case HashLib.HashSize.HashSize256: return(CreateHaval_3_256()); default: throw new ArgumentException(); } case HashRounds.Rounds4: switch (a_hash_size) { case HashLib.HashSize.HashSize128: return(CreateHaval_4_128()); case HashLib.HashSize.HashSize160: return(CreateHaval_4_160()); case HashLib.HashSize.HashSize192: return(CreateHaval_4_192()); case HashLib.HashSize.HashSize224: return(CreateHaval_4_224()); case HashLib.HashSize.HashSize256: return(CreateHaval_4_256()); default: throw new ArgumentException(); } case HashRounds.Rounds5: switch (a_hash_size) { case HashLib.HashSize.HashSize128: return(CreateHaval_5_128()); case HashLib.HashSize.HashSize160: return(CreateHaval_5_160()); case HashLib.HashSize.HashSize192: return(CreateHaval_5_192()); case HashLib.HashSize.HashSize224: return(CreateHaval_5_224()); case HashLib.HashSize.HashSize256: return(CreateHaval_5_256()); default: throw new ArgumentException(); } default: throw new ArgumentException(); } }
/////////////////////////////////////////// /// <summary> /// Tiger2 Hash Family /// </summary> //////////////////////////////////////////// /// <summary> /// Tiger2 Hash /// </summary> /// <param name="a_hash_size">16, 20 or 24 bytes. </param> /// <param name="a_rounds">no of rounds (standard rounds are 3, 4 and 5)</param> /// <returns></returns> public static IHash CreateTiger2(Int32 a_hash_size, HashRounds a_rounds) { if ((a_hash_size != 16) && (a_hash_size != 20) && (a_hash_size != 24)) { throw new ArgumentHashLibException(Tiger2.InvalidTiger2HashSize); } return(new Tiger2_Base(a_hash_size, a_rounds)); } // end function CreateTiger2
/// <summary> /// /// </summary> /// <param name="a_rounds">3, 4</param> /// <returns></returns> public static IHash CreateTiger(HashRounds a_rounds) { switch (a_rounds) { case HashRounds.Rounds3: return(CreateTiger_3_192()); case HashRounds.Rounds4: return(CreateTiger_4_192()); default: throw new ArgumentException(); } }
private Tiger_128(HashSize hashSize, HashRounds rounds) : base((int)hashSize, rounds) { }
protected Tiger2(Int32 a_hash_size, HashRounds a_rounds) : base(a_hash_size, a_rounds) { } // end constructor
/// <summary> /// /// </summary> /// <param name="a_rounds">3, 4</param> /// <returns></returns> public static IHash CreateTiger(HashRounds a_rounds) { switch (a_rounds) { case HashRounds.Rounds3: return CreateTiger_3_192(); case HashRounds.Rounds4: return CreateTiger_4_192(); default: throw new ArgumentException(); } }
protected Snefru(HashRounds a_rounds, HashSize a_hashSize) : base((int)a_hashSize, 64 - ((int)a_hashSize)) { m_rounds = (int)a_rounds; m_state = new uint[HashSize / 4]; Initialize(); }
/////////////////////////////////////////// /// <summary> /// Haval Hash Family /// </summary> //////////////////////////////////////////// /// <summary> /// /// </summary> /// <param name="a_rounds">3, 4, 5</param> /// <param name="a_hash_size">128, 160, 192, 224, 256</param> /// <returns></returns> public static IHash CreateHaval(HashRounds a_rounds, HashSizeEnum a_hash_size) { switch (a_rounds) { case HashRounds.Rounds3: switch (a_hash_size) { case HashSizeEnum.HashSize128: return(CreateHaval_3_128()); case HashSizeEnum.HashSize160: return(CreateHaval_3_160()); case HashSizeEnum.HashSize192: return(CreateHaval_3_192()); case HashSizeEnum.HashSize224: return(CreateHaval_3_224()); case HashSizeEnum.HashSize256: return(CreateHaval_3_256()); default: throw new ArgumentHashLibException(Haval.InvalidHavalHashSize); } // end switch case HashRounds.Rounds4: switch (a_hash_size) { case HashSizeEnum.HashSize128: return(CreateHaval_4_128()); case HashSizeEnum.HashSize160: return(CreateHaval_4_160()); case HashSizeEnum.HashSize192: return(CreateHaval_4_192()); case HashSizeEnum.HashSize224: return(CreateHaval_4_224()); case HashSizeEnum.HashSize256: return(CreateHaval_4_256()); default: throw new ArgumentHashLibException(Haval.InvalidHavalHashSize); } // end switch case HashRounds.Rounds5: switch (a_hash_size) { case HashSizeEnum.HashSize128: return(CreateHaval_5_128()); case HashSizeEnum.HashSize160: return(CreateHaval_5_160()); case HashSizeEnum.HashSize192: return(CreateHaval_5_192()); case HashSizeEnum.HashSize224: return(CreateHaval_5_224()); case HashSizeEnum.HashSize256: return(CreateHaval_5_256()); default: throw new ArgumentHashLibException(Haval.InvalidHavalHashSize); } // end switch default: throw new ArgumentHashLibException(Haval.InvalidHavalRound); } // end switch } // end function Haval
public Tiger2_Base(Int32 a_hash_size, HashRounds a_rounds) : base(a_hash_size, a_rounds) { }
private Tiger2_192(HashSize hashSize, HashRounds rounds) : base((int)hashSize, rounds) { }
} // end function Clone private Tiger2_192(HashSizeEnum a_hash_size, HashRounds a_rounds) : base((Int32)a_hash_size, a_rounds) { }
protected Tiger2(int hashSize, HashRounds rounds) : base(hashSize, rounds) { }
/// <summary> /// /// </summary> /// <param name="a_rounds">3, 4, 5</param> /// <param name="a_hashSize">128, 160, 192, 224, 256</param> /// <returns></returns> public static IHash CreateHaval(HashRounds a_rounds, HashLib.HashSize a_hashSize) { switch (a_rounds) { case HashRounds.Rounds3: switch (a_hashSize) { case HashLib.HashSize.HashSize128: return CreateHaval_3_128(); case HashLib.HashSize.HashSize160: return CreateHaval_3_160(); case HashLib.HashSize.HashSize192: return CreateHaval_3_192(); case HashLib.HashSize.HashSize224: return CreateHaval_3_224(); case HashLib.HashSize.HashSize256: return CreateHaval_3_256(); default: throw new ArgumentException(); } case HashRounds.Rounds4: switch (a_hashSize) { case HashLib.HashSize.HashSize128: return CreateHaval_4_128(); case HashLib.HashSize.HashSize160: return CreateHaval_4_160(); case HashLib.HashSize.HashSize192: return CreateHaval_4_192(); case HashLib.HashSize.HashSize224: return CreateHaval_4_224(); case HashLib.HashSize.HashSize256: return CreateHaval_4_256(); default: throw new ArgumentException(); } case HashRounds.Rounds5: switch (a_hashSize) { case HashLib.HashSize.HashSize128: return CreateHaval_5_128(); case HashLib.HashSize.HashSize160: return CreateHaval_5_160(); case HashLib.HashSize.HashSize192: return CreateHaval_5_192(); case HashLib.HashSize.HashSize224: return CreateHaval_5_224(); case HashLib.HashSize.HashSize256: return CreateHaval_5_256(); default: throw new ArgumentException(); } default: throw new ArgumentException(); } }
/// <summary> /// /// </summary> /// <param name="a_rounds">4, 8</param> /// <param name="a_hashSize">128, 256</param> /// <returns></returns> public static IHash CreateSnefru(HashRounds a_rounds, HashLib.HashSize a_hashSize) { switch (a_rounds) { case HashRounds.Rounds4: switch (a_hashSize) { case HashLib.HashSize.HashSize128: return CreateSnefru_4_128(); case HashLib.HashSize.HashSize256: return CreateSnefru_4_256(); default: throw new ArgumentException(); } case HashRounds.Rounds8: switch (a_hashSize) { case HashLib.HashSize.HashSize128: return CreateSnefru_8_128(); case HashLib.HashSize.HashSize256: return CreateSnefru_8_256(); default: throw new ArgumentException(); } default: throw new ArgumentException(); } }