DSA verification

This is a continuation of #912 (thanks to @skeuomorf for all his hard work!)