### DH ratchet sequence diagram

parent 11d34f79
This diff is collapsed.
 lifelinestyle ::solid participantspacing 10 participant :0 " " as p0 lifelinestyle p0 #white actor "Alice" as A participant :0 " " as p1 lifelinestyle p1 #white actor "Bob" as B participant :0 " " as p2 lifelinestyle p2 #white parallel box over A: ""//R//"" = ""HKDF(0, //S//)"" box over B: ""//R//"" = ""HKDF(0, //S//)"" parallel off box over A: generate new ratchet keypair ""//T//"" A->B: ""//R//(//msg0//)"", ""//T//"" A->B: ""//R//(//msg1//)"", ""//T//"" A->B: ""//R//(//msg2//)"", ""//T//"" box over B: generate new ratchet keypair ""//T//"" box over B: ""//R//"" = ""HKDF(//R//, DH(//T//, //T//))"" B->A: ""//R//(//msg3//)"", ""//T//"" box over A: ""//R//"" = ""HKDF(//R//, DH(//T//, //T//))"" B->A: ""//R//(//msg4//)"", ""//T//"" B->(13)A: ""//R//(//msg5//)"", ""//T//"" space -14 box over A: generate new ratchet keypair ""//T//"" box over A: ""//R//"" = ""HKDF(//R//, DH(//T//, //T//))"" A->(3)B: ""//R//(//msg6//)"", ""//T//"" box over B: ""//R//"" = ""HKDF(//R//, DH(//T//, //T//))"" box over p0,p2 #EDF2AE:where:\n ""//S//"" is the shared secret derived from the 3ECDH exchange\n ""//R[n]//"" is a root key\n ""//T[n]//"" is a ratchet keypair\n ""HKDF(//salt//, //key//)"" means performing an HMAC-based key derivation with a salt value of ""//salt//"" and input key material of ""//key//""\n ""DH(//k1//, //k2//)"" means performing Diffie-Hellman with the private half of ""//k1//"" and the public half of ""//k2//""\n ""//R[n]//(//msg//)"" means a message encrypted with a key derived from root key ""//R[n]//"" \ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!