创建空白页面 |
小无编辑摘要 标签:2017版源代码编辑 |
||
(未显示同一用户的2个中间版本) | |||
第1行: | 第1行: | ||
[[Image:bitwarden.svg]] | |||
<syntaxhighlight lang="dot"> | |||
digraph G { | |||
{ | |||
m [style=filled fillcolor=yellowgreen fontcolor=white label="Master Password" shape=underline] | |||
salt [style=filled fillcolor=yellowgreen fontcolor=white label="Salt(Email)" shape=underline] | |||
kdf [label="PBKDF2, 600000its" shape=component] | |||
masterKey [style=filled fillcolor=green fontcolor=white label="Master Key(256 bits)" shape=underline] | |||
hkdf [label="HKDF" shape=component] | |||
stretchedMasterKey [style=filled fillcolor=green fontcolor=white label="Stretched Master Key(512 bits)" shape=underline] | |||
csprng [label="CSPRNG" shape=component] | |||
symmetricKey [style=filled fillcolor=green fontcolor=white label="{{Generated Symmetric Key}| {Encryption Key(256 bits)|MAC Key(256 bits)}}" shape=record] | |||
iv [style=filled fillcolor=green fontcolor=white label="IV(128 bits)" shape=underline] | |||
keyEncription [label="Key Encryption(AES 256)" shape=component] | |||
protectedSymmetricKey [style=filled fillcolor=green fontcolor=white label="Protected Symmetric Key" shape=underline] | |||
} | |||
m -> kdf | |||
salt -> kdf | |||
kdf -> masterKey | |||
masterKey -> hkdf | |||
hkdf -> stretchedMasterKey | |||
csprng -> symmetricKey | |||
csprng -> iv | |||
iv -> keyEncription [label="iv"] | |||
stretchedMasterKey -> keyEncription [label="key"] | |||
symmetricKey -> keyEncription [label="payload"] | |||
keyEncription -> protectedSymmetricKey | |||
} | |||
</syntaxhighlight> |
2025年3月10日 (一) 05:49的最新版本
digraph G {
{
m [style=filled fillcolor=yellowgreen fontcolor=white label="Master Password" shape=underline]
salt [style=filled fillcolor=yellowgreen fontcolor=white label="Salt(Email)" shape=underline]
kdf [label="PBKDF2, 600000its" shape=component]
masterKey [style=filled fillcolor=green fontcolor=white label="Master Key(256 bits)" shape=underline]
hkdf [label="HKDF" shape=component]
stretchedMasterKey [style=filled fillcolor=green fontcolor=white label="Stretched Master Key(512 bits)" shape=underline]
csprng [label="CSPRNG" shape=component]
symmetricKey [style=filled fillcolor=green fontcolor=white label="{{Generated Symmetric Key}| {Encryption Key(256 bits)|MAC Key(256 bits)}}" shape=record]
iv [style=filled fillcolor=green fontcolor=white label="IV(128 bits)" shape=underline]
keyEncription [label="Key Encryption(AES 256)" shape=component]
protectedSymmetricKey [style=filled fillcolor=green fontcolor=white label="Protected Symmetric Key" shape=underline]
}
m -> kdf
salt -> kdf
kdf -> masterKey
masterKey -> hkdf
hkdf -> stretchedMasterKey
csprng -> symmetricKey
csprng -> iv
iv -> keyEncription [label="iv"]
stretchedMasterKey -> keyEncription [label="key"]
symmetricKey -> keyEncription [label="payload"]
keyEncription -> protectedSymmetricKey
}