Симметричное шифрование файлов

В примере ниже используется блочный шифр aes с длиной ключа 256 и Режим работы блочного шифра CBC.

Симметричное шифрование файлов. Golang-Python

Пример в консоли

  • Создать 256 битный ключ шифрования:
openssl rand -hex 32
  • Создать 128 битный IV (той же длины что и размер блока):
openssl rand -hex 16
  • Зашифровать файл с помощью aes-256-cbc:
openssl enc \
-aes-256-cbc \
	–K 74c8a19fee9e0710683afe526462ce8a960ca1356e113bf3a08736a68a48eca0 \
-iv 4007fbd36f08cb04869683b1f8a15c99 \
-e \
-in somefile.txt \
-out somefile.txt.encrypted
  • Расшифровать файл с помощью aes-256-cbc:
openssl enc \
-aes-256-cbc \
	–K 74c8a19fee9e0710683afe526462ce8a960ca1356e113bf3a08736a68a48eca0 \
-iv 4007fbd36f08cb04869683b1f8a15c99 \
-d \
-in somefile.txt.encrypted \
-out somefile.txt.decrypted