https://123dok.net/document/zlgv88dl-java-confidentiality-grained-access-control-attribute-based-encryption.html