CryptoRecord

Is an small encrypted record (usually up to 128 bytes), that could be decrypted with many keys of different types, e.g. private keys, PBKDF2 password and so on.

The size is limited to be able to be directly encrypted with a private key.

The stucture of the encrypted record

crypto_record = array( (private_crypto_record | PBKDF2_crypto_record), ciphertext) ;

private_crypto_record = "0x00", packed_universa_key_address ;

PBKDF2_crypto_record = "0x01", salt_bytes, rounds, key_length, offset, length, password_hint, hash_type;

salt_bytes = binary ;

rounds = integer ;

hash_type = 0 ; (* for Sha256 *)

key_length = positive_integer ;

offset = positive_integer_or_zero ;

length = positive_integer ;

password_hint = string | null ;