This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
component:data [2016/05/24 23:58] tykuhn2 Added cryptographic functions and "random" |
component:data [2019/03/09 15:59] is2511 [Tier 3 Callbacks] |
||
---|---|---|---|
Line 4: | Line 4: | ||
Component name: `data`. | Component name: `data`. | ||
- | Callbacks: | + | |
+ | Tier 1 Callbacks | ||
+ | ---------------- | ||
- `crc32(data:string):string` | - `crc32(data:string):string` | ||
Line 22: | Line 24: | ||
- `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. | ||
+ | |||
+ | Tier 2 Callbacks | ||
+ | ---------------- | ||
+ | |||
- `encrypt(data:string, key:string, iv:string):string` | - `encrypt(data:string, key:string, iv:string):string` | ||
Applies AES encryption to the data using the key and (preferably) random IV. | Applies AES encryption to the data using the key and (preferably) random IV. | ||
- `decrypt(data:string, key:string, iv:string):string` | - `decrypt(data:string, key:string, iv:string):string` | ||
Reverses AES encryption on the data using the key and the IV. | Reverses AES encryption on the data using the key and the IV. | ||
+ | - `random(len:number):string` | ||
+ | Generates a random binary string of `len` length. | ||
+ | |||
+ | Tier 3 Callbacks | ||
+ | ---------------- | ||
+ | |||
- `generateKeyPair([bitLen:number]):table, table` | - `generateKeyPair([bitLen:number]):table, table` | ||
Generates a public/private key pair for various cryptiographic functions. | Generates a public/private key pair for various cryptiographic functions. | ||
Line 38: | Line 50: | ||
Generates a Diffie-Hellman shared key using the first user's private key and | 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: | the second user's public key. An example of a basic key relation: | ||
- | `ecdh(userA.private, userB.public) == ecdh(userB.private, usera.public)` | + | `ecdh(userA.private, userB.public) == ecdh(userB.private, userA.public)` |
- `deserializeKey(data:string, type:string):table` | - `deserializeKey(data:string, type:string):table` | ||
Transforms a key from string to it's arbitrary type. | 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}} |