Why not both fully unique and based on information of the car? I could easily imagine a system where [one-way algorithm X] is used to transform the car's VIN into a good cryptographic key, and the dealers then just use some piece of software to program a blank fob with the appropriate key. Done correctly, it would be extraordinarily difficult to reverse engineer.