This answer focus on 3 things:
- K12 hash vs Keccak-p[1600,12].
Although K12 is a concurrent high-throughput hash function, using it for PRNG doesn't necessarily offer the best performance, since its output is serial. Keccak permutation on the other hand, can be run in some special mode of operations to provide PRNG functionality - such mode can be simpler than K12 hash, and can be more efficient if multi-threading isn't used.
I've linked to the Cryptographic Sponge Functions paper section where some modes are presented.
- CSPRNG vs Stream Cipher.
Note that CSPRNG isn't the same as Stream Ciphers - stream ciphers require the output be a function of the input, which means everytime same input is given (key, IV) the same output is produced. CSPRNG on the other hand, is more violent on its internal state. Every output CSPRNG produce, lead to irrecoverable loss of previous state (to prevent back-tracing cryptanalysis), and even difference in the length of requested output must lead to difference in the actual output.
Since you said you want it be capable of "random access", I assume that you intended to say stream cipher.
- Is it secure?
The Keccak permutation receive as much reputable analysis as Rijndael (the AES winner), so the answer is overwhelmingly yes. And given that Keccak-p[1600,12] and AES-128 (10 rounds) has similar number of rounds, and both are based on bitwise operations (binary polynomials), I'd say Keccak would have higher per-bit performance as Keccak has larger block size than AES.
There also have been lots of analysis on the sponge and duplex modes