I am facing the following situation and I am trying to break down the problem into some specific cryptographic primitives:
There is a function $F$ that takes as input a bit string and produces a fingerprint.
The used protocol has one user $u$ who holds the input of $D$ and there are $n$ other parties. I want those parties to compute $F(D)$ and all the parties to agree on that computed value. For example: if $t$ out of $n$ where $t$ > $n/2$ agree on value $Y_1$ then the winner is $Y_1$.
If there is no majority I want the protocol to run again.
I also want the results to be secret; in other words: I do not want the parties to learn the results and I don't want the parties to learn anything about the given input $D$. So, practically, they will compute $F(D)$ without learning $D$.
To verify/evaluate $F(E(D))$, they will receive an encrypted $E(D)$, which they only use to evaluate the function.
To be able to implement the above I would like to know if what I described can be considered to be a "secure multiparty computation", or is it rather some kind of "verifiable secret sharing" scheme? Are there any alike schemes/protocols available which I could use/combine to be able to do what I described?