cryptographic utilities 
