Три условия успеха для надежного обмена информацией — подлинность отправителя, конфиденциальность и целостность сообщений — требуют комплексного использования криптографии.
Хэширование является мощным механизмом защиты пользовательских паролей на коммерческих сайтах. Если на вашем сайте для персонализации пользователей требуются имена и пароли, они должны храниться в хэшированной форме. Даже если хакеру удастся похитить вашу базу данных с именами и паролями пользователей, он не сможет применить эту информацию напрямую для имитации ваших клиентов. Вы не можете положиться на клиентов своей системы в использовании их собственных криптографических ключей — электронной коммерции, так как среде доверительных отношений необходима инфраструктура открытого ключа (PKI), которая создает и обслуживает надежные цифровые сертификаты. Многие протоколы электронной коммерции высшего порядка, например протокол защищенных электронных транзакций (SET), используют четкий набор цифровых сертификатов для установления подлинности людей и ресурсов, а следовательно, подтверждения прав всех сторон на проведение электронной транзакции. Протокол SSL, как наиболее популярная форма использования криптографии открытого/закрытого ключа, фактически стал стандартом передачи информации через Internet, однако, имея недостатки, он не полностью удовлетворяет требованиям безопасности электронной коммерции. Система PGP использует метод управления распределенным ключом, не нуждающийся в органе сертификации. Пользователи могут подписывать открытые ключи друг друга, добавляя некоторую степень доверия к подлинности ключа. Ограничения паутины доверия (Web of Trust), на которой основана система PGP, лишают ее практического применения в электронной коммерции. Протокол защищенных электронных транзакций (SET) отвечает почти всем требованиям клиентов к конфиденциальности при использовании кредитных карт для покупок в Internet. Использование протокола SET меняется в зависимости от стадии приема оплаты. Оно начинается с выбора карты для оплаты вплоть до того момента, как продавец завершает транзакцию и проводит окончательный расчет с банком — получателем или обработчиком платежей.