https://cryptoblog.armcp.net/en/blog/1394/sec-creating-a-special-group-to