Hello guys!
At first, a little intro.
Plaintext’s Exchange
proto message uses PublicKey
message for manipulations around the key, not its byte representation after marshaling:
// from Plaintext spec
message Exchange {
optional bytes id = 1;
optional PublicKey pubkey = 2;
}
SECIO’s Propose
message operates with the same public key in the form of bytes sequence (marshaled PublicKey
message bytes are included into Propose
message, whereas the field pubkey
just could be typed as PublicKey
like in Plaintext):
// from SECIO spec
message Propose {
optional bytes rand = 1;
optional bytes pubkey = 2;
optional string exchanges = 3;
optional string ciphers = 4;
optional string hashes = 5;
}
The question is - what was the reason to do so? This is confusing a bit