Changeset 139 for trunk/DevTestMethods


Ignore:
Timestamp:
Dec 10, 2008, 11:48:09 AM (13 years ago)
Author:
Gerhard Junker
Message:

Whirlpool implemented as HMACWHIRLPOOL
Tiger Implementes as HMACTIGER

interfaces a la System.Security.Cryptography.HMACTIGER
All colleced in SSCext (System.Security.Cryptography extended) project

Location:
trunk/DevTestMethods
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/DevTestMethods/DevTestMethods.csproj

    r133 r139  
    5353      <Name>PKCS5</Name>
    5454    </ProjectReference>
    55     <ProjectReference Include="..\CrypPlugins\Tiger\Tiger.csproj">
    56       <Project>{67C393B3-1FC5-4B3D-A42B-2455B5DF4C31}</Project>
    57       <Name>Tiger</Name>
    58     </ProjectReference>
    59     <ProjectReference Include="..\CrypPlugins\Whirlpool\Whirlpool.csproj">
    60       <Project>{3A68ECB5-6074-4A8D-A6BD-2413C5A4B243}</Project>
    61       <Name>Whirlpool</Name>
    62     </ProjectReference>
    6355    <ProjectReference Include="..\SSCext\SSCext.csproj">
    6456      <Project>{E46A6AA6-56EE-4AE5-8725-DCD07DC95527}</Project>
  • trunk/DevTestMethods/TigerTest.cs

    r138 r139  
    5858      ASCIIEncoding enc = new ASCIIEncoding();
    5959     
    60       TIGER tg = new TIGER();
     60      HMACTIGER tg = new HMACTIGER();
    6161
    6262      tg.Initialize();
  • trunk/DevTestMethods/WhirlpoolTest.cs

    r138 r139  
    1313using System;
    1414using System.Text;
     15
     16using System.Security.Cryptography;
     17
    1518using Microsoft.VisualStudio.TestTools.UnitTesting;
    1619
    17 namespace Whirlpool
     20namespace Tests
    1821{
    19         /// <summary>
    20         /// Zusammenfassungsbeschreibung für UnitTest1
    21         /// </summary>
    22         [TestClass]
    23         public class Whirlpool
    24         {
    25                 public Whirlpool()
    26                 {
    27                 }
     22  /// <summary>
     23  /// Test class for Whirlpool
     24  /// </summary>
     25  [TestClass]
     26  public class WhirlpoolTest
     27  {
    2828
    29                 private TestContext testContextInstance;
     29    public WhirlpoolTest()
     30    {
     31      // nothing ToDo
     32    }
    3033
    31                 /// <summary>
    32                 ///Ruft den Textkontext mit Informationen über
    33                 ///den aktueen Testlauf sowie Funktionalität für diesen auf oder legt diese fest.
    34                 ///</summary>
    35                 public TestContext TestContext
    36                 {
    37                         get
    38                         {
    39                                 return testContextInstance;
    40                         }
    41                         set
    42                         {
    43                                 testContextInstance = value;
    44                         }
    45                 }
     34    private TestContext testContextInstance;
     35    public TestContext TestContext
     36    {
     37      get
     38      {
     39        return testContextInstance;
     40      }
     41      set
     42      {
     43        testContextInstance = value;
     44      }
     45    }
    4646
    47                 #region Zusätzliche Testattribute
    48                 //
    49                 // Sie können beim Schreiben der Tests folgende zusätzliche Attribute verwenden:
    50                 //
    51                 // Verwenden Sie ClassInitialize, um vor Ausführung des ersten Tests in der Klasse Code auszuführen.
    52                 // [ClassInitialize()]
    53                 // public static void MyClassInitialize(TestContext testContext) { }
    54                 //
    55                 // Verwenden Sie ClassCleanup, um nach Ausführung aer Tests in einer Klasse Code auszuführen.
    56                 // [ClassCleanup()]
    57                 // public static void MyClassCleanup() { }
    58                 //
    59                 // Mit TestInitialize können Sie vor jedem einzelnen Test Code ausführen.
    60                 // [TestInitialize()]
    61                 // public void MyTestInitialize() { }
    62                 //
    63                 // Mit TestCleanup können Sie nach jedem einzelnen Test Code ausführen.
    64                 // [TestCleanup()]
    65                 // public void MyTestCleanup() { }
    66                 //
    67                 #endregion
     47    [TestMethod]
     48    public void WhirlpoolTestMethod()
     49    {
     50      // iso_test_vectors
    6851
    69                 [TestMethod]
    70                 public void WhirlpoolTestMethod()
    71                 {
    72                         // iso_test_vectors
    73 
    74                         string[] source =
     52      string[] source =
    7553                        {
    7654                                "",
     
    8462                        };
    8563
    86                         string[] result =
     64      string[] result =
    8765                        {
    8866                                "19FA61D75522A4669B44E39C1D2E1726C530232130D407F89AFEE0964997F7A73E83BE698B288FEBCF88E3E03C4F0757EA8964E59B63D93708B138CC42A66EB3",
     
    9876      ASCIIEncoding enc = new ASCIIEncoding();
    9977
    100                         int tests = source.Length;
    101                         for (int t = 0; t < tests; t++)
    102                         {
    103                                 WhirlpoolHash wh = new WhirlpoolHash();
     78      int tests = source.Length;
     79      for (int t = 0; t < tests; t++)
     80      {
     81        HMACWHIRLPOOL wh = new HMACWHIRLPOOL();
     82        wh.Initialize();
    10483
    105                                 testContextInstance.WriteLine(" Test " + t.ToString());
    106                                 testContextInstance.WriteLine(" data = " + source[t]);
     84        testContextInstance.WriteLine(" Test " + t.ToString());
     85        testContextInstance.WriteLine(" data = " + source[t]);
    10786
    108         byte[] data = enc.GetBytes(source[t]);
     87        byte[] res = wh.ComputeHash(enc.GetBytes(source[t]));
    10988
    110                                 wh.Add(data);
    111                                 wh.Finish();
     89        Assert.AreEqual(res.Length, 64, "Hash Length invalid.");
    11290
    113                                 byte[] res = wh.Hash;
     91        string tmp = "";
     92        foreach (byte b in res)
     93        {
     94          if (b < 0x10)
     95            tmp += "0";
     96          tmp += b.ToString("X");
     97        }
     98        Assert.AreEqual(result[t], tmp, "Hash is invalid.");
    11499
    115                                 Assert.AreEqual(res.Length, 64,"Hash Length invalid.");
    116 
    117                                 string tmp = "";
    118                                 foreach (byte b in res)
    119                                 {
    120                                         if (b < 0x10)
    121                                                 tmp += "0";
    122                                         tmp += b.ToString("X");
    123                                 }
    124                                 Assert.AreEqual(result[t], tmp, "Hash is invalid.");
    125 
    126                                 testContextInstance.WriteLine(" expected   = " + result[t]);
    127                                 testContextInstance.WriteLine(" calculated = " + tmp);
    128                         }
    129                 }
    130         }
     100        testContextInstance.WriteLine(" expected   = " + result[t]);
     101        testContextInstance.WriteLine(" calculated = " + tmp);
     102      }
     103    }
     104  }
    131105}
Note: See TracChangeset for help on using the changeset viewer.