I was having a discussion with a friend of mine about anonymity on the internet and the right to congregation and free speech. We reached the agreement that it is essential to democracy that people be able to engage in anonymous discussion with each other. Anonymous in the sense that only the parties intending to communicate are able to identify each other.
That said, Is it theoretically possible on the internet? If so, what combination of programs would provide this kind of security?