Major overhaul. Now uses DSA signatures rather than the bogus symmetric