Overview of the bupstash key format.
Bupstash key files are PEM encoded with one of the following tags:
|
• |
BUPSTASH KEY |
|||
|
• |
BUPSTASH SUB KEY |
The binary data after decoding the PEM data consists of bare https://baremessages.org/ key structures, described below.
Binary encoding of keys:
type PrimaryKey {
id: Data<16>,
rollsum_key: Data<32>,
data_hash_key_part_1: Data<32>,
data_hash_key_part_2: Data<32>,
data_pk: Data<32>,
data_sk: Data<32>,
data_psk: Data<32>,
idx_hash_key_part_1: Data<32>,
idx_hash_key_part_2: Data<32>,
idx_pk: Data<32>,
idx_sk: Data<32>,
idx_psk: Data<32>,
metadata_pk: Data<32>,
metadata_sk: Data<32>,
metadata_psk: Data<32>,
}
type SubKey {
id: Data<16>,
primary_key_id: Data<16>,
rollsum_key: Option<Data<32>>,
data_hash_key_part_1: Option<Data<32>>,
data_hash_key_part_2: Option<Data<32>>,
data_pk: Option<Data<32>>,
data_sk: Option<Data<32>>,
data_psk: Option<Data<32>>,
idx_hash_key_part_1: Option<Data<32>>,
idx_hash_key_part_2: Option<Data<32>>,
idx_pk: Option<Data<32>>,
idx_sk: Option<Data<32>>,
idx_psk: Option<Data<32>>,
metadata_pk: Option<Data<32>>,
metadata_sk: Option<Data<32>>,
metadata_psk: Option<Data<32>>,
}
type Key (PrimaryKey | SubKey)
$ bupstash new−key
−o bupstash.key
$ cat bupstash.key
# This file contains a cryptographic key used by
’bupstash’ to encrypt and decrypt data.
#
# key−id=55f32e9db43a1fa3cf65bb3705230898
−−−−−BEGIN
BUPSTASH KEY−−−−−
AFXzLp20Oh+jz2W7NwUjCJgS7VhqV37771UhSRo7LZUIxJCbEZkm27AcYylSL5T2
bxAE4g0rukxRhloPqWT+s1Yr2cPNEHymMzJzm+V4QiDMzE4K4k548bsrMoQMGXc8
LRpNiqVzwRRvibkdf9RdnyYPQ5IlvQN395YJVCfiD6nEOY90plDH20UgiGiNLRYK
xH+MfIoFA1X59UFdto0B/CJW9R98OgQeJNP91NQloFA17mbzhqUvwnHDjatzkxht
CJWScQm6PTwEFEYRSzLTWgpFXjnpF09quzZenw/jEn6nPAyjb11u+Ohe7pkfxacv
QZ5qhBMqJ7+H3VpvOLW7mTmXL3T6gB5W7u2Lg6Y/AwkE
−−−−−END BUPSTASH
KEY−−−−−
bupstash(1)