Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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}}