···1818 hardware security modules or ensuring operations occur on trusted networks
1919 only. *)
20202121+open Result.Syntax
2222+2123(** {1 Constants} *)
22242325(** RFC 5054 3072-bit group prime N *)
···111113 let public_key t = t.big_a
112114113115 let compute_session_key t ~salt ~big_b =
114114- let ( let* ) = Result.bind in
115116 let* () =
116117 if Z.(equal (big_b mod n) zero) then Error (`Msg "Invalid B value")
117118 else Ok ()
···164165 let salt t = t.salt
165166166167 let compute_session_key t ~big_a =
167167- let ( let* ) = Result.bind in
168168 let* () =
169169 if Z.(equal (big_a mod n) zero) then Error (`Msg "Invalid A value")
170170 else Ok ()