| With the rapid development of Internet technology,massive amounts of data are constantly being generated,and data is becoming more and more important.A large amount of sample data enables machine learning algorithms to train more accurate models,but at the same time,local users are often unable to complete model training.The emergence of cloud computing technology solves this problem.Users can outsource the computing tasks that need to be completed to the cloud server,but the server is not necessarily trustworthy.Users need to verify the correctness of the results returned by the server,which is the problem that verifiable computation wants to solve.One of the key operations of machine learning algorithms is the product of the training set feature matrix and the weight vector,so how to do verifiable computation for matrix-vector multiplication becomes important.As the amount of data increases,a single server cannot independently complete the user’s outsourced computing,so the user needs to outsource the computation to distributed servere for processing.This thesis mainly studies how to do verifiable computation on distributed servers.The difference between distributed servers and a single server is that not all servers are untrustworthy,only a few servers are untrustworthy,and this model is more realistic.In order to solve the problem of verifiable computing on distributed servers,this thesis proposes a distributed verifiable computing scheme.This scheme uses the systematic maximum distance separable code to encode the training set feature matrix that the user needs to calculate.The user combines his own calculation and the calculation result returned by the server to verify whether the received result is correct through the error detection and error correction properties of the linear block code.According to the different verification goals of users and the different results returned by the server,the thesis proposes different verification schemes.Compared with the verifiable computation scheme of a single server,the user of the distributed verifiable computation scheme has a smaller amount of calculation,and can better cope with the targeted results of the server.In order to further reduce the amount of calculation for users,this thesis further upgrades the single-round verification scheme to a multi-round verification scheme,checking whether there are errors in the first round of verification calculations,and identifying dishonest servers through error correction in subsequent rounds.The amount of calculation is reduced by half while the recognition ability remains unchanged.In the actual distributed computing system,the user’s data security is also involved,and the use of the systematic maximum distance separable code cannot protect the user’s privacy while making it easy to know the calculation result.In order to solve the problem that the user information needs to be kept secret in the verification calculation,this thesis proposes a distributed secure and verifiable outsourcing computing scheme.The user generates a random matrix before encoding the data matrix,encodes the data matrix and the random matrix using a non-systematic maximum distance separable code to encrypt the data matrix.Since the data matrix and the random matrix are independent of each other,the server cannot obtain any information about the original matrix from the received calculation matrix.Compared with the previous scheme,the recognition performance is the same,except that the result needs to be decoded when the calculation result is obtained.Also,in order to reduce the calculation amount of users,the singleround scheme is upgraded to a multi-round safe and verifiable computation scheme,and the same method as the single-round scheme is used in the first round of verification.In subsequent rounds of verification,users generate multiple random vectors to keep their data secret.The distributed secure verifiable computing scheme can satisfy the corresponding security constraints as a whole. |