3.4. マークルツリー
3.4. マークルツリー
マークルツリーハッシュのハッシュアルゴリズムは SHA-256 です。
マークルツリー入力の構造:
enum { timestamped_entry(0), (255) }
MerkleLeafType;
struct {
uint64 timestamp;
LogEntryType entry_type;
select(entry_type) {
case x509_entry: ASN.1Cert;
case precert_entry: PreCert;
} signed_entry;
CtExtensions extensions;
} TimestampedEntry;
struct {
Version version;
MerkleLeafType leaf_type;
select (leaf_type) {
case timestamped_entry: TimestampedEntry;
}
} MerkleTreeLeaf;
ここで、「version」は MerkleTreeLeaf が対応するプロトコルのバージョンです。このバージョンは v1 です。
「leaf_type」はリーフ入力のタイプです。現在、(SCTに対応する)「timestamped_entry」のみが定義されています。このプロトコルバージョンの将来の改訂では、新しい MerkleLeafType タイプが追加される可能性があります。セクション4では、クライアントが未知のリーフタイプをどのように処理すべきかを説明します。
「timestamp」は、この証明書に対して発行された対応するSCTのタイムスタンプです。
「signed_entry」は、対応するSCTの「signed_entry」です。
「extensions」は、対応するSCTの「extensions」です。
マークルツリーのリーフは、対応する「MerkleTreeLeaf」構造のリーフハッシュです。