Saya ingin mengenkripsi file menggunakan AES-256. Bagaimana saya bisa melakukannya dengan cepat dan mudah, dan bagaimana saya bisa - atau orang lain - mendekripsi lagi?
sumber
Saya ingin mengenkripsi file menggunakan AES-256. Bagaimana saya bisa melakukannya dengan cepat dan mudah, dan bagaimana saya bisa - atau orang lain - mendekripsi lagi?
Sayangnya, tidak ada solusi mudah untuk mengamankan barang-barang Anda. Pikirkan tentang use case Anda, mungkin sesuatu selain AES biasa lebih cocok.
Jika Anda ingin enkripsi independen platform yang sangat sederhana, Anda dapat menggunakan openssl .
Jika Anda masih ingin menggunakan openssl:
Enkripsi:
openssl aes-256-cbc -in attack-plan.txt -out message.enc
Dekripsi:
openssl aes-256-cbc -d -in message.enc -out plain-text.txt
Anda bisa mendapatkan openssl ke base64
-encode pesan dengan menggunakan -a
sakelar enkripsi dan dekripsi. Dengan cara ini, Anda dapat menempelkan ciphertext dalam pesan email, misalnya. Ini akan terlihat seperti ini:
stefano:~$ openssl aes-256-cbc -in attack-plan.txt -a
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
U2FsdGVkX192dXI7yHGs/4Ed+xEC3ejXFINKO6Hufnc=
Perhatikan bahwa Anda memiliki pilihan cipher dan mode operasi. Untuk penggunaan normal, saya sarankan aes 256 dalam mode CBC. Ini adalah mode sandi yang Anda miliki (hanya menghitung AES):
aes-128-cbc ← this is okay
aes-128-ecb
aes-192-cbc
aes-192-ecb
aes-256-cbc ← this is recommended
aes-256-ecb
Lihat juga:
Tolong dicatat:
OpenSSL akan meminta Anda kata sandi. Ini bukan kunci enkripsi, tidak terbatas pada 32 byte! Jika Anda akan mentransfer file dengan orang lain, rahasia Anda yang dibagikan harus sangat kuat. Anda dapat menggunakan situs ini untuk mengetahui seberapa baik kata sandi Anda:
Peringatan: Saya telah memeriksa bahwa situs-situs ini tidak mengirimkan kata sandi Anda ke server, tetapi itu dapat berubah sewaktu-waktu. Gunakan situs-situs ini dengan alat dev / inspektur dan periksa apakah mereka mengirim sesuatu sebelum mengetikkan kata sandi Anda yang kuat.
openssl aes-256-cbc
lebih pendek dariopenssl enc -aes-256-cbc
dan berfungsi juga. Halaman manual untuk ini tersedia dengan menjalankanman enc
. Jangan pernah gunakanecb
untuk data yang tidak bisa di-tempered, selalu gunakancbc
.-salt
redundan karena default. Jika Anda menghilangkan-out filename
output akan ditulis ke output standar yang berguna jika Anda hanya perlu menganalisis data, tetapi tidak menuliskannya ke disk. THe perintah selanjutnya menunjukkan cound baris untuk plaintext:openssl aes-256-cbc -d -in filename | wc -l
. (penggunaan lain, membaca file:openssl aes-256-cbc -d -in filename | less
)/usr/bin/openssl enc -aes-256-cbc -a -salt -in $1 -out ${1}.enc
dengan kebalikannya seperti yang Anda harapkan.openssl
alat baris perintah sebagian besar merupakan bukti konsep untuk menguji pustaka OpenSSL. Jawaban yang tepat untuk pertanyaan ini adalah GPG atau pengarsip seperti 7z .openssl enc
sebenarnya tidak terlalu aman jika Anda memiliki kata sandi yang lemah. Saya sebelumnya merekomendasikan penggunaan tertentuopenssl enc
, tetapi sekarang menyarankan untuk menggunakannyagpg
karena menggunakan KDF dengan cara yang lebih baik. Lihat jawaban ini .Saya suka menggunakan
gpg
perintah:Enkripsi:
Steno:
Ini akan meminta kata sandi.
Dekripsi:
Steno:
Anda juga dapat menambahkan
cipher-algo AES256
untuk~/.gnupg/gpg.conf
membuat AES256 default. (Menurut halaman manual itu adalah CAST5 )sumber
AES
(artinya AES-128). AES-128 sedikit lebih cepat dan tidak kalah aman.gpg
caching kata sandi?7z (ketika opsi kata sandi digunakan) menggunakan enkripsi AES 256bit (dengan peregangan kunci SHA256 ).
Instal (
p7zip-full
), klik kanan pada file atau direktori yang ingin Anda enkripsi, dan pilih Kompres , .7z dan Opsi / Kata Sandi lainnya .Untuk dekripsi, klik kanan pada file .7z dan pilih Ekstrak di sini .
sumber
aescrypt
Situs web tertaut berisi alat 256-bit aes mengenkripsi / mendekripsi alat open-source dan multiplatform - MacO, Windows, Linux, dan lainnya melalui Java.
Enkripsi:
aescrypt -e <file>
Dekripsi:
aescrypt -d <file>
Anda dapat membuat cadangan dan mengenkripsi folder beranda menggunakan sintaks:
instalasi ubuntu
Unduh dan ekstrak sumbernya
platform lain
Unduh binari atau kode sumber dari situs web.
sumber
Banyak saran yang saya buat sudah diajukan di utas ini. Pada dasarnya, openssl adalah cara termudah untuk mengenkripsi file atau skrip. Namun, saya akan memperingatkan untuk tidak menggunakan AES-256 hanya karena tidak tersedia di semua versi openssl pada beberapa platform. Sebagian besar OS yang lebih baru ... yaitu Linux memilikinya. Tetapi yang lain seperti AIX 5.3 tidak (saya pikir juga HP-UX). Jika Anda ingin menggunakan file atau skrip Anda di berbagai platform, saya sangat menyarankan menggunakan AES-128 karena ini tersedia di mana-mana.
Bagaimana Anda bisa "dengan cepat dan mudah" mengenkripsi file menggunakan AES-128?
Situs seperti www.ShellScrypt.com menggunakan openssl AES-128 dengan cukup intens untuk mengenkripsi skrip shell dan kemudian membuat salinan terenkripsi dari skrip dieksekusi. Yang harus Anda lakukan adalah menempelkan skrip ke situs, dan file zip akan dibuat untuk Anda. File zip itu akan berisi versi file Anda yang terenkripsi (dan dapat dieksekusi). Ini memungkinkan Anda untuk " dengan mudah " dan "dengan mudah " mengenkripsi file / skrip tanpa harus memenuhi persyaratan paket atau modul pada setiap sistem yang Anda maksudkan untuk menggunakan skrip atau menjalankan beberapa mantra kompleks dan membingungkan perintah openssl.
Yang ditunjukkan di bawah ini adalah perintah openssl mengenkripsi / mendekripsi dasar yang menggunakan AES-128:
sumber
Menambah jawaban Stefano Palazzo, saya membuat fungsi bash kecil yang bekerja mirip dengan perintah base64.
Itu akan aes256 mengenkripsi file, dan kemudian base64 menyandikannya. Ketika melakukan kebalikannya, itu akan base64 decode, decrypt, dan kemudian memuntahkan teks asli.
Pemakaian:
sumber