In SIDH both parties agree on the key in following way:
- Alice calculates a kernel $R = mPB + nQB$
- Thanks to Velu formulas (and further improvements), she can now compute isogeny $\phi_a$
- She uses $\phi_a$ to start hers random walk and ends up with trio $(E_a, \phi_a(PB),\phi_a(PB))$
- Now she sends this trio to Bob (I know, she actually sends 3 points)
- Bob does the same, let say his secret isogeny is $\phi_b$. Upon receipt of corresponding trio from Bob $(E_b, \phi_b(PA), \phi_b(QA))$ Alice uses $m, n$ to compute new kernel $R' = m*\phi_b(PA) + n*\phi_b(QA)$ and new isogeny
- Then she starts from $E_b$ and does the random walk again ending on $E_{ab}$
- Bob proceeds mutatis mutandis and ends up on a probably different curve $E_{ba}$, but surely in same isogenyisomorphism class as Alice. Thanks to j-invariant then can agree on a shared secret $j(E_{ab}) == j(E_{ba})$
Now, I've to say point 6. and 7. are a bit black magic to me. I understand that we have this equality here:
$R' =m*\phi_b(PA) + n*\phi_b(QA) = \phi_b(m*PA + n*QA)$
But still, why exactly they will end up in the same isogenyisomorphism class? What is a mathematical base, for those two isogenies to converge to the same class. I'm wondering how would a proof look like for this.