Data privacy protection based polar coding
Example embodiments of the present disclosure relate to devices, methods, apparatuses and computer readable storage media for data encryption and decryption. In example embodiments, a first cipher key and a second cipher key are obtained. The first cipher key comprises a vector of cipher elements, and the second cipher key comprises a set of indices corresponding to a subset matrix of a polarizing matrix. A cipher vector is generated by polar coding of a data vector based on the first and second cipher keys and the polarizing matrix. The data and cipher vectors are combined for encryption of the data vector.
1. A device for data encryption of a data vector, comprising:
at least one processor; and
at least one memory storing instructions that, when executed by the at least one processor, cause the device to perform at least the following:
obtaining a first cipher key and a second cipher key, the first cipher key comprising a vector of cipher elements and the second cipher key comprising a set of first indices corresponding to a subset matrix comprising selected elements based on the first indices of a polarizing matrix;
generating a cipher vector by polar coding of the data vector based on the first cipher key and multiple versions of the second cipher key, wherein the multiple versions of the second cipher key comprise a first version based on the first indices, a second version based on a complementary set of second indices not in the first indies, and a third version based on both the first and second indices; and
concatenating the data vector and the cipher vector for encryption of the data vector.
2. The device of claim 1 , wherein:
the first cipher key comprises a vector v of cipher elements and the second cipher key comprises the first version having a set of indices A corresponding to a subset matrix G AA comprising the selected elements of a polarizing matrix G, the second version having a complementary set of A, denoted as Ā, corresponding to indices of rows and columns not selected from the polarizing matrix G for a subset matrix G ĀĀ , and the third version having the set of indices A and Ā for a subset matrix G AĀ corresponding to indices of rows and columns both selected, as indices A, and not selected, as indices Ā, from the polarizing matrix G;
generating the cipher vector comprises generating the cipher vector by the polar coding of the data vector based on the first and second cipher keys and the polarizing matrix, according to the following:
c=uG AA G AĀ ⊕νG ĀĀ
where c is the cipher vector, u represents the data vector, and v is the vector of cipher elements; and
concatenating the data vector and the cipher vector for encryption of the data vector comprises performing X=[uc], where X is the encryption of the data vector based on the cipher vector.
3. The device of claim 2 , wherein the vector ν of cipher elements is any arbitrary vector.
4. The device of claim 1 , wherein the polarizing matrix has a dimension that exceeds a size of the data vector, and the obtaining the second cipher key is performed when the polarizing matrix has the dimension that exceeds the size of the data vector.
5. The device of claim 4 , wherein the polarizing matrix is a Kronecker n-th power of a two-by-two matrix.
6. A device for decryption of an encrypted data vector, comprising:
at least one processor; and
at least one memory storing instructions that, when executed by the at least one processor, cause the device to perform at least the following:
obtaining a first cipher key and a second cipher key, the first cipher key comprising a vector of cipher elements and the second cipher key comprising a set of first indices corresponding to a subset matrix comprising selected elements based on the first indices of a polarizing matrix;
deriving a combination of a data vector and a cipher vector by polar decoding of the encrypted data vector based on the first cipher key and multiple versions of the second cipher key, wherein the multiple versions of the second cipher key comprise a first version based on the first indices, a second version based on a complementary set of second indices not in the first indices and a third version based on both the first and second indices, the cipher vector being generated by polar coding of the data vector based on the first cipher key and the multiple versions of the second cipher key; and
obtaining the data vector from the combination of the data vector and the cipher vector.
7. The device of claim 6 , wherein:
the first cipher key comprises a vector ν of cipher elements and the second cipher key comprises the first version having a set of indices A corresponding to a subset matrix G AA comprising the selected elements of a polarizing matrix G, the second version having a complementary set of A, denoted as Ā, corresponding to indices of rows and columns not selected from the polarizing matrix G for a subset matrix G ĀĀ , and the third version having the set of indices A and Ā for a subset matrix G AĀ corresponding to indices of rows and columns both selected, as indices A, and not selected, as indices Ā, from the polarizing matrix G;
generating the cipher vector comprises generating the cipher vector by the polar coding of the data vector based on the first and second cipher keys and the polarizing matrix, according to the following:
c=uG AA G AĀ ⊕νG ĀĀ
where c is the cipher vector, u represents the data vector, and v is the vector of cipher elements; and
concatenating the data vector and the cipher vector for encryption of the data vector comprises performing X=[uc], where X is the encryption of the data vector based on the cipher vector.
8. The device of claim 7 , wherein the vector ν of cipher elements is any arbitrary vector.
9. The device of claim 6 , wherein the polarizing matrix has a dimension that exceeds a size of the data vector, and the obtaining the second cipher key is performed when the polarizing matrix has the dimension that exceeds the size of the data vector.
10. The device of claim 9 , wherein the polarizing matrix is a Kronecker n-th power of a two-by-two matrix.
11. A method of data encryption of a data vector, comprising:
obtaining a first cipher key and a second cipher key, the first cipher key comprising a vector of cipher elements and the second cipher key comprising a set of first indices corresponding to a subset matrix comprising selected elements based on the first indices of a polarizing matrix;
generating a cipher vector by polar coding of the data vector based on the first cipher key and multiple versions of the second cipher key, wherein the multiple versions of the second cipher key comprise a first version based on the first indices, a second version based on a complementary set of second indices not in the first indices, and a third version based on both the first and second indices; and
concatenating the data vector and the cipher vector for encryption of the data vector.
12. The method of claim 11 , wherein:
the first cipher key comprises a vector v of cipher elements and the second cipher key comprises the first version having a set of indices A corresponding to a subset matrix G AA comprising the selected elements of a polarizing matrix G, the second version having a complementary set of A, denoted as Ā, corresponding to indices of rows and columns not selected from the polarizing matrix G for a subset matrix G ĀĀ , and the third version having the set of indices A and Ā for a subset matrix G AĀ corresponding to indices of rows and columns both selected, as indices A, and not selected, as indices Ā, from the polarizing matrix G;
generating the cipher vector comprises generating the cipher vector by the polar coding of the data vector based on the first and second cipher keys and the polarizing matrix, according to the following:
c=uG AA G AĀ ⊕νG ĀĀ
where c is the cipher vector, u represents the data vector, and v is the vector of cipher elements; and
concatenating the data vector and the cipher vector for encryption of the data vector comprises performing X=[uc], where X is the encryption of the data vector based on the cipher vector.
13. The method of claim 12 , wherein the vector ν of cipher elements is any arbitrary vector.
14. The method of claim 11 , wherein the polarizing matrix has a dimension that exceeds a size of the data vector, and the obtaining the second cipher key is performed when the polarizing matrix has the dimension that exceeds the size of the data vector.
15. The method of claim 14 , wherein the polarizing matrix is a Kronecker n-th power of a two-by-two matrix.