Let X and Y be two sets and suppose that a set of participants P={P_1,P_2,...,P_n} would like to calculate the keyed hash value of some message m known to a single participant in P called the data owner. Also, suppose that each participant P_i knows a secret value x_i. In this paper, we will propose a protocol that enables the participants in this setup to calculate the value y=H(m,x_1,x_2,...,x_n)$ of a hash function H:X^{n+1}->Y such that:
- The function H is a one-way function.
- Participants in P\{P_i} cannot obtain x_i.
- Participants other than the data owner cannot obtain m.
- The hash value y=H(m,x_1,x_2,...,x_n) remains the same regardless the order of the secret x_i values.