Computation Techniques for Encrypted Data using Python


The session begins with a discussion on homomorphic properties of cryptographic algorithms such as RSA, Elgamal, Paillier, Elliptic Curve, and Gentry’s Cryptosystems with the demonstration. The session discusses techniques to reduce computational complexity. This session also discusses a case study on how machine learning techniques can be applied to encrypted data for secure computation and protecting the machine learning model. The talk will include the demonstration of the Python implementation of the RSA algorithm. To demonstrate the techniques to reduce complexity, we will perform multiplication over large random numbers using common * operator, multiplication using FFT, and Karatsuba algorithm. SciPy package has an in-built implementation for FFT. To demonstrate the implementation of secure machine learning model we used PyBRAIN and cryptography packages of python.


Imagine you have important documents such as credit card statements of expenditure or other financial documents and you want to protect them from illegal entities. You will store them in safe and lock it with a key. This process is known as encryption. Now if you want analyze your spending habits or process financial accounts related your business then you need to take out the documents out of safe. This process is known as decryption. This step has a problem i.e.; the moment you take out the documents from the safe they become vulnerable to illegal entities. To avoid such situations, we need a mechanism to process documents without taking them out of the safe. It is possible through homomorphic encryption i.e., by performing computations on encrypted data and this talks addresses techniques to perform computations of encrypted data. **Implementation** The cryptographic algorithms have been implemented in Python. Also, the Python code has been written to verify the homomorphic properties of cryptographic algorithms. Homomorphic encryption techniques are computation intensive. To reduce the number of computations we used the Fast Fourier Transform (FFT) and Karatsuba methods for performing arbitrary computations such as multiplication over large integers. Next to demonstrate the implementation of a secure machine learning model we combined cryptography package in python and PyBRAIN Artificial Intelligence package.


Gajendra Deshpande

Mr. Gajendra Deshpande holds a masters degree in Computer Science and Engineering and working as Assistant Professor at the Department of Computer Science and Engineering, KLS Gogte Institute of Technology, Belagavi, Karnataka, India. He has a teaching experience of 12 years and a Linux and Network Administration experience of one year. Under his mentor-ship teams have won Smart India Hackathon 2018 and Smart India Hackathon 2019. He is the Technical Director for Sestoauto Networks Pvt. Ltd. and Founder of Thingsvalley. His areas of Interest include Programming, Web Designing, Cyber Security, Artificial Intelligence, Machine Learning, Brain-Computer Interface, Internet of Things, and Virtual Reality. He has presented papers at NIT Goa, Scipy India 2017 IIT Bombay, JuliaCon 2018 London, Scipy India 2018 IIT Bombay, Scipy 2019 USA, and PyCon FR 2019, Bordeaux, France.