André van Meulebrouck has written a great article on how to implement bignums:
http://preserve.mactech.com/articles/mactech/Vol.08/08.03/BigNums/index.html
In Racket BC bignums used GMP (The GNU Multiple Precision Arithmetic Library) to represent bignums. In Chez Scheme they rolled their own representation.
Wrt to performance. It depends on the usage pattern.
Bignums are slower than fixnums (but then again - they are larger .
Some encryption algorithms were written to be efficient using all 64 bits.
Due to the type tag fixnums don't have all 64 (or 32) bits available to represent the number.
A naïve implementation of such an algorithm will therefor use bignums - and be slow compared to a C implementation.