Perkenalan

Perkenalan

OpenSSL adalah toolkit kriptografi yang kuat. Banyak dari kita telah menggunakan OpenSSL untuk membuat kunci pribadi RSA atau CSR (Permintaan Penandatanganan Sertifikat). Namun, tahukah Anda bahwa Anda dapat menggunakan OpenSSL untuk membandingkan kecepatan komputer Anda atau Anda juga dapat mengenkripsi file atau pesan? Artikel ini akan memberi Anda beberapa tips sederhana untuk mengikuti tentang cara mengenkripsi pesan dan file menggunakan OpenSSL.

Mengenkripsi dan mendekripsi pesan

Pertama kita bisa mulai dengan mengenkripsi pesan sederhana. Perintah Linux berikut akan mengenkripsi pesan “Selamat datang di LinuxCareer.com ”menggunakan encoding base64:

$ echo "Selamat datang di linuxcareer.com "| openssl enc -Base64
V2VSY29TZSB0BYBMAW51ENENHCMVLCI5JB20K

Output dari perintah di atas adalah string terenkripsi yang berisi pesan yang dikodekan “Selamat datang di linuxcareer.com ". Untuk mendekripsi string yang dikodekan kembali ke pesan aslinya, kita perlu membalikkan pesanan dan melampirkan -D opsi untuk dekripsi:

$ echo "v2vsy29tzsb0bybmaw51eenhcmvlci5jb20k" | OpenSSL ENC -Base64 -D
Selamat datang di LinuxCareer.com

Enkripsi di atas mudah digunakan, namun, tidak memiliki fitur penting dari kata sandi, yang harus digunakan untuk enkripsi. Misalnya, cobalah untuk mendekripsi string berikut dengan kata sandi "lulus“:

U2FSDGVKX181XSCMHKPIA6J0QD76N/NSJJTC9NRDUC0CBSLPZQXQ2DB7IPD7KEXJ

Untuk melakukan itu, gunakan OpenSSL lagi dengan opsi -D dan metode pengkodean AES-256-CBC:

echo "u2fsdgvkx181xscmhkpia6j0qd76n/nsjjtc9nrduc0cbslpzqxq2db7ipd7kexj" | OpenSSL Enc -AES -256 -CBC -D -A

Seperti yang mungkin sudah Anda tebak, untuk membuat pesan terenkripsi dengan kata sandi karena yang di atas Anda dapat menggunakan perintah Linux berikut:

 $ echo "openssl" | OpenSSL ENC -AES-256-CBC -a Masukkan Kata Sandi Enkripsi AES-256-CBC:
Memverifikasi-Masukkan Kata Sandi Enkripsi AES-256-CBC:
U2fsdgvkx185e3h2me2d+qmcfkesxdtn8ncn/4sblr8 =


Jika Anda ingin menyimpan output OpenSSL ke file alih -alih stdout cukup gunakan pengalihan stdout ">". Saat menyimpan output terenkripsi ke file, Anda juga dapat menghilangkan -A Opsi karena Anda tidak lagi membutuhkan output untuk berdasarkan teks ASCII:

$ echo "openssl" | OpenSSL ENC -AES-256-CBC> OpenSSL.dat
Masukkan Kata Sandi Enkripsi AES-256-CBC:
Memverifikasi-Masukkan Kata Sandi Enkripsi AES-256-CBC:
$ file openssl.dat
openssl.DAT: Data

Untuk mendekripsi openssl.File DAT kembali ke penggunaan pesan aslinya:

$ openssl enc -aes-256 -cbc -d -in openssl.dat
Masukkan Kata Sandi Dekripsi AES-256-CBC:
Openssl

File mengenkripsi dan mendekripsi

Untuk mengenkripsi file dengan OpenSSL sesederhana mengenkripsi pesan. Satu -satunya perbedaan adalah bahwa alih -alih gema Perintah Kami menggunakan -di dalam opsi dengan file aktual yang ingin kami enkripsi dan -keluar Opsi, yang akan menginstruksikan OpenSSL untuk menyimpan file terenkripsi dengan nama yang diberikan:

PERINGATAN: Pastikan bahwa file output terenkripsi diberikan nama file yang berbeda dari file input polos asli. Juga disarankan untuk melakukan beberapa uji enkripsi/dekripsi berjalan pada data dummy sebelum mengenkripsi konten penting.

$ openssl enc -aes-256 -cbc -in /etc /services -Out Services.dat

Untuk mendekripsi kembali penggunaan file layanan kami:

$ OpenSSL ENC -AES -256 -CBC -D -IN LAYANAN.DAT> Layanan.txt
Masukkan Kata Sandi Dekripsi AES-256-CBC:

Direktori Enkripsi dan Dekripsi

Jika Anda perlu menggunakan OpenSSL untuk mengenkripsi seluruh direktori yang Anda inginkan, FIR, T perlu membuat GZIP Tarball dan kemudian mengenkripsi tarball dengan metode di atas atau Anda dapat melakukan keduanya secara bersamaan dengan menggunakan pipa:

# tar cz /dll | OpenSSL Enc -AES -256 -CBC -Out dll.ter.GZ.dat
Tar: Menghapus Terpimpin '/' dari Nama Anggota
Masukkan Kata Sandi Enkripsi AES-256-CBC:
Memverifikasi-Masukkan Kata Sandi Enkripsi AES-256-CBC:

Untuk mendekripsi dan mengekstrak seluruh direktori/ direktori untuk Anda saat ini menggunakan Direktori Kerja:

# OpenSSL Enc -AES -256 -CBC -D -in dll.ter.GZ.DAT | tar xz
Masukkan Kata Sandi Dekripsi AES-256-CBC:

Metode di atas bisa sangat berguna untuk cadangan terenkripsi otomatis.



Menggunakan kunci publik dan pribadi

Di bagian ini kami akan menunjukkan cara mengenkripsi dan mendekripsi file menggunakan kunci publik dan pribadi. Pertama kita perlu menghasilkan kunci pribadi dan publik. Ini hanya dapat dilakukan oleh:

$ openssl genrsa -out private_key.PEM 1024
Menghasilkan Kunci Pribadi RSA, Modulus Panjang 1024 Bit
.. ++++++
.. ++++++
E adalah 65537 (0x10001)

Dari kunci pribadi kita kemudian dapat menghasilkan kunci publik:

$ openssl rsa -in private_key.PEM -OUT PUBLIK_KEY.PEM -Outform PEM -Pubout
Menulis Kunci RSA

Pada titik ini Anda harus memiliki kunci pribadi dan publik yang tersedia di direktori kerja Anda saat ini.

$ ls
private_key.PEM Public_key.PEM

Selanjutnya, kami membuat beberapa file sampel yang disebut enkripsi.txt dengan teks sewenang -wenang:

$ echo "Selamat datang di linuxcareer.com "> enkripsi.txt
$ enkripsi kucing.txt
Selamat datang di LinuxCareer.com

Sekarang kami siap mengenkripsi file ini dengan kunci publik:

$ openssl rsautl -encrypt -intey public_key.PEM -Pubin -in enkripsi.enkripsi txt -out.dat
$ ls
mengenkripsi.enkripsi DAT.txt private_key.PEM Public_key.PEM
$ enkripsi file.dat
mengenkripsi.DAT: Data

Seperti yang Anda dapat melihat enkripsi baru kami.File DAT bukan lagi file teks. Untuk mendekripsi file ini, kita perlu menggunakan kunci pribadi:

$ openssl rsautl -decrypt -intey private_key.PEM -Di enkripsi.dat -out new_encrypt.txt
$ cat new_encrypt.txt
Selamat datang di LinuxCareer.com

Sintaks di atas cukup intuitif. Seperti yang Anda lihat, kami telah mendekripsi enkripsi file.Dat ke bentuk aslinya dan simpan sebagai new_encrypt.txt. Anda dapat misalnya menggabungkan sintaks ini dengan contoh direktori enkripsi di atas untuk membuat skrip cadangan terenkripsi otomatis.

Kesimpulan

Apa yang baru saja Anda baca adalah pengantar dasar untuk enkripsi openssl. Ketika datang ke openssl sebagai alat enkripsi secara harfiah tidak memiliki batasan pada apa yang dapat Anda lakukan. Untuk melihat cara menggunakan metode pengkodean yang berbeda, lihat Halaman Manual OpenSSL: Man OpenSSL

Tutorial Linux Terkait:

  • Cara Mengatur Server OpenVPN di Ubuntu 20.04
  • Cara menghasilkan sertifikat SSL yang ditandatangani sendiri di Linux
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Tes Benchmark Drive USB di Linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Cara membandingkan kinerja disk di linux
  • Menguji klien https menggunakan openssl untuk mensimulasikan server
  • Menguasai loop skrip bash
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…