# Шифруем файлы на Kali Linux с помощью OpenSSL

### Как зашифровать файл на Kali Linux <a href="#kak-zashifrovat-fail-na-kali-linux" id="kak-zashifrovat-fail-na-kali-linux"></a>

1. Будем шифровать файл в режиме счетчика. Открываем окно терминала Kali Linux.
2. Создаём текстовый файл, содержащий сообщение Secret:

```
kali@kali:~$ echo "Secret" > plain.txt
```

3\. Смотрим содержимое файла благодаря команде cat:

```
kali@kali:~$ cat plain.txt
```

4\. Шифруем файл и вводим пароль. Вот команда:

```
kali@kali:~$ openssl enc -aes-256-ctr -pbkdf2 -e -a -in plain.txt -out encrypted.txt
```

Флаг enc -aes-256-ctr → указывает на то, что нужно использовать блочный шифр aes256ctr.

Разберем строку:

**`aes`** → функция сопоставления, используемая в каждом блоке. В нашем случае — это упомянутый ранее шифр AES.

**`256`** → размер блока, у нас он 256 бит.

**`ctr`** → режим блочного шифрования CTR.

**`-pbkdf2`→**&#x444;ункция формирования ключа\
\
Флаг **`-e`** → приказывает библиотеке openssl зашифровать файл.

Флаг **`-a`** → преобразует двоичные данные в зашифрованном файле в формат Base64, чтобы упростить его вывод на экран в терминале.

**`-in`** и **`-out`**→ указывают подлежащий шифрованию файл и имя выходного файла соответственно.

5\. Чтобы открыть зашифрованный файл, выполните команду `cat`:

```
kali@kali:~$ cat encrypted.txt
```

### Как расшифровать зашифрованный файл на Kali Linux <a href="#kak-rasshifrovat-zashifrovannyi-fail-na-kali-linux" id="kak-rasshifrovat-zashifrovannyi-fail-na-kali-linux"></a>

1. Выполняем команду:

```
kali@kali:~$ openssl enc -aes-256-ctr -pbkdf2 -d -a -in encrypted.txt -out decrypted.txt
```

Флаг **`-d`** → приказывает openssl расшифровать файл.

2\. Введем пароль, который использовали ранее.

**Важно уточнение:** злоумышленник, который получил доступ к зашифрованному файлу, вероятно, не сможет его расшифровать, но может повредить его, изменив зашифрованные биты.
