crypto The crypto object is global object that allows using cryptographic functionality (since @ZO) crypto.getRandomValues(typedArray) Gets cryptographically strong random values_ Returns the same array passed as typedArray but with its contents replaced with the newly generated random numbers. Possible values: typedArray can be Int8Array, Intl6Array, Uintl6Array, Int32Array, Or Uint32Array crypto.subtle.encrypt(algorithm_ key: data) Encrypts data using the provided algorithu and Returns Promise that fulfills with an ArrayBuffer containing the ciphertext: Possible values: algorithm an object that specifies the algorithm to be used and any extra parameters if required: for RSA - OAEP pass the object with the following keys: name IS a string, should be set to RSA OAEP crypto subtle.encrypt {name RSA-OAEP" } , key , data) for AES- CTR, pass the object with the following keys: name IS a string, should be set to AES-CTR counter is an ArrayBuffer, TypedArray DataView the initial value of the counter block; must be 16 bytes long (the AES block size). The rightmost length bits of this block are used for the counter; and the rest is used for the nonce For example, if length is set to 64, then the first half of counter is the nonce and the second half is used for the counter Length is the number of bits in the counter block that are used for the actual counter The counter must be big enough that it doesn't wrap for AES-CBC pass the object with the following keys: name is a string, should be set to AES- CBC iv or the initialization vector; is an ArrayBuffer TypedArray, or DataView; must be 16 bytes, unpredictable and preferably cryptographically random: However; it need not be secret; for example, it may be transmitted unencrypted along with the ciphertext: for AES-GCM, pass the object with the following keys: name is a string, should be set to AES-GCM iv or the initialization vector; is an ArrayBuffer TypedArray, or DataView, must be 16 bytes and must be unique for every encryption operation carried out with a given additionalData (optional) is an ArrayBuffer, TypedArray: or DataView that contains additional data that will not be encrypted but will be authenticated along with the encrypted data: additionalData is specified; then the same data must be specified in the corresponding call to decrypt(): if the data given to the decrypt () call does not match the original data, the decryption will throw exception: The bit length of additionalData must be smaller than 2^64 key' key