It looks like pbd could use some effort on its documentation. For instance, the summary documentation of most of the modules reads "Background", which isn't very informative.
I only read the dsg documentation with any thoroughness, and am very confused as to why its functions are written as a trait at all. Is the idea to make it easier to swap out a different cryptographic scheme? If so, it would seem worth discussing that. Similarly, since all the methods have default implementations, it would seem worth documenting which ones can be replaced in which ways without introducing cryptographic weaknesses. If the goal isn't for users to replace those implementations, then don't make it a trait.