Algoritma Spread Spectrum


Algoritma Spread Spectrum adalah salah satu algoritma yang dapat digunakan untuk melakukan enkripsi data sehingga data asli hanya dapat dibaca oleh seseorang yang memiliki kunci enkripsi tersebut. Contoh yang dibahas kali ini adalah mengenai enkripsi dan dekripsi dari sebuah kalimat.
Ilustrasi singkat mengenai algoritma ini adalah sebagai berikut:

  • Jika terdapat input karakter binary seperti ini
  • 11001010
    maka masing-masing nilai bit tersebut akan digandakan sebanyak 4 kali dan disusun kedalam 4 baris data, sehingga hasilnya adalah
    11111111
    00000000
    11110000
    11110000

  • Simpan nilai tersebut. Selanjutnya adalah melakukan operasi XOR untuk masing-masing karakter dalam kata kunci. Jika diasumsikan input karakter binary pada kata kunci adalah
  • 01110011 dan 01101111
    maka hasil operasi XOR nya adalah 00011100

  • Simpan nilai tersebut. Kemudian dapatkan nilai seed acak dengan rumus
  • seed(n+1) = (a * seed(n) + c) mod m, dengan konstanta a bernilai 17, konstanta c bernilai 7, dan konstanta m bernilai 84
    sehingga didapatkan nilai seed pertama adalah 44, nilai seed kedua adalah 83, dan seterusnya

  • Lakukan operasi XOR antara masing-masing nilai binary input dengan nilai binary dari seed. Sebagai contoh
  • 00001111 XOR (nilai konversi 8-bit dari 44 = 00101100) = 00100011
    11111111 XOR (nilai konversi 8-bit dari 83 = 01010011) = 10101100

  • Ubah nilai binary tersebut menjadi karakter sehingga didapatkan hasil enkripsi dari teks input tersebut.


Langkah-langkah penggunaan algoritma ini adalah

1. Tentukan kalimat yang akan dienkrip

2. Tentukan kata kunci enkripsi yang digunakan

3. Lakukan inisialisasi variabel yang digunakan oleh metode ini
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

4. Lakukan enkripsi kalimat awal menggunakan algoritma ini
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini (poin 4a – 4e)

4a. Lakukan perhitungan pada masing-masing karakter teks
Lakukan penyebaran pesan dengan skala pengali adalah 4
Sehingga setiap bit akan digandakan sebanyak 4 kali
Sebagai contoh, dengan string sebelumnya 01110100
Maka akan menghasilkan 4 buah string dengan nilai
00001111
11111111
00001111
00000000

* Gunakan fungsi ini untuk mengubah String menjadi Binary
contoh: teks ‘ABC’ akan menjadi ‘010000010100001001000011’

4b. Lakukan perhitungan pseudonoise berdasarkan kata kunci yang telah dikonversi menjadi string berformat 8-bit
Kemudian lakukan operasi bitwise XOR pada masing-masing string tersebut
Sebagai contoh dengan kata kunci “sonny”
maka hasil konversinya adalah
s = 01110011
o = 01101111
s XOR o = 00011100
n = 01101110
XOR n = 01110010
n = 01101110
XOR n = 00011100
y = 01111001
XOR y = 01100101

Pseudonoise adalah nilai byte dari operasi terakhir.
yaitu nilai byte dari 01100101 = 101

4c. Dapatkan nilai seed acak dengan rumus
seed(n+1) = (a * seed(n) + c) mod m
dengan konstanta a bernilai 17, konstanta c bernilai 7, dan konstanta m bernilai 84
Sebagai contoh dengan nilai pseudonoise diatas maka
seed(1) = (17 * 101 + 7) mod 84 = 44
seed(2) = (17 * 44 + 7) mod 84 = 83
seed(3) = (17 * 83 + 7) mod 84 = 74
seed(4) = (17 * 74+ 7) mod 84 = 5

4d. Hitung hasil modulasi dari bit pesan dan seed
Yaitu lakukan proses operasi XOR antara bit pesan dengan nilai seed yang telah didapatkan sebelumnya
Sebagai contoh dengan menggunakan 4 buah string diatas
00001111 XOR (nilai konversi 8-bit dari 44 = 00101100) = 00100011
11111111 XOR (nilai konversi 8-bit dari 83 = 01010011) = 10101100
00001111 XOR (nilai konversi 8-bit dari 74 = 01001010) = 01000101
00000000 XOR (nilai konversi 8-bit dari 5 = 00000101) = 00000101

4e. Dapatkan karakter dari masing-masing bit sebagai jawaban karakter hasil enkripsi

5. Lakukan dekripsi dari kalimat yang telah terenkripsi
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini (poin 5a – 5f)

5a. Dapatkan nilai bit dari masing-masing karakter dalam pesan terenkripsi

5b. Lakukan perhitungan pseudonoise berdasarkan kata kunci yang telah dikonversi menjadi string berformat 8-bit
Kemudian lakukan operasi bitwise XOR pada masing-masing string tersebut
Sebagai contoh dengan kata kunci “sonny”
maka hasil konversinya adalah
s = 01110011
o = 01101111
s XOR o = 00011100
n = 01101110
XOR n = 01110010
n = 01101110
XOR n = 00011100
y = 01111001
XOR y = 01100101

Pseudonoise adalah nilai byte dari operasi terakhir.
yaitu nilai byte dari 01100101 = 101

5c. Dapatkan nilai seed acak dengan rumus
seed(n+1) = (a * seed(n) + c) mod m
dengan konstanta a bernilai 17, konstanta c bernilai 7, dan konstanta m bernilai 84
Sebagai contoh dengan nilai pseudonoise diatas maka
seed(1) = (17 * 101 + 7) mod 84 = 44
seed(2) = (17 * 44 + 7) mod 84 = 83
seed(3) = (17 * 83 + 7) mod 84 = 74
seed(4) = (17 * 74+ 7) mod 84 = 5

5d. Lakukan proses demodulasi dari bit modulasi dan seed
Yaitu lakukan proses operasi XOR antara bit modulasi dengan nilai seed yang telah didapatkan sebelumnya
Sebagai contoh dengan menggunakan 4 buah string diatas
00100011 XOR (nilai konversi 8-bit dari 44 = 00101100) = 00001111
10101100 XOR (nilai konversi 8-bit dari 83 = 01010011) = 11111111
01000101 XOR (nilai konversi 8-bit dari 74 = 01001010) = 00001111
00000101 XOR (nilai konversi 8-bit dari 5 = 00000101) = 00000000

5e. Lakukan perhitungan pada masing-masing hasil demodulasi
Lakukan perhitungan untuk mendapatkan isi sebenarnya dari hasil demodulasi
Yaitu dengan cara menyusutkan hasil demodulasi dengan skala pembagi 4
Sehingga setiap 4 bit yang ditemukan akan disusutkan menjadi 1 bit saja
Sebagai contoh, dengan hasil perhitungan demodulasi sebelumnya
00001111
11111111
00001111
00000000

Maka akan menghasilkan sebuah string dengan nilai 01110100

* Gunakan fungsi ini untuk mengubah Binary menjadi String
contoh: teks ‘010000010100001001000011’ akan menjadi ‘ABC’

5f. Dapatkan karakter dari masing-masing bit sebagai jawaban karakter hasil dekripsi


Hasil akhir adalah: (klik untuk perbesar gambar)


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.

Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *