cryptographic mechanisms