Possibly FFII is also infringing on the patent by publishing this code:
// Compute H1 and H2 such that P = 2*H1 = 2*H2 (if such halves exist)
// Return TRUE iff the halves exist.
function TGF2NECurve.Halves(H1, H2, P: TGF2NEPoint): Boolean;
if fStatus <> csHasCoefs then ErrorNoCoefs('Halves');
//--- P = Identity ?
if P.IsO then
Result := true;
with fField do
//--- Compute T = X + Y/X (X and Y are unknow)
// Solve f(T) = T² + T + A + Px
Result := SolveQuad(H1.fX,H2.fY); //H1.fX is used for "T"
if not Result then
//--- The 2 roots T and T+1 lead to the 2 halves H1 and H2
Add1(H1.fY); //!And not GF2Add1 because of possible Normal Basis
//--- Compute H1.X
// X := (T Px + Py)^(1/2)
//--- Compute H1.Y
// Y := X (X + T + 1)
//--- Compute H2.X
// X := ((T + 1) Px + Py)^(1/2)
//--- Compute H2.Y
// Y := X (X + T)
Marcel Martin wrote to OCS, asking them to withdraw their ultimatum and explaining to them that his code uses a different method from the one described in the patent. OCS did not answer but merely asked Martin for his address and the names of his customers . When Marcel had taken HIT off the Net, they said "That's not what we had wanted, we could have found an agreement", but did not explain what the terms of this agreement could have been. Marcel felt that whatever these terms might be, they would not give him longterm security needed for continuing to invest his efforts in the project. He therefore decided to abandon it.