IPWorks Encrypt 2020 Node.js Edition

Questions / Feedback?

IV Property

The initialization vector (IV).

Syntax

 chacha.getIV([callback])
 chacha.setIV( IV_Buffer, [callback])

Default Value

""

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 the getIV([callback]) 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.

The callback for the setIV([callback]) method is defined as:

function(err){ }

'err' is the error that occurred. If there was no error, then 'err' is 'null'.

'err' has 2 properties which hold detailed information:

err.code
err.message

Remarks

This property specifies the initialization vector (IV). This is also referred to as the nonce. By default this property is empty and the class will automatically generate a new IV value if KeyPassword or Key is set before Encrypt or EncryptBlock is called.

The size of the IV may be either 96 bits in length (12 bytes) or 64 bits in length (8 bytes).

Compatibility Notes

A 96 bit length value is used for implementations implementing RFC 7539. A 64 bit length value may be used by implementations that follow the original draft of ChaCha. When using a 96 bit length value the maximum file size of data is 256 GB.

If another entity is performing the decryption and it is not known whether it supports 64 bit length values, choose a 96 bit length value by default. This follows the RFC and should be the most widely implemented value.

The class supports both lengths.

Note: If Key is specified but IV is not, an IV will be automatically generated. To control the length of the IV that is generated set IVLength.

Data Type

Buffer

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks Encrypt 2020 Node.js Edition - Version 20.0 [Build 8155]