CryptoGraphics: Cryptography using Graphics Processing Units Bachir Babale CSEPtu 590 3/8/2006
3/9/2006Bachir Babale2 Outline Motivations GPU Operations Stream Ciphers Block Ciphers (omitted) Building a Secure System PVP-UAB Conclusion
3/9/2006Bachir Babale3 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)
3/9/2006Bachir Babale4 Motivations (2) Decrypting inside the GPU would allow secure visualization application
3/9/2006Bachir Babale5 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
3/9/2006Bachir Babale6 Stream Ciphers 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)
3/9/2006Bachir Babale7 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%
3/9/2006Bachir Babale8 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
3/9/2006Bachir Babale9 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
3/9/2006Bachir Babale10 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
3/9/2006Bachir Babale11 References CryptoGraphics: Secret Key Cryptography Using Graphics Cards Debra L. Cook., John Ioannidis., Angelos D. Keromytis., Jake Luck Remotely Keyed Cryptographics. Secure Remote Display Access Using. (Mostly) Untrusted Hardware Debra L. Cook., Ricardo Baratto., Angelos D. Keromytis Protected Interactive 3D Graphics Via Remote Rendering David Koller, Michael Turitzin, Marc Levoy), Marco Tarini, Giuseppe Croccia GPGPU IEEE Visualization 2005 TUTORIAL (03/05/2006) Output Content Protection and Windows Longhorn xhttp:// x (03/05/2006)