Selasa, 29 Maret 2011

kriptografi hibrid

3. Algoritma Hibrida
Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci, yaitu kunci rahasia (simetri) – yang disebut juga session key (kunci sesi) – untuk enkripsidata dan pasangan kunci rahasia – kunci publik untuk pemberian tanda tangan digital serta melindungi kunci simetri.

Gambar Algoritma Hibrida
Algoritma kriptografi yang beroperasi dalam mode bit dapat dikelompokkan menjadi dua kategori:
1. Cipher aliran (stream cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. Stream chiper atau stream encryption merupakan suatu teknik enkripsi data dengan cara melakukan transformasi dari tiap bit secara terpisah berdasarkan posisi tiap bit dalam aliran data yang biasanya dikendalikan menggunakan operasi XOR. Enkripsi aliran data merupakan hasil dari operasi XOR antara setiap bit plaintext dengan setiap bit kuncinya. Pada stream chiper bila terjadi kesalahan selama transmisi maka kesalahan pada teks enkripsi penerima akan terjadi tepat di tempat kesalahan tersebut terjadi. Dalam praktek pertimbangan kesalahan yang mungkin terjadi sangatlah penting untuk penentuan teknik enkripsi yang akan digunakan.

2. Cipher blok (block cipher)
Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya.
Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memperlakukan 8 karakter setiap kali penyandian (1 karakter = 8 bit dalam pengkodean ASCII).
Rangkaian bit yang dipecah menjadi blok-blok bit dapat ditulis dalam sejumlah cara bergantung pada panjang blok.
Contoh: Plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4
menjadi 1001 1101 0110
Setiap blok menyatakan bilangan bulat dari 0 sampai 15, yaitu 9 13 6
Bila plainteks dibagi menjadi blok-blok yang berukuran 3 bit, maka rangkaian bit di atas menjadi 100 111 010 110
Setiap blok menyatakan bilangan bulat dari 0 sampai 7, yaitu 4 7 2 6
Bila panjang rangkaian bit tidak habis dibagi dengan ukuran blok yang ditetapkan, maka blok yang terakhir ditambah dengan bit-bit semu yang disebut padding bits.
Misalnya rangkaian bit di atas dibagi menjadi blok 5-bit menjadi
10011 10101 00010
Blok yang terakhir telah ditambahkan 3 bit 0 di bagian awal (dicetak tebal) agar ukurannya menjadi 5 bit. Padding bits dapat mengakibatkan ukuran plainteks hasil dekripsi lebih besar daripada ukuran plainteks semula.
Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). Rangkaian bit dibagi menjadi blok yang berukuran 4 bit dengan representasi dalam HEX adalah: 0000 = 0 0001 = 1 0010 = 2 0011 = 3
0100 = 4 0101 = 5 0011 = 6 0111 = 7
1000 = 8 1011 = 9 1010 = A 1011 = B
1100 = C 1101 = D 1101 = E 1111 = F
Misalnya, plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4 menjadi 1001 1101 0110 yang dalam notasi HEX adalah 9 D 6
*Operator XOR
Operator biner yang sering digunakan dalam cipher yang yang beroperasi dalam mode bit adalah XOR atau exclusive-or.
Notasi matematis untuk opeartor XOR adalah ⊕ (dalam Bahas C, operator XOR dilambangkan dengan ^).
Operator XOR diperasikan pada dua bit dengan aturan sebagai berikut:

0 ⊕ 0 = 0
0 ⊕ 1 = 1
1 ⊕ 0 = 1
1 ⊕ 1 = 0
Operator XOR identik dengan penjumlahan modulo 2.
Misalkan a, b, dan c adalah peubah Boolean. Hukum-hukum yang terkait dengan operator XOR:
(i) a ⊕ a=0
(ii) a ⊕ b = b ⊕ a (Hukum komutatif)
(iii) a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c (Hukum asosiatif)
Jika dua rangkaian dioperasikan dengan XOR, maka operasinya dilakukan dengan meng-XOR-kan setiap bit yang berkoresponden dari kedua ramngkaian bit tersebut.
Contoh: 10011 ⊕ 11001 = 01010
yang dalam hal ini, hasilnya diperoleh sebagai berikut:
1 0 0 1 1
1 1 0 0 1 ⊕
1 ⊕ 1 0 ⊕ 1 0 ⊕ 0 1⊕ 0 1 ⊕ 1
0 1 0 1 0
Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan
meng-XOR-kan plainteks (P) dengan kunci (K) menghasilkan cipherteks:
C = P ⊕ K (6.1)
Karena meng-XOR-kan nilai yang sama dua kali menghasilkan nilai semula, maka proses dekripsi menggunakan persamaan:
P = C ⊕ K (6.2)
Contoh: plainteks 01100101 (karakter ‘e’)
kunci 00110101 ⊕ (karakter ‘5’)
cipherteks 01010000 (karakter ‘P’)
kunci 00110101 ⊕ (karakter ‘5’)
plainteks 01100101 (karakter ‘e’)
Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana ini. Sayangnya, algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan.

Kamis, 24 Maret 2011

Kriptografi Simetris


Algoritma Simetris (Algoritma Sandi Kunci Rahasia)

Algoritma simetris, sering juga disebut dengan algoritma kunci rahasia atau sandi kunci rahasia. Adalah algoritma kriptografi yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Algoritma ini mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum mereka saling berkomunikasi. Keamanan algoritma simetris tergantung pada kunci, membocorkan kunci berarti bahwa orang lain dapat mengenkripsi dan mendekripsi pesan. Agar komunikasi tetap aman, kunci harus tetap dirahasiakan.

Sifat kunci yang seperti ini membuat pengirim harus selalu memastikan bahwa jalur yang digunakan dalam pendistribusian kunci adalah jalur yang aman atau memastikan bahwa seseorang yang ditunjuk membawa kunci untuk dipertukarkan adalah orang yang dapat dipercaya. Masalahnya akan menjadi rumit apabila komunikasi dilakukan secara bersama-sama oleh sebanyak n pengguna dan setiap dua pihak yang melakukan pertukaran kunci, maka akan terdapat sebanyak (n-1)/2 kunci rahasia yang harus dipertukarkan secara aman.

Contoh dari algoritma kriptografi simetris adalah Cipher Permutasi, Cipher Substitusi, Cipher Hill, OTP, RC6, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi, DES dan IDEA.

Kriptografi Asimetris

RSA merupakan algoritma kriptografi asimetris. Ditemukan pertama kali pada tahun 1977
oleh Ron Rivest, Adi Shamir, dan Leonard Adleman. Nama RSA sendiri diambil dari inisial nama
depan ketiga penemunya tersebut. Sebagai algoritma kunci publik, RSA mempunyai dua kunci,
yaitu kunci publik dan kunci pribadi. Kunci publik boleh diketahui oleh siapa saja, dan digunakan
untuk proses enkripsi. Sedangkan kunci pribadi hanya pihak - pihak tertentu saja yang boleh
mengetahuinya, dan digunakan untuk proses dekripsi. Algoritma RSA masih digunakan hingga
pada saat ini seperti yang diuraikan M. Zaki Riyanto dan Ardhi Ardhian:
Keamanan sandi RSA terletak pada sulitnya memfaktorkan bilangan yang besar. Sampai
saat ini RSA masih dipercaya dan digunakan secara luas di internet. (Kriptografi Kunci Publik:
Sandi RSA, 2008).

Gambar 1 Skema Kunci Asimetris
Skema algoritma kunci publik Sandi RSA terdiri dari tiga proses, yaitu proses
pembentukan kunci, proses enkripsi dan proses dekripsi. Sebelumnya diberikan terlebih dahulu
beberapa konsep perhitungan matematis yang digunakan RSA (RSA and Public Key
Criptography, 2003, hlm 61).
Algoritma Pembentukan Kunci:
1. Tentukan p dan q bernilai dua bilangan Prima besar, acak dan dirahasiakan.
p ≠ q, p dan q memiliki ukuran sama.
2. Hitung n = pq
Dan hitung ı(n) = (p-1)(q-1).
Bilangan integer n disebut (RSA) modulus.
3. Tentukan e bilangan Prima acak, yang memiliki syarat:
1 < e < ı(n) GCD(e, ı(n)) = 1, disebut e relatif prima terhadap ı(n), Bilangan integer e disebut (RSA) enciphering exponent. 4. Memakai algoritma Euclid yang diperluas (Extended Eucledian Algorithm). Menghitung bilangan khusus d, syarat 1 < d < ı(n) d ≡ e-1 mod ı(n) ed ≡ 1 (mod ı(n)) ed ≡ 1 + k.ı(n) untuk nilai k integer. Bilangan integer d disebut (RSA) deciphering exponent. 5. Nilai (n,e) adalah nilai yang boleh dipublikasi. Nilai d, p, q, ı(n) adalah nilai yang harus dirahasiakan. Pasangan (n,e) merupakan kunci publik. Pasangan (n,d) merupakan kunci rahasia. Keterangan · Fungsi ı(n) Phi-Euler merupakan fungsi terhadap bilangan bulat positif n yang meyatakan banyaknya elemen Zn yang mempunyai invers terhadap operasi pergandaan. Zn belum tentu merupakan grup terhadap operasi pergandaan, dengan kata lain, ı(n) adalah banyaknya elemen {x, 0 ≤ x < n | gcd(x,n) = 1} · Algoritma Euclid digunakan untuk mencari nilai GCD (Greatest Common Divisor) atau sering disebut FPB (Pembagi Persekutuan terbesar) dari dua bilangan bulat. Algoritma ini didasarkan pada pernyataan gcd (r0, r1) = gcd(r1, r2) ... gcd(rn-1, rn) = gcd(rn, 0) = rn Contoh: Akan dihitung gcd(40,24) Jawab: 40 = 1.24 + 16 40 mod 24 = 16 24 = 1.16 + 8 24 mod16 = 8 16 = 2.8 16 mod 8 = 0, stop Jadi gcd(40,24) = 8. Dua buah bilangan bulat a dan b akan dapat dikatakan relatif prima jika gcd(a,b) = 1. · Enkripsi: c = me mod n · Dekripsi: m = cd mod n Contoh enkripsi: Untuk mengenkripsi, dilakukan langkah – langkah sebagai berikut ini: - Ubah tiap karakter teks terang menjadi bilangan bulat 01 - 26 (A = 01, B = 02, … , Z = 26), dan bagi teks menjadi beberapa blok b yang besar tiap bloknya lebih kecil dari n. - Untuk tiap blok, hitung c = be (mod n). c menjadi blok teks sandi yang dikirimkan. Untuk mendekripkan kembali teks sandi, dilakukan langkah-langkah sebagai berikut : 9 JURNAL INFORMATIKA, VOLUME 5 NOMOR 1, APRIL 2009 - Hitung bilangan bulat d sedemikian hingga de = 1 (mod (p-1)(q-1)). Pasangan (n, d) merupakan kunci rahasia. - Untuk setiap blok sandi c yang diterima, hitung b = cd (mod n). Bagi pembuat sandi, dengan memilih 2 buah bilangan prima p dan q, tidaklah sulit untuk menghitung kunci publik n = pq, serta mendekripkannya kembali. Contoh Perhitungan: Andaikan B memilih p = 13 dan q = 17. Maka n = pq = 221. Berikutnya, misalkan secara acak B memilih e = 5 yang merupakan bilangan yang relatif prima dengan (p-1)(q-1) = 192. Maka kunci publik (n, e) = (221, 5). A hendak mengirim teks “TAMAN”, maka ia harus mengubahnya menjadi barisan angka - angka sebagai (A = 01, B = 02 , …): 20 01 13 01 14. Misalkan A mengambil blok dengan panjang 3 digit, maka ia memiliki 4 blok untuk disandikan, masing - masing adalah 200, 113, 011, 4 200 disandikan menjadi (200)5 (mod 221) = 200 113 disandikan menjadi (113)5 (mod 221) = 146 011 disandikan menjadi (11)5 (mod 221) = 163 4 disandikan menjadi (4)5 (mod 221) = 140 B yang menerima pesan sandi dari A harus mencari kunci rahasia yang didapat dari relasi ed = 5d = 1 (mod192). Didapat d = 77. Maka : didapat pesan asli 200 113 011 4 yang jika dikelompokkan dalam 2 digit menjadi 20 01 13 01 14 atau teks “TAMAN” seperti pesan semula. blok sandi 200 didekrip menjadi (200)77 (mod 221) = 200 blok sandi 146 didekrip menjadi (146)77 (mod 221) = 113 blok sandi 163 didekrip menjadi (163)77 (mod 221) = 11 = 011 (karena 3 digit) blok sandi 140 didekrip menjadi (140)77 (mod 221) = 4

Senin, 21 Maret 2011

H2C


Tak kuasa rasanya memikul beban Cinta ini terlalu dalam
apakah sia-sia aku menanti sepatah kata Cinta darimu...
hanya sepi yang memagut dan ruang kosong

Karena hadirmu mampu menyulam sepi yang terus menggerogoti hariku
seperti pagi yang selalu memberikan benderang untuk bumi
Hanya karena cintaku jualah
aku terus bertahan memangkul beban asa yang setia ku bakuan untukmu...

Berharap kamu datang dan membawa kabar cinta untukku...

Tergores Luka


Awalnya,yang kulihat adalah cahaya terang merona diwajahmu
betapa kurasa lepas semua bebanku bila kau ajakku tertawa
apalagi yang bisa aku lakukan selain memanjatkan ribuan doa tuk kekuatan hatimu....

Samar bayangmu tak lagi bisa ku sentuh
cahaya kulihat semakin pudar
hari-hariku mulai berjalan dalam aliran detak jantung yang gelisa
aku tengadah layangkan seribu bertanya
apa lagi yang kamu cari hingga meninggalkanku begini saja
Cintamu berlalu menyisakan pedih
hanya kecewa yang mendera
Rasanya,tak ingin kulihat lagi waktu berputar esok hari tanpamu....

Lov


Aku telah jatuh cinta saat pertama kita bertemu
Wajahmu selalu menghantui malam-malamku
seindah pula rasa cinta yang bersemayang dalam dadaku
saat mata,senyum dan tawamu tumpah tanpa beban
aku telah sampai satu keputusan
yang aku tahu,aku mencintaimu....
itu yang aku rasakan

dan apa lagi yang harus ku sembunyikan
kalau kenyataanya jatung ini masih mengeja namamu di setiap hentakan nafas
andai saja ada kekuatan, kata-kata cinta akan ku persembahkan untukmu.........

mungkin yang paling membahagiakan dalam hidupku saat pertama kali aku katakan padamu
meski aku tak tahu, apakah kau akan menerima CINTAKU....

Jumat, 18 Maret 2011

ciNTa Qta beR-2


Akhirnya dari sungai
Kau temui samudera
Akhir pelangi yang kau temui
hilanglah permata

Tapi cinta kita
tak akan kau temui akhirnya
dan tak akan kau temui batasnya
sampai kapan pun juga!

Karena CINTA kita
datang dari hati yang suci
dan....

Datang dari lubuk yang paling dalam!
genggamlah tanganku kasih...
genggamlah rasa sayangku untuk mu

Karena begituhlah adanya
Hanya dirimu dalam hidupku
untuk selamanya......!

RacuN


Cinta...CiNta...ciNTa....
saat awal mulai mengenal CINTA..
hidupku dan pikiranku mulai di gerogotin rasa itu
tak peduli dengan yang lain

Bagaikan sehari tak memegang hp terasa hampa dan sunyi
itulah CINTA yang membuat buta segalanya
kadang membuat hidup kita senang dan kadang tersakiti olehnya....

Pengalaman itu membuat kita mengalami semua kejadian-kejadian pahit dan manisnya cinta

Kamis, 17 Maret 2011

Hanya Sahabat

telah sekian lama qta saling kenal hanya teman biasa

Entah mengapa hatiku bergetar sat ku tatap dirinya

Maniesnya senyummu ketika kau sapa aq senyummu

Sejujurnya aq ingin lebih dkt denganmu kupikir tak mungkin

Ku hanya sahabatmu yg mengharapkanmu

Kusimpan semw rasa

Semoga engkau tahu rasa d hatiqu ku akan trz melangka

KuLit Kuaci

Aq bagaikan seperti kulit kuaci....
Yang tak menyadarin diri ni pernah ada...
Dy lahk yg d utamakan ibarat no 1 dr pd yg laen..
Tapi apa...dy tdk menoleh
Hanya pandangan lurus...

Cukup senang selama ni ada yg membuat tuch lupa..
Krn dgn wajahnya n perilakunya membuat menjadi damai dan indah...
Smga impian ni trwujud d dktnya Hanya dy n selamanya...untuknya....
:-)))

Rabu, 16 Maret 2011

eMosi Tak teRtahAn

Hal baru begitu indah semuanya dan sempurna
Berjalan dengan mulus dan kejujuran yang kuat bagai di terjang ombak tetap kokoh berdiri

Lambat laut,semua keropos tak percaya dengan keadaan yang sebenarnya
Dan yakin pasti kan kuat namun sebaliknya makin menipis
Dan sering terjadi amarah petir..
Hingga menghilang bagaikan debu

Andai saja mengerti
Keadaan,semua tidak akan terjadi
Tetap berdiri kokoh

Saat merasakan kedamaian selama ini
Ya datang ingin memperkokoh kembali tapi tak segampang itu..
Dan kisah-kisah saat bersamanya pun kini sudah lupa
Walaupun sudah terlupakan saat bersamanya
dan yang tak pernah terlupakan selamanya adalah…..NAMANYA….

peMbatas

Baru pertama ini ku rasakan
Betapa menyentuh dan menyiksa semuanya
Yang membuat semua tak terkendali

Mengapa terjadi,tak seperti biasa
Yang begitu tenang aq jalani dan berubah drastis

Menggangu hari-hari bagaikan ada kaca yang menempel
Ingin qu buat menjauh dari kehidupanku
tetap begitu kuat hingga tak mudah melepaskannya

Buat apa jika semua itu dipertahankan
Ternyata semua itu hanya sia-sia