Patent ID: 8817975
Filing Date: 2014-08-26
Classification: H04L

Abstract:
1. A cryptographic processing apparatus for performing an encryption and a decryption each including a nonlinear operation and a linear operation, comprising: a first mask-conversion circuit configured to input first data obtained by masking an operation target data with first temporary mask data, mask-convert the first data from the first temporary mask data into first fixed mask data as an invariable value in a first linear operation, and output second data obtained by masking the operation target data with the first fixed mask data; a first linear operation circuit configured to receive the second data, perform the first linear operation on the second data, and output third data obtained by masking, with the first fixed mask data, first result data as a result of performing the first linear operation on the operation target data; a nonlinear operation circuit configured to, in an encryption, receive the second data, perform a nonlinear operation on the second data, and output fourth data obtained by masking, with second fixed mask data as an invariable value in a second linear operation, a result obtained by performing the nonlinear operation on the operation target data, and in a decryption, receive the third data, perform the nonlinear operation on the third data, and output fifth data obtained by masking, with the second fixed mask data, second result data as a result of performing the nonlinear operation on the first result data; a second linear operation circuit configured to receive the fourth data or the fifth data, perform the second linear operation on the fourth data or the fifth data, and output sixth data obtained by masking, with the second fixed mask data, fourth result data as a result of performing the second linear operation on third result data as a result of the nonlinear operation; and a second mask-conversion circuit configured to, in an encryption, receive the sixth data, mask-convert the sixth data from the second fixed mask data into second temporary mask data, and output seventh data obtained by masking the fourth result data with the second temporary mask data, and in a decryption, receive the fifth data, mask-convert the fifth data from the second fixed mask data into the second temporary mask data, and output eighth data obtained by masking the second result data with the second temporary mask data.