The project’s goal was to implement Visual Cryptography which is a cryptographic technique that encryptsimages and converts them to meaningless data. The base technique used was 4 Subpixel VC where every pixel of input image is expanded into 4 more images. The project is implemented for various image sizes and both on GPU and Multi-core. For smaller image sizes Multi-core worked better than GPU and for larger images the GPU worked better than Multi-core.