This shows you the differences between two versions of the page.
Next revision Both sides next revision | |||
component:data [2015/06/16 19:25] gamax92 Add data card documentation |
component:data [2016/05/24 23:58] tykuhn2 Added cryptographic functions and "random" |
||
---|---|---|---|
Line 22: | Line 22: | ||
- `getLimit():number` | - `getLimit():number` | ||
The maximum size of data that can be passed to other functions of the card. | The maximum size of data that can be passed to other functions of the card. | ||
+ | - `encrypt(data:string, key:string, iv:string):string` | ||
+ | Applies AES encryption to the data using the key and (preferably) random IV. | ||
+ | - `decrypt(data:string, key:string, iv:string):string` | ||
+ | Reverses AES encryption on the data using the key and the IV. | ||
+ | - `generateKeyPair([bitLen:number]):table, table` | ||
+ | Generates a public/private key pair for various cryptiographic functions. | ||
+ | Optional second parameter specifies key length, 256 or 384 bits accepted. | ||
+ | Key types include "ec-public" and "ec-private". Keys can be serialized with | ||
+ | `key.serialize():string` Keys also contain the function `key.isPublic():boolean` | ||
+ | - `ecdsa(data:string, key:userdata[, sig:string]):string or boolean` | ||
+ | Generates a signiture of data using a private key. If signature is present | ||
+ | verifies the signature using the public key and the previously generated | ||
+ | generated signature string. and the original string. | ||
+ | - `ecdh(privateKey:userdata, publicKey:userData):string` | ||
+ | Generates a Diffie-Hellman shared key using the first user's private key and | ||
+ | the second user's public key. An example of a basic key relation: | ||
+ | `ecdh(userA.private, userB.public) == ecdh(userB.private, usera.public)` | ||
+ | - `deserializeKey(data:string, type:string):table` | ||
+ | Transforms a key from string to it's arbitrary type. | ||
+ | - `random(len:number):string` | ||
+ | Generates a random binary string of `len` length. | ||
+ | | ||
---- | ---- | ||
{{page>component:contents&noheader&noeditbutton&nouser&nofooter}} | {{page>component:contents&noheader&noeditbutton&nouser&nofooter}} |