К сожалению, линейный конгруэнтный генератор rand() из стандартной библиотеки C очень плох. Это проверялось много раз на практике и доказано теоретически.
Он не проходит почти все тесты библиотеки diehard!!! Я уж не говорю о тесте на заполнение гиперкуба. Да и период у него маленький, на современных машинах этот период превысить очень просто.
Его лучше не использовать. Особенно в задачах криптографии. Это известный факт.
Мой выбор: Mersenne Twister, или любой из серии генераторов Фибоначи.
Про использование генераторов для метода Монте-Карло смотреть тут
http://mathstyle.org/?page=rngresults&language=ru