Font Size: a A A

Tiny encryption algorithm for cryptographic gradient noise

Posted on:2011-10-04Degree:M.SType:Thesis
University:University of Maryland, Baltimore CountyCandidate:Zafar, FahadFull Text:PDF
GTID:2448390002464358Subject:Mathematics
Abstract/Summary:
Random numbers have many uses in computer graphics, from Monte Carlo sampling for realistic image synthesis to noise generation for artistic shader construction. The random number generators used in GPUs (Graphics Processing Units) today mostly produce poor quality random numbers and run slowly due to their sequential nature, hence they find only limited use for numerical simulations and synthetic noise generation. The ones that do produce acceptable results do so at high execution cost.;This thesis explores use of some cryptographic algorithms as hash functions that produce random numbers with minimum correlation, map well to the GPU architectures and are easy to implement. We compare results for a variety of hash functions based on speed and quality. We also show how these hash functions can be used with the band-limited gradient noise rendering primitive. This noise is entirely computational and does not require any texture lookups. Our hash function allows a speed/quality trade off, and we show that faster versions can be used for noise generation, resulting in a noise that is efficient, does not suffer from discernible periodicity and produces better results, while slower versions can be used for numeric simulation, providing random numbers that pass the NIST and DIEHARD randomness test suites.
Keywords/Search Tags:Noise, Random numbers, Used
Related items