Я знаю, что для сжатия ключей вы должны проверять, является ли значение y четным или нечетным, чтобы определить, на какой стороне кривой оно находится.
Чтобы быть более точным, вы определяете, $у$ является четным или нечетным, чтобы вы могли дать достаточно подсказки для декомпрессии, чтобы знать, какой $у$ значение для реконструкции.
Для любого значения $х$, существует (не более) двух значений для $у$ которая удовлетворяет уравнению кривой (которое в вашем случае $у^2 = х^3 - х + 3$). И оказывается, что (для нечетных характеристических полей, а это так) одно из двух решений для $у$ будет четным, а один будет нечетным - следовательно, просто констатируя, $у$ является четным или нечетным, достаточно информации для декомпрессора, чтобы знать, какой из них имелся в виду.
Для большинства точек кривой верхняя точка четная, а нижняя нечетная.
Находится ли кривая в «верхней половине» (что, я полагаю, означает $у > р/2$) или «нижняя половина» не имеет значения; мы используем lsbit, независимо от величины $у$ бывает.
Теперь можно определить альтернативный алгоритм сжатия, основанный на том, $у > р/2$, а не lsbit $у$. Ведь в простом поле одно из решений будет иметь $у > р/2$ а у другого будет $у < р/2$. Однако на самом деле это не то, что люди делают (одна из возможных причин заключается в том, что проще протестировать один бит, чем сравнивать полное значение).