The QRG is utilized to generate high quality pseudo-random data for use in stream ciphering systems. The QRG utilizes a reconfigurable datapath to performs big-integer arithmetic operations on operands ranging from 8 - 512 bits in size. The QRG utilizes both conventional clock gating and self-timed gating to minimize the switched capacitance.