Parallelize the popular Sieve of Eratosthenes algorithm using a OpenCL. Use Prime numbers so generated in implementation of RSA
Requirements:
- OpenCL (install separately)
- Numpy (pip install)
- Cython (pip install)
Code for RSA is implemented in Cython. Instructions to build code and run:
- python setupEncrypt.py build_ext --inplace
- python setupDecrypt.py build_ext --inplace
- python main.py
Further lines of work:
- Integer limit workaround
Note:
Functions encrypt/decrypt in rsaFunctions.py work on their own as well, serially implemented in python.
Serial in the sense that each character in the message is encoded serially.
There is fast modular multiplication using built in pow() function so parallelisation is implicitdd