DecryptBlock Method
Decrypts a block and returns the decrypted data.
Syntax
salsa20.decryptBlock(inputBuffer_Buffer, [callback])
Callback
The 'callback' parameter specifies a function which will be called when the operation completes (or an error is encountered). If the 'callback' parameter is not specified, then the method will block and will not return until the operation completes (or an error is encountered).
The callback for this method is defined as:
function(err, buffer){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'buffer' is the value returned by the method.
'err' has 2 properties which hold detailed information:
err.code err.message
Remarks
DecryptBlock will decrypt the input data and return the decrypted block. The decrypted block will always be the same length as the encrypted data. The following properties are applicable:
InputBuffer specifies the input data to decrypt.
DecryptBlock Example
Salsa20 salsa = new Salsa20();
//32 Bytes
salsa.KeyB = new byte[] { 0xBB, 0x76, 0x17, 0xC9, 0x05, 0x73, 0x4A, 0x8D, 0x59, 0x9D, 0x7B, 0x0D, 0x86, 0x2A, 0x03, 0x82, 0x50, 0x6A, 0x70, 0xFB, 0xA8, 0x56, 0x47, 0x1B, 0x1E, 0x68, 0x0B, 0x2B, 0x34, 0x18, 0x0F, 0xE2 };
//24 Bytes
salsa.IVB = new byte[] { 0x0D, 0xE4, 0x43, 0x40, 0x29, 0xAD, 0x70, 0x7D, 0x7B, 0x32, 0xB5, 0xC7, 0x0D, 0xE4, 0x43, 0x40, 0x29, 0xAD, 0x70, 0x7D, 0x7B, 0x32, 0xB5, 0xC7 };
byte[] tempDecryptedBlock;
//Decrypt any number of blocks of any size
tempDecryptedBlock = salsa.DecryptBlock(part1);
tempDecryptedBlock = salsa.DecryptBlock(part2);