2

I'm trying to optimize the decryption process for Paillier Homomorphic Encryption (PHE) using the Chinese Remainder Theorem (CRT). However, I want to check if there's a different way of applying CRT to PHE apart from the traditional approach and still get the same result or a faster result since there's a simpler variant for the PHE as stated here in Wikipedia.

Recall that,      

=(^   ^2 ).   ,   = ^.^   ^2,   =()=(−1)(−1) 

=[((^ ^2 ))]^(−1) ,   =()^(−1)   = [(−1)(−1)]^(−1)  

                    =(^   ^2 ).    

                =(^((−1)(−1))   ^2 ). [[(−1)(−1)]^(−1)   ]  

                    =  [(^((−1))   ^2 ).(−1)^(−1)  ] 

                    =  [(^((−1))   ^2 ).(−1)^(−1)  ]  

Let = (−1)^(−1)         and       = (−1)^(−1)   

                    =  [(^((−1))   ^2 )]   

                    =  [(^((−1))   ^2 )]    



 = CRT(, )  

 =  [(^(−1)   ^2 )   ]  +  [(^(−1)   ^2 )   ]

  = (^   ^2 ).   

Implementing the above steps in python gave me an inconsistent decryption result.

Is this proof correct, and if not, can anyone please explain as to why it's not correct and how to make it correct?

AleksanderCH
  • 6,435
  • 10
  • 29
  • 62
user62698
  • 21
  • 1

0 Answers0