progrez.cloud

Membuat Tabel Initial Permutation Dengan Coding

12 Juni 2021

Hi hello friendzit, sebenarnya project yang sedang digarap saat ini adalah tentang block cipher. Akan tetapi karena kita ingin membahas topik tentang block cipher ini sedetail mungkin, ada beberapa mode untuk operasi tiap-tiap blok di dalam block cipher. Mulai dari ECB, CBC, PCBC, dll.


Jika kita bahas yang paling sederhana seperti ECB, terdapat berbagai macam cara untuk mengenkripsi cipher text yang menggunakan kunci tertentu. Mulai dari Blowfish, 3DES, dll. Misalnya kita ambil contoh enkripsi menggunakan 3DES. Sebelum kita membahas tentang 3DES, pertama kita perlu mengetahui cara kerja DES itu sendiri. Dan Jika kita menjabarkan flowchart DES ini, maka kita akan menemukan beberapa kali penggunaan fungsi Permutasi. Oleh sebab itu, sebelum kita membahas block cipher secara keseluruhan, kita akan mulai dari fungsi-fungsi basic dari Data Encryption Standard atau DES.


Salah satunya yang akan kita coding kali ini adalah membuat sendiri Tabel Initial Permutation. Dan ini akan menjadi perjalanan yang panjang tentang edisi kriptografi.


Coding: Tabel Initial Permutation

<?php
   for($i=1;$i<65;$i++){
      if($i % 2 == 0){
         // store even number
         $x[$i%8][] = $i;
      } else {
         // store odd number
         $y[$i%8][] = $i;
      }
   }
   print_r($x);
   foreach($x as $k=>$v){
      $v = array_reverse($v);
      for($i=0;$i<count($v);$i++){
         echo $v[$i].' ';
      }
      echo " n";
   }
   echo " n";
   foreach($y as $k=>$v){
      $v = array_reverse($v);
      for($i=0;$i<count($v);$i++){
         echo $v[$i].' ';
      }
      echo " n";
   }