added cryptographic helpers