В области криптографии шифрование — это процесс превращения открытого текста или информации в шифротекст, или текст, который может быть расшифрован только предполагаемым получателем. Шифр — это термин, используемый для описания алгоритма шифрования. Он обеспечивает безопасность коммуникационных сетей и помогает предотвратить незаконный доступ к информации о клиентах, электронной почте и другим важным данным. В настоящее время существуют различные решения, поэтому мы можем выбрать лучший безопасный алгоритм, удовлетворяющий нашим потребностям.
Шифрование: Шифрование — это преобразование открытого текста в шифрованный, доступ к которому могут получить только авторизованные пользователи с правильным криптографическим ключом, шифрование — это компьютерный процесс. Шифрование, которое является важной частью цифровой революции, просто изменяет читаемые данные в другую форму, которую могут расшифровать и просмотреть только лица, имеющие соответствующий пароль.
Расшифровка: Процесс возвращения бессмысленного сообщения (шифротекста) к его первоначальному формату называется расшифровкой (открытого текста). Для его функционирования применяется алгоритм обратного преобразования по сравнению с тем, который использовался для шифрования данных. Информация должна быть расшифрована с использованием того же ключа, чтобы вернуть ее в исходное состояние.
При симметричном шифровании ключ используется как отправителем, так и получателем для шифрования и дешифрования. В случае симметричного шифрования и дешифрования ключ, используемый отправителем и получателем, одинаков. Теперь давайте рассмотрим пример симметричного шифрования и дешифрования.
Пример
Предположим, что используемый здесь ключ равен 7
Сторона отправителя:
Clear text : G E E K Key: 7 7 7 7 Cipher text: N L L R
Принимающая сторона:
Cipher text: N L L R Key: 7 7 7 7 Decipher text: G E E K
/*package whatever //do not write package name here */ // Java code of above approach // Importing required packages import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; public class GFG { public static void main(String[] args) { try { // Generating objects of KeyGenerator & // SecretKey KeyGenerator keygenerator = KeyGenerator.getInstance("DES"); SecretKey myDesKey = keygenerator.generateKey(); // Creating object of Cipher Cipher desCipher; desCipher = Cipher.getInstance("DES"); // Creating byte array to store string byte[] text = "No body can see me.".getBytes("UTF8"); // Encrypting text desCipher.init(Cipher.ENCRYPT_MODE, myDesKey); byte[] textEncrypted = desCipher.doFinal(text); // Converting encrypted byte array to string String s = new String(textEncrypted); System.out.println(s); // Decrypting text desCipher.init(Cipher.DECRYPT_MODE, myDesKey); byte[] textDecrypted = desCipher.doFinal(textEncrypted); // Converting decrypted byte array to string s = new String(textDecrypted); System.out.println(s); } catch (Exception e) { System.out.println("Exception"); } } }
Вывод
�1g��^�(����/�J��K: No body can see me.