Research Article
Blockchain-Based Secure Outsourcing of Polynomial Multiplication and Its Application in Fully Homomorphic Encryption
Algorithm 6
Secure outsourcing of polynomial multiplication.
| Input: a,b | | Output: | | (1) | function DISCRETE FOURIER TRANSFORM FOR RESERVED VECTOR (DFTRV) (r, i) | | (2) | the length of r | | (3) | | | (4) | | | (5) | for | | (6) | | | (7) | end for | | (8) | return | | (9) | end function | | (10) | function INVERSE DISCRETE FOURIER TRANSFORM FOR RESERVED VECTOR(IDFTRV) (r, i) | | (11) | the length or r | | (12) | | | (13) | | | (14) | for | | (15) | | | (16) | end for | | (17) | return | | (18) | end function | | (19) | The user picks random parameters and generates | | (20) | | | (21) | | | (22) | The user calls TASK UPLOAD locally and uploads to the smart contract; | | (23) | The smart contract calls TASK ALLOCATION and sends vectors in to nodes; | | (24) | The computational nodes compute and call RESULT UPLOAD; | | (25) | The smart contract calls RETURN RESULT; | | (26) | The user computes and verifies equations (3) and (4) locally; | | (27) | The user computes | | (28) | The user generates calls TASK UPLOAD locally and uploads to the smart contract; | | (29) | The smart contract calls TASK ALLOCATION and sends vectors in to nodes; | | (30) | The computational nodes compute and call RESULT UPLOAD; | | (31) | The smart contract calls RETURN RESULT; | | (32) | The user computes and verifies equations (5)–(7) locally; | | (33) | The user sends feedback to the smart contract; | | (34) | The smart contract calls VERIFICATION AND PAYMENT. |
|