EncryptBlock Method
Encrypts data and returns the encrypted block.
Syntax
salsa20.encryptBlock(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
EncryptBlock will encrypt the input data and return the encrypted block. The encrypted block will always be the same length as the decrypted data. The following properties are applicable:
InputBuffer specifies the input data to encrypt.
EncryptBlock 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[] tempEncryptedBlock;
//Encrypt any number of blocks of any size
tempEncryptedBlock = salsa.EncryptBlock(part1);
tempEncryptedBlock = salsa.EncryptBlock(part2);