crypto The crypto object is a global object that allows using cryptographic functionality (since 0ZO) 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, IntlbArray, UintlbArray, Int32Array Or Uint32Array crypto.subtle.encrypt(algorithu key; data) Encrypts data using the provided algorithy and key: Returns Promise that fulfills with an ArrayBuffer containing the ciphertext: Possible values: algorithm an object that specifies the algorithm to be used and 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_ Or 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 doesnt 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 any