예제 #1
0
        static FipsAes()
        {
            EngineProvider provider = new EngineProvider(null);

            // FSM_STATE:3.AES.0,"AES ENCRYPT DECRYPT KAT", "The module is performing AES encrypt and decrypt KAT self-test"
            // FSM_TRANS:3.AES.0,"POWER ON SELF-TEST", "AES ENCRYPT DECRYPT KAT", "Invoke AES Encrypt/Decrypt KAT self-test"
            provider.CreateEngine(EngineUsage.GENERAL);
            // FSM_TRANS:3.AES.1,"AES ENCRYPT DECRYPT KAT", "POWER ON SELF-TEST", "AES Encrypt / Decrypt KAT self-test successful completion"

            // FSM_STATE:3.AES.1,"CCM GENERATE VERIFY KAT", "The module is performing AES CCM generate and verify KAT self-test"
            // FSM_TRANS:3.AES.2,"POWER ON SELF-TEST", "CCM GENERATE VERIFY KAT",	"Invoke CCM Generate/Verify KAT self-test"
            CcmStartUpTest(provider);
            // FSM_TRANS:3.AES.3, "CCM GENERATE VERIFY KAT", "POWER ON SELF-TEST", "CCM Generate/Verify KAT self-test successful completion"

            // FSM_STATE:3.AES.2,"AES-CMAC GENERATE VERIFY KAT", "The module is performing AES-CMAC generate and verify KAT self-test"
            // FSM_TRANS:3.AES.4, "POWER ON SELF-TEST", "AES-CMAC GENERATE VERIFY KAT", "Invoke CMAC Generate/Verify KAT self-test"
            CMacStartUpTest(provider);
            // FSM_TRANS:3.AES.5, "AES-CMAC GENERATE VERIFY KAT", "POWER ON SELF-TEST", "CMAC Generate/Verify KAT self-test successful completion"

            // FSM_STATE:3.AES.3,"GCM GMAC GENERATE VERIFY KAT", "The module is performing GCM/GMAC generate and verify KAT self-test"
            // FSM_TRANS:3.AES.6,"POWER ON SELF-TEST", "GCM GMAC GENERATE VERIFY KAT",	"Invoke GCM Generate/Verify KAT self-test"
            GcmStartUpTest(provider);
            // FSM_TRANS:3.AES.7, "GCM GMAC GENERATE VERIFY KAT", "POWER ON SELF-TEST", "GCM Generate/Verify KAT self-test successful completion"

            ENGINE_PROVIDER = provider;
        }