user97740: Reading the BIP 32 section of how to generate Public child key from Public parent key, I got stuck in the following:

The returned child key Ki is point(parse256(IL)) + Kpar.

As I could understand point(p) is the Elliptical Curve multiplication which will output X and Y coords, so how can I add them with Kpar? Also, it should return me a Compressed public key right?

user208: The addition operation in that context refers to the Elliptic Curve group operation ("point addition").
The child key returned is a point, not a serialization. So the question of whether it's compressed or not is not technically relevant. In practice, every time a serialization of a point is used in BIP32, it is compressed though.

user48884: A public key is an elliptic curve point. So K_par is also an elliptic curve point. You can then just do a EC point add to add the point given by point(p) with K_par to get a new point, which is also a public key.

97740: <p>Reading the BIP 32 section of how to generate Public child key from Public parent key, I got stuck in the following:</p>

<blockquote>
  <p>The returned child key Ki is point(parse256(IL)) + Kpar.</p>
</blockquote>

<p>As I could understand <strong>point(p)</strong> is the Elliptical Curve multiplication which will output X and Y coords, so how can I add them with Kpar? Also, it should return me a Compressed public key right?</p>
 208: <p>The addition operation in that context refers to the Elliptic Curve group operation ("point addition").</p>

<p>The child key returned is a point, not a serialization. So the question of whether it's compressed or not is not technically relevant. In practice, every time a serialization of a point is used in BIP32, it is compressed though.</p>
 48884: <p>A public key is an elliptic curve point. So <code>K_par</code> is also an elliptic curve point. You can then just do a EC point add to add the point given by <code>point(p)</code> with <code>K_par</code> to get a new point, which is also a public key.</p>
