It is, but some libraries do not perform this check. Including TweetNaCl if I recall correctly.
> Modifying A or R instantly makes the signature invalid.
I was talking about modifying them together. Here's what I claim:
B.s = R + A.h
B.s = R + A.h + P - P
B.s =(R + P) + (A.h - P)
And now I'm realising this should work with any point, not just low order points. I'll correct this. Anyway, it's a commutative group we're talking about how could this not work?> Multiplying the cofactor or not doesn't matter
Perhaps I went over this a bit to fast. Recall that for any low order point P, P.8 = zero. Once you accept this fact, the rest follows pretty smoothly:
B.s = R + A.h
B.s.8 = (R + A.h).8
B.s.8 = R.8 + A.h.8
B.s.8 = R.8 + A.h.8 + zero
B.s.8 = R.8 + A.h.8 + P.8
B.s.8 = (R+P).8 + A.h.8
And now you can see that the weaker equation will give the same result for R and R+P, if P has low order. Not a weakness if we're only doing signatures, but still a source of malleability.I'll add this explanation in the article, thanks for the feedback.