/// <summary>
        /// Gets the KMST IV factory.
        /// </summary>
        /// <param name="version">The version to use for the factory.</param>
        /// <returns>an instance of<see cref="RollingIvFactory"/> that can be used to created IVs for the KMST crypto.</returns>
        public RollingIvFactory CreateFactory(ushort version)
        {
            var encryption = new KmstEncryptor(KmstTable, KmstInitialValue);
            var decryption = new KmstDecryptor(KmstTable, KmstInitialValue);

            return new RollingIvFactory(encryption, decryption, version);
        }
        /// <summary>
        /// Gets the KMST IV factory.
        /// </summary>
        /// <param name="version">The version to use for the factory.</param>
        /// <returns>an instance of<see cref="RollingIvFactory"/> that can be used to created IVs for the KMST crypto.</returns>
        public RollingIvFactory CreateFactory(ushort version)
        {
            var encryption = new KmstEncryptor(KmstTable, KmstInitialValue);
            var decryption = new KmstDecryptor(KmstTable, KmstInitialValue);

            return(new RollingIvFactory(encryption, decryption, version));
        }