traditional cryptographic methods