Вопрос

Является ли DES-шифрование «односторонним шифрованием»? или «двустороннее шифрование»; ? Существуют ли PHP-класс или метод для расшифровки DES-шифрования? спасибо

Это было полезно?

Решение

Функция php crypt является односторонней функцией хеширования, если вы хотите иметь возможность расшифруйте, взгляните на расширение mcrypt , которое поддерживает ряд алгоритмов

Другие советы

Следует отметить, что есть (и всегда были) вопросы, связанные с DES алгоритм. Он широко использовался в течение длительного времени, но, поскольку он изначально был указан только с 56-битным ключом, сомнительно, достаточно ли он безопасен для каких-либо важных применений на данный момент. Тройной DES, как правило, лучше, но есть некоторые известные теоретические атаки. Если у вас есть выбор шифра, вы можете вместо этого взглянуть на AES .

DES можно перевернуть, поэтому это двустороннее шифрование (если вы это имели в виду).

DES - довольно известный стандарт шифрования, поэтому он должен быть доступен и в PHP.

Одностороннее шифрование - это безопасная форма хеширования : открытый текст заменяется на случайную последовательность данных, часто фиксированной длины, таким образом, что исходный открытый текст (теоретически) не может быть получен без грубого усилия.

Двустороннее шифрование или обратимое шифрование - это то, что мы обычно подразумеваем под термином шифрование : открытый текст преобразуется в очевидно случайные данные , но таким образом, чтобы он опирался на «ключ»; это позволяет получить исходный открытый текст.

DES - это форма обратимого шифрования, которая является относительно слабой по современным стандартам, так как использует 56-битный ключ (14 шестнадцатеричных символов). Он был заменен 3DES или Triple-DES, который по сути является тем же алгоритмом с более длинным ключом.

Вы не упоминаете свое приложение, но если вам нужно только сравнить данные, а не извлечь их, хеширование считается более безопасным. Например, вы можете хранить хешированные пароли; затем, когда пользователь аутентифицируется, выполните тот же хэш для введенного текста и сравните его с сохраненным хэшированным значением. Если они совпадают, был введен правильный пароль.

Существенным преимуществом хеширования является то, что вам не нужно хранить ключ дешифрования.

Я не знаком с "односторонним шифрованием" или «двустороннее шифрование»; термины. Существует термин «одноразовый пароль»; (совершенно не имеет значения для DES), и есть «симметричный» и «асимметричный»; алгоритмы шифрования, означающие, используется ли один и тот же ключ для шифрования и дешифрования (симметричный) или набор из двух разных ключей, один для шифрования, а другой для дешифрования (ассиметричный). DES - симметричный алгоритм. Что касается PHP, crypt (), так как будет делать эту работу:

http://us2.php.net/crypt

Я думаю, вы, вероятно, имеете в виду одностороннюю функцию [1]. В криптографии различают симметричную и асимметричную криптографию. Симметричная криптография использует один и тот же ключ для шифрования и дешифрования (DES является симметричным). Асимметричная криптография используется для обмена ключами, а открытый ключ - для шифрования сообщения, а закрытый ключ - для его расшифровки. Примером асимметричной криптографии является AES [2]. Асимметричная криптография использует односторонние функции.

[1] http://en.wikipedia.org/wiki/One-way_function [2] http://en.wikipedia.org/wiki/AES

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top