• Tidak ada hasil yang ditemukan

Bab 2 Tinjauan Pustaka

2.5 Lucas Lehmer Primality Test

3.1.2 Analisis Protocol Data Unit (PDU)

3.1.2.2 PDU Penerimaan (SMS Deliver )

Aplikasi Server yang akan dibuat adalah menggunakan mode PDU dengan encoding 7 bit default alphabet. Berikut adalah contoh perubahan mode PDU menjadi teks biasa sehingga dapat kita mengerti. SMS Deliver PDU adalah terminal yang menerima pesan dari SMSC dalam format PDU. PDU Penerimaan memiliki format seperti pada tabel 3.8 di bawah ini. Pada PDU ini, terdapat beberapa meta-informasi yang dibawa, antara lain:

Tabel 3.8 Skema Format PDU Penerimaan

SCA PDU -Type OA PID DCS SCTS UDL UD

Contoh : Kita menerima pesan dari 6285695316565 dengan isi pesan SMS “Poli Paru” pada tanggal 20 Oktober 2011 pukul 10:45:21 WIB. Maka format PDU adalah pada tabel 3.9 :

Tabel 3.9 Contoh Pesan SMS Deliver dalam Format PDU Pesan Asli Irfan 08 (Irfan<spasi>08)

PDU 2681050000F0040D81265896356165F50000110102015 412820949B939EC6C170

Berikut merupakan penjelasan masing-masing dari format PDU.

Penerimaan di atas :

1. SCA (Service Center Address)

SCA berisi informasi SMS center. SCA memiliki tiga komponen utama, yaitu len, type of number dan ServiceCenter Number, seperti pada tabel 3.10 berikut. Pada tabel 3.9, nilai SCA-nya adalah 2681050000F0.

Tabel 3.10 SCA dari PDU Penerimaan

Octet Keterangan Nilai

Len Panjang informasi SMSC

dalam octet 26

Type of Number Type of address dari SMSC 81 H = format lokal

91 H = format internasional

85

Service Center Number

Nomor SMSC dari operator pengirim. Jika panjangnya ganjil, maka pada akhir karakter ditambahkan 0F H

Tabel 3.11 Nomor SMS Center Operator Seluler Di Indonesia No. Operator Selular Nomor SMS Center Kode PDU

1. Telkomsel 081100000 / 62811000000 06818011000000/ 07912618010000F0 2. Satelindo 0816124 / 62816125 0581806121F4 / 079126181642 3. Excelcom 0818445009 / 6281445009 06818081440590 / 079126184885400F9 4. Indosat-M3 0855000000 / 62855000000 06818055000000 / 07912658050000F0 6. 3 089644000001 / 6289644000001 0681806944000010 / 0791269846040000F1

Contoh: untuk nomor SMS Center Indosat-M3 (IM3) dapat ditulis dengan dua cara sebagai berikut:

Cara I: 0855000000 diubah menjadi:

a. 06 ada 6 pasang b. 81  1 pasang

c. 80-55-00-00-00  5 pasang

Digabung menjadi : 06818055000000

Cara II: 62855000000 diubah menjadi:

a. 07 ada 7 pasang b. 91  1 pasang

c. 26-58-05-00-00-F0  6 pasang

Contoh: untuk nomor ponsel yang dituju adalah 6285275677333 dapat ditulis dengan dua cara sebagai berikut :

Cara I: 085275677333 diubah menjadi :

a. 0C ada 12 angka b. 81

c. 80-25-57-76-37-33

Digabung menjadi : 0C81802557763733

Cara II: 6285275677333 diubah menjadi:

a. 0D ada 13 angka b. 91

c. 26-58-72-65-77-33-F3

Digabung menjadi : 0D91265872657733F3

2. Tipe PDU (PDU Type)

Berisi informasi jenis dari PDU tersebut. Nilai default dari PDU untuk SMS Deliver adalah 04 H dan nilai PDU-type pada tabel 3.9 adalah 04 H.

Tabel 3.12 PDU-Type dari PDU Penerimaan

Bit 7 6 5 4 3 2 1 0

Nama RP UDHI SRI <none> <none> MMS MTI MTI

Nilai 0 0 0 0 0 1 0 0

Keterangan :

(b) UDHI (User Data Header Indicator), bit ini bernilai 1 jika SMS menggunakan judul.

(c) SRI (Status Report Indication), bit ini bernilai 1 jika suatu status laporan akan dikembalikan.

(d) MMS (More Message to Send), bit ini bernilai 1 jika ada pesan lebih yang dikirim.

(e) MTI (Message Type Indicator), bit ini bernilai 0 untuk menunjukkan bahwa PDU ini adalah SMS Deliver.

3. OA (Originator Address)

Berisi informasi nomor pengirim. OA memiliki tiga komponen utama, yaitu len (panjangnya nomor pengirim), type of number (format dari nomor pengirim) dan originator number (nomor pengirim). Nilai OA pada tabel 3.9 adalah 0D81265896356165F5.

Tabel 3.13 Originator Address (OA)

Octet Keterangan Nilai

Len Panjang nomor

Orginator Address 0D

Type of Number

Format dari nomor pengirim 81 H = format lokal 91H = format internasional 81 Orginator Number

Nomor pengirim dari operator pengirim. Jika panjangnya ganjil, maka pada akhir karakter ditambahkan 0F H

4. PID (Protocol Identifier)

PID adalah tipe atau format dari cara pengiriman pesan, yang biasanya diatur dari ponsel pengirim. Misalnya tipe Standard Text, Fax, E-mail, Telex, X400 dan lain-lain. Nilai default dari PID adalah 00 (Standard Text). Pada tabel 3.9, nilai PID adalah 00 H.

5. DCS (Data Coding Scheme)

DCS berisi informasi skema pengkodean data yang digunakan. Nilai default-nya adalah 00 H, dengan menggunakan character coding default 7 bit dan message class 0. Pada beberapa handphone, message class 0 dengan encoding 7 bit adalah berupa flash SMS. Sedangkan encoding 16 bit Unicode (ucs2), message yang didahului “0001” dengan class 0 adalah berupa blinking flash SMS. Pada tabel 3.9, nilai DCS adalah 00 H. DCS juga menentukan message class seperti tabel di bawah ini.

Tabel 3.14 Data Coding Scheme (DCS) Nilai

(hexa)

Character

coding Message Class

00 Default (7 bit) No class

F0 Default (7 bit) Class 0 (immediate display) F1 Default (7 bit) Class 1 (mobile

equipment-specific)

F2 Default (7 bit) Class 2 (SIM specific message ) F3 Default (7 bit) Class 3 (terminate

equipment-specific)

F4 8 – bit Class 0 (immediate display)

F5 8 – bit Class 1 (mobile

equipment-specific)

F6 8 – bit Class 2 (SIM specific message) F7 8 – bit Class 3 (terminate

6. SCTS (Service Center Time Stamp)

Berisi informasi waktu dari penerimaan pesan oleh SMSC penerima. Pada tabel 3.9, nilai SCTS-nya adalah 11010201541282 yang berarti :

Tabel 3.15 Nilai Service Center Time Stamp (SCTS) Tahun 11 menjadi 2011

Bulan 01 menjadi 10, Oktober Tanggal 02 menjadi 20 Jam 01 menjadi 10 Menit 54 menjadi 45 Detik 12 menjadi 21 Zona Waktu

82 menjadi 28, dimana 1 unit = 15 menit. (15*28) / 60 = 7, menjadi GMT+7 = WIB.

7. UDL (User Data Length)

UDL berisi informasi mengenai panjang data yang diterima dalam bentuk teks standar. Pada tabel 3.9, nilai UDL-nya adalah 09 H, yang berarti pesan yang diterima adalah sebanyak 9 karakter.

8. UD (User Data)

Berisi informasi data utama yang dibawa. Pesan “Poli Paru” yang dikodekan menjadi 7 bitdefaultalphabet (Septet ) harus di-encode-kan menjadi 8 bit (Octet ) untuk SMS-Transfer. Pada tabel 3.9 diatas, nilai UD-nya adalah “D0373B0D8286E575”. Tabel 3.16 di bawah ini menunjukkan cara pengkodean dengan menggunakan bantuan tabel defaultalphabet 7 bit (tabel 3.7). Pada tiap octet jika jumlah bit kurang dari 8, maka diambil bit paling kanan pada septet selanjutnya dan ditambahkan pada bagian kiri septet sebelumnya.

Tabel 3.16 User Data pada PDU Penerimaan Nilai

(hexa) Octet (8 bit) Septet (7 bit) Desimal Karakter

49 0100 1001 100 1001 73 I B9 1011 1001 111 0010 114 r 39 0011 1001 110 0110 102 f EC 1110 1100 110 0001 97 a 6 0000 0110 110 1110 110 n C1 1100 0001 010 0000 32 (spasi) 70 0111 0000 011 0000 48 0 - - 011 1000 56 8

3.1.3 Analisis Lucas Lehmer Primality Test

Di dalam kriptografi, bilangan prima memiliki peranan yang sangat penting. Beberapa algoritma kriptografi, seperti RSA, menggantungkan kekuatannya pada sulitnya faktorisasi bilangan besar. Oleh karena itu, penggunaan bilangan prima yang besar menjadi sangat penting. Ada banyak cara untuk mengetahui suatu bilangan itu prima atau bukan, dan salah satu yang bisa digunakan adalah Lucas-Lehmer primality Test.

Lucas Lehmer Primality Test bekerja dengan memanfaatkan bilangan Mersenne. Rumus bilangan Mersenne yaitu:

Keterangan:

M = Bilangan Mersenne P = Bilangan Prima

Untuk memperoleh bilangan Mersenne (Mp) adalah bilangan prima, maka p yang dimasukkan juga haruslah sebuah bilangan prima dan p harus lebih besar sama dengan tiga. Akan tetapi Mp belum tentu bilangan prima meskipun p adalah bilangan prima. Bilangan Mersenne biasanya digunakan untuk mencari bilangan prima yang sangat besar.

Berikut ini merupakan langkah-langkah untuk mengetahui keprimaan suatu bilangan dengan Lucas-Lehmer primality test.

1. Masukkan bilangan Mersenne Mp = 2p – 1 dimana p ≥ 3

2. Hitung Sj = S2j-1 – 2 mod Mp dengan S1 = 4 untuk j = 2,3,…,n-1

3. Jika Sp-1 = 0 mod Mp maka dapat disimpulkan bahwa Mp bilangan prima dan jika Mp≠ 0 maka Mp adalah bilangan komposit.

Contoh 1 :

Kita cari bilangan Mersenne dengan memasukkan p = 3 Maka M3 = 23 – 1 = 8 – 1 = 7 Dengan S1 = 4 maka S2 = S22-1 – 2 mod M3 = 42 – 2 mod 7 = 16 – 2 mod 7 = 14 mod 7 = 0

Kita dapat Sp-1 atau S3-1 atau S4 = 0 maka M3 = 7 adalah bilangan prima.

Contoh 2 :

Kita cari bilangan Mersenne dengan memasukkan p = 5 Maka M5 = 25 – 1

= 32 – 1 = 31 Dengan S1 = 4 maka S2 = S22-1 – 2 mod M5 = 42 – 2 mod 31 = 16 – 2 mod 31 = 14 mod 31 = 14 S3 = S23-1 – 2 mod M5 = 142 – 2 mod 31 = 196 – 2 mod 31 = 194 mod 31 = 8 S4 = S24-1 – 2 mod M5 = 82 – 2 mod 31 = 64 – 2 mod 31 = 62 mod 31 = 0

Kita dapat Sp-1 atau S5-1 atau S4 = 0 maka M5 = 31 adalah bilangan prima.

Contoh 3 :

Kita cari bilangan Mersenne dengan memasukkan p = 11 Maka M11 = 211 – 1 = 2048 – 1 = 2047 Dengan S1 = 4 maka S2 = S22-1 – 2 mod M11 = 42 – 2 mod 2047

= 16 – 2 mod 2047 = 14 mod 2047 = 14 S3 = S23-1 – 2 mod M11 = 142 – 2 mod 2047 = 196 – 2 mod 2047 = 194 mod 2047 = 194 S4 = S24-1 – 2 mod M11 = 1942 – 2 mod 2047 = 37676 – 2 mod 2047 = 37674 mod 2047 = 788 S5 = S25-1 – 2 mod M11 = 7882 – 2 mod 2047 = 620944 – 2 mod 2047 = 620942 mod 2047 = 701 S6 = S26-1 – 2 mod M11 = 7012 – 2 mod 2047 = 491401 – 2 mod 2047 = 491399 mod 2047 = 119 S7 = S27-1 – 2 mod M11 = 1192 – 2 mod 2047 = 14161 – 2 mod 2047 = 14159 mod 2047 = 1877

S8 = S28-1 – 2 mod M11 = 18772 – 2 mod 2047 = 3523129 – 2 mod 2047 = 3523127 mod 2047 = 240 S9 = S29-1 – 2 mod M11 = 2402 – 2 mod 2047 = 57600 – 2 mod 2047 = 57598 mod 2047 = 282 S10 = S210-1 – 2 mod M11 = 2822 – 2 mod 2047 = 79524 – 2 mod 2047 = 79522 mod 2047 = 1736

Kita dapat Sp-1 atau S11-1 atau S10 ≠ 0 maka M11 = 2047 adalah bukan bilangan prima (23 x 89 = 2047). Dan terbukti bahwa tidak semua Mp adalah bilangan prima meskipun p adalah bilangan prima.

Bilangan prima yang dimasukkan ke dalam algoritma RSA adalah bilangan prima yang dapat menghasilkan bilangan mersenne, sehingga tidak semua bilangan prima dapat dimasukkan atau dibangkitkan dalam aplikasi.

Dokumen terkait