\n";
echo "\n";
echo "
\n";
echo "Willy Sudiarto Raharjo - Tugas 2 Keamanan Komputer - Semester Gasal 2016/2017\n";
echo "\n";
echo "\n";
echo "\n";
echo "\n";
echo "\n";
echo "\n";
echo "Hasil Enkripsi: \n";
echo "
\n";
$resultingCipherText = "";
echo "plaintext: " . strtolower($inputPlainText). "
";
echo "kunci: " . strtolower($inputKey). "
";
/*
/* Pergeseran sebanyak panjang kunci
*/
for ($i = 0; $i < $keyLength; $i++)
{
/*
/* Jika loop pertama, gunakan input awal
/* Jika bukan loop pertama, gunakan hasil perhitungan sebelumnya
*/
if ($i == 0)
{
$originalPlainText = $inputPlainText;
}
else
{
$originalPlainText = $resultingCipherText;
}
/*
/* Jumlah pergeseran dari karakter ke-i dari kunci
/* Hasilnya dikurangi 97 karena karakter a kode ASCInya 97
/* Kita ingin a = 0, b = 1, c = 2, dst
*/
$numberOfMovement = ord(strtolower($inputKey[$i])) - 97;
echo "Karakter ke-" . ($i+1) . " kunci - ";
/*
/* Pergeseran sebanyak panjang plaintext
*/
for ($j = 0; $j < $plainTextLength; $j++)
{
/*
/* Algoritma:
/* 1. Ambil kode ASCII dari teks menggunakan fungsi ord
/* 2. Konversi ke bilangan 0 - 25 dengan mengurangi 97
/* 3. Tambahkan jumlah pergeseran dari karakter ke-i dari kunci
/* 4. Pastikan hasilnya diantara 0-25 dengan cara modulus 26
/* 5. Kembalikan hasilnya ke karakter ASCII dengan fungsi chr
*/
$originalPlainText[$j] = chr((((ord(strtolower($originalPlainText[$j])) - 97) + $numberOfMovement) % 26) + 97);
echo $originalPlainText[$j];
}
echo "
\n";
/*
/* Simpan hasilnya ke variabel resultingCipherText untuk nilai awal loop berikutnya
*/
$resultingCipherText = $originalPlainText;
}
echo "ciphertext: $resultingCipherText";
echo "\n";
echo "\n";
echo "Willy Sudiarto Raharjo\n";
echo "
\n";
echo "\n";
echo "\n";
}
else // Jika ternyata diakses melalui metode GET (kemungkinan besar pemanggilan langsung)
{
header("location:index.php"); // Redirect ke halaman input
exit; // hanya memastikan bahwa tidak menjalankan perintah lain
}
?>