だいたいこういう理解であってるだろうか?

1.共通秘密鍵作成まで
Aが持つ秘密鍵 n_A、k_A
Bが持つ秘密鍵 n_B、k_B
Aはn_A、k_Aを使ってM_Aを計算しBに送信
Bはn_B、k_Bを使ってM_Bを計算しAに送信
Aはn_A、k_A、M_Aおよび受け取ったM_Bから共通秘密鍵M_ABを計算
Bはn_B、k_B、M_Bおよび受け取ったM_Aから共通秘密鍵M_BAを計算
M_ABとM_BAは数学的に等しくなるようになっている
M_Aからn_A、k_Aを求めるのは難しい(と主張)

2.共通秘密鍵から疑似乱数ビット列を作成
AはM_ABから疑似乱数ビット列を作成
BはM_BAから疑似乱数ビット列を作成
(このビット列生成で、プライベートデータである素数p_1、p_2を使うと書いてるようだが
p_1、p_2を二者でどうあらかじめ共有するのかよくわからない)

3.暗号化と複合化
疑似乱数ビット列を使ってAは平文を暗号化し、Bは暗号文を復号化する
(この部分はワンタイムパッドによるストリーム暗号)