Como gerar números aleatórios de 64 bits?

Estou implementando o hash universal e usando a seguinte função de hash universal:

h (k) = ((A * k) mod 2 ^ 64) rsh 64-r

onde A é um número aleatório entre

2 ^ 61 e 2 ^ 62.

orand() função emC ++ tem tipo de retornointeiro e não pode gerar grandes números. Então, como posso gerar números aleatórios nesse intervalo? (os números devem ser muito aleatórios, ou seja, cada número deve ter a mesma probabilidade de ser selecionado)

Nota:

long long int random=rand();

não funciona como o número retornado porrand éint.

questionAnswers(2)

yourAnswerToTheQuestion