LibTMCG is a general purpose C++ library for creating secure electronic card games. The most remarkable feature is the absence of a trusted third party (TTP), i.e. neither a central game server nor trusted hardware components are necessary. With the present library there is no need for an independent referee, because the applied protocols provide a basic level of confidentiality and fairness by itself. Consequently, the library is well-suited for peer-to-peer (P2P) environments where no TTP is available. The corresponding cryptographic problem, actually called "Mental Poker", has been studied since 1979 by many authors. LibTMCG provides the first practical implementation of such protocols.
SecureSkat is a peer-to-peer implementation of the German card game Skat. The program negotiates participating players and game sessions over an arbitrary IRC network (Internet Relay Chat). Neither a trusted third-party (dealer) nor a centralized game server is necessary. All critical operations, e.g. shuffle of the deck, are performed using advanced cryptographic techniques (so-called Mental Poker solutions) provided by LibTMCG. The outdated OpenSkat branch contains a graphical user interface based on XSkat 3.4. This interface can be used with most recent versions, but must be built separately.