var searchIndex = {}; searchIndex["crypto"] = {"doc":"","items":[[0,"aead","crypto","",null,null],[8,"AeadEncryptor","crypto::aead","",null,null],[10,"encrypt","","",0,null],[8,"AeadDecryptor","","",null,null],[10,"decrypt","","",1,null],[0,"aes","crypto","",null,null],[4,"KeySize","crypto::aes","AES key size",null,null],[13,"KeySize128","","",2,null],[13,"KeySize192","","",2,null],[13,"KeySize256","","",2,null],[5,"ecb_encryptor","","Get the best implementation of an EcbEncryptor",null,null],[5,"ecb_decryptor","","Get the best implementation of an EcbDecryptor",null,null],[5,"cbc_encryptor","","Get the best implementation of a CbcEncryptor",null,null],[5,"cbc_decryptor","","Get the best implementation of a CbcDecryptor",null,null],[5,"ctr","","Get the best implementation of a Ctr",null,null],[11,"clone","","",2,null],[0,"aes_gcm","crypto","",null,null],[3,"AesGcm","crypto::aes_gcm","",null,null],[11,"new","","",3,null],[11,"encrypt","","",3,null],[11,"decrypt","","",3,null],[0,"aessafe","crypto","The `aessafe` module implements the AES algorithm completely in software without using any table\nlookups or other timing dependant mechanisms. This module actually contains two seperate\nimplementations - an implementation that works on a single block at a time and a second\nimplementation that processes 8 blocks in parallel. Some block encryption modes really only work if\nyou are processing a single blocks (CFB, OFB, and CBC encryption for example) while other modes\nare trivially parallelizable (CTR and CBC decryption). Processing more blocks at once allows for\ngreater efficiency, especially when using wide registers, such as the XMM registers available in\nx86 processors.",null,null],[3,"AesSafe128Encryptor","crypto::aessafe","",null,null],[3,"AesSafe128Decryptor","","",null,null],[3,"AesSafe192Encryptor","","",null,null],[3,"AesSafe192Decryptor","","",null,null],[3,"AesSafe256Encryptor","","",null,null],[3,"AesSafe256Decryptor","","",null,null],[3,"AesSafe128EncryptorX8","","",null,null],[3,"AesSafe128DecryptorX8","","",null,null],[3,"AesSafe192EncryptorX8","","",null,null],[3,"AesSafe192DecryptorX8","","",null,null],[3,"AesSafe256EncryptorX8","","",null,null],[3,"AesSafe256DecryptorX8","","",null,null],[11,"clone","","",4,null],[11,"clone","","",5,null],[11,"new","","",4,null],[11,"new","","",5,null],[11,"block_size","","",4,null],[11,"encrypt_block","","",4,null],[11,"block_size","","",5,null],[11,"decrypt_block","","",5,null],[11,"clone","","",6,null],[11,"clone","","",7,null],[11,"new","","",6,null],[11,"new","","",7,null],[11,"block_size","","",6,null],[11,"encrypt_block","","",6,null],[11,"block_size","","",7,null],[11,"decrypt_block","","",7,null],[11,"clone","","",8,null],[11,"clone","","",9,null],[11,"new","","",8,null],[11,"new","","",9,null],[11,"block_size","","",8,null],[11,"encrypt_block","","",8,null],[11,"block_size","","",9,null],[11,"decrypt_block","","",9,null],[11,"clone","","",10,null],[11,"clone","","",11,null],[11,"new","","",10,null],[11,"new","","",11,null],[11,"block_size","","",10,null],[11,"encrypt_block_x8","","",10,null],[11,"block_size","","",11,null],[11,"decrypt_block_x8","","",11,null],[11,"clone","","",12,null],[11,"clone","","",13,null],[11,"new","","",12,null],[11,"new","","",13,null],[11,"block_size","","",12,null],[11,"encrypt_block_x8","","",12,null],[11,"block_size","","",13,null],[11,"decrypt_block_x8","","",13,null],[11,"clone","","",14,null],[11,"clone","","",15,null],[11,"new","","",14,null],[11,"new","","",15,null],[11,"block_size","","",14,null],[11,"encrypt_block_x8","","",14,null],[11,"block_size","","",15,null],[11,"decrypt_block_x8","","",15,null],[0,"bcrypt","crypto","",null,null],[5,"bcrypt","crypto::bcrypt","",null,null],[0,"bcrypt_pbkdf","crypto","",null,null],[5,"bcrypt_pbkdf","crypto::bcrypt_pbkdf","",null,null],[0,"blake2b","crypto","",null,null],[3,"Blake2b","crypto::blake2b","",null,null],[11,"clone","","",16,null],[11,"new","","",16,{"inputs":[{"name":"usize"}],"output":{"name":"blake2b"}}],[11,"new_keyed","","",16,null],[11,"blake2b","","",16,null],[11,"reset","","",16,null],[11,"input","","",16,null],[11,"result","","",16,null],[11,"output_bits","","",16,null],[11,"block_size","","",16,null],[11,"input","","Process input data.",16,null],[11,"reset","","Reset the Mac state to begin processing another input stream.",16,null],[11,"result","","Obtain the result of a Mac computation as a MacResult.",16,null],[11,"raw_result","","Obtain the result of a Mac computation as [u8]. This method should be used very carefully\nsince incorrect use of the Mac code could result in permitting a timing attack which defeats\nthe security provided by a Mac function.",16,null],[11,"output_bytes","","Get the size of the Mac code, in bytes.",16,null],[0,"blockmodes","crypto","",null,null],[3,"NoPadding","crypto::blockmodes","No padding mode for ECB and CBC encryption",null,null],[3,"PkcsPadding","","PKCS padding mode for ECB and CBC encryption",null,null],[3,"EncPadding","","Wraps a PaddingProcessor so that only pad_input() will actually be called.",null,null],[3,"DecPadding","","Wraps a PaddingProcessor so that only strip_output() will actually be called.",null,null],[3,"EcbEncryptor","","ECB Encryption mode",null,null],[3,"EcbDecryptor","","ECB Decryption mode",null,null],[3,"CbcEncryptor","","CBC encryption mode",null,null],[3,"CbcDecryptor","","CBC decryption mode",null,null],[3,"CtrMode","","CTR Mode",null,null],[3,"CtrModeX8","","CTR Mode that operates on 8 blocks at a time",null,null],[8,"PaddingProcessor","","A PaddingProcessor handles adding or removing padding",null,null],[10,"pad_input","","Add padding to the last block of input data\nIf the mode can't handle a non-full block, it signals that error by simply leaving the block\nas it is which will be detected as an InvalidLength error.",17,null],[10,"strip_output","","Remove padding from the last block of output data\nIf false is returned, the processing fails",17,null],[11,"clone","","",18,null],[11,"pad_input","","",18,null],[11,"strip_output","","",18,null],[11,"clone","","",19,null],[11,"pad_input","","",19,null],[11,"strip_output","","",19,null],[11,"pad_input","","",20,null],[11,"strip_output","","",20,null],[11,"pad_input","","",21,null],[11,"strip_output","","",21,null],[11,"new","","Create a new ECB encryption mode object",22,{"inputs":[{"name":"t"},{"name":"x"}],"output":{"name":"ecbencryptor"}}],[11,"reset","","",22,null],[11,"encrypt","","",22,null],[11,"new","","Create a new ECB decryption mode object",23,{"inputs":[{"name":"t"},{"name":"x"}],"output":{"name":"ecbdecryptor"}}],[11,"reset","","",23,null],[11,"decrypt","","",23,null],[11,"new","","Create a new CBC encryption mode object",24,{"inputs":[{"name":"t"},{"name":"x"},{"name":"vec"}],"output":{"name":"cbcencryptor"}}],[11,"reset","","",24,null],[11,"encrypt","","",24,null],[11,"new","","Create a new CBC decryption mode object",25,{"inputs":[{"name":"t"},{"name":"x"},{"name":"vec"}],"output":{"name":"cbcdecryptor"}}],[11,"reset","","",25,null],[11,"decrypt","","",25,null],[11,"new","","Create a new CTR object",26,{"inputs":[{"name":"a"},{"name":"vec"}],"output":{"name":"ctrmode"}}],[11,"reset","","",26,null],[11,"process","","",26,null],[11,"encrypt","","",26,null],[11,"decrypt","","",26,null],[11,"new","","Create a new CTR object that operates on 8 blocks at a time",27,null],[11,"reset","","",27,null],[11,"process","","",27,null],[11,"encrypt","","",27,null],[11,"decrypt","","",27,null],[0,"blowfish","crypto","",null,null],[3,"Blowfish","crypto::blowfish","",null,null],[11,"clone","","",28,null],[11,"new","","",28,null],[11,"init_state","","",28,{"inputs":[],"output":{"name":"blowfish"}}],[11,"expand_key","","",28,null],[11,"salted_expand_key","","",28,null],[11,"encrypt","","",28,null],[11,"block_size","","",28,null],[11,"encrypt_block","","",28,null],[11,"block_size","","",28,null],[11,"decrypt_block","","",28,null],[0,"buffer","crypto","",null,null],[3,"RefReadBuffer","crypto::buffer","",null,null],[3,"OwnedReadBuffer","","",null,null],[3,"RefWriteBuffer","","",null,null],[3,"BorrowedWriteBuffer","","",null,null],[3,"OwnedWriteBuffer","","",null,null],[4,"BufferResult","","",null,null],[13,"BufferUnderflow","","",29,null],[13,"BufferOverflow","","",29,null],[8,"ReadBuffer","","",null,null],[10,"is_empty","","",30,null],[10,"is_full","","",30,null],[10,"remaining","","",30,null],[10,"capacity","","",30,null],[11,"position","","",30,null],[10,"rewind","","",30,null],[10,"truncate","","",30,null],[10,"reset","","",30,null],[10,"peek_next","","",30,null],[11,"peek_remaining","","",30,null],[10,"take_next","","",30,null],[11,"take_remaining","","",30,null],[11,"push_to","","",30,null],[8,"WriteBuffer","","",null,null],[10,"is_empty","","",31,null],[10,"is_full","","",31,null],[10,"remaining","","",31,null],[10,"capacity","","",31,null],[11,"position","","",31,null],[10,"rewind","","",31,null],[10,"reset","","",31,null],[10,"peek_read_buffer","","",31,null],[10,"take_next","","",31,null],[11,"take_remaining","","",31,null],[10,"take_read_buffer","","",31,null],[11,"clone","","",29,null],[11,"new","","",32,null],[11,"is_empty","","",32,null],[11,"is_full","","",32,null],[11,"remaining","","",32,null],[11,"capacity","","",32,null],[11,"rewind","","",32,null],[11,"truncate","","",32,null],[11,"reset","","",32,null],[11,"peek_next","","",32,null],[11,"take_next","","",32,null],[11,"new","","",33,{"inputs":[{"name":"vec"}],"output":{"name":"ownedreadbuffer"}}],[11,"new_with_len","","",33,{"inputs":[{"name":"vec"},{"name":"usize"}],"output":{"name":"ownedreadbuffer"}}],[11,"into_write_buffer","","",33,null],[11,"borrow_write_buffer","","",33,null],[11,"is_empty","","",33,null],[11,"is_full","","",33,null],[11,"remaining","","",33,null],[11,"capacity","","",33,null],[11,"rewind","","",33,null],[11,"truncate","","",33,null],[11,"reset","","",33,null],[11,"peek_next","","",33,null],[11,"take_next","","",33,null],[11,"new","","",34,null],[11,"is_empty","","",34,null],[11,"is_full","","",34,null],[11,"remaining","","",34,null],[11,"capacity","","",34,null],[11,"rewind","","",34,null],[11,"reset","","",34,null],[11,"peek_read_buffer","","",34,null],[11,"take_next","","",34,null],[11,"take_read_buffer","","",34,null],[11,"is_empty","","",35,null],[11,"is_full","","",35,null],[11,"remaining","","",35,null],[11,"capacity","","",35,null],[11,"rewind","","",35,null],[11,"reset","","",35,null],[11,"peek_read_buffer","","",35,null],[11,"take_next","","",35,null],[11,"take_read_buffer","","",35,null],[11,"new","","",36,{"inputs":[{"name":"vec"}],"output":{"name":"ownedwritebuffer"}}],[11,"into_read_buffer","","",36,null],[11,"is_empty","","",36,null],[11,"is_full","","",36,null],[11,"remaining","","",36,null],[11,"capacity","","",36,null],[11,"rewind","","",36,null],[11,"reset","","",36,null],[11,"peek_read_buffer","","",36,null],[11,"take_next","","",36,null],[11,"take_read_buffer","","",36,null],[0,"chacha20","crypto","",null,null],[3,"ChaCha20","crypto::chacha20","",null,null],[11,"clone","","",37,null],[11,"new","","",37,null],[11,"new_xchacha20","","",37,null],[11,"process","","",37,null],[11,"encrypt","","",37,null],[11,"decrypt","","",37,null],[0,"chacha20poly1305","crypto","",null,null],[3,"ChaCha20Poly1305","crypto::chacha20poly1305","",null,null],[11,"clone","","",38,null],[11,"new","","",38,null],[11,"encrypt","","",38,null],[11,"decrypt","","",38,null],[0,"curve25519","crypto","",null,null],[3,"Fe","crypto::curve25519","",null,null],[12,"0","","",39,null],[3,"GeP2","","",null,null],[3,"GeP3","","",null,null],[3,"GeP1P1","","",null,null],[3,"GePrecomp","","",null,null],[3,"GeCached","","",null,null],[5,"ge_scalarmult_base","","",null,null],[5,"sc_reduce","","",null,null],[5,"sc_muladd","","",null,null],[5,"curve25519","","",null,null],[5,"curve25519_base","","",null,null],[11,"clone","","",39,null],[11,"eq","","",39,null],[11,"add","","",39,null],[11,"sub","","",39,null],[11,"mul","","",39,null],[11,"from_bytes","","",39,null],[11,"to_bytes","","",39,null],[11,"maybe_swap_with","","",39,null],[11,"maybe_set","","",39,null],[11,"invert","","",39,null],[11,"clone","","",40,null],[11,"clone","","",41,null],[11,"clone","","",42,null],[11,"clone","","",43,null],[11,"clone","","",44,null],[11,"to_bytes","","",40,null],[11,"double_scalarmult_vartime","","",40,null],[11,"from_bytes_negate_vartime","","",41,null],[11,"to_bytes","","",41,null],[11,"add","","",41,null],[11,"add","","",41,null],[11,"sub","","",41,null],[11,"sub","","",41,null],[11,"maybe_set","","",43,null],[11,"select","","",43,{"inputs":[{"name":"usize"},{"name":"i8"}],"output":{"name":"geprecomp"}}],[0,"digest","crypto","",null,null],[8,"Digest","crypto::digest","The Digest trait specifies an interface common to digest functions, such as SHA-1 and the SHA-2\nfamily of digest functions.",null,null],[10,"input","","Provide message data.",45,null],[10,"result","","Retrieve the digest result. This method may be called multiple times.",45,null],[10,"reset","","Reset the digest. This method must be called after result() and before supplying more\ndata.",45,null],[10,"output_bits","","Get the output size in bits.",45,null],[11,"output_bytes","","Get the output size in bytes.",45,null],[10,"block_size","","Get the block size in bytes.",45,null],[11,"input_str","","Convenience function that feeds a string into a digest.",45,null],[11,"result_str","","Convenience function that retrieves the result of a digest as a\nString in hexadecimal format.",45,null],[0,"ed25519","crypto","",null,null],[5,"keypair","crypto::ed25519","",null,null],[5,"signature","","",null,null],[5,"verify","","",null,null],[5,"exchange","","",null,null],[0,"fortuna","crypto","An implementation of the Fortuna CSPRNG",null,null],[3,"Fortuna","crypto::fortuna","The `Fortuna` CSPRNG (PC 9.5)",null,null],[17,"MIN_POOL_SIZE","","Length in bytes that the first pool must be before a "catastrophic\nreseed" is allowed to happen. (A direct reseed through the\n`SeedableRng` API is not affected by this limit.)",null,null],[11,"new_unseeded","","Creates a new unseeded `Fortuna` (PC 9.5.4)",46,{"inputs":[],"output":{"name":"fortuna"}}],[11,"add_random_event","","Adds a random event `e` from source `s` to entropy pool `i` (PC 9.5.6)",46,null],[11,"fill_bytes","","Generate a bunch of random data into `dest` (PC 9.5.5)",46,null],[11,"next_u32","","",46,null],[11,"from_seed","","",46,null],[11,"reseed","","",46,null],[0,"ghash","crypto","",null,null],[3,"Ghash","crypto::ghash","A structure representing the state of a GHASH computation",null,null],[3,"GhashWithC","","A structure representing the state of a GHASH computation, after input for C was provided",null,null],[11,"clone","","",47,null],[11,"clone","","",48,null],[11,"new","","Creates a new GHASH state, with `h` as the key",47,null],[11,"input_a","","Feeds data for GHASH's A input",47,null],[11,"input_c","","Feeds data for GHASH's C input",47,null],[11,"result","","Retrieve the digest result",47,null],[11,"input_c","","Feeds data for GHASH's C input",48,null],[11,"result","","Retrieve the digest result",48,null],[11,"input","","",47,null],[11,"reset","","",47,null],[11,"result","","",47,null],[11,"raw_result","","",47,null],[11,"output_bytes","","",47,null],[0,"hc128","crypto","",null,null],[3,"Hc128","crypto::hc128","",null,null],[11,"clone","","",49,null],[11,"new","","",49,null],[11,"process","","",49,null],[11,"encrypt","","",49,null],[11,"decrypt","","",49,null],[0,"hmac","crypto","This module implements the Hmac function - a Message Authentication Code using a Digest.",null,null],[3,"Hmac","crypto::hmac","The Hmac struct represents an Hmac function - a Message Authentication Code using a Digest.",null,null],[11,"new","","Create a new Hmac instance.",50,null],[11,"input","","",50,null],[11,"reset","","",50,null],[11,"result","","",50,null],[11,"raw_result","","",50,null],[11,"output_bytes","","",50,null],[0,"hkdf","crypto","This module implements the HMAC-based Extract-and-Expand Key\nDerivation Function as specified by https://tools.ietf.org/html/rfc5869.",null,null],[5,"hkdf_extract","crypto::hkdf","Execute the HKDF-Extract function. Applications MUST NOT use this for\npassword hashing.",null,null],[5,"hkdf_expand","","Execute the HKDF-Expand function. Applications MUST NOT use this for\npassword hashing.",null,null],[0,"mac","crypto","The mac module defines the Message Authentication Code (Mac) trait.",null,null],[3,"MacResult","crypto::mac","A MacResult wraps a Mac code and provides a safe Eq implementation that runs in fixed time.",null,null],[8,"Mac","","The Mac trait defines methods for a Message Authentication function.",null,null],[10,"input","","Process input data.",51,null],[10,"reset","","Reset the Mac state to begin processing another input stream.",51,null],[10,"result","","Obtain the result of a Mac computation as a MacResult.",51,null],[10,"raw_result","","Obtain the result of a Mac computation as [u8]. This method should be used very carefully\nsince incorrect use of the Mac code could result in permitting a timing attack which defeats\nthe security provided by a Mac function.",51,null],[10,"output_bytes","","Get the size of the Mac code, in bytes.",51,null],[11,"new","","Create a new MacResult.",52,null],[11,"new_from_owned","","Create a new MacResult taking ownership of the specified code value.",52,{"inputs":[{"name":"vec"}],"output":{"name":"macresult"}}],[11,"code","","Get the code value. Be very careful using this method, since incorrect use of the code value\nmay permit timing attacks which defeat the security provided by the Mac function.",52,null],[11,"eq","","",52,null],[0,"md5","crypto","",null,null],[3,"Md5","crypto::md5","The MD5 Digest algorithm",null,null],[11,"new","","Construct a new instance of the MD5 Digest.",53,{"inputs":[],"output":{"name":"md5"}}],[11,"input","","",53,null],[11,"reset","","",53,null],[11,"result","","",53,null],[11,"output_bits","","",53,null],[11,"block_size","","",53,null],[0,"pbkdf2","crypto","This module implements the PBKDF2 Key Derivation Function as specified by\nhttp://tools.ietf.org/html/rfc2898.",null,null],[5,"pbkdf2","crypto::pbkdf2","Execute the PBKDF2 Key Derivation Function. The Scrypt Key Derivation Function generally provides\nbetter security, so, applications that do not have a requirement to use PBKDF2 specifically\nshould consider using that function instead.",null,null],[5,"pbkdf2_simple","","pbkdf2_simple is a helper function that should be sufficient for the majority of cases where\nan application needs to use PBKDF2 to hash a password for storage. The result is a String that\ncontains the parameters used as part of its encoding. The pbkdf2_check function may be used on\na password to check if it is equal to a hashed value.",null,{"inputs":[{"name":"str"},{"name":"u32"}],"output":{"name":"result"}}],[5,"pbkdf2_check","","pbkdf2_check compares a password against the result of a previous call to pbkdf2_simple and\nreturns true if the passed in password hashes to the same value.",null,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"result"}}],[0,"poly1305","crypto","",null,null],[3,"Poly1305","crypto::poly1305","",null,null],[11,"clone","","",54,null],[11,"new","","",54,null],[11,"input","","",54,null],[11,"reset","","",54,null],[11,"result","","",54,null],[11,"raw_result","","",54,null],[11,"output_bytes","","",54,null],[0,"rc4","crypto","An implementation of the RC4 (also sometimes called ARC4) stream cipher. THIS IMPLEMENTATION IS\nNOT A FIXED TIME IMPLEMENTATION.",null,null],[3,"Rc4","crypto::rc4","",null,null],[11,"clone","","",55,null],[11,"new","","",55,null],[11,"process","","",55,null],[11,"encrypt","","",55,null],[11,"decrypt","","",55,null],[0,"ripemd160","crypto","An implementation of the RIPEMD-160 cryptographic hash.",null,null],[3,"Ripemd160","crypto::ripemd160","Structure representing the state of a Ripemd160 computation",null,null],[11,"clone","","",56,null],[11,"new","","",56,{"inputs":[],"output":{"name":"ripemd160"}}],[11,"reset","","Resets the hash to its original state also clearing the buffer.\nTo be used in between hashing separate messages to avoid having\nto recreate and allocate the whole structure.",56,null],[11,"input","","Adds the input `msg` to the hash. This method can be called repeatedly\nfor use with streaming messages.",56,null],[11,"result","","Returns the resulting digest of the entire message.\nNote: `out` must be at least 20 bytes (160 bits)",56,null],[11,"output_bits","","Returns the size of the digest in bits",56,null],[11,"block_size","","Returns the block size the hash operates on in bytes",56,null],[0,"salsa20","crypto","",null,null],[3,"Salsa20","crypto::salsa20","",null,null],[5,"hsalsa20","","",null,null],[11,"clone","","",57,null],[11,"new","","",57,null],[11,"new_xsalsa20","","",57,null],[11,"process","","",57,null],[11,"encrypt","","",57,null],[11,"decrypt","","",57,null],[0,"scrypt","crypto","This module implements the Scrypt key derivation function as specified in [1].",null,null],[3,"ScryptParams","crypto::scrypt","The Scrypt parameter values.",null,null],[5,"scrypt","","The scrypt key derivation function.",null,null],[5,"scrypt_simple","","scrypt_simple is a helper function that should be sufficient for the majority of cases where\nan application needs to use Scrypt to hash a password for storage. The result is a String that\ncontains the parameters used as part of its encoding. The scrypt_check function may be used on\na password to check if it is equal to a hashed value.",null,{"inputs":[{"name":"str"},{"name":"scryptparams"}],"output":{"name":"result"}}],[5,"scrypt_check","","scrypt_check compares a password against the result of a previous call to scrypt_simple and\nreturns true if the passed in password hashes to the same value.",null,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"result"}}],[11,"clone","","",58,null],[11,"new","","Create a new instance of ScryptParams.",58,{"inputs":[{"name":"u8"},{"name":"u32"},{"name":"u32"}],"output":{"name":"scryptparams"}}],[0,"sha1","crypto","An implementation of the SHA-1 cryptographic hash algorithm.",null,null],[3,"Sha1","crypto::sha1","Structure representing the state of a Sha1 computation",null,null],[5,"sha1_first","","Not an intrinsic, but gets the first element of a vector.",null,{"inputs":[{"name":"u32x4"}],"output":{"name":"u32"}}],[5,"sha1_first_add","","Not an intrinsic, but adds a word to the first element of a vector.",null,{"inputs":[{"name":"u32"},{"name":"u32x4"}],"output":{"name":"u32x4"}}],[5,"sha1_schedule_x4","","Performs 4 rounds of the message schedule update.",null,{"inputs":[{"name":"u32x4"},{"name":"u32x4"},{"name":"u32x4"},{"name":"u32x4"}],"output":{"name":"u32x4"}}],[5,"sha1_first_half","","Emulates `llvm.x86.sha1nexte` intrinsic.",null,{"inputs":[{"name":"u32x4"},{"name":"u32x4"}],"output":{"name":"u32x4"}}],[5,"sha1_digest_round_x4","","Emulates `llvm.x86.sha1rnds4` intrinsic.\nPerforms 4 rounds of the message block digest.",null,{"inputs":[{"name":"u32x4"},{"name":"u32x4"},{"name":"i8"}],"output":{"name":"u32x4"}}],[5,"sha1_digest_block_u32","","Process a block with the SHA-1 algorithm.",null,null],[5,"sha1_digest_block","","Process a block with the SHA-1 algorithm. (See more...)",null,null],[11,"clone","","",59,null],[11,"new","","Construct a `sha` object",59,{"inputs":[],"output":{"name":"sha1"}}],[11,"reset","","",59,null],[11,"input","","",59,null],[11,"result","","",59,null],[11,"output_bits","","",59,null],[11,"block_size","","",59,null],[0,"sha2","crypto","An implementation of the SHA-2 cryptographic hash algorithms.",null,null],[3,"Sha512","crypto::sha2","The SHA-512 hash algorithm with the SHA-512 initial hash value.",null,null],[3,"Sha384","","The SHA-512 hash algorithm with the SHA-384 initial hash value. The result is truncated to 384 bits.",null,null],[3,"Sha512Trunc256","","The SHA-512 hash algorithm with the SHA-512/256 initial hash value. The result is truncated to 256 bits.",null,null],[3,"Sha512Trunc224","","The SHA-512 hash algorithm with the SHA-512/224 initial hash value. The result is truncated to 224 bits.",null,null],[3,"Sha256","","The SHA-256 hash algorithm with the SHA-256 initial hash value.",null,null],[3,"Sha224","","The SHA-256 hash algorithm with the SHA-224 initial hash value. The result is truncated to 224 bits.",null,null],[5,"sha256_schedule_x4","","Performs 4 rounds of the SHA-256 message schedule update.",null,{"inputs":[{"name":"u32x4"},{"name":"u32x4"},{"name":"u32x4"},{"name":"u32x4"}],"output":{"name":"u32x4"}}],[5,"sha256_digest_round_x2","","Emulates `llvm.x86.sha256rnds2` intrinsic.",null,{"inputs":[{"name":"u32x4"},{"name":"u32x4"},{"name":"u32x4"}],"output":{"name":"u32x4"}}],[5,"sha256_digest_block_u32","","Process a block with the SHA-256 algorithm.",null,null],[5,"sha256_digest_block","","Process a block with the SHA-256 algorithm. (See more...)",null,null],[5,"sha512_schedule_x2","","Performs 2 rounds of the SHA-512 message schedule update.",null,{"inputs":[{"name":"u64x2"},{"name":"u64x2"},{"name":"u64x2"},{"name":"u64x2"}],"output":{"name":"u64x2"}}],[5,"sha512_digest_round","","Performs one round of the SHA-512 message block digest.",null,{"inputs":[{"name":"u64x2"},{"name":"u64x2"},{"name":"u64x2"},{"name":"u64x2"},{"name":"u64"}],"output":{"name":"u64x2"}}],[5,"sha512_digest_block_u64","","Process a block with the SHA-512 algorithm.",null,null],[5,"sha512_digest_block","","Process a block with the SHA-512 algorithm. (See more...)",null,null],[17,"K64","","Constants necessary for SHA-512 family of digests.",null,null],[17,"K64X2","","Constants necessary for SHA-512 family of digests.",null,null],[17,"K32","","Constants necessary for SHA-256 family of digests.",null,null],[17,"K32X4","","Constants necessary for SHA-256 family of digests.",null,null],[11,"new","","Construct an new instance of a SHA-512 digest.",60,{"inputs":[],"output":{"name":"sha512"}}],[11,"input","","",60,null],[11,"result","","",60,null],[11,"reset","","",60,null],[11,"output_bits","","",60,null],[11,"block_size","","",60,null],[11,"new","","Construct an new instance of a SHA-384 digest.",61,{"inputs":[],"output":{"name":"sha384"}}],[11,"input","","",61,null],[11,"result","","",61,null],[11,"reset","","",61,null],[11,"output_bits","","",61,null],[11,"block_size","","",61,null],[11,"new","","Construct an new instance of a SHA-512/256 digest.",62,{"inputs":[],"output":{"name":"sha512trunc256"}}],[11,"input","","",62,null],[11,"result","","",62,null],[11,"reset","","",62,null],[11,"output_bits","","",62,null],[11,"block_size","","",62,null],[11,"new","","Construct an new instance of a SHA-512/224 digest.",63,{"inputs":[],"output":{"name":"sha512trunc224"}}],[11,"input","","",63,null],[11,"result","","",63,null],[11,"reset","","",63,null],[11,"output_bits","","",63,null],[11,"block_size","","",63,null],[11,"clone","","",64,null],[11,"new","","Construct an new instance of a SHA-256 digest.",64,{"inputs":[],"output":{"name":"sha256"}}],[11,"input","","",64,null],[11,"result","","",64,null],[11,"reset","","",64,null],[11,"output_bits","","",64,null],[11,"block_size","","",64,null],[11,"clone","","",65,null],[11,"new","","Construct an new instance of a SHA-224 digest.",65,{"inputs":[],"output":{"name":"sha224"}}],[11,"input","","",65,null],[11,"result","","",65,null],[11,"reset","","",65,null],[11,"output_bits","","",65,null],[11,"block_size","","",65,null],[0,"sosemanuk","crypto","",null,null],[3,"Sosemanuk","crypto::sosemanuk","",null,null],[11,"clone","","",66,null],[11,"new","","",66,null],[11,"process","","",66,null],[11,"encrypt","","",66,null],[11,"decrypt","","",66,null],[0,"symmetriccipher","crypto","",null,null],[4,"SymmetricCipherError","crypto::symmetriccipher","",null,null],[13,"InvalidLength","","",67,null],[13,"InvalidPadding","","",67,null],[8,"BlockEncryptor","","",null,null],[10,"block_size","","",68,null],[10,"encrypt_block","","",68,null],[8,"BlockEncryptorX8","","",null,null],[10,"block_size","","",69,null],[10,"encrypt_block_x8","","",69,null],[8,"BlockDecryptor","","",null,null],[10,"block_size","","",70,null],[10,"decrypt_block","","",70,null],[8,"BlockDecryptorX8","","",null,null],[10,"block_size","","",71,null],[10,"decrypt_block_x8","","",71,null],[8,"Encryptor","","",null,null],[10,"encrypt","","",72,null],[8,"Decryptor","","",null,null],[10,"decrypt","","",73,null],[8,"SynchronousStreamCipher","","",null,null],[10,"process","","",74,null],[11,"clone","","",67,null],[11,"fmt","","",67,null],[0,"util","crypto","",null,null],[5,"supports_aesni","crypto::util","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"secure_memset","","",null,null],[5,"fixed_time_eq","","Compare two vectors using a fixed number of operations. If the two vectors are not of equal\nlength, the function returns false immediately.",null,null],[5,"rust_crypto_util_supports_aesni","","",null,null],[5,"rust_crypto_util_fixed_time_eq_asm","","",null,null],[5,"rust_crypto_util_secure_memset","","",null,null],[0,"whirlpool","crypto","An implementation of the Whirlpool cryptographic hash algorithm.",null,null],[3,"Whirlpool","crypto::whirlpool","",null,null],[11,"new","","",75,{"inputs":[],"output":{"name":"whirlpool"}}],[11,"input","","",75,null],[11,"result","","",75,null],[11,"reset","","",75,null],[11,"output_bits","","",75,null],[11,"block_size","","",75,null],[0,"aesni","crypto","",null,null],[3,"AesNiEncryptor","crypto::aesni","",null,null],[3,"AesNiDecryptor","","",null,null],[11,"clone","","",76,null],[11,"clone","","",77,null],[11,"new","","",76,null],[11,"new","","",77,null],[11,"block_size","","",76,null],[11,"encrypt_block","","",76,null],[11,"block_size","","",77,null],[11,"decrypt_block","","",77,null]],"paths":[[8,"AeadEncryptor"],[8,"AeadDecryptor"],[4,"KeySize"],[3,"AesGcm"],[3,"AesSafe128Encryptor"],[3,"AesSafe128Decryptor"],[3,"AesSafe192Encryptor"],[3,"AesSafe192Decryptor"],[3,"AesSafe256Encryptor"],[3,"AesSafe256Decryptor"],[3,"AesSafe128EncryptorX8"],[3,"AesSafe128DecryptorX8"],[3,"AesSafe192EncryptorX8"],[3,"AesSafe192DecryptorX8"],[3,"AesSafe256EncryptorX8"],[3,"AesSafe256DecryptorX8"],[3,"Blake2b"],[8,"PaddingProcessor"],[3,"NoPadding"],[3,"PkcsPadding"],[3,"EncPadding"],[3,"DecPadding"],[3,"EcbEncryptor"],[3,"EcbDecryptor"],[3,"CbcEncryptor"],[3,"CbcDecryptor"],[3,"CtrMode"],[3,"CtrModeX8"],[3,"Blowfish"],[4,"BufferResult"],[8,"ReadBuffer"],[8,"WriteBuffer"],[3,"RefReadBuffer"],[3,"OwnedReadBuffer"],[3,"RefWriteBuffer"],[3,"BorrowedWriteBuffer"],[3,"OwnedWriteBuffer"],[3,"ChaCha20"],[3,"ChaCha20Poly1305"],[3,"Fe"],[3,"GeP2"],[3,"GeP3"],[3,"GeP1P1"],[3,"GePrecomp"],[3,"GeCached"],[8,"Digest"],[3,"Fortuna"],[3,"Ghash"],[3,"GhashWithC"],[3,"Hc128"],[3,"Hmac"],[8,"Mac"],[3,"MacResult"],[3,"Md5"],[3,"Poly1305"],[3,"Rc4"],[3,"Ripemd160"],[3,"Salsa20"],[3,"ScryptParams"],[3,"Sha1"],[3,"Sha512"],[3,"Sha384"],[3,"Sha512Trunc256"],[3,"Sha512Trunc224"],[3,"Sha256"],[3,"Sha224"],[3,"Sosemanuk"],[4,"SymmetricCipherError"],[8,"BlockEncryptor"],[8,"BlockEncryptorX8"],[8,"BlockDecryptor"],[8,"BlockDecryptorX8"],[8,"Encryptor"],[8,"Decryptor"],[8,"SynchronousStreamCipher"],[3,"Whirlpool"],[3,"AesNiEncryptor"],[3,"AesNiDecryptor"]]}; initSearch(searchIndex);