Ejemplo n.º 1
0
    // Test that a valid key passes the key validation function - needs changes to
    //  OTPgenerator to work properly
    public int[] testGoodDecrypt()
    {
        int[] passed = new int[2];
        passed[1] = 1;

        string seed = "A021E0A80264A33C08B6C2884AC0685C";
        string key  = "0xb5b1870957d373ef0eeffecc6e4812c0fd08f554b37b233526acc331bf1544f7";

        key = VerifyKeys.removeHexPrefix(key);
        byte[] otp          = new byte[32];
        byte[] seedByte     = new byte[14];
        byte[] encryptedKey = new byte[34];
        byte[] keyByte      = Encoding.ASCII.GetBytes(key);
        seedByte = Encoding.ASCII.GetBytes(seed);
        byte[] goodKey      = OTPworker.OTPxor(seedByte, keyByte);
        byte[] decryptedKey = OTPworker.decryptFromBlob(seed, Convert.ToBase64String(goodKey));
        string finalKey     = Encoding.ASCII.GetString(keyByte);

        if (finalKey == key)
        {
            passed[0] = 1;
        }

        return(passed);
    }
Ejemplo n.º 2
0
    // Test that an invalid key fails the key validation function
    public void testBadDecrypt()
    {
        string seed    = "A021E0A80264A33C08B6C2884AC0685C";
        string badBlob = "aaaabbbbaaaabbbbaaaabbbbaaaabbbb";

        byte[] keyByte  = OTPworker.decryptFromBlob(seed, badBlob);
        string finalKey = Encoding.ASCII.GetString(keyByte);

        Debug.Log("Bad decrypted key: " + finalKey);
    }
Ejemplo n.º 3
0
    // Test decrypting a key from a didery blob - needs the bug fix for OTPgenerator to work
    public int[] testDecryptFromBlob()
    {
        int[] passed = new int[2];
        passed[1] = 1;

        byte[] key           = new byte[16];
        byte[] seed          = new byte[16];
        byte[] encryptedKey  = new byte[16];
        byte[] decryptedKey  = new byte[16];
        byte[] decryptedBlob = new byte[16];
        byte[] otp           = new byte[32];

        for (int i = 0; i < key.Length; i++)
        {
            key[i] = (byte)(i + 1);
        }
        for (int i = 0; i < seed.Length; i++)
        {
            seed[i] = (byte)(i + 1);
        }

        OTPworker.OTPGenerator(otp, 32, seed);
        encryptedKey = OTPworker.OTPxor(key, otp);
        decryptedKey = OTPworker.OTPxor(encryptedKey, otp);

        string seedString      = OTPworker.ByteArrayToHex(seed);
        string keyString       = OTPworker.ByteArrayToHex(key);
        string decryptedString = OTPworker.ByteArrayToHex(decryptedKey);

        if (keyString == decryptedString)
        {
            passed[0] += 1;
        }
        else
        {
            Debug.Log("Decrypt key test failed. Key: " + OTPworker.ByteArrayToHex(key));
            Debug.Log("Decrypted key: " + OTPworker.ByteArrayToHex(decryptedKey));
        }

        decryptedBlob = OTPworker.decryptFromBlob(seedString, Convert.ToBase64String(encryptedKey));
        passed[1]    += 1;

        if (keyString == OTPworker.ByteArrayToHex(decryptedBlob))
        {
            passed[0] += 1;
        }
        else
        {
            Debug.Log("Decrypt blob test failed. Key string: " + keyString + " decrypted blob: " + OTPworker.ByteArrayToHex(decryptedBlob));
        }

        //Debug.Log("Decrypted blob: " + OTPworker.ByteArrayToHex(decryptedBlob));

        return(passed);
    }
Ejemplo n.º 4
0
    public void testDecrypt()
    {
        string seed = SeedManager.InputSeed;

        Debug.Log("Seed: " + seed);
        byte[] keyByte  = OTPworker.decryptFromBlob(seed, DideryDemoManager.DemoBlob);
        string finalKey = Encoding.ASCII.GetString(keyByte);

        keyString.text = finalKey;
        Debug.Log("Decrypted key: " + finalKey);
    }
Ejemplo n.º 5
0
    // Decrypt the key from DideryDemoManager.demoBlob
    public void decryptKey()
    {
        if (DideryDemoManager.IsDemo)
        {
            keyString.text = DideryDemoManager.DemoBlob;
        }
        else
        {
            byte[] keyByte = OTPworker.decryptFromBlob(SeedManager.RecoveredSeed, dideryDemoManager.demoBlob);
            finalKey       = Encoding.ASCII.GetString(keyByte);
            keyString.text = finalKey;
        }

        //copyButton.SetActive(true);
    }
Ejemplo n.º 6
0
    // Test that an invalid key fails the key validation function
    public int[] testBadDecrypt()
    {
        int[] passed = new int[2];
        passed[1] = 1;

        string seed    = "A021E0A80264A33C08B6C2884AC0685C";
        string badBlob = "aaaabbbbaaaabbbbaaaabbbbaaaabbbb";

        byte[] keyByte  = OTPworker.decryptFromBlob(seed, badBlob);
        string finalKey = Encoding.ASCII.GetString(keyByte);

        //Debug.Log("Bad decrypted key: " + finalKey);

        // if the function has gotten to this point, and hasn't crashed, it's passed
        passed[0] = 1;
        return(passed);
    }
Ejemplo n.º 7
0
    // Test that a valid key passes the key validation function
    public void testGoodDecrypt()
    {
        string seed = "A021E0A80264A33C08B6C2884AC0685C";
        string key  = "0xb5b1870957d373ef0eeffecc6e4812c0fd08f554b37b233526acc331bf1544f7";

        key = VerifyKeys.removeHexPrefix(key);
        byte[] otp          = new byte[32];
        byte[] seedByte     = new byte[14];
        byte[] encryptedKey = new byte[34];
        byte[] keyByte      = Encoding.ASCII.GetBytes(key);
        seedByte = Encoding.ASCII.GetBytes(seed);
        byte[] goodKey      = OTPworker.OTPxor(seedByte, keyByte);
        byte[] decryptedKey = OTPworker.decryptFromBlob(seed, Convert.ToBase64String(goodKey));
        string finalKey     = Encoding.ASCII.GetString(keyByte);

        Debug.Log("Bad decrypted key: " + finalKey);
    }
Ejemplo n.º 8
0
    public void Start()
    {
        copied      = GameObject.FindGameObjectWithTag("Copied Text").GetComponent <TextMeshProUGUI>();
        copied.text = "";
        copied.gameObject.SetActive(false);
        if (DideryDemoManager.IsDemo)
        {
            keyString.text = DideryDemoManager.DemoBlob;
        }
        else
        {
            byte[] keyByte = OTPworker.decryptFromBlob(SeedManager.RecoveredSeed, dideryDemoManager.demoBlob);
            finalKey       = Encoding.ASCII.GetString(keyByte);
            keyString.text = finalKey;
        }
        copy.onClick.AddListener(onClickCopyKey);
        menu.onClick.AddListener(onClickMainMenu);
        quit.onClick.AddListener(onClickQuit);

        //PathManager.ResetPathManager();
        //copyButton.SetActive(false);
    }