Enkripsi Teks
Alat enkripsi teks online yang menyediakan fungsi dekripsi MD5, SHA, AES dan enkripsi AES.
Pentingnya enkripsi data
Enkripsi data dapat meningkatkan keamanan data, sehingga bahkan jika data dicuri, peretas tidak dapat langsung mengakses data, sehingga mengurangi risiko kebocoran dan kehilangan data.
Algoritma enkripsi MD5
Enkripsi MD5 adalah fungsi hash yang umum digunakan untuk mengompresi informasi dari panjang apa pun menjadi 128 bit (16 byte) data. Dirancang oleh kriptografer Amerika Ron Rivest pada tahun 1991 dan telah menjadi salah satu algoritma enkripsi yang banyak digunakan.
Ide inti dari algoritma MD5 adalah mengubah data asli menjadi ringkasan informasi dengan panjang tetap melalui beberapa operasi hash. Langkah-langkah khusus adalah sebagai berikut:
Padding data: pad data asli sehingga panjangnya memenuhi 448 modulo 512, yaitu, n * 512 + 448, di mana n adalah bilangan bulat non-negatif.
Tambahkan panjang: Tambahkan nilai panjang 64 bit di akhir data yang dipadatkan, menunjukkan panjang data asli. Karena algoritma MD5 hanya mendukung data masukan yang panjangnya tidak melebihi 2^64, nilai panjang perlu diwakili dalam 64 bit.
Variabel awal: tentukan empat register 32 bit A, B, C, D, dan sebuah array konstan 64 bit T.
Pemrosesan data paket: Bagi data yang diisi ke dalam paket 512 bit, dan proses satu paket pada satu waktu. Untuk setiap grup, dilakukan 4 putaran siklus, dan setiap siklus mencakup 4 langkah: F, G, H, I.
a. F fungsi: Tiga register B, C, dan D digunakan sebagai masukan, dan hasil 32 bit dihasilkan setelah serangkaian operasi bit dan fungsi nonlinier.
b. G fungsi: Tiga register C, D, dan A digunakan sebagai masukan, dan hasil 32 bit dihasilkan setelah serangkaian operasi bit dan fungsi nonlinier.
c. H fungsi: Tiga register D, A, dan B digunakan sebagai masukan, dan hasil 32 bit dihasilkan setelah serangkaian operasi bit dan fungsi nonlinier.
d. Fungsi I: ambil tiga register C, B, dan A sebagai masukan, dan hasil 32 bit dihasilkan setelah serangkaian operasi bit dan fungsi nonlinier.
Hasil gabungan: Hasil empat register digabungkan secara berurutan untuk memperoleh nilai hash 128 bit.
Melalui langkah-langkah di atas, algoritma MD5 dapat mengompresi data apa pun menjadi nilai hash 128 bit, yang tidak dapat dibalikkan dan unik. Oleh karena itu, enkripsi MD5 banyak digunakan dalam verifikasi integritas data, tanda tangan digital, perlindungan kata sandi, dll. Namun, karena algoritma MD5 memiliki celah keamanan dan rentan terhadap serangan tabrakan dan serangan pra-pemetaan, diperlukan penggunaan algoritma enkripsi yang lebih aman dalam skenario dengan persyaratan keamanan yang tinggi.
Algoritma enkripsi SHA
SHA (Secure Hash Algorithm) adalah algoritma enkripsi yang dapat mengubah data (pesan) dengan panjang yang tidak terbatas menjadi nilai hash dengan panjang tetap, dan biasanya digunakan untuk memastikan integritas dan keamanan data. Algoritma SHA dikembangkan oleh National Security Agency (NSA) AS, dan saat ini ada beberapa versi, yang lebih populer di antaranya adalah SHA-1, SHA-2, dan SHA-3.
SHA-1 (Secure Hash Algorithm 1) adalah salah satu versi dari algoritma SHA yang paling awal dan banyak digunakan, yang mengonversi pesan dengan panjang apa pun menjadi nilai hash 160-bit. SHA-2 mencakup empat varian yaitu SHA-224, SHA-256, SHA-384, dan SHA-512, yang mengonversi pesan menjadi hash dengan panjang masing-masing 224-bit, 256-bit, 384-bit, dan 512-bit. SHA-3 adalah versi terbaru dari algoritma SHA, yang mengonversi pesan menjadi nilai hash dengan panjang tetap. Berbeda dengan SHA-2, desain algoritma SHA-3 didasarkan pada algoritma Keccak.Prinsip enkripsi dari algoritma SHA dapat secara singkat diringkas sebagai langkah-langkah berikut:1. Pra-pemrosesan data (Padding): Algoritma SHA pertama-tama akan mem-padded data masukan untuk memenuhi persyaratan algoritma. Metode pengisian spesifik terkait dengan versi algoritma.2. Nilai Hash Awal: Algoritma SHA menetapkan nilai hash awal yang tetap sebagai konstan.3. Pengelompokan pesan: Algoritma SHA membagi data masukan menjadi beberapa blok pesan dengan panjang tetap (512 bit). Setelah setiap blok pesan menjalani serangkaian perhitungan, nilai hash 256-bit akan didapatkan.4. Perhitungan iteratif nilai hash: Algoritma SHA akan menggunakan nilai hash blok pesan sebelumnya sebagai masukan blok pesan berikutnya, dan melakukan perhitungan iteratif sampai nilai hash semua blok pesan dihitung.5. Output: Algoritma SHA akhirnya menggabungkan nilai hash semua blok pesan untuk menghasilkan nilai hash akhir sebagai output.Karena panjang nilai hash dari algoritma SHA tetap dan sangat besar, algoritma SHA memiliki keamanan yang tinggi dan ireversibilitas, dan dapat digunakan untuk verifikasi integritas data, tanda tangan digital, dan aplikasi keamanan lainnya.
Algoritma enkripsi AES
AES (Advanced Encryption Standard) adalah standar enkripsi canggih, juga dikenal sebagai algoritma Rijndael, dan merupakan salah satu algoritma enkripsi simetris yang paling banyak digunakan saat ini. Algoritma enkripsi AES menggunakan kunci yang sama untuk mengenkripsi dan mendekripsi data dan oleh karena itu diklasifikasikan sebagai algoritma enkripsi simetris.
Prinsip enkripsi AES dapat secara singkat diringkas sebagai langkah-langkah berikut:
1. Ekspansi Kunci: Algoritma AES pertama-tama perlu mengembangkan kunci masukan menjadi array kunci besar, yang digunakan untuk operasi enkripsi dan dekripsi selanjutnya.
2. Putaran awal (Initial Round): Algoritma AES melakukan serangkaian pra-pemrosesan pada data masukan, termasuk pengelompokan data masukan, penambahan kunci putaran, substitusi byte, dan pergeseran baris.
3. Putaran: Algoritma AES menggunakan beberapa putaran iterasi untuk operasi enkripsi, dan setiap putaran iterasi termasuk empat langkah: substitusi byte, pergeseran baris, kebingungan kolom, dan penambahan kunci putaran.
4. Putaran Akhir: Algoritma AES melakukan pemrosesan khusus pada blok data terakhir, termasuk substitusi byte, pergeseran baris, dan penambahan kunci putaran.
5. Output: Algoritma AES mengeluarkan blok data terenkripsi sebagai ciphertext, dan operasi dekripsi memasukkan ciphertext ke dalam algoritma AES untuk dekripsi.
Dalam algoritma AES, operasi enkripsi dan dekripsi dapat dibalikkan, dan data terenkripsi dapat didekripsi menggunakan kunci yang sama. Algoritma AES menyediakan tiga panjang kunci: 128 bit, 192 bit, dan 256 bit. Semakin panjang panjang kunci, semakin tinggi keamanan algoritma.
Algoritma AES memiliki keamanan dan efisiensi yang tinggi, dan banyak digunakan dalam berbagai skenario keamanan, seperti transmisi data terenkripsi, penyimpanan file terenkripsi, tanda tangan digital, dan lain-lain.
Algoritma dekripsi AES
Algoritma untuk mendekripsi data yang dienkripsi AES adalah sama dengan algoritma enkripsi, kecuali bahwa kunci digunakan dengan cara yang berbeda.
Berikut adalah langkah-langkah untuk mendekripsi data yang dienkripsi AES menggunakan kunci:
1. Dapatkan data yang dienkripsi AES dan kunci.
2. Kelompokkan kunci berdasarkan panjang kunci, misalnya kunci 128-bit akan dibagi menjadi empat kata 32-bit.
3. Tentukan jumlah putaran yang diperlukan berdasarkan panjang kunci. Misalnya, menggunakan kunci 128-bit memerlukan 10 putaran, kunci 192-bit memerlukan 12 putaran, dan kunci 256-bit memerlukan 14 putaran.
4. Gunakan kunci untuk mendekripsi data yang dienkripsi. Proses dekripsi meliputi beberapa langkah, yang paling penting adalah penambahan kunci putaran, substitusi byte, pergeseran baris, dan pengaburan kolom.
5. Ulangi proses dekripsi untuk beberapa putaran.
6. Lakukan putaran dekripsi terakhir, tetapi lewatkan langkah pengaburan kolom.
7. Akhirnya, data yang didekripsi didapatkan.
Perlu dicatat bahwa panjang kunci yang digunakan oleh algoritma enkripsi AES harus menjadi salah satu dari 128 bit, 192 bit atau 256 bit. Oleh karena itu, saat menggunakan algoritma dekripsi AES, kunci dengan panjang yang sama dengan algoritma enkripsi harus digunakan untuk mendekripsi data dengan benar.
Ukuran file melebihi batas.
Anda tidak dapat mengunggah file lagi.