Decrypt encrypted files using a Shell script

Shell Scripting @ Freshers.in

Introduction to Shell Script for File Decryption

Decrypting files using a Shell script is a valuable skill for system administrators and users alike. In this article, we’ll explore how to create a Shell script that takes an encrypted file as an argument and decrypts it. We’ll provide a step-by-step explanation of the decryption process, along with practical examples and output.

Understanding Encryption and Decryption

Encryption is the process of converting plaintext data into ciphertext using an encryption algorithm and a secret key. Decryption is the reverse process of converting ciphertext back into plaintext using the same algorithm and key.

Decryption Process Overview

To decrypt an encrypted file using a Shell script, we need the encrypted file itself and the secret key used for encryption. The decryption process involves using a decryption tool or command-line utility to apply the decryption algorithm with the secret key and generate the decrypted output.

Writing the Decryption Shell Script

Let’s create a Shell script named decrypt_file.sh that takes an encrypted file as an argument and decrypts it using the openssl command-line tool, a widely used tool for cryptographic operations.

#!/bin/bash

# Check if the correct number of arguments are provided
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 <encrypted_file> <key>"
    exit 1
fi

# Assign arguments to variables
encrypted_file=$1
key=$2

# Decrypt the encrypted file using openssl
openssl enc -d -aes-256-cbc -in "$encrypted_file" -out decrypted_file.txt -k "$key"

echo "File decrypted successfully!"

We use the openssl command-line tool to decrypt the encrypted file.

The -d flag indicates decryption mode.

We specify the encryption algorithm (aes-256-cbc) and the input and output files using the -in and -out flags.

The -k flag is used to provide the decryption key.

Example Usage and Output

Let’s assume we have an encrypted file named encrypted_data.txt and a key mysecretkey.

$ ./decrypt_file.sh encrypted_data.txt mysecretkey

After running the script, a new file named decrypted_file.txt will be created with the decrypted contents of the encrypted file.

Author: user