Symmetric key encryption uses the same digital key for encryption and decryption but requires a separate key for each transaction. Public key encryption uses two mathematically related keys - a public key for encryption and a private key for decryption. It solves the problem of exchanging secret keys in symmetric encryption. Encryption with a sender's private key provides authenticity and non-repudiation while a hash digest allows the recipient to verify integrity. However, no security solutions are foolproof as private keys may not be adequately protected and communication channels are still vulnerable. Firewalls, proxy servers, anti-virus software and access controls help strengthen security but policies and legal compliance are also needed for an effective e-commerce security plan.