1. A system for mobile proactive secret sharing amongst a set of servers, the system comprising:

a set of servers, each server having one or more processors and a memory, the memory having executable instructions encoded

thereon, such that upon execution of the instructions, the servers in the set of servers perform operations of:

initializing, by the set of servers, a Secret-Share protocol to share, by server Pj, a secret s among the set of servers , such that a degree of polynomials used to share the secret s is d and a shared secret is denoted as [s];

initializing, by the set of servers, a GenPoly protocol to cause the servers in the set of servers to generate l random polynomials of degree D;

initializing, by the set of servers, a Secret-Redistribute protocol to redistribute the shared secret [s] to a set of new

servers ?;

initializing, by the set of servers, a Secret-Open protocol to open the shared secret [s];

wherein initializing the Secret-Redistribute protocol further comprises operations of:

performing the GenPoly protocol in parallel to generate random polynomials;

if a threshold is decreasing, then performing the following operations:

i. for each server Pi that is not in the list of known corrupted servers Corr, broadcasting its share of a secret-sharing polynomial, masked with

a random polynomial;

ii. for each server, verifying that the broadcast shares are correct given Pedersen commitments;

iii. constructing a polynomial of lower degree sharing the same secret by using correct shares;

transferring Pedersen commitments as follows:

i. for each server Pi that is not in Corr, broadcasting Pedersen commitments for an old secret sharing polynomial for servers Sj in a new group;

ii. for each server Sj, determining correct values for the Pedersen commitments broadcast in the previous step by a set of Pedersen commitments

that are broadcast by a majority of the servers;

transferring shares and interpolating as follows:

i. for each server Pi that is not in Corr computing shares of masked secret-sharing polynomials and broadcasting the encrypted shares;

ii. for each Sj, verifying that the encrypted shares broadcast above are correct given known Pedersen commitments;

iii. for each Sj, using all encrypted shares that are determined to be correct to interpolate new shares; and

for each server Pi in the set of servers, erasing all of its data.