About Key Generation

Is the key generated by a trusted third party, or are private keys generated locally, while other keys are generated by third parties

Either way, it depends on the application. As long as the parties share the same cryptocontext object (via serialization / deserialization), public and secret keys can be generated by one and shared as needed, or generated locally.

We will be posting a repo with examples of multiple parties interacting over sockets, and showing how you can share cryptocontext, keys and ciphertexts. In the mean time, there is a palisade repo that shows how it can be done (this is the basis for the new repo I just mentioned) PALISADE / PALISADE serial examples ยท GitLab