Что нужно для NullCipher - PullRequest
       4

Что нужно для NullCipher

1 голос
/ 27 апреля 2020

Шифры в JAVA используются для получения текста шифра для данного простого текста. С учетом сказанного, что действительно нужно для javax.crypto.NullCipher.

Согласно [Oracle Docs], (https://docs.oracle.com/javase/8/docs/api/javax/crypto/NullCipher.html) класс NullCipher - это класс, который предоставляет «идентификационный шифр» - тот, который не преобразует простой текст. Как следствие, зашифрованный текст идентичен открытому тексту.

Тогда просто хотелось понять, какова реальная потребность в классе NullCipher и каковы его варианты использования?

1 Ответ

1 голос
/ 28 апреля 2020

NullCipher действительно полезен для тестирования. Например, его можно использовать для реализации набора шифров TLS_RSA_PSK_WITH_NULL_SHA, который имеет аналогичное назначение. Таким образом, вы оставили бы весь код там - включая генерацию IV, Cipher экземпляров и т. Д., Но просто отключили шифрование и конфиденциальность, оставив остальное - разбор записи, рукопожатие, аутентификацию объекта и целостность сообщения - без изменений.

Таким способом можно обнаружить ошибки передачи или промежуточного кодирования / декодирования. Если открытый текст не выживает с NullCipher, то проблема явно не в расшифровке. Однако помните, что размер блока в 1 байт может скрывать ошибки для шифров, где размер блока составляет 8 байт (3DES) или 16 байт (AES). Другими словами, NullCipher действует как потоковый шифр. Это неудивительно: в конце концов он просто возвращает открытый текст - блоки не требуются.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...