Welcome to OpenSSL-GPU page!

On this page you will find files which were created as a part of my master's thesis - add GPU support to OpenSSL. Many thanks also to Henri Kuuste who helped to develop and to optimize this code, and also thanks to Meelis Roos, Andrus Laansalu and Ordi who helped to get 8800GTS for developing.

Code is in two parts: 6800 implementation which uses OpenGL to communicate with GPU and is suitable for older videocards which are supported by OpenGL; and 8800 implementation which is written using CUDA and is currently usable only with NVIDIA's 8800 series.

Currently is implemented AES 128 encryption only!

News

09.06.2007 - Code is released

Test results

6800GT is much slower than CPU
8800GTS can give 0..3% faster results compared to CPU. There are alrady known two twaks to make 8800 code much faster, but as I don't have necessary hardware (8800GTS) anymore I can't test those changes.

General information of used hard- and software

Code is written and tested on machine:
CPU: Intel P4 640 3.2GHz
RAM: 2 x 512MB DDR2
Motherboard: Abit NI8-SLI C19 s.755 DDR2
HDD: Western Digital, 250GB, SATAII
FS: ReiserFS

6800 GPU : NVIDIA 6800GT
8800 GPU : NVIDIA 8800GTS

OS: Gentoo Linux
Kernel: 2.6.18-gentoo-r6

Software:
video driver: NVIDIA 9751 (CUDA compatible)
nvidia-cg-toolkit version: 1.5.0
glew: 1.3.5
freeglut: 2.4.0
CUDA Toolkit: 0.8
CUDA SDK: 0.8
OpenSSL: 0.9.8d

Download

New files only (files to add to OpenSSL to get GPU support, OpenSSL 0.9.8d compatible, probably also later ones)
6800 OpenGL implementation
8800 CUDA implementation

Full packages (OpenSSL 0.9.8d based)
6800 OpenGL implementation
8800 CUDA implementation


Install instructions

Contact

Urmas Rosenberg <uraes AT ut D0T ee>