示例#1
0
        public IRsaOaep Get(KasHashAlg hashAlg)
        {
            ISha sha = null;

            switch (hashAlg)
            {
            case KasHashAlg.SHA1:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA1, DigestSizes.d160));
                break;

            case KasHashAlg.SHA2_D224:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA2, DigestSizes.d224));
                break;

            case KasHashAlg.SHA2_D256:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA2, DigestSizes.d256));
                break;

            case KasHashAlg.SHA2_D384:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA2, DigestSizes.d384));
                break;

            case KasHashAlg.SHA2_D512:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA2, DigestSizes.d512));
                break;

            case KasHashAlg.SHA2_D512_T224:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA2, DigestSizes.d512t224));
                break;

            case KasHashAlg.SHA2_D512_T256:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA2, DigestSizes.d512t256));
                break;

            case KasHashAlg.SHA3_D224:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA3, DigestSizes.d224));
                break;

            case KasHashAlg.SHA3_D256:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA3, DigestSizes.d256));
                break;

            case KasHashAlg.SHA3_D384:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA3, DigestSizes.d384));
                break;

            case KasHashAlg.SHA3_D512:
                sha = _shaFactory.GetShaInstance(new HashFunction(ModeValues.SHA3, DigestSizes.d512));
                break;
            }

            return(new RsaOaep(sha, new Mgf(sha), _rsa, _entropyFactory));
        }
示例#2
0
        /// <summary>
        /// Get <see cref="HashFunctions"/> from the provided <see cref="KasHashAlg"/>.
        /// </summary>
        /// <param name="kasHashAlg">The <see cref="KasHashAlg"/> to use for getting a <see cref="HashFunctions"/>.</param>
        /// <returns></returns>
        public static HashFunctions GetHashFunctionEnumFromKasHashFunctionEnum(KasHashAlg kasHashAlg)
        {
            switch (kasHashAlg)
            {
            case KasHashAlg.SHA1:
                return(HashFunctions.Sha1);

            case KasHashAlg.SHA2_D224:
                return(HashFunctions.Sha2_d224);

            case KasHashAlg.SHA2_D256:
                return(HashFunctions.Sha2_d256);

            case KasHashAlg.SHA2_D384:
                return(HashFunctions.Sha2_d384);

            case KasHashAlg.SHA2_D512:
                return(HashFunctions.Sha2_d512);

            case KasHashAlg.SHA2_D512_T224:
                return(HashFunctions.Sha2_d512t224);

            case KasHashAlg.SHA2_D512_T256:
                return(HashFunctions.Sha2_d512t256);

            case KasHashAlg.SHA3_D224:
                return(HashFunctions.Sha3_d224);

            case KasHashAlg.SHA3_D256:
                return(HashFunctions.Sha3_d256);

            case KasHashAlg.SHA3_D384:
                return(HashFunctions.Sha3_d384);

            case KasHashAlg.SHA3_D512:
                return(HashFunctions.Sha3_d512);

            default:
                throw new ArgumentOutOfRangeException(nameof(kasHashAlg), kasHashAlg, null);
            }
        }
示例#3
0
        public IRsaOaep Get(KasHashAlg hashAlg)
        {
            var kts = _ktsFactory.Get(hashAlg);

            return(new FakeKts_BadZ(kts, _random));
        }