 We present an algebraic framework that can be used to build public QPCFs for OT and vectorally and two-party homomorphic secret sharing for branching programs. We consider and solve two problems. In the first one, we have two parties and a correlation rule C. This is a function that outputs two random correlated values, r0 and r1, and we want to give r0 only to be 0 and r1 only to be 1. We want to generate many of these correlated pairs using only one round of interaction and sublinear communication in the size of the outputs. So a possible solution to this problem is called the public QC to random correlation function or PCF for short. This is a one round protocol in which the parties exchange simultaneously some public keys, and then with the help of public nonsense, they can evaluate the public keys along with the secret counterparts, obtaining their own part of the correlated randomness. In our paper we present an efficient solution that works for OT and vectorally correlation. The second problem we analyzed is still in the two-party setting, and now the parties have some private inputs x0 and x1. Our goal is to apply a function f belonging to some class on this input, and we want to obtain the output using only two rounds of interaction. A possible solution to this problem is called homomorphic secret sharing. So it is a construction in which in the first round the parties secret shared their inputs according to some particular secret sharing scheme, and then using only a local computation they can derive an additive secret sharing of the output. In our paper we present a scheme that works for branching programs. Our starting point is the rise of Pallier. It is a Eurocrypt 2021 paper that solved both the problems I just described. The solution is based on the Pallier crypto system, but all the constructions suffer from a problem, namely that they need a trusted setup that generates a public RSA model. In this work we observe that the techniques of the rise of Pallier can be generalized. We don't need to work over the Pallier group anymore. We can work over an abstract framework, a group that satisfies some particular properties. One of these instantiation of this framework allows to get rid of the trusted setups and this instantiation is based on class groups. Okay, our framework is a group Z that can be decomposed as the product of F and H where F is cyclic and D-log is easy over F, but hard over H. In this setting it is possible to solve the distributed D-log problem, the technique at the base of all our constructions. Basically we have two parties that hold two values alpha and beta whose quotient is a power of F, F2DM. And the goal is to convert these inputs into an additive secret sharing of M without any interaction. Okay, in order to understand how to solve this problem we have to rewrite the group Z as you see on the slide. So we split it into cosets of F and we represent each of these cosets as a ring because F is cyclic. Now we have these two elements alpha and beta whose quotient is a power of F so that means that they belong to the same coset of F. Okay, now we assume that the parties P0 and P1 both know a canonical representative of the coset containing alpha and beta. So everything solving the distributed D-log is easy. The parties just need to divide their input by gamma and then they compute the D-log of the result. And yes, the result is a secret sharing of M. The question is how can we obtain this canonical representative of the coset in polynomial time. And to solve this problem we introduce two new notions. The first one is called the coset label in function. Basically it is an efficient function that maps each of the cosets into a different element. The second notion we introduce is called the lifting function and basically does the opposite. It takes an element in the image of the coset label in function and it maps it back into the corresponding coset. Now, how can we find the representatives? Well, it's pretty easy. The parties just take their input, they apply the coset label in function, they end up with the same element, and then they lift it back into the coset using the lifting function. Now the question is how many groups have coset label in functions and lifting functions. Well, we came up with instantiations. The first one is Palier as it was already known since Europe in 2021. And the second one are groups in which F is more, namely polynomial exercise. Then we have variants of Joey Libert, and finally we have class groups. The first three instantiations still need trusted setups to build public IPCFs and homomorphic secret sharing, but the good thing is that the last one doesn't.