40
BAB 2 LANDASAN TEORI 2.1 Software Defined Radio 2.1.1 Pengertian SDR Software Defined Radio (SDR) adalah sebuah sistem komunikasi radio yang dapat disesuaikan pada frekuensi apapun dan menerima modulasi apapun melalui sebuah spektrum frekuensi yang besar. Pada umumnya SDR melakukan beberapa signal processing sebagian besar menggunakan software yang berjalan pada Personal Computer (PC) biasa yang dilengkapi dengan soundcard, atau komponen elektronik digital buatan sendiri. Tujuan dari rancangan tersebut adalah agar membuat SDR dapat menerima dan mengirim bentuk lain dari protokol radio hanya dengan menjalankan software yang berbeda. SDR mempunyai peran yang penting untuk radio militer dan service- service pada ponsel, karena baik radio militer maupun service pada ponsel harus memungkinan untuk disetel pada berbagai jenis protokol yang berubah-ubah. 2.1.2 Cara Kerja SDR Pada SDR, sinyal analog diubah menjadi sinyal digital dengan menggunakan komponen Analog-to-Digital Converter (ADC), yang kemudian akan sinyal tersebut akan diolah agar dapat masuk kedalam tahap pemrosesan software pada SDR.

BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

Embed Size (px)

Citation preview

Page 1: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

BAB 2

LANDASAN TEORI

2.1 Software Defined Radio

2.1.1 Pengertian SDR

Software Defined Radio (SDR) adalah sebuah sistem komunikasi radio

yang dapat disesuaikan pada frekuensi apapun dan menerima modulasi apapun

melalui sebuah spektrum frekuensi yang besar.

Pada umumnya SDR melakukan beberapa signal processing sebagian besar

menggunakan software yang berjalan pada Personal Computer (PC) biasa yang

dilengkapi dengan soundcard, atau komponen elektronik digital buatan sendiri.

Tujuan dari rancangan tersebut adalah agar membuat SDR dapat menerima dan

mengirim bentuk lain dari protokol radio hanya dengan menjalankan software

yang berbeda.

SDR mempunyai peran yang penting untuk radio militer dan service-

service pada ponsel, karena baik radio militer maupun service pada ponsel harus

memungkinan untuk disetel pada berbagai jenis protokol yang berubah-ubah.

2.1.2 Cara Kerja SDR

Pada SDR, sinyal analog diubah menjadi sinyal digital dengan

menggunakan komponen Analog-to-Digital Converter (ADC), yang kemudian

akan sinyal tersebut akan diolah agar dapat masuk kedalam tahap pemrosesan

software pada SDR.

Page 2: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

9  

Sinyal analog yang diterima oleh sebuah SDR, dapat diolah secara

langsung apabila frekuensi sinyal tersebut dibawah 40MHz. Tetapi untuk

frekuensi diatas 40MHz konversi langsung akan mengakibatkan pelambatan.

Sehingga untuk menangani frekuensi diatas 40MHz, digunakan arsitektur

superheterodyne RF front-end. Arsitektur ini akan mengolah frekuensi tinggi

menjadi frekuensi menengah (Intermediate Frequency / IF) terlebih dahulu

sebelum dikonversi.

SDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat

disesuaikan dengan bermacam-macam protokol. Oleh karena itu, pengaturan

secara adaptif sangat penting. Pengaturan adaptif dapat diimplementasikan pada

hardware atau software.

2.2 Field Programmable Gate Array

2.2.1 Pengertian FPGA

FPGA adalah komponen semikonduktor yang mengandung komponen

programmable-logic yang disebut dengan Logic Blocks, dan komponen-

komponen programmable interconnects. Logic Blocks dapat deprogram untuk

melaksanakan fungsi-fungsi aritmatika dasar seperti AND, dan XOR, ataupun

fungsi kombinasi lainnya yang lebih kompleks misalnya membaca sandi atapun

fungsi-fungsi matematika sederhana.

Pada sebagian besar FPGA, Logic Blocks juga mengandung unsur memori,

yang mungkin merupakan flip-flop sederhana atau block memory yang lebih

lengkap.

Page 3: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

2

2

mem

dan

untuk

Field

2.2.2 Apli

Softw

Visio

emul

2.2.3 Arsi

dan s

FPG

sebu

Komponen

mungkinkan

Interconnec

k mengimpl

d-Programm

kasi FPGA

Aplikasi-ap

ware Define

on, pengena

lation ataupu

tektur FPG

Arsitektur

saluran rout

GA klasik ter

ah flip-flop,

.

Su

n-komponen

Logic Block

ct dapat dip

lementasikan

mable.

plikasi pada

ed Radio (SD

alan suara,

un perkemba

GA

FPGA tersus

ing yang me

rdiri dari emp

seperti yang

Gambar

mber Webs

program

ks untuk sal

program ole

n beberapa

a FPGA term

SDR), prototy

kriptografi

angan pada h

sun dari kum

emiliki jumla

pat atau ena

g ditunjukka

2.1 Logic B

site http://en

mmable int

ling. Kompo

eh pengguna

fungsi logi

masuk Digi

type ASIC, M

i, biometric

hal-hal lain.

mpulan Conf

ah kabel yan

am buah inpu

n dibawah.

Block Pada U

n.wikipedia

terconnects

onen-kompo

a setelah FP

ika, sesuai

ital Signal P

Medical Im

cs dan com

figurable Lo

ng sama. Seb

ut Look-Up

Umumnya

.org/wiki/Fp

pada F

onen Logic B

FPGA diprod

dengan nam

Processor (D

aging, Comp

mputer hard

ogic Blocks (

buah logic b

Table (LUT

pga

10 

FPGA

Block

duksi,

manya

DSP),

mputer

dware

(CLB)

blocks

T) dan

Page 4: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

Outp

arsite

pin o

kana

Input pada

put pada log

ektur ini, lok

Su

Setiap pin

output dapa

an dan salura

Su

a logic block

gic blocks h

kasi dari pin

Gam

mber Webs

input dapat

at dihubungk

an ke bawah

Gamb

mber Webs

ks terdiri da

hanya terdiri

logic blocks

mbar 2.2 In

site http://en

diakses mel

kan dengan

logic blocks

bar 2.3 Topo

site http://en

ari empat sin

i dari satu

s FPGA ditu

nput Output

n.wikipedia

alui satu sisi

kabel routi

s.

ologi Kotak

n.wikipedia

nyal LUT d

sinyal LUT.

unjukkan seb

Pad

.org/wiki/Fp

i dari logic b

ing dalam k

Switch

.org/wiki/Fp

dan sinyal w

. Sebagai co

bagai berikut

pga

blocks, seme

kedua salura

pga

11 

waktu.

ontoh

t.

entara

an ke

Page 5: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

12  

Pin output pada logic blocks dan I/O Pads dapat saling berhubungan untuk

membentuk kotak switch. Setiap terjadi perpotongan antara saluran mendatar dan

menurun, dimana didalamnya terdapat sebuah kotak switch, terdapat tiga switch

yang dapat diprogram yang memungkinkan untuk menghubungkan tiga kabel

lainnya dalam saluran yang bersebelahan.

2.3 Serpent Advanced Encryption Standard

2.3.1 Algoritma

2.3.1.1 Pengertian Algoritma

Dalam ilmu Matematika dan ilmu Komputer, algoritma adalah kumpulan

instruksi yang terdeskripsi dengan jelas isi dan urutan pengerjaannya, yang

bertujuan untuk menyelesakan suatu tugas, dengan mendefenisikan kondisi awal

dan akan berakhir pada kondisi akhir yang telah ditentukan pula. Konsep dari

algoritma, secara informal dapat digambarkan sebagai sebuah resep.

2.3.1.2 Sejarah Algoritma

Konsep algoritma berawal dari penggabungan urutan-urutan prosedur

untuk menyelesaikan masalah matematika, seperti mencari Greater Common

Divisor (Faktor Persekutuan Terbesar) dari dua buah bilangan. Sebagian besar

algoritma dapat diimplementasikan pada bahasa pemrograman atau setidaknya

dapat disimulasikan secara teoritis oleh program komputer.

Page 6: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

13  

2.3.1.3 Notasi Big O

Dalam teori perhitungan kompleksitas, notasi Big O digunakan untuk

menggambarkan bagaimana ukuran data input mempengaruhi kecepatan dan

penggunaan memori. Notasi Big O juga disebut sebagai notasi Bachman-Landau,

atau notasi asimtotis. Notasi Big O juga digunakan pada matematika untuk

menghasilkan estimasi yang mirip.

Berikut adalah contoh dari notasi Big O:

Tabel 2.1 Notasi Big O

Notasi Nama Contoh 1 Konstan Menentukan genap-ganjil suatu angka

Ackermann invers log Logaritmik beriterasi Hopcroft and Ullman search dengan

menggunakan disjoint set log Logaritmik Binary search log Polilogaritmik Tes Primalitas AKS

0 1

Akar Pencarian pada KD-Tree

Linear Sequencial search log Linearitmik, Loglinear Heapsort, Fast Fourier Transform

Kuardratik Insertion Sort Polinomial Algoritma Floyd-Warshall Eksponensial Travelling Sales Problem

! Faktorial Brute Force Eksponensial n

1 Eksponensial ganda Notasi Big O sangat berguna dalam analisa algoritma dalam hal efisiensi.

Contohnya, waktu atau jumlah langkah yang dibutuhkan untuk menyelesaikan

suatu persoalan dengan ukuran data n dapat dihitung sebagai berikut

4 2 2

Page 7: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

14  

2.3.1.4 Pseudocode

Pseudocode adalah gambaran singkat dan informal dari sebuah algoritma

pemrograman komputer yang menggunakan bentuk pemrograman struktural.

Pseudocode mengabaikan detil-detil seperti subrutin, deklarasi variabel dan

sintaks yang spesifik dari suatu bahasa pemrograman. Pseudocode dapat ditulis

dalam bahasa-bahasa pemrograman dengan sintaks yang disederhanakan,

misalnya bahasa pemrograman PASCAL, C atau BASIC.

Tujuan penggunaan pseudocode adalah untuk menyederhanakan bahasa

pemrograman menjadi bahasa manusia, sehingga memudahkan manusia untuk

membaca alur dari suatu algoritma.

Berikut adalah contoh dari sebuah pseudocode untuk pengenalan angka

genap atau angka ganjil:

JIKA Angka = 0 MAKA Tulis “NOL”

SELAIN ITU JIKA Angka MODULUS 2 = 0 MAKA Tulis “Genap”

SELAIN ITU Tulis “Ganjil”

2.3.2 Kriptografi

2.3.2.1 Pengertian Kriptografi

Dalam konteks Matematika dan ilmu Komputer, kriptografi adalah ilmu

yang mempelajari tentang kerahasiaan data. Pada zaman modern ini, kriptografi

adalah salah satu cabang dari Information Theory (mata pelajaran Applied

Mathematics), yang bertujuan untuk membuat data menjadi rahasia dan

memastikan autentikasi sebelum akses data tersebut.

Page 8: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

15  

Kriptografi mencakup ilmu matematika dari berbagai cabang seperti

Aljabar Linear, Aljabar Modern maupun Analisis Real. Kriptografi mengandung

istilah-istilah penting yang mendasar sebagai berikut:

• Plaintext (Cleartext) merupakan data yang dapat dimengerti.

• Ciphertext, merupakan data yang tidak dapat dimengerti.

• Encryption (Encoding), merupakan proses penyamaran data, dari plaintext

menjadi ciphertext.

• Decryption (Decoding), merupakan proses untuk mengembalikan ciphertext

menjadi plaintext agar dapat dimengerti.

• Key, merupakan angka atau metode yang digunakan dalam proses enkripsi

dan dekripsi.

2.3.2.2 Sejarah Kriptografi

Sejarah kriptografi dimulai ribuan tahun yang lalu. Sampai beberapa

dekade terakhir ini, sejarah kriptografi merupakan sebuah cerita yang disebut

Classic Cryptography, yang merupakan metode kriptografi yang masih

menggunakan pensil dan kertas atau mungkin bantuan mekanik sederhana.

Pada zaman romawi kuno, Julius Caesar menggunakan kriptografi untuk

mengirim pesan rahasia yang masih menggunakan algoritma kriptografi klasik

yaitu algoritma penggeseran atau disebut juga Shift Cipher atau Caesar

Cryptography.

Pada abad ke-20, ditemukan mesin elektronik untuk kriptografi yang lebih

kompleks, seperti Enigma Rotor Machine, dilengkapi dengan metode enkripsi

Page 9: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

16  

yang lebih cerdas dan berarti. Kemudian menjadi awal dari enkripsi-enkripsi

baru yang memiliki kompleksitas yang lebih besar.

2.3.2.3 Algoritma Kriptografi

Algoritma kriptografi adalah metode yang digunakan dalam kriptografi

untuk mengubah data berupa plaintext menjadi ciphertext sehingga dapat

membuat data yang ingin dikirimkan menjadi rahasia dan hanya dapat diakses

oleh user-user yang mengetahui key untuk mendekripsi ciphertext tersebut.

2.3.2.4 Pembagian Algoritma Kriptografi

Algoritma kriptografi sering juga disebut sebagai kriptosistem, dapat dibagi

dalam tiga karakteristik:

• Berdasarkan jenis operasi yang digunakan

Berdasarkan jenis operasi yang digunakan untuk mengubah plaintext

menjadi ciphertext, algoritma kriptografi dibagi menjadi dua jenis umum

antara lain substitution cipher dan transposition cipher. Semua algoritma

kriptografi selalu berlandaskan pada dua prinsip umum tersebut, proses

substitusi dan proses transposisi. Tetapi ada juga algoritma kriptografi yang

menggabungkan kedua konsep tersebut sekaligus.

Substitution cipher adalah algoritma kriptografi yang bertujuan untuk

mengubah plaintext tertentu menjadi ciphertext tertentu. Inti dari substitution

cipher adalah mengubah isi plaintext.

Page 10: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

17  

Transposition cipher adalah algoritma kriptografi yang bertujuan untuk

menggeser posisi-posisi plaintext menjadi acak. Inti dari transposition cipher

adalah mengubah posisi plaintext.

• Berdasarkan jumlah key yang digunakan

Berdasarkan jumlah key yang digunakan, algoritma kriptografi dibagi

menjadi symmetric cryptography dan asymmetric cryptography.

Symmetric cryptography adalah algoritma kriptografi yang hanya

menggunakan satu jenis key, dimana untuk proses enkripsi dan dekripsi pada

algoritma kriptografi tersebut akan menggunakan key yang sama. Oleh

karena itu pada symmetric cryptography key tersebut bersifat rahasia yang

hanya boleh diketahui oleh orang yang membuat pesan dan orang yang akan

mendapatkan pesan.

Asymmetric cryptography adalah algoritma kriptografi yang

menggunakan dua jenis key, yaitu public key dan private key. Public key pada

asymmetric cryptography adalah key pribadi yang dibagikan kepada semua

orang sehingga keberadaan public key tidak bersifat rahasia. Private key pada

asymmetric cryptography adalah key pribadi yang hanya diketahui oleh

pemilik key sendiri.

• Berdasarkan cara plaintext diproses

Berdasarkan cara plaintext diproses, algoritma kriptografi dibagi

menjadi stream cipher dan block cipher.

Page 11: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

2

2

d

s

p

2.3.3 Symm

2.3.3.1 Pen

meru

meng

digam

meng

Sum

Stream

dari awal hin

sendiri.

Block c

plaintext den

metric Cryp

gertian Sym

Symmetric

upakan asal

ggunakan ke

mbarkan bah

ggunakan ke

mber Websi

cipher adal

ngga akhir s

cipher adal

ngan panjang

ptography

mmetric Cryp

cryptograp

mula dari

ey yang sam

hwa proses d

ey yang sama

S

Gamba

ite http://ww

lah algoritm

sekaligus tan

ah algoritm

g tertentu.

ptography

phy atau

asymmetric

ma dalam pro

dekripsi adal

a.

Symmetric C

ar 2.4 Symm

ww.antilles.k

ma kriptograf

npa memped

ma kriptogra

disebut jug

cryptograph

oses enkripsi

lah kebalikan

Cryptograph

metric Crypto

k12.vi.us/m

fi yang mem

dulikan panj

afi yang ha

ga single

hy. Symmet

i dan dekrip

n dari prose

hy

ography

math/cryptot

mproses pla

jang plainte

anya memp

key Encry

tric cryptogr

si sehingga

s enkripsi de

tut/1vs2key.

18 

intext

ext itu

proses

yption

raphy

dapat

engan

.htm 

Page 12: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

19  

Symmetric cryptography merupakan algoritma kriptografi yang lebih

sederhana dibandingkan dengan asymmetric cryptography, sehingga ada banyak

symmetric cryptography yang digunakan saat ini. Contoh-contoh symmetric

cryptography antara lain:

Tabel 2.2 Contoh-Contoh Symmetric Cryptography

Algoritma Block Proses Key Rumus Shift Cipher Stream

Cipher Monoalphabetic

Substitution Key: Integer = ( + key)

mod 26 Affine Cipher Stream

Cipher Monoalphabetic

Substitution Key1:Integer Key2:Integer

=(key1. +key2) mod 26

Vigenere Block Cipher

Polyalphabetic Key: String = ( + ) mod 26

Transposition Stream Cipher

Transposition Key: Integer = /

Palindrome Stream Transposition Tidak ada = DES Block Kompleks Key: 56 bit Kompleks

TDES Block Cipher

Kompleks Key1: 56 bit Key2: 56 bit Key3: 56 bit

Implementasi dari DES tiga kali dengan tiga key

AES Block Cipher

Kompleks Key: 128 bit – 256 bit

Kompleks

2.3.3.2 Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) atau dikenal juga dengan sebutan

Rijndael, adalah block cipher yang dianggap sebagai standard enkripsi oleh

pemerintah Amerika Serikat.

AES tidak sepenuhnya merupakan Rijndael, karena AES hanya mendukung

ukuran block 128 bit dan ukuran key 128, 192 dan 256 bit, sedangkan Rijndael

dapat menggunakan ukuran key dan block kelipatan 32 bit, dimulai dari 128 bit

hingga 256 bit.

Page 13: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

1. S

d

a

d

d

2

Secara umu

SubBytes, m

diganti sesua

array akan

digunakan,

diketahui me

Sumber htt

2. ShiftRow

baris byte

baris ada

ketiga da

Sumber htt

um AES terdi

merupakan

ai dengan ta

diubah den

diturunkan

empunyai sif

Gamb

tp://en.wikip

ws, merupak

e dirotasi de

lah 0, 1, 2 d

an keempat.

Gamb

tp://en.wikip

iri dari 4 lang

langkah su

abel tertentu.

ngan meng

dari invers

fat non-linea

bar 2.5 Lang

pedia.org/w

an langkah

engan jumlah

dan 3 byte un

ar 2.6 Lang

pedia.org/w

gkah:

ubstitusi non

Pada langk

ggunakan S-

s multiplika

ar.

gkah SubBy

wiki/Advanc

transposisi b

h pergeseran

ntuk masing-

gkah ShiftRo

wiki/Advanc

n-linear dim

kah subbytes,

-Box Rijnda

atif terhadap

ytes Pada AE

ced_Encryp

bytet diman

n tertentu. Ju

-masing bari

ows Pada AE

ced_Encryp

mana setiap

, setiap byte

ael. S-Box

p GF (28),

ES

tion_Standa

na masing-m

umlah perge

is pertama, k

ES

tion_Standa

20 

byte

e pada

yang

yang

ard

masing

eseran

kedua

ard

Page 14: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

3

S

4

S

3. MixColu

masing k

kolom di

modulo

Sumber http

4. AddRoun

Round ke

dilakukan

Sumber http

umns, merup

kolom untuk

ibuat menjad

denga

Gambar

p://en.wikip

ndKey, men

ey didapat

n dengan me

Gambar

p://en.wikip

pakan operas

k menghasil

di polinom G

an polinomia

r 2.7 Langk

pedia.org/wi

ngoperasikan

melalui alg

enggunakan

r 2.8 Langka

pedia.org/wi

si pencampu

lkan empat

GF (28) dan

al konstan

kah MixColu

iki/Advance

n byte-byte

oritma key

operasi

ah AddRoun

iki/Advance

uran empat b

byte output

n kemudian

umns Pada A

ed_Encrypt

input den

schedule. P

ndKey Pada

ed_Encrypt

byte pada ma

t. Masing-m

dikalikan de

AES

tion_Standa

ngan round

Proses komb

AES

tion_Standa

21 

asing-

masing

engan

.

ard

key.

binasi

ard

Page 15: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

22  

2.3.3.3 Peranan Serpent AES Pada Symmetric Cryptography

Serpent AES adalah symmetric cryptography yang memproses ukuran block

128 bit dengan ukuran key 128 bit. Serpent merupakan finalis dari lomba AES

yang dimenangkan oleh Rijndael. Serpent mempunyai kompleksitas yang lebih

rumit sehingga Serpent lebih lambat dibandingkan dengan Rijndael. Meskipun

demikian keamanan Serpent lebih kompleks dibandingkan dengan kriptografi

Rijndael sendiri.

Keamanan Serpent telah terbukti, hingga hanya dapat diserang dengan

pencarian brute-force. Berdasarkan analisis yang ada, untuk mendapatkan sebuah

key berukuran 256 bit, sebuah supercomputer membutuhkan waktu 256 bit.

Hingga saat ini algoritma Serpent belum dipatenkan sebagai sebuah AES

sehingga semua orang dapat menggunakan Serpent untuk mengamankan data-

data mereka ataupun mempelajari Serpent untuk mengembangkan ilmu

kriptografi.

2.3.3.4 Substitution Permutation Network (SP-Network)

Pada kriptografi, SP-Network adalah sekumpulan operasi matematika yang

digunakan dalam algoritma kriptografi block cipher seperti AES. SP-Network ini

terdiri dari S-Box dan P-Box yang mengubah block input menjadi block output.

Operasi-operasi pada SP-Network merupakan operasi yang dapat dilakukan

secara langsung oleh hardware, seperti operasi AND dan XOR.

S-Box mengubah bit-bit input menjadi bit-bit output. Pada S-Box yang

ideal, perubahan satu bit input dapat berakibat perubahan untuk setengah dari bit-

bit output, dan masing-masing bit output bergantung pada setiap bit input.

Page 16: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

23  

Pada kriptografi, S-Box adalah komponen dasar dari symmetric

cryptography. Pada block cipher, S-Box digunakan untuk membuat hubungan

antara plaintext dan ciphertext menjadi tidak jelas. S-Box biasanya dibuat dengan

teliti sehingga dapat bertahan dari cryptanalysis.

Pada umumnya, S-Box menggunakan beberapa input m, kemudian

mengubahnya menjadi beberapa bit output n (S-Box ). S-Box tersebut

diimplementasikan sebagai suatu tabel. Tabel S-Box pada kriptografi biasanya

telah ditentukan, misalnya S-Box Data Encryption Standard (DES), tetapi pada

beberapa algoritma kriptografi, S-Box dibuat secara dinamis tergantung pada key,

misalnya kriptografi Blowfish atau kriptografi Twofish.

Berikut adalah contoh S-Box dari DES (S5):

Tabel 2.3 Contoh S-Box Pada DES (S5) Sumber Website http://en.wikipedia.org/wiki/Substitution_box

S5 Bit‐bit dalam 

0000  0001  0010  0011 0100 0101 0110 0111 1000 1001 1010 1011  1100  1101 1110 1111

Bit‐bit luar 

00  0010  1100  0100  0001 0111 1100 1011 0110 1000 0101 0011 1111  1101  0000 1110 1001

01  1110  1011  0010  1100 0100 0111 1101 0001 0101 0000 1111 1100  0011  1001 1000 0110

10  0100  0010  0001  1011 1100 1101 0111 1000 1111 1001 1100 0101  0110  0011 0000 1110

11  1011  1000  1100  0111 0001 1110 0010 1101 0110 1111 0000 1001  1100  0100 0101 0011

Dengan diketahui 6 bit input 011011 maka akan didapat 4 bit output 1001.

Bit-bit input dibagi menjadi 2 bit luar dan 4 bit dalam (0-1101-1), sehingga

menghasilkan 01 dan 1101. Output didapat dari hasil kombinasi tabel antara 01

dan 1101, yaitu 1001.

Page 17: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

22.3.3.5 Key S

meru

meng

kript

mem

Misa

menj

subk

Schedule

Pada kript

upakan bag

ghasilkan s

tografi terten

mpersulit krip

Sumber

Beberapa a

alnya key sc

jadi empat b

key tersebut s

tografi, key

gian dalam

ubkey-subke

ntu. Tujuan u

ptoanalis unt

Gamba

r Website h

algoritma kr

chedule pada

buah subkey

secara berga

y schedule

symmetric

ey dengan

utama dari p

tuk mendapa

ar 2.9 Key S

http://en.wik

riptografi m

a block ciph

berukuran 3

antian pada m

disebut jug

cryptograp

mengoperas

pembentukan

atkan key.

Schedule Pad

kipedia.org/

empunyai k

her TEA, han

32 bit dan m

masing-masi

ga dengan

phy yang

sikan key p

n subkey-sub

da DES

/wiki/Key_s

key schedule

nya memisa

menggunaka

ing tahap.

product ci

bertujuan u

pada tahap-

bkey adalah u

schedule

yang seder

ahkan key 12

an masing-m

24 

ipher,

untuk

-tahap

untuk

rhana.

28 bit

masing

Page 18: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

25  

Salah satu key schedule yang banyak digunakan adalah key schedule pada

DES. Key berukuran 56 bit pada DES dipisah menjadi dua bagian berukuran 28

bit. Masing-masing bagian dioperasikan secara terpisah, yaitu dengan

merotasikan satu atau dua bit, kemudian 48 subkey dipilih dengan menggunakan

Permutation Choice 2 (PC2). 48 subkey tersebut dihasilkan oleh masing-masing

24 bit dari 28 bit bagian kiri dan kanan.

Banyak algoritma modern menggunakan key schedule yang lebih rumit,

seperti penggunaan one-way function untuk memperluas sebuah key menjadi

subkey. Algoritma kriptografi Rijndael dan Blowfish kadang-kadang mengawali

key schedule dengan random angka.

2.3.4 Asymmetric Cryptography

Asymmetric cryptography atau sering disebut sebagai public key encryption

menggunakan dua buah key yang berbeda yaitu public key dan private key.

Public key merupakan key tanda dari user yang diketahui oleh semua orang yang

kemudian akan digunakan untuk proses enkripsi, sedangkan private key bersifat

rahasia dan merupakan key yang digunakan untuk proses dekripsi.

Pada buku “Golden Bough” karangan Sir James George Frazer, terdapat

tulisan “Every Egyptians receive two names, which were known respectively as

the true name and the good name, or the great name and the little name; and

while the good name or the little name was made public, the true name or the

great name appears to have been carefully concealed”. Tulisan tersebut adalah

asal mula ilustrasi dari asymmetric cryptography.

Page 19: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

26  

Pada asymmetric cryptography, pengirim mengenkripsi plaintext dengan

menyertakan public key penerima, dan apabila penerima sudah menerima

ciphertext, proses dekripsi dilakukan dengan menginput ciphertext yang disertai

private key penerima, yang hanya diketahui oleh penerima. Dengan demikian

data tersebut aman.

,

,

Asymmetric Cryptography

Gambar 2.10 Asymmetric Cryptography

Sumber Website http://www.antilles.k12.vi.us/math/cryptotut/1vs2key.htm

RSA adalah sebuah algoritma kriptografi untuk asymmetric cryptography

atau disebut juga public key encryption. RSA merupakan algoritma kriptografi

pertama yang menggunakan konsep message-signing seiringan dengan proses

enkripsi, yang merupakan salah satu dari kelebihan besar asymmetric

cryptography. RSA banyak digunakan dalam protokol e-commerce, dan

dipercaya bahwa aman dengan key yang panjang dan menggunakan

implementasi terbaru.

Page 20: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

27  

2.3.5 Serpent Advanced Encryption Standard (Serpent AES)

Serpent adalah algoritma kriptografi yang bersifat block cipher symmetric

cryptography yang merupakan AES finalis pada kontes AES, dimana kontes

tersebut dimenangkan oleh Rijndael AES. Serpent ditemukan oleh Ross

Anderson, Eli Biham dan Lars Knudsen.

Seperti halnya AES yang lain, Serpent mempunyai ukuran block sebesar

128 bit dan dapat mendukung key dengan ukuran 128 bit, 192 bit ataupun 256

bit. Serpent mengimplementasikan kriptosistem 32 tahap Substitution-

Permutation Network (SP Network), dimana tahap-tahap tersebut

mengoperasikan empat buah variable dengan ukuran 32 bit. Masing-masing

tahap menggunakan delapan buah 4 bit x 4 bit S-Box secara paralel. Serpent

dirancang sehingga semua operasi dapat dijalankan secara paralel, menggunakan

32 buah 1 bitslice. Hal ini memaksimalkan pararelisme, tetapi juga

memungkinkan adanya kriptoanalisis yang luas.

2.3.5.1 Cara Kerja Serpent AES

Penjelasan Cara Kerja Serpent AES

Serpent dapat digambarkan sebagai Substitution-Permutation Network

sebanyak 32 tahap, yang mengoperasikan 4 buah variabel 32 bit, sehingga

ukuran block plaintext adalah 128 bit. Nilai-nilai yang ada di dalam algoritma ini

direpresentasikan sebagai aliran bit. Serpent mengenkripsi plaintext dengan

ukuran 128 bit menjadi ciphertext dengan ukuran 128 bit dalam 32 tahap dengan

bantuan 33 buah key berukuran 128 bit, 192 bit ataupun 256 bit. Key pendek

dibawah 256 bit akan diperpanjang menjadi 256 bit dengan cara menambahkan

Page 21: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

bit 1

menj

• P

• 3

k

ta

• P

pada akhir

jadi 256 bit.

Algoritma

Permutasi aw

32 tahap Sub

key, melalui

ahap terakhi

Permutasi ak

Gambar

Sumb

r MSB dan

Serpent send

wal

bstitution Per

S-Box dan t

ir, transform

khir

r 2.11 Subst

er Website

menambahk

diri terdiri d

rmutation N

transformasi

masi linear dig

titution Perm

http://en.wi

kan bit 0 pa

dari:

Network, terd

i linear kecu

ganti menjad

mutation Ne

ikipedia.org

da sisanya s

diri dari oper

uali pada tah

di operasi pe

etwork Pad

g/wiki/Serpe

sehingga len

rasi pencamp

hap terakhir.

encampuran

da Serpent A

ent_(cipher

28 

ngkap

puran

Pada

key.

AES

r)

Page 22: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

29  

Permutasi awal dan permutasi akhir tidak mempunyai guna kriptografi, dan

hanya berguna untuk menyederhanakan dan mengoptimalisasi algoritma

kriptografi tersebut dan untuk meningkatkan efisiensi perhitungan.

Notasi-notasi yang kita gunakan adalah:

• Plaintext P disebut juga , yang merupakan inputan untuk tahap pertama.

• Tahap terdiri dari 32 tahap, dinotasi dengan tahap 0 hingga tahap 31.

• B, merupakan input dan output dari masing-masing tahap. , merupakan

input untuk tahap 0 adalah dan hasilnya adalah . akan digunakan

sebagai input pada tahap kedua untuk menghasilkan dan seterusnya.

• Ciphertext C.

• Permutasi awal IP.

• Permutasi akhir FP.

• SBox yang terdiri dari 8 bagian yaitu , , , , , , dan .

Untuk masing-masing tahap {i=0, 1, 2, …, 31} hanya menggunakan

sebaris S-Box. Contohnya, menggunakan , diduplikat sebanyak 32 buah dan

dijalankan bersamaan. Jadi duplikat mengambil bit-bit dari sebagai

masukan dan menghasilkan empat bit pertama dari bit panjang yang akan

dikembalikan. Duplikat selanjutnya dari akan dioperasikan kembali dengan

untuk mendapat 4 bit selanjutnya. Hal ini berlangsung untuk , dan

seterusnya untuk menghasilkan , , dan seterusnya hingga .

Himpunan dari delapan S-Box tersebut digunakan empat kali. Jadi setelah

menggunakan pada tahap 7, kita kembali menggunakan pada tahap 8.

Tahap 31 terakhir sedikit berbeda dari yang lain, dimana setelah kita

Page 23: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

30  

mengoperasikan dengan hasil , tidak dijalankan transformasi linear

melainkan XOR dengan . Hasil pada tahap tersebut berupa , akan

dipermutasikankembali dengan FP, untuk mendapatkan tulisan sandi.

Kesimpulannya, ketigapuluhdua tahap menggunakan delapan S-Box yang

berbeda, yang masing-masing menyocokkan empat bit input dan empat bit

output. Masing-masing S-Box digunakan sebanyak empat tahap, dan digunakan

secara sekaligus. Bentuk S-Box akan dibahas kemudian. Algoritma kriptografi

Serpent dapat digambarkan sebagai berikut:

dimana

Algoritma Serpent AES

S-Box pada Serpent adalah permutasi 4 bit dengan sifat-sifat sebagai

berikut:

• Masing-masing karakteristik diferensial memiliki probabilitas paling besar

14, dan sebuah perbedaan input 1 bit akan menghasilkan perbedaan yang

besar

• Masing-masing karakteristik linear memiliki probabilitas diantara 1 21

4,

dan hubungan linear antara sebuah bit input dan sebuah bit output

mempunyai probabilitas diantara 1 21

8

Page 24: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

31  

• Deretan non-linear bit output merupakan fungsi dari input bit adalah

maksimum, bernilai 3.

S-Box pada Serpent dibuat atas sifat-sifat tersebut, dimana ide tersebut

berasal dari RC4. Serpent menggunakan matrix yang terdiri dari 32 array yang

masing-masing memiliki 16 nilai. 32 baris pertama matrix tersebut merupakan 32

baris S-Box pada DES dan ditransformasi dengan menukar nilai-nilai pada array

ke-r tergantung pada nilai pada nilai-nilai di dalam array yang ke (r+1) dan pada

string awal yang mewakili key. Jika pada array hasil terdapat sifat-sifat

diferensial atau linear, maka array tersebut akan disimpan sebagai barisan S-Box

pada Serpent. Hal ini diulang hingga dihasilkan delapan baris S-Box.

Misalkan, serpent[.] adalah array yang mengandung 4 bit terakhir pada

masing-masing karakter dari 16 karakter ASCII sebagai berikut

“sboxesforserpent”. Kemudian sbox[.][.] merupakan array dengan ukuran 32x16,

mengandung 32 baris dari 8 S-Box DES, dimana sbox[r][.] melambangkan baris

ke-r. Fungsi swapentries(., .) berguna untuk menukar kedua nilai yang

dikirimkannya. Maka algoritma untuk mendapatkan S-Box pada Serpent dapat

dijelaskan pada pseudocode sebagai berikut:

MODUL S-BoxGenerator

Index = 0

ULANG

Current_SBox = Index modulo 32

MULAI i BERNILAI 0 HINGGA 15 LAKUKAN

j = SBox[(Current_SBox + 1) modulo 32][i]

Page 25: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

32  

Tukar SBox[Current_SBox][i] Dengan SBox[Current_SBox][j]

AKHIR MULAI

JIKA SBox[Current_SBox][.] (Memenuhi Syarat) MAKA

Simpan SBOX[Current_SBOX][.]

AKHIR JIKA

Index = Index + 1

HINGGA 8 S-Box Selesai dibuat

AKHIR MODUL S-BoxGenerator

Pseudocode S-Box Generator Pada Serpent AES

Sumber: A Proposal for the AES (2007, Anderson-Biham-Knudsen)

Pada Serpent-0, pencipta menggunakan S-Box DES dengan tujuan untuk

meningkatkan kepercayaan publik bahwa pencipta tidak membuat jebakan

apapun pada algoritma ini. Jaminan yang sama terdapat pada Serpent-1 dengan

fakta bahwa S-Box tersebut dibuat dengan syarat sederhana yang jelas tersebut.

Algoritma kriptografi Serpent AES memiliki 32 tahap yang disebut dengan

Substitution-Permutation Network. Plaintext akan menjadi data awal dari

data-data hingga yang akan digunakan untuk 32 tahap, dimana pada

masing-masing tahap terdapat operasi-operasi sebagai berikut:

1. Key Mixing: pada masing-masing tahap, sebuah subkey berukuran 128 bit

di-XOR dengan data .

2. S-Box: mengkombinasikan 128 bit input dengan key, yang terdiri dari empat

buah variabel dengan masing-masing 32 bit. S-Box tersebut,

diimplementasikan sebagai operasi logical, kemudian mengoperasikan

variabel-variabel tersebut, dan hasilnya adalah empat buah variabel kembali.

Page 26: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

33  

CPU dimaksudkan untuk mengerjakan 32 S-Box sekaligus, menghasilkan

3. Transformasi linear: variabel-variabel 32 bit tersebut, dicampurkan secara

linear dengan cara:

, , ,

13

3

3

1

7

7

5

22

, , ,

Dimana <<< melambangkan rotasi dan << melambangkan pergeseran bit.

Pada tahap terakhir, transformasi linear ini diganti dengan proses key mixing

tambahan, yaitu := ( ) . Harap diingat bahwa pada

masing-masing tahap ke-i, IP( ) = dan IP( ) = .

Alasan utama untuk memilih transformasi linear adalah untuk

memaksimalkan efek longsor pada S-Box. S-Box mempunyai sifat dimana

Page 27: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

34  

perbedaan sebuah bit input akan mengakibatkan perubahan dua buah bit output,

sebagai mana deret {0, 1, 3, 5, 7, 13, 22} modulo 32 tidak mempunyai bit yang

sama kecuali bit pertama, ini mengakibatkan perubahan sebuah bit input akan

mengubah jumlah perubahan bit yang sangat banyak setelah dua tahap atau lebih.

Efek tersebut adalah setiap bit plaintext mempengaruhi semua bit dari data

setelah tiga tahap, sebagaimana juga bit pada key pada masing-masing tahap.

Meskipun seseorang mencari subkey tertentu dan bekerja secara terbalik, hal ini

tetap terjamin bahwa setiap bit pada key akan mempengaruhi setiap data setelah

enam tahap.

Alasan kedua adalah karena kesederhanaannya, dan dapat digunakan pada

prosesor modern dengan jumlah pipeline stall yang minimum. Alasan ketiga

adalah bahwa hal ini telah dianalisis dan telah ditemukan hubungan antara sifat-

sifat linear dan diferensial. Hubungan ini menunjukkan bahwa pilihan ini sesuai

dengan kebutuhan kita.

Algoritma kriptografi kita membutuhkan 132 buah variabel berukuran 32

bit. Pada awalnya user menyediakan key dengan ukuran 256 bit, kemudian kita

memperluas key tersebut hingga menjadi 33 buah subkey ( , , , …, )

dengan ukuran 128 bit. Kita menuliskan key K sebagai delapan buah variabel 32

bit w-8, w-7, w-6, …, w-1 dan memperluas variabel-variabel tersebut menjadi

deretan panjang key (dimana kita menyebutnya prekey) , , , …,

dengan rekursi dari transformasi affine sebagai berikut:

Page 28: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

35  

dimana PHI adalah bagian fractal dengan perbandingan emas √5 1 2⁄

atau 0x9E3779B9 pada hexadecimal. Polinom yang mendasari,

1 bersifat primitif, dimana bersama dengan round key dilakukan untuk

memastikan distribusi genap dari key pada tahap-tahap, dan untuk

menghilangkan key-key lemah dan key yang saling berhubungan.

Round key dikalkulasi dengan prekey dari S-Box. Kita menggunakan S-Box

untuk mentransformasi prekey menjadi dengan cara sebagai berikut:

{ , , , } := ( , , , )

{ , , , } := ( , , , )

{ , , , } := ( , , , )

{ , , , } := ( , , , )

{ , , , } := ( , , , )

{ , , , } := ( , , , )

{ , , , } := ( , , , )

Kemudian kita menomori angka-angka 32 bit kj sebagai subkey Ki sebagai

berikut:

:= { , , , }

Saat kita mengimplementasikan algoritma ini, awalnya sesuai dengan yang

disebutkan diatas, daripada menggunakan operasi bitslice, sekarang kita

menggunakan permutasi awal daripada roundkey untuk dapat menempatkan

posisi bit yang benar pada kolom yang benar. = IP( ).

Page 29: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

36  

2.3.5.2 Keamanan Serpent AES

Serpent AES merupakan salah satu algoritma kriptografi yang bersifat

sangat ketat dan hanya dapat dibobol oleh brute force attack, yaitu dengan

mencoba masing-masing peluang yang artinya dengan komputer yang dapat

melakukan proses brute force sebanyak 2 kali per detik, dibutuhkan lebih

kurang 2 detik untuk mendapatkan sebuah key sebesar 128 bit, sedangkan

untuk mendapatkan key sebesar 192 bit dibutuhkan 2 detik dan dibutuhkan

2 detik untuk mendapatkan sebuah key sebesar 256 bit.

Serangan XSL, jika dilakukan dengan efektif, dapat melemahkan Serpent.

Hanya saja, banyak kriptoanalis beranggapan bahwa implementasi serangan XSL

harus menghabiskan biaya yang lebih mahal dibandingkan dengan Serpent.

Perkiraan angka untuk mendapatkan plaintext tertentu dengan segala jenis

attack adalah 2 dan dengan diperkuat S-Box yang kita dapat dari DES akan

mencapai 2 .

Dengan keamanan mencapai 2 , dimaksudkan bahwa serangan

diferensial ataupun linear terhadap key apapun akan menggunakan text sebanyak

itu, jika diasumsikan bahwa itu mungkin (karena pada kenyataannya tidak).

Keamanan Serpent dapat digambarkan sebagai berikut:

Tabel 2.4 Keamanan Serpent Sumber: A Proposal for the AES (2007, Anderson-Biham-Knudsen)

Ukuran Block

Ukuran Key Beban Pencarian

Tipe Serangan

Text

128 128 2 Brute Force 1 128 192 2 Brute Force 2 128 256 2 Brute Force 2

Page 30: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

37  

Setelah dianalisis, kita menggunakan hubungan yang konservatif untuk

menyanggupi permintaan untuk bertahan dari attack yang telah berkembang dan

dipelajari. Misalnya analisis diferensial dan linear menggunakan 24-tahap dan

28-tahap karakteristik, lebih pendek 8 tahap dan 4 tahap dibandingkan dengan

Serpent, sementara serangan terbaik DES menggunakan karakteristik yang lebih

pendek daripada tiga tahap. Perkiraan untuk kemungkinan dari karakteristik

terbaik juga bersifat sangat konservatif, dalam praktiknya hal tersebut memang

seharusnya lebih rendah. Sehingga, dari segi kompleksitas Serpent

mengharapkan jauh lebih rendah dibandingkan dengan angka sebenarnya, dan

Serpent mungkin saja lebih aman dibandingkan yang telah dianalisis.

2.4 Teori Simulasi

Menurut Law dan Kelton (1991, p1), simulasi atau juga dapat disebut

pengimitasian adalah meniru atau menggambarkan operasi-operasi yang terjadi

pada berbagai macam fasilitas atau proses yang terjadi pada kehidupan nyata

dengan menggunakan bantuan komputer. Fasilitas-fasilitas atau proses-proses yang

disebutkan di atas itulah yang dikenal dengan nama sistem. Lebih lengkapnya,

sistem adalah kumpulan kesatuan, yang bekerja dan berinteraksi bersama-sama

menuju hasil akhir yang logis, yang menjadi tujuan bersama.

Untuk mempelajari suatu sistem secara ilmiah, asumsi-asumsi tentang

bagaimana sistem itu bekerja seringkali harus dilakukan. Asumsi-asumsi ini

biasanya dipaparkan dalam relasi matematik atau logik. Dari sanalah dibangun

Page 31: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

38  

sebuah model yang digunakan untuk mencoba membangun pengertian tentang kerja

atau perilaku dari sistem yang bersangkutan.

Apabila hubungan yang membangun model cukup sederhana, dapat

digunakan metode-metode matematik seperti aljabar, kalkulus, atau teori

probabilitas untuk mendapatkan jawaban yang pasti. Solusi ini dikenal dengan

solusi analitik.

Sayangnya, seperti yang telah dipaparkan diatas, banyaknya faktor-faktor tak

terduga maupun yang tidak dapat diprediksikan sebelumnya terlalu banyak,

sehingga sistem menjadi sangat kompleks. Karena itu, sistem ini tidak

memungkinkan model yang realistik untuk dievaluasi secara analitik.

Dalam simulasi, komputer digunakan sebagai alat bantu untuk mengevaluasi

sebuah model secara numerik, dan data-data dikumpulkan untuk mengestimasi

karakteristik sesungguhnya dari sebuah model.

Secara umum, sistem dapat dipelajari perilakunya dengan menggunakan

beberapa metode yang digambarkan pada diagram berikut.

Gambar 2.12 Cara Untuk Mempelajari Sistem

Sumber: Law (1991, p4)

Sistem

Eksperimen dengan sistem yang sebenarnya 

Eksperimen dengan model dari suatu sistem

Model fisik Model matematik 

Solusi analitik Simulasi 

Page 32: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

39  

Jika memungkinkan untuk bereksperimen dengan sistem yang sebenarnya,

tentunya hasil yang didapatkan mempunyai tingkat ketepatan yang sangat tinggi,

bahkan sempurna. Sayangnya eksperimen ini membutuhkan biaya yang sangat

tinggi dan waktu yang lama serta source yang besar, dan mungkin saja sistem yang

diteliti belum pernah ada sebelumnya, sehingga eksperimen dengan menggunakan

model merupakan pilihan yang seringkali harus ditempuh.

Model fisik, atau yang pada umumnya dikenal sebagai emulator adalah model

yang dibuat sungguh-sungguh mirip dengan aslinya, model tersebut dapat

berperilaku hampir sama dengan sistem asli. Contohnya simulator pesawat terbang

yang digunakan sekolah penerbangan untuk memberikan gambaran kondisi terbang

sesungguhnya pada para siswa. Model ini dapat menggambarkan sistem dengan

akurat, mendekati kondisi aslinya, tetapi biaya dan resource yang diperlukan

sangatlah besar, sehingga seringkali model matematik dipilih untuk membuat model

dari suatu sistem.

Model matematik merepresentasikan sistem dalam relasi logical dan

kuantitatif yang kemudian diubah dan dimanipulasi untuk melihat reaksi dari sistem

yang dimaksud. Contoh sederhana dari model ini adalah relasi , di mana

adalah jarak tempuh, adalah kecepatan dan adalah waktu tempuhnya. Relasi

matematik tersebut diharapkan dapat menggambarkan jalannya sistem, yaitu

seberapa panjang jarak yang ditempuh dengan kecepatan dan waktu tempuh yang

telah diketahui.

Setelah menggambarkan model matematik, harus dilihat apakah sistem yang

digambarkan cukup sederhana. Jika cukup sederhana, maka model matematik ini

dapat dikembangkan untuk mencari solusi pasti dari masalah tersebut, yaitu yang

Page 33: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

40  

dikenal dengan solusi analitik. Sebaliknya, apabila sistem terlalu kompleks, maka

harus dibuat simulasi.

Pembuatan simulasi tentunya harus disesuaikan dengan data yang didapat,

karena itu simulasi dapat dibagi menjadi 3 dimensi perbedaan.

1. Simulasi statis dan dinamis, yang menggambarkan suatu sistem pada

waktu tertentu di mana pada saat itu waktu tidak memiliki pengaruh terhadap

perubahan state. Sebaliknya, simulasi dinamis menggambarkan sebuah sistem

yang berubah seiring dengan perubahan waktu.

2. Simulasi deterministik dan stokastik, adalah simulasi yang tidak

mempunyai komponen berdasarkan probabilitas. Sebaliknya, simulasi

stokastik adalah simulasi yang memiliki komponen berdasarkan probabilitas.

3. Simulasi kontinu dan diskrit, adalah simulasi di mana komponen-

komponen di dalamnya berubah secara kontinu, tidak selalu sesuai dengan

perubahan waktu. Sebaliknya simulasi diskrit adalah simulasi yang

komponen-komponennya berubah sesuai dengan perubahan waktu.

2.5 Software Development Life Cycle

Menurut Turban, et. al. (2001, p477-486), Software Development Life Cycle

(SDLC) adalah kerangka terstruktur yang terdiri dari beberapa proses yang berurutan

yang diperlukan untuk membangun suatu sistem informasi. Pendekatan waterfall

digunakan untuk menggambarkan SDLC.

SDLC dirancang dengan tujuan untuk membangun alur pemrograman yang

terstruktur dan untuk membantu manajemen proyek dalam perhitungan estimasi

waktu dan sumber yang dibutuhkan suatu proyek.

Page 34: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

Ta

1.

te

su

pe

2.

di

pe

in

ahap-tahap S

System Inv

System In

rhadap sega

uatu sistem

eningkatan u

System An

System A

iselesaikan.

enyebab, m

nformasi yan

Gamb

Sumber:

SDLC adalah

vestigation

nvestigation

ala kemungk

dapat terh

usaha, waktu

nalysis

nalysis adal

Tahap ini

menspesifikas

ng diperlukan

bar 2.13 Eig

Turban, et

h sebagai be

adalah tah

kinan yang d

hindar dari

u dan jumlah

lah tahap y

mendefinisi

sikan solusi

n.

ght Stage SD

t. al. (2001, p

erikut:

hap yang m

dapat terjadi.

kesalahan

h pengeluaran

yang menga

ikan permas

i, serta men

DLC

p. 477)

mengutamak

. Dengan pe

yang dapat

n.

analisis mas

salahan, me

ngidentifika

kan pembela

embelajaran

t mengakib

salah yang

ngidentifika

asikan inform

41 

ajaran

maka

atkan

perlu

asikan

masi-

Page 35: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

42  

3. System Design

System Design adalah tahap yang menjelaskan bagaimana suatu sistem

akan bekerja. Hasil dari tahap ini adalah output, input dan user interface dari

sistem serta hardware, software, database dan prosedur.

4. Programming

Programming adalah tahap yang menerjemahkan spesifikasi desain sistem

menjadi bahasa pemrograman yang dapat dimengerti oleh komputer.

5. Testing

Testing adalah tahap yang digunakan untuk memeriksa apakah

pemrograman telah menghasilkan hasil yang diinginkan dan diharapkan atas

situasi tertentu. Testing dirancang untuk mendeteksi adanya kesalahan coding.

6. Implementation

Implementation adalah proses perubahan dari penggunaan sistem lama

menjadi sistem yang baru.

7. Operation and Maintenance

Operation and Maintenance adalah tahap untuk memelihara sistem baru

yang akan dioperasikan dalam suatu periode waktu.

2.6 Unified Modelling Language

Unified Modelling Language (UML) adalah bahasa grafis yang standar untuk

memodelkan software object oriented (Lethbridge, 2002, p.151). UML mengandung

tipe diagram yang bervariasi, termasuk:

1. Class Diagram

2. Sequence Diagram

Page 36: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

22.6.1 Class

struk

attrib

class

peng

Bina

sebu

class

s Diagram

Class diag

ktur dari sis

bute dan me

s terdiri dari

Ga

Sumber:

Link adala

ghubung anta

Association

ary Associat

ah garis, di

s. Associatio

gram adalah

stem dengan

ethod class-c

link, associa

G

Sumb

ambar 2.15 H

: Website ht

ah hubunga

ara dua atau

n menggam

tion (dengan

imana masin

on memiliki d

salah satu d

n menunjuk

class tersebu

ation, aggreg

Gambar 2.14

ber: Lethbri

Hubungan

ttp://en.wik

an dasar an

lebih class.

mbarkan kum

n dua titik

ng-masing t

dua atau lebi

diagram struk

kkan class-c

ut dan hubu

gation dan c

4 Notasi Cla

idge (2002,

Class Pada

kipedia.org/w

ntar objek y

Link merupa

mpulan link

akhir) bia

titik akhir d

ih titik akhir

ktur statis ya

class yang a

ungan antar

composition.

ass

p.439)

Class Diagr

wiki/Class_

yang mengg

akan bagian

k yang salin

asanya digam

dihubungkan

r.

ang menunju

ada pada si

class. Hubu

.

ram

_Diagram

gambarkan

dari associa

ng berhubu

mbarkan se

n dengan se

43 

ukkan

istem,

ungan

garis

ation.

ungan.

ebagai

ebuah

Page 37: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

assoc

aggr

dapa

class

deng

dikan

Gamb

Sumber:

Aggregatio

ciation, teta

regation me

at melibatkan

Aggregatio

s lain, tetap

gan class yan

Gamb

Sumber:

Compositio

ndung telah

Gamb

Sumber:

bar 2.16 Hu

: Website ht

on adalah l

api aggregat

erupakan pe

n dua class.

on terjadi bil

pi class yan

ng mengandu

bar 2.17 Hub

: Website ht

on merupak

memiliki lif

ar 2.18 Hub

: Website ht

bungan Ass

ttp://en.wik

lambang da

tion lebih s

erluasan ass

la suatu clas

g dikandung

ung.

bungan Agg

ttp://en.wik

kan hubung

fe cycle depe

bungan Com

ttp://en.wik

sociation Pa

kipedia.org/w

ari “memili

spesifik dari

sociation, hu

ss mengandu

g tidak mem

gregation Pa

kipedia.org/w

gan aggrega

endency deng

mposition Pa

kipedia.org/w

ada Class Di

wiki/Class_

iki sebuah”

ipada associ

ubungan ag

ung satu atau

miliki life c

ada Class Di

wiki/Class_

ation di m

gan class ya

ada Class D

wiki/Class_

iagram

_Diagram

atau hubu

iation. Mesk

ggregation h

u lebih objek

cycle depend

iagram

_Diagram

mana class

ng mengand

Diagram

_Diagram

44 

ungan

kipun

hanya

k dari

dency

yang

dung.

Page 38: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

 

22.6.2 Sequ

menu

seora

meng

uence Diagra

Menurut L

unjukkan ur

ang aktor ya

ggambarkan

Ga

Sumber: W

am

Lethbridge (2

rutan proses

ang optional)

n skenario ru

ambar 2.19 N

Sumb

Gambar

Website http

2002, p270),

s dan penuk

) dalam mela

untime sederh

Notasi Obje

ber: Lethbri

2.20 Conto

p://en.wikip

, sequence d

karan pesan

akukan tuga

hana secara

ect, Lifetime

idge (2002,

oh Sequence

pedia.org/wi

diagram adal

n oleh sejum

as tertentu. S

grafis.

dan Activat

p.440)

e Diagram

iki/Sequence

lah diagram

mlah objek

Sequence dia

tion

e_Diagram

45 

yang

(dan

agram

Page 39: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

46  

2.7 State Transition Diagram

2.7.1 Pengertian STD

STD merupakan suatu modeling tool yang menggambarkan sifat

ketergantungan sistem. Pada mulanya hanya digunakan untuk menggambarkan

suatu sistem yang memiliki sifat real time seperti proses control, telephone

switching system, dan control system.

2.7.2 Simbol dan Sifat STD

State adalah kumpulan keadaan dan atribut yang mencirikan objek pada

waktu atau kondisi tertentu. Disimbolkan dengan segi empat.

Gambar 2.21 Notasi State

Transition adalah simbol perpindahan keaktifan dari sebuah objek menjadi

objek lain. Transition disimbolkan dengan anak panah.

Gambar 2.22 Notasi Transition

Condition adalah suatu keadaan pada lingkungan eksternal yang dapat

dideteksi oleh sitem. Condition menggambarkan syarat yang biasanya digunakan

dalam hubungan seleksi. Action adalah yang dilakukan sistem bila terjadi

Page 40: BAB 2 LANDASAN TEORI 2.1 Software Defined Radiothesis.binus.ac.id/Doc/Bab2/2008-1-00286-MTIF BAB 2.pdfSDR harus mengolah modulasi dengan jarak yang luas, sehingga dapat disesuaikan

47  

perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan

menghasilkan keluaran atau output. Display adalah hasil yang merupakan STD.

2.8 User Interface Design

User Interface (UI) Design adalah perancangan tampilan antarmuka yang

bersifat visual dari suatu aplikasi agar aplikasi tersebut dapat berinteraksi dengan

baik dengan user dan dapat digunakan dengan maksimal.

Proses perancangan UI harus mengandung arti dari unsur-unsur visual yang

seimbang, yang dapat memodelkan inti dari operasi aplikasi yang akan dijalankan.

Selain itu perancangan UI yang baik juga harus dapat membuat aplikasi hingga

mudah digunakan dan dapat disesuaikan dengan kebutuhan masing-masing user.

Dalam perancangan UI, terdapat delapan aturan emas yang mendukung

sebuah perancangan UI yang baik. Delapan aturan emas, yang dijabarkan oleh Ben

Scneiderman, tersebut antara lain:

1. Usaha untuk konsistensi dalam tampilan.

2. Memungkinkan user yang rutin untuk menggunakan shortcut.

3. Memberikan umpan balik yang informatif.

4. Memunculkan dialog box pada penutupan.

5. Mempunyai error-handling sederhana.

6. Memungkinkan user untuk membatalkan tindakan.

7. Mendukung komponen dan control.

8. Mengurangi penggunaan memori jangka pendek.