/// <summary> /// Reset the seed <see cref="VTDev.Libraries.CEXEngine.Crypto.Enumeration.SeedGenerators">Seed Generator</see> and the <see cref="VTDev.Libraries.CEXEngine.Crypto.Enumeration.Digests">Digest</see> engines /// </summary> public void Reset() { if (m_seedEngine != null) { m_seedEngine.Dispose(); m_seedEngine = null; } m_seedEngine = SeedGeneratorFromName.GetInstance(SeedEngine); // reset hash engine if (m_hashEngine != null) { m_hashEngine.Dispose(); m_hashEngine = null; } m_hashEngine = DigestFromName.GetInstance(HashEngine); // if absent, generate the initial counter if (m_ctrLength == 0) { if (m_hashEngine.BlockSize < 72) { m_ctrLength = CTRDEF_SIZE; } else { m_ctrLength = CTRMAX_SIZE; } m_ctrVector = new byte[m_ctrLength]; using (CSPRsg pool = new CSPRsg()) m_ctrVector = pool.GetBytes(m_ctrLength); } }
private void Dispose(bool Disposing) { if (!_isDisposed && Disposing) { try { if (_dgtEngine != null) { _dgtEngine.Dispose(); _dgtEngine = null; } if (_rndEngine != null) { _rndEngine.Dispose(); _rndEngine = null; } _K = 0; _N = 0; _T = 0; } catch { } _isDisposed = true; } }
private void Dispose(bool Disposing) { if (!_isDisposed && Disposing) { try { if (_msgDigest != null && _disposeEngine) { _msgDigest.Dispose(); _msgDigest = null; } if (_inputPad != null) { Array.Clear(_inputPad, 0, _inputPad.Length); _inputPad = null; } if (_outputPad != null) { Array.Clear(_outputPad, 0, _outputPad.Length); _outputPad = null; } } finally { _isDisposed = true; } } }
private void Dispose(bool Disposing) { if (!_isDisposed && Disposing) { try { if (_digest != null && _disposeEngine) { _digest.Dispose(); _digest = null; } if (_IV != null) { Array.Clear(_IV, 0, _IV.Length); _IV = null; } if (_Salt != null) { Array.Clear(_Salt, 0, _Salt.Length); _Salt = null; } } finally { _isDisposed = true; } } }
/// <summary> /// Reset the RNGCryptoServiceProvider instance. /// </summary> public void Reset() { if (_digestEngine != null) { _digestEngine.Dispose(); _digestEngine = null; } if (_seedGenerator != null) { _seedGenerator.Dispose(); _seedGenerator = null; } _digestEngine = GetDigest(_digestType); _rngGenerator = new DGCDrbg(_digestEngine); if (_stateSeed != null) { _rngGenerator.Initialize(_stateSeed); } else { _seedGenerator = GetSeedGenerator(_seedType); _rngGenerator.Initialize(_seedGenerator.GetSeed((_digestEngine.BlockSize * 2) + 8)); // 2 * block + counter (2*bs+8) } _rngGenerator.Generate(_byteBuffer); _bufferIndex = 0; }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (m_dgtEngine != null) { m_dgtEngine.Dispose(); m_dgtEngine = null; } if (m_rndEngine != null) { m_rndEngine.Dispose(); m_rndEngine = null; } if (_cptIf != null) { _cptIf.Dispose(); _cptIf = null; } if (m_X != null) { Array.Clear(m_X, 0, m_X.Length); m_X = null; } } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (_treehash != null) { for (int i = 0; i < _treehash.Length; i++) { _treehash[i].Dispose(); _treehash = null; } } if (_ndeRetain != null) { Array.Clear(_ndeRetain, 0, _ndeRetain.Length); _ndeRetain = null; } if (_treeRoot != null) { Array.Clear(_treeRoot, 0, _treeRoot.Length); _treeRoot = null; } if (_authPath != null) { Array.Clear(_authPath, 0, _authPath.Length); _authPath = null; } if (_tailStack != null) { _tailStack.Clear(); _tailStack = null; } if (_heightOfNodes != null) { _heightOfNodes.Clear(); _heightOfNodes = null; } if (_msgDigestTree != null) { _msgDigestTree.Dispose(); _msgDigestTree = null; } if (_ndeIndex != null) { Array.Clear(_ndeIndex, 0, _ndeIndex.Length); _ndeIndex = null; } _heightOfTree = 0; _mdLength = 0; m_K = 0; _indexForNextSeed = 0; _heightOfNextSeed = 0; } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (m_digest != null && m_disposeEngine) { m_digest.Dispose(); m_digest = null; } if (m_Salt != null) { Array.Clear(m_Salt, 0, m_Salt.Length); m_Salt = null; } if (m_Key != null) { Array.Clear(m_Key, 0, m_Key.Length); m_Key = null; } } finally { m_isDisposed = true; } } }
/// <summary> /// Reset the DGCPrng instance /// </summary> public void Reset() { if (m_digestEngine != null) { m_digestEngine.Dispose(); m_digestEngine = null; } if (m_seedGenerator != null) { m_seedGenerator.Dispose(); m_seedGenerator = null; } m_digestEngine = GetDigest(m_digestType); m_rngGenerator = new DGC(m_digestEngine); if (m_stateSeed != null) { m_rngGenerator.Initialize(m_stateSeed); } else { m_seedGenerator = GetSeedGenerator(m_seedType); m_rngGenerator.Initialize(m_seedGenerator.GetBytes((m_digestEngine.BlockSize * 2) + 8)); // 2 * block + counter (2*bsz+8) } m_rngGenerator.Generate(m_byteBuffer); m_bufferIndex = 0; }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (m_msgDigest != null && m_disposeEngine) { m_msgDigest.Dispose(); m_msgDigest = null; } if (m_inputPad != null) { Array.Clear(m_inputPad, 0, m_inputPad.Length); m_inputPad = null; } if (m_outputPad != null) { Array.Clear(m_outputPad, 0, m_outputPad.Length); m_outputPad = null; } } finally { m_isDisposed = true; } } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (m_dgtEngine != null) { m_dgtEngine.Dispose(); m_dgtEngine = null; } if (m_rndEngine != null) { m_rndEngine.Dispose(); m_rndEngine = null; } m_K = 0; m_N = 0; m_T = 0; } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!_isDisposed && Disposing) { try { if (_msgDigest != null && _disposeEngine) { _msgDigest.Dispose(); _msgDigest = null; } if (_dgtSeed != null) { Array.Clear(_dgtSeed, 0, _dgtSeed.Length); _dgtSeed = null; } if (_dgtState != null) { Array.Clear(_dgtState, 0, _dgtState.Length); _dgtState = null; } } finally { _isDisposed = true; } } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (m_disposeEngine) { if (m_digestEngine != null) { m_digestEngine.Dispose(); m_digestEngine = null; } } if (m_disposeStream) { if (m_inStream != null) { m_inStream.Dispose(); m_inStream = null; } } } finally { m_isDisposed = true; } } }
private void Dispose(bool Disposing) { if (!_isDisposed && Disposing) { try { if (_keyEngine != null) { _keyEngine.Dispose(); _keyEngine = null; } if (_expKey != null) { Array.Clear(_expKey, 0, _expKey.Length); _expKey = null; } if (_sprBox != null) { Array.Clear(_sprBox, 0, _sprBox.Length); _sprBox = null; } if (_hkdfInfo != null) { Array.Clear(_hkdfInfo, 0, _hkdfInfo.Length); _hkdfInfo = null; } } finally { _isDisposed = true; } } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (_msgDigestOTS != null) { _msgDigestOTS.Dispose(); _msgDigestOTS = null; } if (_privateKeyOTS != null) { Array.Clear(_privateKeyOTS, 0, _privateKeyOTS.Length); _privateKeyOTS = null; } if (_msgHash != null) { Array.Clear(_msgHash, 0, _msgHash.Length); _msgHash = null; } if (_sgnCode != null) { Array.Clear(_sgnCode, 0, _sgnCode.Length); _sgnCode = null; } if (_gmssRand != null) { _gmssRand.Dispose(); _gmssRand = null; } if (_otsSeed != null) { Array.Clear(_otsSeed, 0, _otsSeed.Length); _otsSeed = null; } _mdSize = 0; m_keySize = 0; _W = 0; _msgSize = 0; m_K = 0; _R = 0; _testCtr = 0; _Counter = 0; _iI = 0; _test8 = 0; _big8 = 0; _steps = 0; _chkSum = 0; _height = 0; } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (_msgDigestOTS != null) { _msgDigestOTS.Dispose(); _msgDigestOTS = null; } if (_gmssRandom != null) { _gmssRandom.Dispose(); _gmssRandom = null; } if (_leaf != null) { Array.Clear(_leaf, 0, _leaf.Length); _leaf = null; } if (_concHashs != null) { Array.Clear(_concHashs, 0, _concHashs.Length); _concHashs = null; } if (_seed != null) { Array.Clear(_seed, 0, _seed.Length); _seed = null; } if (_privateKeyOTS != null) { Array.Clear(_privateKeyOTS, 0, _privateKeyOTS.Length); _privateKeyOTS = null; } _mdsize = 0; m_keySize = 0; _ctr1 = 0; _ctr2 = 0; _twoPowerW = 0; _W = 0; _steps = 0; } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (_gmssRand != null) { _gmssRand.Dispose(); _gmssRand = null; } if (m_rndEngine != null) { m_rndEngine.Dispose(); m_rndEngine = null; } if (_msDigestTree != null) { _msDigestTree.Dispose(); _msDigestTree = null; } if (_currentSeeds != null) { Array.Clear(_currentSeeds, 0, _currentSeeds.Length); _currentSeeds = null; } if (_nextNextSeeds != null) { Array.Clear(_nextNextSeeds, 0, _nextNextSeeds.Length); _nextNextSeeds = null; } if (_currentRootSigs != null) { Array.Clear(_currentRootSigs, 0, _currentRootSigs.Length); _currentRootSigs = null; } if (_currentRootSigs != null) { Array.Clear(_currentRootSigs, 0, _currentRootSigs.Length); _currentRootSigs = null; } _mdLength = 0; } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (_msgDigestTree != null) { _msgDigestTree.Dispose(); _msgDigestTree = null; } } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!_isDisposed && Disposing) { if (_digest != null && _disposeEngine) { _digest.Dispose(); _digest = null; } if (_rndData != null) { Array.Clear(_rndData, 0, _rndData.Length); _rndData = null; } _isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { if (m_digest != null && m_disposeEngine) { m_digest.Dispose(); m_digest = null; } if (m_rndData != null) { Array.Clear(m_rndData, 0, m_rndData.Length); m_rndData = null; } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (_tailStack != null) { _tailStack.Clear(); _tailStack = null; } if (_heightOfNodes != null) { _heightOfNodes.Clear(); _heightOfNodes = null; } if (_firstNode != null) { Array.Clear(_firstNode, 0, _firstNode.Length); _firstNode = null; } if (_seedActive != null) { Array.Clear(_seedActive, 0, _seedActive.Length); _seedActive = null; } if (_seedNext != null) { Array.Clear(_seedNext, 0, _seedNext.Length); _seedNext = null; } if (_msgDigestTree != null) { _msgDigestTree.Dispose(); _msgDigestTree = null; } _maxHeight = 0; _tailLength = 0; _firstNodeHeight = 0; } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!_isDisposed && Disposing) { try { if (_dgtEngine != null) { _dgtEngine.Dispose(); _dgtEngine = null; } if (_asyCipher != null) { _asyCipher.Dispose(); _asyCipher = null; } } catch { } _isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (_msgDigestTrees != null) { _msgDigestTrees.Dispose(); _msgDigestTrees = null; } if (_gmssRandom != null) { _gmssRandom.Dispose(); _gmssRandom = null; } if (_index != null) { Array.Clear(_index, 0, _index.Length); _index = null; } if (_currentAuthPaths != null) { Array.Clear(_currentAuthPaths, 0, _currentAuthPaths.Length); _currentAuthPaths = null; } if (_subtreeRootSig != null) { Array.Clear(_subtreeRootSig, 0, _subtreeRootSig.Length); _subtreeRootSig = null; } _mdLength = 0; _numLayer = 0; } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (m_dgtEngine != null) { m_dgtEngine.Dispose(); m_dgtEngine = null; } if (m_asyCipher != null) { m_asyCipher.Dispose(); m_asyCipher = null; } } catch { } m_isDisposed = true; } }
private void Dispose(bool Disposing) { if (!m_isDisposed && Disposing) { try { if (m_kdfExtractor != null) { m_kdfExtractor.Dispose(); m_kdfExtractor = null; } if (m_expKey != null) { Array.Clear(m_expKey, 0, m_expKey.Length); m_expKey = null; } } finally { m_isDisposed = true; } } }
/// <summary> /// Reset the seed <see cref="Prngs">PRNG</see> and the <see cref="Digests">Digest</see> engines /// </summary> public void Reset() { if (_seedEngine != null) { _seedEngine.Dispose(); _seedEngine = null; } // select the prng switch (SeedEngine) { case Prngs.BBSG: _seedEngine = new BBSG(); break; case Prngs.CCG: _seedEngine = new CCG(); break; case Prngs.MODEXPG: _seedEngine = new MODEXPG(); break; case Prngs.QCG1: _seedEngine = new QCG1(); break; case Prngs.QCG2: _seedEngine = new QCG2(); break; default: _seedEngine = new CSPRng(); break; } if (_hashEngine != null) { _hashEngine.Dispose(); _hashEngine = null; } // select the digest switch (HashEngine) { case Digests.Blake256: _hashEngine = new Blake256(); break; case Digests.Blake512: _hashEngine = new Blake512(); break; case Digests.Keccak256: _hashEngine = new Keccak256(); break; case Digests.Keccak512: _hashEngine = new Keccak512(); break; case Digests.SHA256: _hashEngine = new SHA256(); break; case Digests.Skein256: _hashEngine = new Skein256(); break; case Digests.Skein512: _hashEngine = new Skein512(); break; case Digests.Skein1024: _hashEngine = new Skein1024(); break; default: _hashEngine = new SHA512(); break; } }