Шифрование означает сохранение конфиденциальности некоторых данных;данные преобразуются в непрозрачный большой двоичный объект, и обратная операция требует чего-то, что злоумышленник не знает, то есть «секретной» или «частной» информации.Весь смысл шифрования состоит в том, что расшифровка не может быть сделана только с публичной информацией;следовательно, для расшифровки используется закрытый ключ.Тем не менее, нет никаких проблем, позволяющих кому-либо шифровать данные, поэтому шифрование может использовать открытый ключ.
Существуют некоторые алгоритмы (на практике только один: RSA), которые, на первый взгляд, выглядят так: "обратимый »: вы можете подумать об использовании закрытого ключа для шифрования и открытого ключа для расшифровки.Как объяснено выше, наступает конфиденциальность (если ключ дешифрования является открытым, то любой может расшифровать, следовательно, зашифрованные данные больше не могут считаться конфиденциальными).Такое «обратное шифрование» может использоваться в качестве основы для алгоритма цифровой подписи , в котором отсутствует понятие конфиденциальности, а вместо этого имеется проверяемое доказательство действия владельца ключа.
Однако - это нечто большее, чем модульное возведение в степень.Шифрование RSA сначала преобразует входное сообщение в большое целое число с помощью операции, называемой «заполнение».Генерация подписи RSA сначала преобразует входное сообщение в большое целое число с помощью другой операции, которая также называется «заполнением»; но это совсем не тот же отступ.Заполнение имеет важное значение для безопасности, и необходимые характеристики совершенно различны между шифрованием и подписью.Например, заполнение шифрования требует высокого уровня дополнительной случайности, тогда как заполнение подписи требует большой избыточности (и хэш-функции для размещения длинных входных сообщений).
Говоря о сигнатурах как "шифрование"с закрытым ключом »- так исторически описывается стандартом RSA (отсюда и названия, такие как« md5WithRSAEncryption »), но он неточен (отступы являются и должны быть разными) и чрезмерно специфичен (он применяется только к RSA, а не к ElГамаль, DSA, Диффи-Хеллман, NTRU ...).Это просто распространенная путаница.