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, key'