110 likes | 206 Views
Bachir Babale CSEPtu 590 3/8/2006. CryptoGraphics:. Cryptography using Graphics Processing Units. Outline. Motivations GPU Operations Stream Ciphers Block Ciphers (omitted) Building a Secure System PVP-UAB Conclusion. Motivations. New CPU performance model: parallelism
E N D
Bachir Babale CSEPtu 590 3/8/2006 CryptoGraphics: Cryptography using Graphics Processing Units
Outline • Motivations • GPU Operations • Stream Ciphers • Block Ciphers (omitted) • Building a Secure System • PVP-UAB • Conclusion Bachir Babale
Motivations • New CPU performance model: parallelism • GPUs are already highly parallel • 24 fragment shading pipes • 100s of hardware threads • 150 Giga FLOPS (Nvidia’s G70) Bachir Babale
Motivations (2) • Decrypting inside the GPU would allow secure visualization application Bachir Babale
GPU Operations • 32 bit pixels processed as floating points • RGB or RGBA formats in front/back buffer • Operations used for cryptography: • Copying pixels between coordinates • Color maps • Logical XOR • Slowest operations in GPU • No modular arithmetic for large integers Bachir Babale
Synchronous Binary Additive Stream Cipher Stream of pseudo-random digits XOR plaintext/ciphertext Algorithm for GPU Pre-compute keystream Load into GPU memory Load ciphertext into memory area with XOR enabled Benefits of parallel processing diminished if data is too small XOR rate of 105.0MB/s for a 600x600 area (75.5% of CPU) Stream Ciphers Bachir Babale
Block Ciphers (omitted) • Bit level operations (shifts, rotates) not available • No 32 bit data structure • AES representation in GPU • AES-GL rate is 50% of AES-C1, 2.4% of AES-C2 • CPU usage for AES-GL is still 100% Bachir Babale
Building a secure system • Server, Proxy, Client over an untrusted network • GPU contains pre-installed certificate • The data remains encrypted until in the GPU • Dynamic session key -> Need for authentication • Close to ideal 24fps for videoconferencing • 500 updates/s for thin client application Bachir Babale
PVP-UAB • Content Output Path • Protected Video Path - User Accessible Bus • Encrypts premium content on the bus to prevent hardware snoop hacks • OS must verify valid subsystem • Unique keys • A challenge that leverages the complex arrangement of a large number of gates and a complex state model in the GPU • 128 bit AES • MPG2 and Windows Media 9 compression • 2048 bit Diffie Hellman Bachir Babale
Conclusion • GPUs can be used to offload the CPUs to apply stream ciphers on large segments • GPU can serve as the base for a trusted computing visualization platform • PVP-UAB brings authentication and compression • Need to develop ciphers that can better exploit the capabilities of modern GPUs Bachir Babale
References • CryptoGraphics: Secret Key Cryptography Using Graphics Cards Debra L. Cook. , John Ioannidis. , Angelos D. Keromytis. , Jake Luck http://www1.cs.columbia.edu/~dcook/pubs/CTRSA-corrected.pdf • Remotely Keyed Cryptographics. Secure Remote Display Access Using. (Mostly) Untrusted Hardware Debra L. Cook., Ricardo Baratto., Angelos D. Keromytis http://www.ncl.cs.columbia.edu/publications/icics2005.pdf • Protected Interactive 3D Graphics Via Remote Rendering David Koller, Michael Turitzin, Marc Levoy), Marco Tarini, Giuseppe Croccia http://graphics.stanford.edu/papers/protected/protected.pdf • GPGPU IEEE Visualization 2005 TUTORIAL http://www.gpgpu.org/vis2005/(03/05/2006) • Output Content Protection and Windows Longhorn http://www.microsoft.com/whdc/device/stream/output_protect.mspx (03/05/2006) Bachir Babale