What type of number generator is used to generate social insurance numbers in Canada?

The Luhn algorithm is used.