0

mereka yang terlengkap

Minggu, 05 September 2010.
Posted by Picasa
Leia Mais...
0

Protokol Fail-Stop Digital Signature

Minggu, 13 Juni 2010.
Dalam skema fail-stop signature, sebuah protocol ditambahkan yang memperbolehkan (terikat secara polinomial) penandatangan untuk membuktikan kepada pihak ketiga bahwa tanda tangan palsu memang benar-benar dipalsukan.
Terdiri dari dua atau lebih metode :
  1. Metode untuk mengkonstruksi pembuktian pemalsuan, dan
  2. Metode untuk memverifikasi pembuktian pemalsuan (dimana setiap orang mengetahui public key).
Skema Fail-Stop digital signature terdiri dari lima algoritma (GEN, SIGN, VER, PVER, PTEST):
  1. GEN, SIGN, dan VER adala algoritma yang digunakan untuk membangkitkan kunci, melakukan tanda tangan suatu pesan, dan memverifikasi tanda tangan.
  2. PVER ditujukan bagi penerima untuk membuktikan validasi dari tanda tangan tehadap pihak ketiga tanpa menghasilkan suatu informasi rahasia
  3. PTEST ditujukan untuk penandatangan dan penerima untuk memberikan suatu bukti adanya pemalsuan jika penyerang sukses melakukannya.
Bukti pemalsuan selalu tidak interaktif, sehingga kemudian dapat ditunjukkan kepada yang lain, dan sistem dapat dihentikan dalam suatu persetujuan yang disepakati bersama. Buktinya harus memenuhi 2 buah persyaratan keamanan yang baru, yaitu :
  • Kemampuan untuk membuktikan pemalsuan bekerja secara terpisah dari kekuatan komputasi dari pemalsuan yang potensial.
  • Harus feasible bagi penanda tangan dalam mengkonstruksi tanda tangan, sehingga dia nantinya dapat membuktikan telah dipalsukan.

KONSTRUKSI SECARA KESELURUHAN
Konstruksi secara keseluruhan dari skema ada dalam tiga tahap :
  1. Konstruksi skema fail-stop signature untuk pesan dengan panjang yang terikat.
  2. Untuk menanda tangani pesan yang panjangnya tidak terikat, digunakan hash kemudian skema tanda tangan dengan collision resistant hash function. Hash collision sebagai pembuktian dari sebuah pemalsuan.
  3. Untuk menanda tangani pesan yang beragam, digunakan tiga atau konstruksi berantai di atas one-time sistem. Terdapat 4 buah varian :
  • Bottom-up trees. Disini public key untuk beragam one-time fail-stop signature dihashkan dalam hash tree. Hash collision sebagai pembuktian dari pemalsuan.
  • Top-down trees. Disini setiap node dari tree memiliki pasangan kunci (key pair), dan secret key di setiap node pusat digunakan untuk mensign public key tiap anaknya.
  • Akumulator. Hampir mirip seperti bottom-up tree, tetapi ada special primitive disebutnya akumulator yang memperbolehkan penghilangan dari struktur tree.
  • Jika penanda tangan hanya mengirimkan tanda tangan kepada satu orang penerima (misalnya bank), lebih sederhananya dan lebih efisien dengan menggunakan rantai daripada tree.

Leia Mais...
0

Karakteristik Fail-Stop Digital Signature

Fail stop signature memiliki beberapa sifat atau karakteristik:

  1. Jika seorang signer memberikan tandatangannya pada sebuah pesan sesuai dengan mekanisme maka seorang verifier yang memeriksanya dapat menerimanya.

  2. Seorang pemalsu tidak dapat membuat signature yang mampu melewati skema verifikasi tanpa melakukan usaha eksponensial.

  3. Jika seorang pemalsu suskses dalam membuat sebuah signature yang mampu melewati skema verifikasi dengan probabilitas yang tinggi, signer yang asli mampu membuat pembuktian terjadi pemalsuan.

  4. Seorang signer tidak dapat membuat signature yang pada suatu waktu diklaim telah dipalsukan.


Ide dasar dibalik fail-stop signature adalah untuk setiap kemungkinan public key, akan ada banyak kemungkinan private key yang bekerja sama. Setiap private key menghasilkan beragam kemungkinan tanda tangan. Bagaimanapun juga, Alice hanya mempunyai satu buah private key dan hanya menghitung satu buah tanda tangan. Alice tidak mengetahui private key yang lainnya.
Eve mau memecahkan private keynya Alice. (Eve juga bisa menjadi Alice, mencoba menghitung private key yang kedua untuk dirinya sendiri) Dia mengumpulkan pesan (messages) yang ditanda tangani dan, menggunakan array computer Craynya, mencoba untuk merecover private key Alice. Walaupun dia memanage untuk merecover private key yang valid, maka akan ada banyak kemungkinan private key yang ada, lebih jauh mirip seperti dia memiliki private key yang lain. Kemungkinan Eve merecovery private key yang sesuai dapat dibuat sekecil mungkin atau bahkan dapat diabaikan.
Sekarang, saat Eve memalsukan dokumen tertanda tangani menggunakan private key yang dibangkitkan olehnya, akan menghasilkan tanda tangan yang berbeda dibandingkan dengan Alice menandatangani dokumen tersebut oleh dirinya sendiri. Saat Alice ditarik keluar dari persidangan, dia dapat memproduksi 2 tanda tangan yang berbeda dengan pesan (message) yang sama dan public key (yang berkorespondensi kepada private keynya dan pada private key yang dibuat Eve) untuk membuktikan adanya pemalsuan. Disisi lain, jika Alice tidak dapat memproduksi 2 tanda tangan yang berbeda, maka tidak aka nada pemalsuan dan Alice masih tetap terikat dengan tanda tangannya.
Skema signature ini akan melindungi dari perlawanan Eve dalam memecahkan skema tandatangan Alice dengan kekuatan komputasi yang tipis. Hal tersebut tidak berarti apa-apa jika Mallory melakukan tindakan seperti masuk paksa ke dalam rumah Alice dan mencuri private keynya atau serangan terhadap Alice dalam menandatangi dokumen dan kemudian meyakinkannya bahwa dirinya kehilangan private key. Untuk melindungi adanya perlawanan dari yang sebelumnya, Alice harus membeli anjing penjaga untuk dirinya, hal seperti itulah yang berada di luar lingkup kriptografi.
Leia Mais...
0

Fail-Stop Digital Signature

Digital signature adalah sebuah tanda tangan digital yang digunakan untuk menjamin bahwa pesan yang diterima berasal dari pengirim yang tepat. Digital signature memperbolehkan seseorang, misalkan Alice, membuat tanda tangan kepada semua pihak yang mengetahui kunci publiknya. Beberapa contoh tandatangan hanya aman secara komputasi bagi pihak penandatangan, karena tanda tangan tersebut dapat dipalsukan oleh pihak yang memiliki kemampuan komputasi yang besar. Jika sebuah tanda tangan dapat dipalsukan, maka akan sulit untuk pihak pengirim meyakinkan seorang caraka dari dokumen tertandatangan atau pihak ketiga bahwa dia tidak membuat tanda tangan tersebut.

Permasalahan-permasalahan di atas dapat diatasi dengan menggunakan fail-stop signature yang berisikan sebuah metode untuk membuktikan bahwa terdapatnya suatu pemalsuan tanda tangan. Sebagai contoh, jika seorang penyerang dengan kemampuan komputasi yang tidak terbatas, membuat pemalsuan yang optimal, penandatangan memiliki sebuah polinomial yang dapat membuktikan bahwa asumsi yang mendasari komputasional telah dipecahkan saat dia melihat adanya pemalsuan. Selain itu, setelah pemalsuan yang dilakukan, seluruh pihak atau operator sistem, akan mengetahui bahwa skema tanda tangan telah terpecahkan, dan kemudian akan diberhentikan. Oleh karena itulah diberi nama “fail-stop”.

Fail-stop digital signature pertama kali diperkenalkan oleh Birgit Pfitmann dan Michael Waidner, untuk mengantisipasi adanya serangan pemalsuan. Jika Eve memalsukan tanda tangan Alice setelah melakukan brute force attack, maka Alice dapat membuktikan mereka adalah pemalsu tanda tangan. Jika Alice menandatangani sebuah dokumen dan kemudian menyangkal tanda tangan tersebut, mengakui/mengklaim adanya pemalsuan, persidangan dapat memverifikasi bahwa hal tersebut bukanlah pemalsuan.
Leia Mais...
0

UNDENIABLE DIGITAL SIGNATURE


Dokumen yang memiliki tanda tangan digital dapat diperbanyak guna penyebaran pengumuman publik. Hal ini dapat menjadi masalah. Jika banyak dokumen baik bisnis maupun personal yang menggunakan tanda tangan digital tersebar salinannya, maka akan mudah untuk setiap orang ataupun entitas untuk melakukan verifikasi. Solusi untuk permasalahan ini adalah dengan adanya tanda tangan digital yang dapat dibuktikan secara valid, tetapi penerima tidak dapat menunjukkannya ke pihak ketiga tanpa seijin si pengirim.

Undeniable Signature ialah skema tanda tangan digital di mana untuk memverifikasi tanda tangan digital diperlukan persetujuan pemberi tanda tangan, biasanya proses verifikasi berlangsung dengan sepengetahuan pemberi tanda tangan. Skema tersebut disebut juga nonself athenticating signature schemes.

Proses verifikasi dilakukan dengan menggunakan protokol tanya-jawab, di mana pihak yang ingin memverifikasi pesan atau dokumen mengirimkan pertanyaan kepada pemberi tanda tangan dan melihat jawaban yang diberikan untuk memverifikasi tanda tangan pada dokumen atau pesan yang ia terima. Proses penyangkalan juga berlangsung mirip dengan proses verifikasi. Penerima mengirimkan pertanyaannya dan respons dari pengirim pesan menunjukkan bahwa tanda tangan yang terdapat pada dokumen tersebut bukanlah tanda tangannya.

Jika sebuah tanda tangan digital hanya dapat diverifikasi dengan persetujuan pemberi tanda tangan, pemberi tanda tangan tersebut mungkin saja menolak ketika diminta untuk mengotentifikasi dokumen yang ia tanda tangani. Undeniable Signature dapat memecahkan masalah seperti ini dengan menggunakan sebuah protokol yang disebut disavowal protocol pada skema tanda tangan digital.
Undeniable signature memiliki dua buah fitur utama :
  1. Verifikasi tanda tangan berlangsung secara interaktif. Pemberi tanda tangan dapat membatasi siapa yang dapat memverifikasi tanda tangannya.
  2. Protokol penyangkalan (disapproval protocol). Yaitu sebuah protokol untuk menyatakan bahwa tanda tangan digital yang diberikan merupakan tanda tangan yang palsu.

    Fitur pertama mengimplikasikan bahwa pemberi tanda tangan dapat membatasi proses verifikasi sehingga hanya dapat dilakukan oleh orang-orang yang memiliki otoritas untuk membaca pesan atau dokumen yang ia tanda tangani. Akibatnya jika pesan atau dokumen tersebut terbaca oleh pihak lain yang tidak memiliki otoritas, maka pihak ketiga tadi tidak dapat melakukan verifikasi terhadap dokumen itu. Akan tetapi akibat adanya fitur pertama tersebut, pemberi tanda tangan bisa jadi mengingkari tanda tangan yang sebenarnya valid. Untuk mencegah hal tersebut maka digunakanlah properti yang kedua, sebuah metode untuk membuktikan bahwa sebuah tanda tangan digital adalah tanda tangan digital yang palsu.
Secara umum undeniable signature memiliki tiga buah karakteristik utama yaitu:
  1. Tanda tangan digital hanya dapat di verifikasi dengan kerja sama pemberi tanda tangan, namun tetap memiliki kapabilitas anti-penyangkalan.
  2. Pemverifikasi tidak dapat mengecek validitas sebuah tanda tangan digital sendiri.
  3. Jika pemberi tanda tangan tidak bersedia untuk bekerja sama dalam memverifikasi pesan atau ia tidak dapat dimintai kerjasamanya maka penerima pesan juga tidak dapat memverifikasi pesan yang ia terima.
Secara matematis rumit, tetapi secara ide dasar sederhana.
  1. Alice memberikan Bob dengan signature.
  2. Bob membangkitkan bilangan acak dan mengirimkannya ke Alice
  3. Alice melakukan perhitungan dengan bilangan acak dan kunci privatnya kemudian mengirimkan hasilnnya ke Bob. Alice hanya dapat melakukan perhitungan jika signaturenya sah.
  4. Bob meng-confirmnya.

    Kegunaan lain dari undeniable signature yaitu pada kasus perusahaan perangkat lunak yang menggunakan tanda tangan digital sebagai sarana untuk mengotentifikasi bahwa produk perangkat lunak yang mereka buat hanya dapat digunakan oleh pelanggan yang benar-benar berhak untuk menggunakannya. Misalnya hanya pelanggan yang telah membayar.

    Terdapat juga protokol tambahan dimana Alice dapat membuktikan bahwa ia tidak menandatangani dokumen, dan tidak bisa menyangkal.

    Bob tidak bisa meyakinkan Carol bahwa signature Alice sah, karena Carol tidak mengetahui bahwa bilangan Bob acak. Ia dapat dengan mudah melaksanakan protokol dibelakang layar tanpa bantuan Alice, dan menunjukkan hasil Carol. Carol dapat diyakinkan bahwa signature Alice valid hanya jika ia melengkapi protokol bersama dengan Alice.

    Bob membeli salinan sah DEW, ia dapat memvalidasi signature pada software package kapanpun dia inginkan. Bob meyakinkan Carol bahwa Bob merupakan salesman dari perusahaan Alice. Bob mejual salinan DEW bajakan. Carol memcoba validasi signature dengan Bob, sedangkan Bob juga melakukan validasi signature dengan Alice. Ketika Carol ingin mengirim random number ke Bob, Bob mengirimkannya ke Alice. Ketika Alice membalas, Bob mengirimkan balasannya ke Carol. Dengan begitu, Carol yakin telah membeli software yang sah.
Leia Mais...
0

Group Signature

David Chaum memperkenalkan masalah berikut:
Sebuah perusahaan memiliki beberapa komputer, masing-masing tersambung ke jaringan lokal. Masing-masing departemen perusahaan memiliki printer sendiri (Juga terhubung ke jaringan) dan hanya orang-orang dari departemen tersebut yang diijinkan untuk menggunakan printer departemen mereka. Sebelum pencetakan, printer harus yakin bahwa pengguna bekerja di departemen itu. Pada saat yang sama, perusahaan ingin privasi; nama pengguna tidak dapat dibaca. Namun, jika ditemukan seseorang di akhir hari menggunakan printer terlalu sering, direktur harus mampu menemukan siapa yang menyalahgunakan printer tersebut, dan mengirimkan tagihan.

Solusi untuk masalah ini disebut group signature. Group signature memiliki sifat sebagai berikut: 
- Hanya anggota kelompok yang dapat men-sign pesan. 
- Penerima signature dapat memverifikasi bahwa tanda tangan dari grup valid. 
- Penerima signature tidak dapat menentukan anggota mana dari grup yang menandatangani. 
- Dalam kasus sengketa, signature dapat "dibuka" untuk mengungkapkan identitas penandatangan tersebut. 
Grup Signatures dengan Trusted Arbitrator 


Protokol ini menggunakan arbiter terpercaya: 
(1) Trent menghasilkan banyak pasangan kunci public-key/private-key dan memberikan setiap anggota kelompok daftar kunci pribadi yang unik yang berbeda. 
Tidak ada kunci yang sama dalam daftar. (Jika ada n anggota kelompok, dan setiap anggota mendapatkan m pasangan kunci, maka ada n * m total pasang kunci.) 
(2) Trent menerbitkan daftar utama semua kunci publik untuk grup, dengan urutan acak. Trent menyimpan catatan rahasia kunci yang mana milik siapa. 
(3) Ketika anggota kelompok ingin menandatangani sebuah dokumen, ia memilih kunci secara acak dari daftar pribadinya. 
(4) Bila seseorang ingin memverifikasi bahwa tanda tangan tersebut milik grup, ia melihat pada daftar utama untuk kunci publik yang sesuai dan memverifikasi tanda tangannya. 
(5) Jika terjadi perselisihan, Trent mengetahui kunci publik mana yang sesuai dengan anggota kelompok tersebut.


Masalah dengan protokol ini adalah bahwa ia membutuhkan pihak terpercaya. Trent tahu kunci pribadi setiap orang dan bisa memalsukan tanda tangan. M juga harus cukup panjang untuk menghalangi upaya analisis yang menggunakan kunci setiap anggota. Chaum mendaftarkan beberapa protokol lain, dimana Trent tidak mampu untuk memalsukan tanda tangan di mana Trent bahkan tidak diperlukan. Protokol lain tidak hanya menyembunyikan identitas signer, tetapi juga membolehkan anggota baru untuk bergabung dengan grup.  
Leia Mais...
0

Proxy Signatures

Tanda tangan yang ditunjuk confirmer memungkinkan penandatangan untuk menunjuk orang lain untuk memverifikasi tanda tangannya. Misalnya Alice, harus pergi untuk perjalanan bisnis ke tempat yang tidak memiliki akses jaringan komputer yang baik jaringan akses , misalnya ke hutan Afrika. Atau kemungkinan dia lumpuh setelah operasi. Dia mengharapkan untuk menerima beberapa e-mail penting, dan telah menginstruksikan sekretarisnya yaitu Bob untuk menanggapinya secara sesuai. Bagaimana Alice dapat memberikan kekuasaan pada Bob untuk tanda pesan untuknya tanpa memberikan kunci pribadi dia?

Proxy signatures adalah solusinya. Alice dapat memberikan proxy pada Bob, sehingga sifat berikut ini berlaku:

1. Distinguishability. Proxy signatures dapat dibedakan dari tanda tangan normal siapapun. 
2. Unforgeability. Hanya signer asli dan proxy yang ditunjuk signer yang dapat membuat tanda tangan proxy yang valid. 
3. Proxy signer’s deviation. Seorang proxy signer tidak dapat membuat proxy signature yang valid yang tidak terdeteksi sebagai proxy signature. 
4. Verifiability. Dari proxy signature, pemverifikasi dapat diyakinkan penandatangan perjanjian asli pada pesan yang ditandatangani. 
5. Identifiability. Seorang penandatangan asli dapat menentukan identitas proxy signer’s dari proxy signature. 
6. Undeniability. Seorang proxy signer tidak dapat menyangkal proxy signature yang diterima yang ia ciptakan.

Dalam beberapa kasus, bentuk yang lebih kuat dari identifiability diperlukan,yakni setiap orang dapat 
menentukan identitas proxy signer’s dari proxy signature. Skema proxy signature, berdasarkan berbagai skema tanda tangan digital.
Leia Mais...
0

ANDOS : All-or-Nothing Disclosure of Secrets


Bayangkan bahwa Alice adalah mantan agen Uni Soviet, sekarang menganggur. Untuk mendapatkan uang, Alice menjual rahasia. Setiap orang yang bersedia membayar sesuai harga dapat membeli rahasia tsb. Dia bahkan memiliki katalog. Semua rahasia itu terdaftar dengan nomor dan judul menggiurkan seperti: “Di mana Jimmy Hoffa?”, “Siapa yang diam-diam mengendalikan trilateral Komisi?”, “Mengapa Boris Yeltsin selalu terlihat seperti orang yang tinggal ditelan kodok?”, Dan seterusnya.


Alice tidak akan memberikan dua rahasia untuk harga satu atau bahkan sebagian informasi mengenai salah satu rahasia. Bob, calon pembeli, tidak mau membayar acak rahasia. Dia juga tidak ingin kirim Alice rahasia yang ia mau, dan selain itu Bob takut Alice dapat menambahkan “apa rahasia Bob tertarik pada” katalognya. J poker protokol tidak akan bekerja dalam kasus ini, karena pada akhir protokol Alice dan Bob harus memperlihatkan tangan mereka satu sama lain. Ada juga trik Bob lakukan untuk dapat belajar lebih dari satu rahasia. Solusinya adalah menggunakan semua atau tidak ada pengungkapan-secrets (ANDOS) [246]. Protocol ini menginjinkan beberapa pihak untuk membeli rahasia individu dari seorang penjual. Disini kita akan menggunakan definsi FBI (Fixed Bit Indexed) dari dua buah string x dan y yang pada bit ke-I dari string tersebut bernilai sama.

Kasus dari protocol ANDOS ini dapat dijelaskan sebagai berikut. Misal Alice seorang penjual, Bob dan Carol adalah pembeli. Alice memiliki k buah n-bit nilai rahasia ; S1,S2,S3,…,Sk. Bob ingin membeli sebuah nilai rahasia Sb, dan Carol ingin membeli nilai rahasia Sc.


  1. Alice menggenerate sepasang public key dan memberitahukan Bob nilai kunci publiknya tapi Carol tidak diberitahu. Alice menggenerate lagi sepasang public key dan memberitahukan Carol kunci publiknya tapi tidak dengan Bob.

  2. Bob menggenerate k buah n-bit nilai acak, B1,B2,B3,…,Bk, dan memberikan nilai tersebut kepada Carol. Kemudian Carol menggenerate k buah n-bit nilai acak, C1,C2,C3,…,Ck dan memberitahukan nilai tersebut kepada Bob.

  3. Bob mengenkripsi Cb (ingat lagi, bahwa Bob ingin membeli nilai rahasia Sb) dengan kunci public yang diberikan oleh Alice kepadanya. Kemudian Bob menghitung FBI dari Cb dan hasil enkripsi Cb. Hasil FBI tersebut diberikan kepada Carol. Carol mengenkripsi Bc (ingat lagi, bahwa Carol ingin membeli nilai rahasia Sc) dengan kunci public yang diberikan Alice kepadanya. Kemudian Carol menghitung FBI dari Bc dan hasil enkripsi Bc. Hasil FBI tersebut diberikan kepada Bob.

  4. Bob mengambil setiap n-bit dari B1,B2,B3,…,Bk, dan mengganti setiap bit yang nilai indexnya tidak tercantum pada FBI yang diterima dari Carol dengan nilai bit komplemennya (misal bit ke-2 tidak tercantum di FBI, dan bit ke-2 nilainya “1” diganti jadi “0”). Hasil dari pengubahan itu berupa B’1,B’2,B’3,…,B’k yang kemudian dikirim kepada Alice (ingat bahwa setiap nilai B’i ukurannya n-bit). Carol juga melakukan hal yang sama dengan Bob, yakni mengambil setiap n-bit dari C1,C2,C3,…,Ck dan menggantinya dengan nilai bit komplemen jika bit tersebut tidak tercantum pada FBI yang dikirim oleh Bob. Hasil dari pengubahan itu berupa C’1,C’2,C’3,…,C’k yang kemudian dikirim kepada Alice.

  5. Alice menerima dua himpunan C’1,C’2,C’3,…,C’k dan B’1,B’2,B’3,…,B’k. Karena Alice memiliki kunci privat yang kunci publicnya dipakai Bob maupun Carol maka Alice mampu mendekripsi seluruh C’1,C’2,C’3,…,C’k dengan private key milik Bob, sehingga menghasilkan k buah nilai C” n-bit ; C”1,C”2,C”3,…,C”k. Lalu Alice menghitung Si C”i , untuk setiap i = 1 hingga k. Hasil XOR tersebut diberikan kepada Bob. Alice juga melakukan dekripsi seluruh B’1,B’2,B’3,…,B’k dengan private key milik Carol, sehingga menghasilkan k buah nilai B” n-bit ; B”1,B”2,B”3,…,B”k. Alice kemudian menghitung Si B”I , untuk setiap i = 1 hingga k. Hasil XOR tersebut diberikan kepada Carol.

  6. Bob menghitung nilai Sb dengan meng-XOR Cb dengan nilai ke-b yang dikirim terakhir kali oleh Alice (ingat bahwa Bob ingin nilai Sb dari Alice) Carol menghitung nilai Sc dengan meng-XOR Bc dengan nilai ke-c yang dikirim terakhir kali oleh Alice (ingat bahwa Carol ingin nilai Sc dari Alice).

    Protocol ini dapat bekerja untuk sejumlah pihak pembeli. Jika Bob, Carol, dan Dave ingin membeli rahasia, alice memberikan setiap pembeli dua buah kunci publik, artinya setiap satu orang pembeli mendapat 2 buah kunci publik. Setiap pembeli memperoleh sekumpulan bilangan dari pembeli lainnya. Kemudian, mereka akan menyelesaikan protocol dengan alice untuk setiap sekumpulan bilangan yang dikirim kepadanya dan kemudian meng-XOR seluruh hasil akhir dari proses yang alice lakukan.
Leia Mais...
0

GPG (GNU Privacy Guard)

Sabtu, 12 Juni 2010.
(Sapty, F. R., 2005) GNU Privacy Guard (GnuPG, atau GPG) merupakan software enkripsi email pengganti PGP yang lengkap dan bebas. Pada dasarnya PGP dan GPG adalah sama, hanya pada model pengembangannya saja yang berbeda. GnuPG adalah suatu program yang digunakan untuk mengamankan komunikasi dan penyimpanan data. Program ini dapat menyandikan data serta membuat tanda tangan digital. Karena tidak menggunakan algoritma yang dipatenkan, GnuPG dapat digunakan secara bebas. GnuPG menggunakan kriptografi Public key (public key cryptography) sehingga para penggunanya dapat saling berkomunikasi secara aman. Dalam sistem Public key, setiap pengguna mempunyai sepasang kunci yang terdiri dari Private key dan Public key. Private key dirahasiakan (hanya diketahui oleh pemiliknya), sementara Public key dapat diberikan pada siapa saja yang dikehendaki pemilik, sehingga pemilik dapat berkomunikasi dengan pengguna lain yang diberi Public key tersebut.

GPG bebas karena tidak menggunakan algoritma enkripsi yang telah dipatenkan sehingga bisa dipakai oleh siapa saja tanpa batasan. Beberapa fitur yang ditawarkan GnuPG adalah:

  1. Penggantian penuh terhadap pemakaian PGP.
  2. Dapat digunakan sebagai pengganti PGP (yang dipatenkan algoritmanya).
  3. Tidak menggunakan algoritma yang dipatenkan.
  4. Berlisensi GPL.
  5. Ditulis dari nol, sehingga tidak menggunakan kode sumber atau algoritma dari program lainnya.
  6. Implementasi penuh OpenPGP (RFC 2440).
  7. Kemampuan yang lebih baik dibandingkan PGP.
  8. Mampu menerjemahkan / memverifikasi pesan tersandi dari PGP 5.x
  9. Mendukung algoritma ElGamal (tanda tangan dan penyandian), DSA, 3DES, BlowFish, TwoFish, CAST5, MD5, SHA-1, RIPE-MD-160 dan TIGER
  10. Kemudahan implementasi algoritma penyandian baru dengan menggunakan modul ekstensi (extension module).
  11. Identitas pengguna (UserID) diseragamkan dalam suatu bentuk standar.
  12. Mendukung kunci dan tanda tangan yang dapat kadaluwarsa (hanya dapat digunakan dalam jangka waktu tertentu)
  13. Mendukung bahasa Inggris, Denmark, Spanyol, Belanda, Perancis, Jerman, Jepang, Italia, Portugis (brasil dan portugal), Polandia, Rusia, dan swedia
  14. Online Help system.
  15. Dapat mengirimkan Pesan kepada penerima anonim (optional).
  16. Dukungan integral untuk HKP Keyserver (wwwkeys.pgp.net).
  17. Mempunyai banyak program antarmuka grafis.
GnuPG bekerja sempurna di atas sistem operasi Linux dengan platform x86, mips, alpha, sparc64 ataupun powerpc. Sistem operasi lain dengan platform x86 yang juga bekerja adalah FreeBSD, OpenBSD, NetBSD dan bahkan Windows.

Pembuatan kunci dapat menggunakan algoritma DSA maupun ElGamal. Kemudian ditentukan panjang kunci yang akan dibuat. Yang harus dipertimbangkan dalam menentukan panjang kunci, seseorang harus memilih antar aspek kerahasiaan dan waktu yang diperhitungkan. Jika kunci semakin panjang resiko untuk meng-crack pesan akan menurun. Tetapi dengan kunci yang lebih besar waktu kalkulasinya juga bertambah. Panjang kunci minimal pada GnuPG adalah 768 bit. Untuk DSA 1024 bit adalah ukuran yang standar. Password digunakan agar dapat menggunakan fungsionalitas yang dimiliki kunci rahasia. Setelah semua data dimasukkan sistem mulai menggenerate kunci. Proses ini membutuhkan waktu beberapa lama.

Orang lain dapat menghubungi seseorang secara aman dengan kunci publik yang telah dibuat. Mempublish kunci dapat dilakukan dengan mempublishnya pada homepage sendiri (dengan finger) melalui server kunci .Saat menerima kunci publik dari orang lain harus dilakukan penambahan data ke basisdata kunci.

Sekali sebuah kunci diimpor harus dilakukan validasi. GnuPG menggunakan model kepercayaan yang handal dan fleksibel yang tidak membutuhkan seseorang untuk secara personal memvalidasi setiap kunci yang diimpor. Tetapi beberapa kunci mungkin harus divalidasi secara personal. Sebuah kunci divalidasi dengan memverifikasi fingerprint kunci dan kemudian menandatangani kunci untuk mensertifikasinya sebagai kunci yang valid.

User dapat menarik/mencabut kembali kuncinya untuk beberapa alasan. Misalnya kunci rahasia telah dicuri atau menjadi tersedia untuk orang yang salah. Jika user melupakan passphrasenya atau jika kunci pribadi telah diketahui orang lain atau hilang, sertifikat ini dapat dipublikasikan untuk memberitahukan orang lain bahwa kunci publik tidak dapat digunakan kembali. Kunci publik yang ditarik kembali tetap dapat digunakan untuk memverifikasi tanda tangan yang dibuat di masa lalu, tetapi tidak dapat digunakan lagi untuk mengenkripsi pesan. Juga berdampak pada kemampuan untuk mendekrip pesan yang dikirimkan kepadanya di masa lalu jika user tetap memiliki akses ke kunci privat.
Leia Mais...
0

PGP Preety Good Privacy


PGP bekerja dengan menggabungkan beberapa bagian yang terbaik dari key konvensional (simetrik) dan public key cryptography, sehingga sering disebut hybrid cryptosystem. Ketika seorang pengguna mengenkrip sebuah plaintext dengan menggunakan PGP, maka awal PGP akan mengkompress plaintet ini. Data yang dikompress menghemat waktu, media transmisi dan yang lebih penting adalah keamanan kriptografi yang kuat. Kebanyakan teknik analisis sandi mengeksplotasi pola yang ditemukan dalam plaintext untuk men-crack chiper. Kompressi mengurangi pola-pola ini dalam plaintext, dengan cara demikian perbaikan yang lebih baik untuk menghambat analisa kode-kode.

PGP membuat sebuah session key, yaitu sebuah kunci rahasia berupa bilangan acak pada saat itu. Session Key ini berkerja dengan sangat aman, algoritma enkripsi konvesional yang cepat untuk meng-enkrip plaintext. Hasilnya adalah berupah chiper text. Sekali data dienkripsi, lalu session key ini dienkripsi lagi menggunakan kunci publik penerima. Session key yang terenkripsi kunci publik penerima dikirim dengan chipertext ke penerima.

Proses deskripsi bekerja sebaliknya, penerima menerima pesan lalu membuka pesan tersebut dengan kunci pribadinya, namun pesan tersebut masih terenkripsi dengan session key. Dengan menggunakan PGP, penerima mendekrip chipertext yang terenkripsi secara konvensional.

Sebuah kunci (key) adalah sebuah nilai yang bekerja dengan sebuah algoritma kriptografi untuk menghasilkan sebuah ciphertext yang sepesifik. Kunci pada dasarnya adalah bilangan yang besar.

Ukuran kunci publik dan ukuran kunci rahasia kriptograpi tidak saling barhubungan. Sebuah kunci 80-bit konvensional memiliki kekuatan setara dengan kunci publik 1024-bit. Sebuah kunci 128-bit konvensional setara dengan kunci publik 3000-bit. Jadi semakin besar kunci semakin aman, tetapi algoritma yang digunakan tiap tipe kriptograpi sangat berbeda dan perbendaan ini seperti orang membandingkan antara apel dengan jeruk.

Sementara secara matematis kunci publik dan pribadi berhubungan. Sangat sulit mendapatkan kunci pribadi hanya dengan memberikan kunci publiknya, tetapi mendapatkan kunci pribadi selalu memungkinkan jika diberikan waktu yang cukup dan kekuatan komputasi cukup.

Kunci disimpan dalam bentuk terinkripsi. PGP menyimpan kunci dalam 2 file pada dihardisk, satu untuk kunci publik dan satunya lagi untuk kunci pribadi. File-file ini disebut dengan keyrings. Dalam menggunakan PGP, secara khusus akan ditambahkan kunci publik penerima ke keyring publik. Kunci pribadi disimpan pada keyring pribadi. Jika kehilangan keyring pribadi, maka tidak akan dapat melakukan dekripsi terhadap informasi yang telah terenkripsi pada ring tersebut.
Leia Mais...
0

Zero-Knowledge Proof "bukan bahasa dewa"

Jumat, 11 Juni 2010.
Zero-Knowledge Proof yang diperkenalkan oleh Uriel Feige, Amos Fiat dan Adi Shamir merupakan suatu metode interactive dari suatu pihak untuk membuktikan pihak lain bahwa (biasanya secara matematis) statement dia adalah benar, tanpa menyatakan ke yang lain kejujuran dari statement tersebut. Untuk mengetahui seberapa penting protokol Zero Knowledge Proof, perlu diketahui sifat dari protokol ini. Setidaknya protocol ini memenuhi kondisi sebagai berikut :





  1. Pengklaim tidak dapat mengelabuhi pemverifikasi. Jika pengklaim tidak tahu buktinya, maka peluang pengklaim untuk meyakinkan pemverifikasi bahwa pengklaim mengetahui rahasia cukup kecil.



  2. Pemverifikasi tidak dapat mencurangi pengklaim. Pemverifikasi tidak mendapat informasi sedikitpun dari bukti. Jika pengklaim mengetahuinya, pemverifikasi tidak dapat mendemonstrasikannya kepada pihak lain seolah-olah ia sebagai pengklaim.



  3. Pemverifikasi tidak dapat mempelajari kondisi apaun dari bukti pengklaim tanpa pengklaim yang melakukannya.
Dari syarat protokol Zero Knowledge tersebut perlu dikaji mengapa protokol ini banyak digunakan. Pada dasarnya konsep Zero Knowledge muncul untuk mengatasi kekurangan pada protokol yang sederhana. Contohnya adalah pada otentikasi password, informasi rahasia (yaitu password itu sendiri) diberikan kepada pemverifikasi. Pemverifikasi, siapapun dapat menggunakan password tersebut untuk digunakaan pada tempat lain. Berbeda dengan password, Zero Knowledge proof tidak memberikan informasi terhadap pemverifikasi secara langsung, tetapi lebih mengarah kepada pembuktikan pengetahuan pengklaim terhadap rahasia yang dimilikinya.

Terdapat syarat suatu protokol dikatakan sebagai Zero Knowledge, yaitu:



  1. Complete, maksudnya jika pengklaim jujur, pemverifikasi jujur, dan protokol juga dilaksanakan dengan lengkap.



  2. Soundness, maksudnya jika terdapat algoritma M, dengan property pengguna tidak jujur dapat menjalankan protokol pada B. M tersebut dapat digunakan untuk membuktikan pengklaim sukses dalam eksekusi setiap protokol.



  3. Property, maksudnya jika dapat disimulasikan, maka terdapat algoritma simulasi yang dapat menghasilkan transkrip atau sama dengan output yang sebenarnya tanpa melibatkan pengklaim asli.



  4. Computational dan perfect ZK



        1. Computational, jika bukti dalam polynomial time tidak dapat dibedakan antara yang asli dengan yang disimulasikan.



        2. Perfect ZK: jika distribusi probabilitas transkrip harus identik. Maksud polynomial time tidak dapat dibedakan adalah setiap informasi yang diperoleh dari pemverifikasi selama interaksi dengan pengklaim tidak berguna bagi pemverifikasi selama waktu polinomial tertentu
Leia Mais...
0

Sejarah eXtreme Programming

Selasa, 20 April 2010.

Proyek pengembangan perangkat lunak yang dianggap sebagai yang pertama kali menerapkan XP adalah C3 (Chrysler Comprehensive Compensation) Project dari Chrysler. Proyek ini adalah proyek penggajian 10.000 karyawan Chrysler, terdiri dari kira-kira 2000 class dan 30.000 method. Proyek yang dimulai pertengahan dekade 90-an ini terancam gagal karena rumitnya sistem yang dibangun dan kegagalan pada saat testing. Chrysler kemudian menyewa Kent Beck, seorang pakar software engineering yang di kemudian hari dikenal sebagai pencetus awal dari XP, untuk menyelamatkan proyek tersebut. Beck bersama rekannya Ron Jeffries dengan kewenangan yang diberikan oleh Chrysler melakukan berbagai perubahan di C3 Project untuk membuatnya lebih efisien, adaptif, dan fleksibel. Hal yang paling penting bagi mereka adalah harus mampu memenuhi permintaan utama dari Chrysler, untuk melakukan launching perangkat lunak tersebut dalam waktu tidak lebih dari dua tahun sejak saat Beck dikontrak.
Beck dan Jeffries pada akhirnya berhasil menyelesaikan target Chrysler dengan menerapkan berbagai metode dalam proses pengembangan perangkat lunak tersebut. Kumpulan metode inilah yang kemudian dikenal sebagai model atau pendekatan XP dalam pengembangan perangkat lunak. Begitu sederhananya metode-metode tersebut sehingga bagi orang yang belum menerapkan, XP terlihat sebagai kumpulan ide lama yang terlalu sederhana dan tidak akan memberikan efek apapun pada sebuah proyek pengembangan perangkat lunak.
Kent Beck sendiri mengakui dan menegaskan bahwa XP tidak selalu cocok untuk setiap proyek pengembangan perangkat lunak. Kelebihan XP adalah sesuai untuk digunakan pada proyek yang memiliki dynamic requirements. Proyek semacam ini memerlukan adaptasi cepat dalam mengatasi perubahan-perubahan yang terjadi selama proses pengembangan perangkat lunak. XP juga cocok untuk proyek dengan jumlah anggota tim tidak terlalu banyak (sekitar 10-20 orang) dan berada pada lokasi yang sama.
Leia Mais...
2

Protokol Kriptografi 1 : Key and Message Transmission

Kamis, 25 Maret 2010.

Key and Message Transmission
Protokol ini terjadi antara 2 user dengan tidak melibatkan pihak ketiga. Dalam komunikasinya, session key dan pesan M dikirim dalam satu kali transmisi dengan menggunakan publik key Kriptografi.
Protokol ini menggunakan sistem hybrid yang lebih banyak digunakan pada sistem komunikasi dan dapat dikombinasikan dengan digital signatures, timestamps, dan protocol keamanan lainnya. Protokol yaitu sebagai berikut :

  • Alice membangkitkan random session key, K, dan melakukan enkripsi M using K. EK(M)

  • Alice menggunakan public key Bob dari database.

  • Alice melakukan enkripsi K dengan public key Bob. EB(K)

  • Alice mengirim pesan M yang terenkripsi dan session key yang terenkrip kepada Bob. EK(M), EB(K).

  • Bob melakukan dekripsi untuk mendapatkan session key Alice, K, dengan menggunakan private key miliknya.

  • Bob melakukan dekripsi pesan Alice dengan menggunakan session key.

Gambar. Protokol Key and Message Transmission
Untuk menambahkan keamanan terhadap man-in-the-middle attacks, Alice dapat melakukan tanda tangan pada pesan dan session key yang dikirimkan dengan menggunakan private key milik Alice. Notasinya yaitu EA(EK(M), EB(K)).

Leia Mais...
0

Grub Install setelah Install Windows

Selasa, 23 Maret 2010.
Ide dasarnya sebagai berikut,
1. Boot komputer dengan Live-CD Linux
2. Edit fstab
3. Mount partisi instalasi Linux
4. grub-install
5. edit file menu.lst

mari kita lanjutkan..
Setelah booting komputer dengan Live-CD Linux [dalam hal ini dengan CD Ubuntu 7.10], langsung aja buka terminal. Dari menu Applications -> Accessories -> Terminal.
Jalankan perintah:
[code='xml']$ sudo parted /dev/sda
(parted) print[/code]
Sesuaikan /dev/sda dengan HDD anda. Anda akan dapatkan informasi partisi HDD anda.

Berikut ini informasi partisi HDD saya:
[code='xml']Disk /dev/sda: 80.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 31.2GB 31.2GB primary ext3
2 31.2GB 31.8GB 535MB primary linux-swap
3 31.8GB 76.8GB 45.0GB extended lba
5 31.8GB 34.9GB 3142MB logical fat32
6 34.9GB 76.8GB 41.9GB logical ntfs
4 76.8GB 80.0GB 3224MB primary ntfs boot[/code]

Langkah kedua yaitu edit /etc/fstab:
Buka fstab anda dengan editor kesukaan anda, saya memakai vim:
[code='xml']$ sudo vim /etc/fstab[/code]
Tambahkan baris untuk mount partisi linux anda.
contoh berdasarkan informasi parted HDD saya:
[code='xml']/dev/sda1 /target ext3 defaults 0 0[/code]

Ok, langkah ketiga, mount partisi linux:
[code='xml']$ sudo mount /target[/code]

Langkah keempat, grub-install
[code='xml']$ sudo grub-install --root-directory=/target /dev/sda[/code]

Langkah terakhir, edit menu.lst:
Buka /target/boot/grub/menu.lst dengan editor favorit anda,
[code='xml']$ sudo vim /target/boot/grub/menu.lst[/code]
Tambahkan code berikut:
[code='xml']title windust
root (hd0,3)
makeactive
chainloader +1[/code]
Untuk root (hd0,3) sesuaikan dengan partisi yang anda punya berdasarkan informasi dari parted tadi.
hd0,3 berarti HDD pertama, partisi ke-empat.

Nah selese deh.. tinggal restart.



Leia Mais...
1

DaRi mAta TuRun Ke Hati

Senin, 22 Maret 2010.
hari gini 23 maret 2010

oke...gw lanjutin...cerita gw...
beuh...pagi-pagi....kacau dah....tepat jam 5 lebih 10 menit lebih 3 detik keliatannya...gw udah nyampe di lapangan parkir...(tapi bukan bwt markirin mobil..apalgi mobil gw...)
tapi buat menyiksa  urat-urat kaki gw...sama nyiksa....mata gw yang masih lemas lunglai....habis kerja keras memejamkan mata semalaman (alias tidur bin bobo). Gw yang senior ternyata dateng kepagian cuy.....jadilah gw senior satu-satunya yang paling ?????????......yaiyalah junior udah pada baris.....lah gw..baris ma siapa.....tapi untungnya beberapa temen seangkatan gw langsung nongol......tapi namanya senior yang kreatif..yaaaa ga langsung baris....duduk manis dulu....sambil menenangkan diri dengan udara pagi....yang indah menyejukkan hati walau tak bersahabat dengan mata.....makanya ada pujangga yang bilang "dari mata turun ke hati" coz emang gak bersahabat ma udara pagi....

Anjrottttt c Indra (udah gw sebutin kan di postingan sebelumnya) sang ketua kelas....dengan lantang padahal gw yakin dia....juga lemesssss ngantukk...hahaha....ngomong triak-triak " Perhatian bentuk 3 beresap...bla..bla..bla..." anjrooooottttttttttttt....

biasanya c baris cepet kaya kilat nyamber tiang.....ehhhhh ada XXX....(ga enak gw nyebutinnya)....yg jelas....dulunya waktu mahasiswa...dia itu Kepala Departemen Khusus...beuh...dengernya juga.......ajiiibbbbb..
hehe.....(ijin pak...).....
 gara-gara beliau....apel senam pagi....jadi lama banget kayak nungguin antrian di tukang obat....ehhhh salah deh bukan coz beliau tapi coz kite-kite juge c...(lo ko jadi betawi).....maaaaafffff ya pakkkk.....

hahaha.......

aduh pegel nih ....ntar dulu yah gw mw cari data-data buat TA gw dulu...
tapi gw yakin seyakin-yakinnya...lw pwngwn twkan cerita gw....apalagi yang baca adalah yang menjadi "musuh dalam teman gw"....

see you next time
Leia Mais...
0

Tumben Founder nih Blog Curhat

hari ini 22 maret 2010

Anjrot.....udah lama gak ngenet dikelas....pas ngenet....beuhh...susah putusnye....tapi mata ini uhhhh susah juge diajak kompromi.....libur  bawaanya tidur....kesini-sini jadi kerasa juga....
but anyway....semalem gw dapet jadwal kuliah Kemanan jaringan jam sembilan pagi teng.....eh pas di kelas, ketua kelas gw yang namanya gw sebutin ga yah....sebutin aja deh....c indra...semena-mena dia bilang jadwal ganti...beuh....ASIK...coz dosennya kosong...hahaha....anjrot langsung gw putuskan balik ke kamar ... tapi laptop masih nyambung ma wireless kelas....pilih mana nih....lanjut ngenet...sambil cari-cari info bahan kuliah (alay) atau memanjakan mata....hehehe.....ah daripada gw pikir-pikir kayak mikir TA...langsung gw putuskan balik ke k.a.m.a.r.....jossssss....

jam 1 kurang 1 menit gw udah duduk siap makan siang dengan lahap....bareng senior ma junior...TAPI masalahnya.....meja makan wajib kudu musti must penuh...coz mejanya paling depan kayak mw perang apalagi ada ketua senat sang kaisar kampus duduk dibagian tengah agak pinggir dikit ke arah gw hehehe....bukan deh junior gw...hehehe...cewek...haha...ga usah di bahas...
kembali ke topik...meja makan gw kurang satu orang yang duduk....ci tuan piket tepat 1 menit menjelang jam 1 siang terik pisan...bilang "harap mahasiswa untuk duduk di meja depan terlebih dahulu...."...sialnye.......gubrakkkkkkkkkkk...yang dateng "nyamperin" gw...bukan deh, nyamperin meja gw..bukan juga deh...nyamperin meja yang ada gwnya lebih tepatnya lagi....ADALAH..............

____mw tw kan lw____ 

hehehe............................
Leia Mais...
0

CRYPTOGRAPHIC HASH FUNCTION

Rabu, 17 Februari 2010.

Dewasa ini banyak data-data penting seperti data-data bisnis yang dipertukarkan melalui media internet. Misalnya saja melalui media email. Media email biasa bukanlah media yang benar-benar aman. Dewasa ini pesan-pesan melalui email bisa saja dibaca, diubah atau dirusak oleh pihak yang sama sekali tidak berhak. Untuk itu diperlukan pengamanan terhadapnya, yaitu dengan teknik kriptografi modern yang kini banyak digunakan. Ada 4 aspek layanan keamanan yang diberikan oleh kriptografi, yaitu :
 Kerahasiaan Pesan (Confidentiality/Secrecy)
 Keabsahan Pengirim (User Authentication)
 Keaslian Pesan (Message/Data Integrity)
 Anti Penyangkalan (Non Repudiation)

Keempat aspek keamanan tersebut gunanya untuk mengatasi ancaman-ancaman terhadap komunikasi data yang dipertukarkan seperti :
1. Pengungkapan rahasia (disclosure) kepada pihak yang tidak berhak.
2. Analisis lalu lintas komunikasi, meliputi pola lalu lintas frekuensi dan durasi komunikasi, banyak dan panjang berita.
3. Penyamaran (masquerade), penambahan pesan yang disamarkan dari pihak yang berwenang.
4. Modifkasi isi pesan.
5. Modikasi urutan pesan.
6. Modifkasi waktu.
7. Penyangkalan oleh pengirim pesan.
8. Penyangkalan oleh penerima pesan.

Untuk poin (1), (2) diselesaikan dengan teknik enkripsi kripto simetris. Poin (3) sampai (6) dapat diselesaikan dengan teknik otentikasi atau dengan tanda tangan digital. Poin (7) dapat diselesaikan dengan tanda tangan digital. Sedangkan poin (8) diselesaikan dengan tanda tangan digital dan protokol yang digunakan.
Algoritma kriptografi modern yang digunakan saat ini secara garis besar terbagi dalam 3 kelompok, yaitu algoritma simetri, algoritma asimetri dan hash function. Hash function adalah fungsi matematika yang menerima masukan string apa saja yang panjangnya sembarang dan mengkonversinya menjadi string keluaran yang panjangnya tetap yang disebut nilai hash (hash value) dan umumnya panjang nilai hash ini jauh lebih kecil dari panjang string masukannya. Hampir di seluruh protokol kriptografi, hash function banyak diterapkan, seperti pada MD5, SHA-1, SHA-256 dan SHA-512. Sehingga hash function ini tergolong sangat penting dalam dunia kriptografi.

Dalam dunia kriptografi, hash function bukan merupakan sesuatu yang baru. Sebagai salah satu cabang dalam kriptografi, hash function memiliki daya tarik tersendiri dikarenakan cukup banyak aplikasi-aplikasi yang menerapkan fungsi hash. Fungsi hash banyak digunakan sebagai otentikasi, integritas dan digital signature, salah satu aplikasinya yang mudah dujumpai yaitu penggunaan password dalam aplikasi digital atau internet.
Secara kritografis hash function adalah fungsi hash yang memiliki beberapa sifat keamanan tambahan sehingga dapat dipakai untuk tujuan keamanan data. Umumnya digunakan otentikasi dan verifikasi. Suatu hash function merupakan sebuah fungsi matematika yang mengambil sebuah panjang variabel string input, yang disebut pre-image dan mengkonversikannya ke sebuah string output dengan panjang yang tetap dan biasanya lebih kecil, yang disebut message digest (ringkasan pesan). Hash function dapat menerima masukan string apa saja. Jika string menyatakan pesan (message), maka sembarang pesan M berukuran bebas dikompresi oleh fungsi hash H melalui persamaan h=H(M), dimana M = pesan ukuran sembarang, h = nilai hash (hash value) atau pesan-ringkas (message-digest); h <<<< M.


Dapat dijelaskan bahwa Cryptographic Hash Function adalah suatu fungsi dengan inputan yang berubah-ubah panjangnya (atau sangat panjang) dan memetakannya sehingga menghasilkan output yang pendek dan panjang nya tetap, dimana dibutuhkan sebuah fungsi yang berguna untuk mengkompresi sebuah string dengan panjang yang berubah-ubah menjadi sebuah string tetap yang lebih pendek. Hash function digunakan untuk menentukan secara keseluruhan tempat penyimpanan yang mungkin dari sebuah file.
Tujuan penggunaan hash function ini adalah agar 2 buah input yang berbeda tidak mempunyai nilai hash yang sama (untuk menghindari colllision/hash clash). Hash function sering disebut juga fungsi satu arah (one-way function), message digest, fingerprint, fungsi kompresi, dan message authentication code (MAC). Ilustrasinya fungsi hash satu arah H beroperasi pada pesan M dengan panjang sembarang, dan menghasilkan keluaran h yang selalu sama panjangnya. Dinotasikan H(M)=h.

Fungsi hash sebisa mungkin harus memiliki sifat-sifat sebagai berikut :
a) Diberikan M, harus mudah menghitung H(M) = h.
b) Diberikan h, sangat sulit secara perhitungan mendapatkan M sedemikian sehingga H(M) = h
c) Diberikan M, sangat sulit secara perhitungan mendapatkan M’ sedemikian sehingga H(M) = H(M’)
d) Sangat sulit secara perhitungan untuk mendapatkan dua pesan M dan M’ sedemikian sehingga H(M) = H(M’)

Pada aplikasi kriptografi, hash function diklasifikasikan menjadi unkeyed hash function (fungsi hash tanpa kunci) dan keyed hash function (fungsi hash dengan kunci). Unkeyed hash function atau yang dikenal Manipulation Detection Codes (MDCs) hanya memerlukan satu parameter input, yaitu berita, sedangakan keyed hash function atau yang dikenal Message Authentication Codes (MACs) menggunakan dua parameter input, yaitu berita dan kunci.


Hash function adalah sebuah fungsi h yang :
a) One-Way Hash Function (OWHF)
Konsep one-way hash function pertama kali diperkenalkan oleh Diffie dan Hellman pada papernya yang berjudul "New Directions in Cryptography". Sebuah one-way hash function (OWHF) adalah fungsi h yang memenuhi kondisi :

i Sebuah x dapat mempunyai panjang yang bervariasi dan hasil dari h(x) hanya mempunyai sebuah panjang yang tetap yaitu n bit.
ii Hash function akan bersifat one-way atau satu arah, jika diberikan sebuah y hasil dari h, maka secara perhitungan akan sulit untuk menemukan sebuah berita x dimana h(x) = y (sifat preimage resistance) dan diberikan x dan h(x) maka akan sulit secara perhitungan untuk menemukan sebuah berita x’, x ≠ x, dimana h(x’) = h(x) (sifat second preimage resistance).

Untuk beberapa aplikasi, seperti fungsi pseudo-random dan algoritma MAC yang berdasarkan hash function ,sebagian besar dari input dapat diketahui namun sulit untuk menemukan bagian yang tidak diketahui pada input tersebut. Hal seperti ini disebut dengan partial preimage resistance.

b) Collision Resistant Hash Function (CRHF)
Definisi dari collision resistance hash functions (CRHF) secara formal di perkenalkan oleh Yuval pada papernya "How to swindle Rabin". Sebuah Collision Resistance Hash Functons (CRHF) adalah fungsi h yang memenuhi kondisi :
i. Sebuah x dapat mempunyai panjang yang bervariasi dan hasil dari h(x) hanya mempunyai sebuah panjang yang tetap yaitu n bit.
ii. Hash Function tersebut harus merupakan OWHF, yaitu memenuhi preimage resistance dan second preimage resistance.
iii. Hash function tersebut harus bersifat collision resistant, yaitu dimana tidak mungkin (secara perhitungan) untuk menemukan dua berita yang mempunyai nilai hash yang sama. Dengan kata lain, secara perhitungan sulit menemukan sebarang dua input sebarang, x dan x’, sehingga h(x)=h(x’).

One-Way Hash Function dan Collision Resistant Hash Function merupakan sifat dari MDCs.

c) Relating between definitions Hubungan dari kedua definisi
Jelas dilihat bahwa menemukan sebuah second preimage tidak akan lebih mudah dibanding menemukan sebuah collision. Bagaimanapun juga untuk menentukan hubungan yang pasti dari kedua kondisi diatas memerlukan definisi khusus. Pada kondisi tertentu, collision resistance menyebabkan preimage resistance dan second preimage resistance.


a) MD5
MD5 adalah fungsi hash satu arah yang dibuat oleh Ronald Rivest pada tahun 1995 yang merupakan perbaikan dari MD4 karena telah berhasil diserang oleh kriptanalis. Algoritma ini secara umum membangkitkan pesan ringkas (message digest) dengan cara :
 Menambahkan bit-bit pengganjal
 Menambahkan nilai panjang pesan semula
 Inisialisasi penyangga (buffer)
 Pengolahan pesan dalam blok berukuran 512 bit
Inputan dari algoritma ini adalah sebuah berita dengan panjang yang bervariasi dan menghasilkan output sebanyak 128 bit message digest.

b) SHA
SHA Family adalah merupakan algoritma hash function yang dibuat oleh National Security Agency (NSA) dan dipublikasikan sebagai standar oleh pemerintah USA. Algoritma SHA family yang paling banyak digunakan adalah SHA-1 dan telah banyak diaplikasikan pada berbagai macam aplikasi keamanan dan protocol keamanan seperti SSL, PGP, SSH, S/MIME dan IPSec.


Berikut akan dijelaskan tujuan dari penggunaan hash function.
a) Digital Signature
Cryptographic hash function pertama kali memang digunakan untuk masukan tanda tangan digital atau digital signature. Algoritma digital signature RSA terlalu mahal untuk diaplikasikan secara langsung untuk setiap blok masukan untuk sebagian besar pesan. Oleh karea itu, masukan secara aman dikompresi menggunakan hash function.

b) Pseudorandom Function
Hash function dapat pula digunakan untuk membuat fungsi pseudorandom, dimana sebuah mekanisme deterministic untuk membangkitkan stram output dari stream input sehingga tampak acak.

c) Data Fingerprinting
Hash function sering digunakan pula untuk memproduksi sidik jari (fingerprinting) untuk berbagai berkas pesan. Nilai hash yang tersimpan disimpan terpisah dengan data, sehingga data yang telah diubah dapat dideteksi. Saat mengirim pesan akan mengirimkan pesannya, dia harus membuat fingerprinting atau sidik jari dari pesan yang akan dikirim untuk penerima pesan. Pesan yang panjangnya bisa bervariasi yang akan di hash disebut preimage, sedangkan outputnya yang memiliki ukuran tetap disebut hash value atau nial hash.

7.1 Kesimpulan
 Cryptographic Hash Function adalah suatu fungsi dengan inputan yang berubah-ubah panjangnya (atau sangat panjang) dan memetakannya sehingga menghasilkan output yang pendek dan panjang nya tetap, dimana dibutuhkan sebuah fungsi yang berguna untuk mengkompresi sebuah string dengan panjang yang berubah-ubah menjadi sebuah string tetap yang lebih pendek.
 Fungsi hash merupakan fungsi yang bersifat satu arah yang akan menghasilkan sebuah “fingerprint” dari data tersebut dan tidak dapat diubah kembali menjadi pesan semula. Umumnya digunakan untuk keperluan otentikasi dan integritas data.
 Kelebihan fungsi hash ialah menjaga integritas data, menghemat waktu pengiriman dan menormalkan panjang data yang beraneka ragam karena fungsi hash memiliki sifat fungsi kompresi. Kelebihan inilah yang menjadikan fungsi hash banyak digunakan untuk keamanan data.

Leia Mais...
0

Menjadi Seorang Profesional

Minggu, 31 Januari 2010.
Menjadi seorang professional bukanlah pekerjaan yang mudah. Untuk
mencapainya, diperlukan usaha yang keras, karena ukuran profesionalitas
seseorang akan dilihat dua sisi. Yakni teknis keterampilan atau keahlian
yang dimilikinya, serta hal-hal yang berhubungan dengan sifat, watak, dan
kepribadiannya.

Paling tidak, ada delapan syarat yang harus dimiliki oleh seseorang jika
ingin jadi seorang professional.

1. Menguasai pekerjaan

Seseorang layak disebut professional apabila ia tahu betul apa yang harus ia
kerjakan. Pengetahuan terhadap pekerjaannya ini harus dapat dibuktikan
dengan hasil yang dicapai. Dengan kata lain, seorang professional tidak
hanya pandai memainkan kata-kata secara teoritis, tapi juga harus mampu
mempraktekkannya dalam kehidupan nyata. Ia memakai ukuran-ukuran yang jelas,
apakah yang dikerjakannya itu berhasil atau tidak. Untuk menilai apakah
seseorang menguasai pekerjaannya, dapat dilihat dari tiga hal yang pokok,
yaitu bagaimana ia bekerja, bagaimana ia mengatasi persoalan, dan bagaimana
ia akan menguasai hasil kerjanya.

Seseorang yang menguasai pekerjaan akan tahu betul seluk beluk dan liku-liku
pekerjaannya. Artinya, apa yang dikerjakannya tidak cuma setengah-setengah,
tapi ia memang benar-benar mengerti apa yang ia kerjakan. Dengan begitu,
maka seorang profesional akan menjadikan dirinya sebagai problem solver
(pemecah persoalan), bukannya jadi trouble maker (pencipta masalah) bagi
pekerjaannya.

2. Mempunyai loyalitas

Loyalitas bagi seorang profesional memberikan petunjuk bahwa dalam
melakukan pekerjaannya, ia bersikap total. Artinya, apapun yang ia kerjakan
didasari oleh rasa cinta. Seorang professional memiliki suatu prinsip hidup
bahwa apa yang dikerjakannya bukanlah suatu beban, tapi merupakan panggilan
hidup. Maka, tak berlebihan bila mereka bekerja sungguh-sungguh.

Loyalitas bagi seorang profesional akan memberikan daya dan kekuatan untuk
berkembang dan selalu mencari hal-hal yang terbaik bagi pekerjaannya. Bagi
seorang profesional, loyalitas ini akan menggerakkan dirinya untuk dapat
melakukan apa saja tanpa menunggu perintah. Dengan adanya loyalitas seorang
professional akan selalu berpikir proaktif, yaitu selalu melakukan
usaha-usaha antisipasi agar hal-hal yang fatal tidak terjadi.

3. Mempunyai integritas

Nilai-nilai kejujuran, kebenaran, dan keadilan harus benar-benar jadi
prinsip dasar bagi seorang profesional. Karena dengan integritas yang tingi,
seorang profesional akan mampu membentuk kehidupan moral yang baik. Maka,
tidaklah berlebihan apabila dikatakan bahwa seorang professional tak cukup
hanya cerdas dan pintar, tapi juga sisi mental. Segi mental seorang
professional ini juga akan sekaligus menentukan kualitas hidupnya. Alangkah
lucunya bila seseorang mengaku sebagai profesional, tapi dalam kenyataanya
ia seorang koruptor atau manipulator ?

Integritas yang dipunyai oleh seorang professional akan membawa kepada
penyadaran diri bahwa dalam melakukan suatu pekerjaan, hati nurani harus
tetap menjadi dasar dan arah untuk mewujudkan tujuannya. Karena tanpa
mempunyai integritas yang tinggi, maka seorang professional hanya akan
terombang-ambingkan oleh perubahan situasi dan kondisi yang setiap saat bisa
terjadi. Di sinilah intregitas seorang professional diuji, yaitu sejauh mana
ia tetap mempunyai prinsip untuk dapat bertahan dalam situasi yang tidak
menentu.

4. Mampu bekerja keras

Seorang profesional tetaplah manusia biasa yang mempunyai keterbatasan dan
kelemahan. Maka, dalam mewujudkan tujuan-tujuan yang ingin dicapai, seorang
professional tidak dapat begitu saja mengandalkan kekuatannya sendiri.
Sehebat-hebatnya seorang profesional, pasti tetap membutuhkan kehadiran
orang lain untuk mengembangkan hidupnya. Di sinilah seorang professional
harus mampu menjalin kerja sama dengan berbagai pihak. Dalam hal ini, tak
benar bila jalinan kerja sama hanya ditujukan untuk orang-orang tertentu.
Seorang profesional tidak akan pernah memilih-milih dengan siapa ia akan
bekerja sama.

Seorang profesional akan membuka dirinya lebar-lebar untuk mau menerima
siapa saja yang ingin bekerja sama. Maka tak mengherankan bila disebut bahwa
seorang profesional siap memberikan dirinya bagi siapa pun tanpa pandang
bulu. Untuk dapat mewujudkan hal ini, maka dalam diri seorang profesional
harus ada kemauan menganggap sama setiap orang yang ditemuinya, baik di
lingkungan pekerjaan, sosial, maupun lingkungan yang lebih luas.

Seorang profesional tidak akan merasa canggung atau turun harga diri bila ia
harus bekerja sama dengan orang-orang yang mungkin secara status lebih
rendah darinya. Seorang profesional akan bangga bila setiap orang yang
mengenalnya, baik langsung maupun tidak langsung, memberikan pengakuan bahwa
ia memang seorang profesional. Hal ini bisa dicapai apabila ia mampu
mengembangkan dan meluaskan hubungan kerja sama dengan siapa pun, di mana
pun, dan kapan pun.

5. Mempunyai Visi

Seorang profesional harus mempunyai visi atau pandangan yang jelas akan masa
depan. Karena dengan adanya visi tersebut, maka ia akan memiliki dasar dan
landasan yang kuat untuk mengarahkan pikiran, sikap, dan perilakunya. Dengan
mempunyai visi yang jelas, maka seorang profesional akan memiliki rasa
tanggung jawab yang besar, karena apa yang dilakukannya sudah dipikirkan
masak-masak, sehingga ia sudah mempertimbangkan resiko apa yang akan
diterimanya.

Tanpa adanya visi yang jelas, seorang profesional bagaikan "macan ompong",
dimana secara fisik ia kelihatan tegar, tapi sebenarnya ia tidak mempunyai
kekuatan apa-apa untuk melakukan sesuatu, karena tidak mempunyai arah dan
tujuan yang jelas. Dengan adanya visi yang jelas, seorang profesional akan
dengan mudah memfokuskan terhadap apa yang ia pikirkan, lakukan, dan ia
kerjakan.

Visi yang jelas juga memacunya menghasilkan prestasi yang maksimal,
sekaligus ukuran yang jelas mengenai keberhasilan dan kegagalan yang ia
capai. Jika gagal, ia tidak akan mencari kambing hitam, tapi secara dewasa
mengambil alih sebagai tanggung jawab pribadi dan profesinya.

6. Mempunyai kebanggaan

Seorang profesional harus mempunyai kebanggaan terhadap profesinya. Apapun
profesi atau jabatannya, seorang profesional harus mempunyai penghargaan
yang setinggi-tingginya terhadap profesi tersebut. Karena dengan rasa bangga
tersebut, ia akan mempunyai rasa cinta terhadap profesinya.

Dengan rasa cintanya, ia akan mempunyai komitmen yang tinggi terhadap apa
yang dilakukannya. Komitmen yang didasari oleh munculnya rasa bangga
terhadap profesi dan jabatannya akan menggerakkan seorang profesional untuk
mencari dan hal-hal yang lebih baik, dan senantiasa memberikan kontribusi
yang besar terhadap apa yang ia lakukan.

7. Mempunyai komitmen

Seorang profesional harus memiliki komitmen tinggi untuk tetap menjaga
profesionalismenya. Artinya, seorang profesional tidak akan begitu mudah
tergoda oleh bujuk rayu yang akan menghancurkan nilai-nilai profesi. Dengan
komitmen yang dimilikinya, seorang akan tetap memegang teguh nilai-nilai
profesionalisme yang ia yakini kebenarannya.

Seseorang tidak akan mengorbankan idealismenya sebagai seorang profesional
hanya disebabkan oleh hasutan harta, pangkat dan jabatan. Bahkan bisa jadi,
bagi seorang profesional, lebih baik mengorbankan harta, jabatan, pangkat
asalkan nilai-nilai yang ada dalam profesinya tidak hilang.

Memang, untuk membentuk komitmen yang tinggi ini dibutuhkan konsistensi
dalam mempertahankan nilai-nilai profesionalisme. Tanpa adanya konsistensi
atau keajekan, seseorang sulit menjadikan dirinya sebagai profesional,
karena hanya akan dimainkan oleh perubahan-perubahan yang terjadi.

8. Mempunyai Motivasi

Dalam situasi dan kondisi apa pun, seorang professional tetap harus
bersemangat dalam melakukan apa yang menjadi tanggung jawabnya. Artinya,
seburuk apa pun kondisi dan situasinya, ia harus mampu memotivasi dirinya
sendiri untuk tetap dapat mewujudkan hasil yang maksimal.

Dapat dikatakan bahwa seorang professional harus mampu menjadi motivator
bagi dirinya sendiri. Dengan menjadi motivator  bagi dirinya sendiri,
seorang professional dapat membangkitkan kelesuan-kelesuan yang disebabkan
oleh situasi dan kondisi yang ia hadapi. Ia mengerti, kapan dan di saat-saat
seperti apa ia harus memberikan motivasi untuk dirinya sendiri.

Dengan memiliki motivasi tersebut, seorang professional akan tangguh dan
mantap dalam menghadapi segala kesulitan yang dihadapinya. Ia tidak mudah
menyerah kalah dan selalu akan menghadapi setiap persoalan dengan optimis.
Motivasi membantu seorang professional mempunyai harapan terhadap setiap
waktu yang ia lalui, sehingga dalam dirinya tidak ada ketakutan dan keraguan
untuk melangkahkan kakinya.

Apakah Anda siap menjadi seorang Profesional? Yes, do the best!

Sumber: Unknown (Tidak Diketahui)

Leia Mais...
 
Crypto-Corner.Com © Copyright 2010 | Design By Gothic Darkness |