How does encryption work in elliptic curve cryptography? So I think I understand a good amount of the theory behind elliptic curve cryptography, however I am slightly unclear on how exactly a message in encrypted and then how is it decrypted.
So my questions are


How are messages encrypted and decrypted?
How are the public and private keys determined?


Thanks for the help
How are messages encrypted and decrypted?


Well, the easiest way to do public key encryption with ECC is to use ECIES.  In this system, Alice (the person doing the decryption) has a private key $a$ (which is an integer) and a public key $A = aG$ (which is an EC point); she publishes her public key $A$ to everyone, and keeps her private key secret.

Now, when Bob wants to pass a note to Alice, he first picks a random value $b$, and computes the points $bG$ and $bA$; he then gives the point $bA$ to a key derivation function $h$, which produces a set of symmetric keys; he then uses the symmetric keys to encrypt (and MAC) the message.  He then sends the values $bG$ and $\operatorname{Encrypt}_{h(bA)}(\text{note})$ to Alice.

When Alice recieves these two values, she first computes the point $a(bG)$, which is the same as $b(aG) = bA$; she then passes that point to the same key derivation function, which produces the same symmetric keys that Bob had.  She then decrypts the value $\operatorname{Encrypt}_{h(bA)}(\text{note})$, recovering the note (and verifying that it wasn't modified in transit by checking the MAC.

If you examine this, you can see what Alice and Bob are effectively doing is performing an Elliptic Curve Diffie-Hellman operation, and then using the shared secret to (symmetrically) encrypt a message.  This might seem like we're cheating a bit, however this meets the criteria for public key encryption (anyone with the public key can encrypt, only the holder of the private key can decrypt), and it also sidesteps the issue of translating the message into an elliptic curve point reversibly (which can be done, but it can be kludgy).


  How are the public and private keys determined?


That's easy; for just about any ECC method, the private key is a random integer $a$ between 1 and $n$ the order of the generator, and the public key is $aG$, the point multiplication of the private key and the generator (which is just a point on the curve that everyone agrees upon).  And, in case you haven't come across this in your studies, the order of the generator $n$ is the minimal value such that $nG$ is the "point at infinity"; when we select the curve, we make sure that this is a large prime.