anchor.diff:  
   type rsarepr = bytes
   type rsapms = {rsapms: rsarepr}
  +
  +#if ideal
  +let honest_log = ref []
  +let honest pms =
  +    match assoc !honest_log pms with
  +        Some -> true
  +        None -> false
  +let log = ref []
  +#endif
   
   let genRSA (pk:RSAKeys.pk) (vc:TLSConstants.ProtocolVersion) : rsapms = 
       let verBytes = TLSConstants.versionBytes vc in
  
positive.code:     PRF.coerce sinfo res
  
  let prfSmoothRSA si (pv:ProtocolVersion) pms = prfMS si pms.rsapms
  let prfSmoothDHE si (p:DHGroup.p) (g:DHGroup.g) (gx:DHGroup.elt) (gy:DHGroup.elt) pms = prfMS si pms.dhpms
  
  
  
  
negative.code: 
  let sampleDH p g (gx:DHGroup.elt) (gy:DHGroup.elt) = 
      let gz = DHGroup.genElement p g in
      let pms = {dhpms = gz}
      #if ideal
      honest_log := pms::!honest_log
      #endif
      pms
  
  let coerceDH (p:DHGroup.p) (g:DHGroup.g) (gx:DHGroup.elt) (gy:DHGroup.elt) b = {dhpms = b}
  
  