In Canada it is your right to discuss your pay with other people. I am surprised that it is not the same in the states.
I'm no lawyer but this is my understanding of the local law.
You are probably right. Different places have different customs. I'm not sure I agree that discussing your pay is a reason for termination, but I'd like to keep my job.