CryptoSys API Library
- CryptoSysTM API Manual
- What is the CryptoSys API?
- Introduction
- Getting Started
- Changes in this version
- Changes in earlier versions
- Conventions in this document
- Copyright Notice
- Background Basics
- Secure Random Number Generator
- A caution about insecure default algorithms
- Installation
- Visual Basic or Visual Basic: VB6 vs VB.NET
- VBA in 64-bit versions of Office
- General Programming Issues
- Using with Classic Visual Basic and VBA
- Using with ANSI C
- Using with C++ (STL)
- Using with .NET: C# and VB.NET
- Using with COM/ASP
- 'Hello world' programs
- Common problems when encrypting
- Specifying the algorithm and mode for generic block cipher functions
- Padding schemes for block ciphers
- Valid key and block sizes for block cipher algorithms
- Extensions to block cipher functions for files
- An interface for Authenticated Encryption with Associated Data (AEAD)
- Filenames with 'International' characters
- Security Issues
- Self-Tests
- Optional Registry Settings
- Technical Details
- Compliance
- References
- VBA/C Function Summary
- List of Functions
- VBA Wrapper Functions
- C++ (STL) Functions
- ActiveX Classes and Methods
- .NET Classes and Methods
- Summary of .NET Classes
- List of .Net Methods
- Aead.AddAAD Method
- Aead.Authenticate Method
- Aead.Decrypt Method
- Aead.DecryptWithTag Method (Byte, Byte, Byte, Aead.Algorithm)
- Aead.DecryptWithTag Method (Byte, Byte, Byte, Byte, Aead.Algorithm, Aead.Opts)
- Aead.Dispose Method
- Aead.Encrypt Method
- Aead.EncryptWithTag Method (Byte, Byte, Byte, Aead.Algorithm)
- Aead.EncryptWithTag Method (Byte, Byte, Byte, Byte, Aead.Algorithm, Aead.Opts)
- Aead.FinishDecrypt Method
- Aead.FinishEncrypt Method
- Aead.InitKey Method
- Aead.Instance Method
- Aead.Mac Method
- Aead.SetNonce Method
- Aead.StartDecrypt Method
- Aead.StartEncrypt Method
- Aead.Update Method
- Aes128.Decrypt Method (Byte, Byte, Mode, Byte)
- Aes128.Decrypt Method (String, String, Mode, String)
- Aes128.Decrypt Method (String, String, Mode, String, EncodingBase)
- Aes128.Dispose Method
- Aes128.Encrypt Method (Byte, Byte, Mode, Byte)
- Aes128.Encrypt Method (String, String, Mode, String)
- Aes128.Encrypt Method (String, String, Mode, String, EncodingBase)
- Aes128.FileDecrypt Method (String, String, Byte, Mode, Byte)
- Aes128.FileDecrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Aes128.FileDecrypt Method (String, String, String, Mode, String)
- Aes128.FileEncrypt Method (String, String, Byte, Mode, Byte)
- Aes128.FileEncrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Aes128.FileEncrypt Method (String, String, String, Mode, String)
- Aes128.InitDecrypt Method (Byte, Mode, Byte)
- Aes128.InitDecrypt Method (String, Mode, String)
- Aes128.InitEncrypt Method (Byte, Mode, Byte)
- Aes128.InitEncrypt Method (String, Mode, String)
- Aes128.Instance Method
- Aes128.Pad Method (Byte)
- Aes128.Pad Method (String)
- Aes128.Unpad Method (Byte)
- Aes128.Unpad Method (String)
- Aes128.Update Method (Byte)
- Aes128.Update Method (String)
- Aes192.Decrypt Method (Byte, Byte, Mode, Byte)
- Aes192.Decrypt Method (String, String, Mode, String)
- Aes192.Decrypt Method (String, String, Mode, String, EncodingBase)
- Aes192.Dispose Method
- Aes192.Encrypt Method (Byte, Byte, Mode, Byte)
- Aes192.Encrypt Method (String, String, Mode, String)
- Aes192.Encrypt Method (String, String, Mode, String, EncodingBase)
- Aes192.FileDecrypt Method (String, String, Byte, Mode, Byte)
- Aes192.FileDecrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Aes192.FileDecrypt Method (String, String, String, Mode, String)
- Aes192.FileEncrypt Method (String, String, Byte, Mode, Byte)
- Aes192.FileEncrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Aes192.FileEncrypt Method (String, String, String, Mode, String)
- Aes192.InitDecrypt Method (Byte, Mode, Byte)
- Aes192.InitDecrypt Method (String, Mode, String)
- Aes192.InitEncrypt Method (Byte, Mode, Byte)
- Aes192.InitEncrypt Method (String, Mode, String)
- Aes192.Instance Method
- Aes192.Pad Method (Byte)
- Aes192.Pad Method (String)
- Aes192.Unpad Method (Byte)
- Aes192.Unpad Method (String)
- Aes192.Update Method (Byte)
- Aes192.Update Method (String)
- Aes256.Decrypt Method (Byte, Byte, Mode, Byte)
- Aes256.Decrypt Method (String, String, Mode, String)
- Aes256.Decrypt Method (String, String, Mode, String, EncodingBase)
- Aes256.Dispose Method
- Aes256.Encrypt Method (Byte, Byte, Mode, Byte)
- Aes256.Encrypt Method (String, String, Mode, String)
- Aes256.Encrypt Method (String, String, Mode, String, EncodingBase)
- Aes256.FileDecrypt Method (String, String, Byte, Mode, Byte)
- Aes256.FileDecrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Aes256.FileDecrypt Method (String, String, String, Mode, String)
- Aes256.FileEncrypt Method (String, String, Byte, Mode, Byte)
- Aes256.FileEncrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Aes256.FileEncrypt Method (String, String, String, Mode, String)
- Aes256.InitDecrypt Method (Byte, Mode, Byte)
- Aes256.InitDecrypt Method (String, Mode, String)
- Aes256.InitEncrypt Method (Byte, Mode, Byte)
- Aes256.InitEncrypt Method (String, Mode, String)
- Aes256.Instance Method
- Aes256.Pad Method (Byte)
- Aes256.Pad Method (String)
- Aes256.Unpad Method (Byte)
- Aes256.Unpad Method (String)
- Aes256.Update Method (Byte)
- Aes256.Update Method (String)
- Blowfish.Decrypt Method (Byte, Byte, Mode, Byte)
- Blowfish.Decrypt Method (String, String, Mode, String)
- Blowfish.Decrypt Method (String, String, Mode, String, EncodingBase)
- Blowfish.Dispose Method
- Blowfish.Encrypt Method (Byte, Byte, Mode, Byte)
- Blowfish.Encrypt Method (String, String, Mode, String)
- Blowfish.Encrypt Method (String, String, Mode, String, EncodingBase)
- Blowfish.FileDecrypt Method (String, String, Byte, Mode, Byte)
- Blowfish.FileDecrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Blowfish.FileDecrypt Method (String, String, String, Mode, String)
- Blowfish.FileEncrypt Method (String, String, Byte, Mode, Byte)
- Blowfish.FileEncrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Blowfish.FileEncrypt Method (String, String, String, Mode, String)
- Blowfish.InitDecrypt Method (Byte, Mode, Byte)
- Blowfish.InitDecrypt Method (String, Mode, String)
- Blowfish.InitEncrypt Method (Byte, Mode, Byte)
- Blowfish.InitEncrypt Method (String, Mode, String)
- Blowfish.Instance Method
- Blowfish.Pad Method (Byte)
- Blowfish.Pad Method (String)
- Blowfish.Unpad Method (Byte)
- Blowfish.Unpad Method (String)
- Blowfish.Update Method (Byte)
- Blowfish.Update Method (String)
- Cipher.BlockBytes Method
- Cipher.Decrypt Method (Byte, Byte, Byte, CipherAlgorithm, Mode, Padding, Cipher.Opts)
- Cipher.Decrypt Method (String, String, String, CipherAlgorithm, Mode, Padding, Cipher.Opts)
- Cipher.Dispose Method
- Cipher.Encrypt Method (Byte, Byte, Byte, CipherAlgorithm, Mode, Padding, Cipher.Opts)
- Cipher.Encrypt Method (String, String, String, CipherAlgorithm, Mode, Padding, Cipher.Opts)
- Cipher.FileDecrypt Method
- Cipher.FileEncrypt Method
- Cipher.InitDecrypt Method (Byte, Byte, CipherAlgorithm, Mode)
- Cipher.InitDecrypt Method (String, String, CipherAlgorithm, Mode)
- Cipher.InitEncrypt Method (Byte, Byte, CipherAlgorithm, Mode)
- Cipher.InitEncrypt Method (String, String, CipherAlgorithm, Mode)
- Cipher.Instance Method
- Cipher.KeyBytes Method
- Cipher.KeyUnwrap Method
- Cipher.KeyWrap Method
- Cipher.Pad Method (Byte, CipherAlgorithm, Padding)
- Cipher.Pad Method (String, CipherAlgorithm, Padding)
- Cipher.Unpad Method (Byte, CipherAlgorithm, Padding)
- Cipher.Unpad Method (String, CipherAlgorithm, Padding)
- Cipher.Update Method (Byte)
- Cipher.Update Method (String)
- CipherStream.Bytes Method
- CipherStream.Dispose Method
- CipherStream.File Method
- CipherStream.Hex Method
- CipherStream.Init Method
- CipherStream.Instance Method
- CipherStream.Update Method
- Cnv.Base64Filter Method
- Cnv.Base64FromHex Method
- Cnv.FromBase64 Method
- Cnv.FromHex Method
- Cnv.HexFilter Method
- Cnv.HexFromBase64 Method
- Cnv.ShortPathName Method
- Cnv.StringFromBase64 Method
- Cnv.StringFromHex Method
- Cnv.ToBase64 Method (Byte)
- Cnv.ToBase64 Method (String)
- Cnv.ToHex Method (Byte)
- Cnv.ToHex Method (String)
- Compr.Compress Method
- Compr.Uncompress Method
- Crc.Data Method (Byte)
- Crc.Data Method (String)
- Crc.File Method
- Des.CheckKey Method (Byte)
- Des.CheckKey Method (String)
- Des.Decrypt Method (Byte, Byte, Mode, Byte)
- Des.Decrypt Method (String, String, Mode, String)
- Des.Decrypt Method (String, String, Mode, String, EncodingBase)
- Des.Dispose Method
- Des.Encrypt Method (Byte, Byte, Mode, Byte)
- Des.Encrypt Method (String, String, Mode, String)
- Des.Encrypt Method (String, String, Mode, String, EncodingBase)
- Des.FileDecrypt Method (String, String, Byte, Mode, Byte)
- Des.FileDecrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Des.FileDecrypt Method (String, String, String, Mode, String)
- Des.FileEncrypt Method (String, String, Byte, Mode, Byte)
- Des.FileEncrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Des.FileEncrypt Method (String, String, String, Mode, String)
- Des.InitDecrypt Method (Byte, Mode, Byte)
- Des.InitDecrypt Method (String, Mode, String)
- Des.InitEncrypt Method (Byte, Mode, Byte)
- Des.InitEncrypt Method (String, Mode, String)
- Des.Instance Method
- Des.Pad Method (Byte)
- Des.Pad Method (String)
- Des.Unpad Method (Byte)
- Des.Unpad Method (String)
- Des.Update Method (Byte)
- Des.Update Method (String)
- Gcm.Decrypt Method
- Gcm.Dispose Method
- Gcm.Encrypt Method
- Gcm.Gmac Method
- Gcm.InitKey Method
- Gcm.Instance Method
- Gcm.NextDecrypt Method
- Gcm.NextEncrypt Method
- Gcm.NextGmac Method
- General.CompileTime Method
- General.ErrorCode Method
- General.ErrorLookup Method
- General.FormatErrorMessage Method
- General.IsWin64 Method
- General.LicenceType Method
- General.ModuleInfo Method
- General.ModuleName Method
- General.NetVersion Method
- General.Platform Method
- General.PowerUpTests Method
- General.Version Method
- Hash.AddData Method (Byte)
- Hash.AddData Method (String)
- Hash.BytesFromBytes Method
- Hash.BytesFromFile Method
- Hash.Dispose Method
- Hash.Final Method
- Hash.HexFromBits Method
- Hash.HexFromBytes Method
- Hash.HexFromFile Method
- Hash.HexFromHex Method
- Hash.HexFromString Method
- Hash.HexFromTextFile Method
- Hash.Init Method
- Hash.Instance Method
- Hash.LengthInBytes Method
- Hash.Reset Method
- Mac.AddData Method (Byte)
- Mac.AddData Method (String)
- Mac.BytesFromBytes Method
- Mac.Dispose Method
- Mac.Final Method
- Mac.HexFromBytes Method
- Mac.HexFromHex Method
- Mac.Init Method
- Mac.Instance Method
- Mac.Reset Method
- Md5.AddData Method (Byte)
- Md5.AddData Method (String)
- Md5.BytesHash Method
- Md5.Dispose Method
- Md5.FileHexHash Method
- Md5.FileTextHexHash Method
- Md5.HexDigest Method
- Md5.HexHash Method (Byte)
- Md5.HexHash Method (String)
- Md5.Hmac Method (Byte, Byte)
- Md5.Hmac Method (String, String)
- Md5.Init Method
- Md5.Instance Method
- Md5.Reset Method
- Pbe.Kdf2 Method (Int32, Byte, Byte, Int32, HashAlgorithm)
- Pbe.Kdf2 Method (Int32, String, String, Int32, HashAlgorithm)
- Pbe.Scrypt Method (Int32, Byte, Byte, Int32, Int32, Int32)
- Pbe.Scrypt Method (Int32, String, String, Int32, Int32, Int32)
- Pc1.Encrypt Method (Byte, Byte)
- Pc1.Encrypt Method (String, String)
- Pc1.File Method
- Prf.Bytes Method
- Rng.BytesWithPrompt Method (Int32, Rng.Strength)
- Rng.BytesWithPrompt Method (Int32, String, Rng.Strength)
- Rng.HexWithPrompt Method (Int32)
- Rng.HexWithPrompt Method (Int32, String, Rng.Strength)
- Rng.Initialize Method
- Rng.InitializeEx Method
- Rng.KeyBytes Method (Int32, Byte)
- Rng.KeyBytes Method (Int32, String)
- Rng.KeyHex Method (Int32, Byte)
- Rng.KeyHex Method (Int32, String)
- Rng.MakeSeedFile Method (String, Rng.Strength)
- Rng.MakeSeedFile Method (String, String, Rng.Strength)
- Rng.NonceBytes Method
- Rng.NonceHex Method
- Rng.Number Method
- Rng.Octet Method
- Rng.Test Method
- Rng.TestDrbgvs Method
- Rng.UpdateSeedFile Method
- Sha1.AddData Method (Byte)
- Sha1.AddData Method (String)
- Sha1.BytesHash Method
- Sha1.Dispose Method
- Sha1.FileHexHash Method
- Sha1.FileTextHexHash Method
- Sha1.HexDigest Method
- Sha1.HexHash Method (Byte)
- Sha1.HexHash Method (String)
- Sha1.Hmac Method (Byte, Byte)
- Sha1.Hmac Method (String, String)
- Sha1.Init Method
- Sha1.Instance Method
- Sha1.Reset Method
- Sha256.AddData Method (Byte)
- Sha256.AddData Method (String)
- Sha256.BytesHash Method
- Sha256.Dispose Method
- Sha256.FileHexHash Method
- Sha256.FileTextHexHash Method
- Sha256.HexDigest Method
- Sha256.HexHash Method (Byte)
- Sha256.HexHash Method (String)
- Sha256.Hmac Method (Byte, Byte)
- Sha256.Hmac Method (String, String)
- Sha256.Init Method
- Sha256.Instance Method
- Sha256.Reset Method
- Sha3.AddData Method (Byte)
- Sha3.AddData Method (String)
- Sha3.Dispose Method
- Sha3.HexDigest Method
- Sha3.Init Method
- Sha3.Instance Method
- Sha3.Reset Method
- Tdea.CheckKey Method (Byte)
- Tdea.CheckKey Method (String)
- Tdea.Decrypt Method (Byte, Byte, Mode, Byte)
- Tdea.Decrypt Method (String, String, Mode, String)
- Tdea.Decrypt Method (String, String, Mode, String, EncodingBase)
- Tdea.Dispose Method
- Tdea.Encrypt Method (Byte, Byte, Mode, Byte)
- Tdea.Encrypt Method (String, String, Mode, String)
- Tdea.Encrypt Method (String, String, Mode, String, EncodingBase)
- Tdea.FileDecrypt Method (String, String, Byte, Mode, Byte)
- Tdea.FileDecrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Tdea.FileDecrypt Method (String, String, String, Mode, String)
- Tdea.FileEncrypt Method (String, String, Byte, Mode, Byte)
- Tdea.FileEncrypt Method (String, String, Byte, Mode, Byte, CipherFileOption)
- Tdea.FileEncrypt Method (String, String, String, Mode, String)
- Tdea.InitDecrypt Method (Byte, Mode, Byte)
- Tdea.InitDecrypt Method (String, Mode, String)
- Tdea.InitEncrypt Method (Byte, Mode, Byte)
- Tdea.InitEncrypt Method (String, Mode, String)
- Tdea.Instance Method
- Tdea.Pad Method (Byte)
- Tdea.Pad Method (String)
- Tdea.Unpad Method (Byte)
- Tdea.Unpad Method (String)
- Tdea.Update Method (Byte)
- Tdea.Update Method (String)
- Wipe.Data Method
- Wipe.File Method
- Wipe.String Method
- Xof.Bytes Method
- Zlib.Deflate Method
- Zlib.Inflate Method (Byte)
- Zlib.Inflate Method (Byte, Int32)
- Aead.ErrCode Property
- Aes128.ErrCode Property
- Aes192.ErrCode Property
- Aes256.ErrCode Property
- Blowfish.ErrCode Property
- Cipher.ErrCode Property
- CipherStream.ErrCode Property
- Des.ErrCode Property
- Gcm.ErrCode Property
- Hash.ErrCode Property
- Mac.ErrCode Property
- Md5.ErrCode Property
- Sha1.ErrCode Property
- Sha256.ErrCode Property
- Sha3.ErrCode Property
- Sha3.LengthInBytes Property
- Tdea.ErrCode Property
- Enumerations in .NET
- Error Codes
- Acknowledgements
- Index
- Document Revision History