Ajaklah Hatimu Bicara ! April 6, 2011
Posted by black13crypt in Uncategorized.add a comment
• Ketika dirimu gelisah…
Sentuhlah hatimu dgn lantunan ayat2 cinta dalam kitab suci Al-qur’an.
• Ketika kau lemah…
Rangkum kembali makna-makna kebersamaan
bersama saudara-saudaramu agar saling menguatkan.
• Ketika kau lelah dan mulai putus asa…
Maka Allah swt akan tersenyum padamu…
YAKINLAH tiada usaha halal yg sia-sia.
• Ketika peluh & kerja tak dihargai…
Maka ingatlah saat itu kita sedang belajar tentang KETULUSAN.
• Ketika usaha keras kita dinilai sia-sia oleh orang lain…
Maka saat itu kita sedang memaknai KEIKHLASAN.
• Ketika hati terluka dalam karena tuduhan atas hal yang tak pernah kita lakukan…
Maka saat itu kita sedang belajar tentang MEMAAFKAN.
• Ketika lelah mendera & kecewa menerpa…
Maka saat itu kita sedang belajar memaknai tentang arti KESUNGGUHAN.
• Ketika sepi menyergap & sendiri membulat dalam keramaian…
Maka saat itu kita sedang memberi makna tentang KETANGGUHAN.
• Ketika kita harus membayar biaya yang sebenarnya tak perlu kita tanggung,
Maka saat itu kita sedang belajar tentang KEMURAHHATIAN.
• Bersama kesulitan ada kemudahan…Bersama Kesulitan ada kemudahan…
Jangan pernah merugikan & menyakiti org lain.
Allah maha meliihat & mendengar rintihan hatimu: BERDOALAH.
• Tetap semangat, sabar, tersenyum…
Dan Terus belajar..!! Karena kamu sedang menimba ilmu di Universitas KEHIDUPAN!
• Dia menaruhmu di tempat yang sekarang, bukan karena kebetulan..!!
Ada maksud yg TERINDAH di setiap rencanaNya..!! Bergembiralah !!
Oleh : Aboe Bakar Al-Habsyi (F-PKS Dapil Kalimantan Selatan)
Pesan HIDUP Mei 1, 2009
Posted by black13crypt in Uncategorized.add a comment
pesan ini aku dapat dari seorang ustadz. dengan pesan ini diharapkan bisa menjadi ornag yang selalu berusaha untuk menjadi lebih baik lagi. sang ustadz menyapaikan pesan tersebut yang dikutip dari ulama besar yang menjadi panutan. ulama tersebut yaitu sang imam al ghozali. berikut pesan yang disampaikannya:
- sesuatu yang paling jauh dengan kita adalah masa lalu.
- sesuatu yang paling dekat dengan kita adalh kematian.
- sesuatu yang paling ringan kita lakukan adalah meninggalkan sholat.
- sesuatu yang paling berat yang kita lakukan adalah amanah.
- sesuatu yang palingbesar dalam diri kita adalah nafsu.
penjelasan mengenai pesan tersebut: sesuatu yang paling jauh dengan kita adlah masa lalu, karena masa lalu tidak mungkin untuk kita kunjungi lagi. yang kita lakukan hari ini tidak akan bisa kita lakukan lagi dimasa mendatang. dan akan menjadi masa lalu ketika kita sudah melewatinya. maka kita harus bisa memanfaatkan waktu dengan baik. jangan sampai kita menyesal di kemudian hari. sesuatu yang paling dekat dengan kita adalah kemtian. mati kita tidak tau kapan datangnya. bisa satu menit kemudian kita mati. bisa satu hari, bisa satu bulan, dna bahkan bisa satu taun. kematian itu berada di urat nadi kta .ketika dia putus maka matilah kita. dengan mengingat ini diharapkan dlam beribadah kita harus degan sungguh2 untuk bekal kita ketika kita mati. seperti sabda nabi “bekerjalah untuk kehidupan akhirat(ibadah) seakan-akan kamu akan mati esok dan bekrjalah untuk kehidupan dunia seskan akan kamu akan hidup selamanya” . dengan ini maka kita harus bersungguh-sungguh dalam beribadah sebagai bekal kita untuk kehidupan kelak…
sesuatu yang paling ringan kita lakukan adalah meninggalkan sholat. karena mengerjakan sholat banyak sekali gangguannya. maen game, nonton, ngobrol, dan lain-lain hingga kita lupa waktu. hal ini yang sering tanpa sadar kita meninggalkna sholat. maka ingatlah sholat, segerakan ia. dahulukan ia. semoga kita menjadi orang-orang yang selalu berat untuk meninggalkan sholat amiin.
sesuatu yang paling berat kita lakukan adalah menjalankan amanah. karena setiap amanah yang kita emban memiliki tanggung jawab yang harus kita pertanggungjawabkan kepada orang yang memberi kita amanah dan tentunya kepada ALLAH SWT. bentuk pertanggung jawaban inilah yang berat. semoga kita menjadi orang-ornag yang amanah.
sesuatu yang paling besar dalam hidup kita adalah hawa nafsu. bak minum air laut. manusia itu bernafsu besar. ketika ia memperoleh sesuatu maka ia akan menginginkan hal yang lain. jika sudah berkeinginan apapun caranya pasti akan dia ambil. itulah manusia dnegan nafsunya. untuk mencegahnya maka dikasihlah kita caranya yaitu dnegan berpuasa….
itulah pesan hidup ini yang dkutip dari sang imam al ghozali melalui sang ustadz. ada salahnya datang dari saya pribadi dan segala sesuatu yang benar datang dari ALLAH SWT. wallahu’alamu bisowab….
algoritma gost Juli 15, 2008
Posted by black13crypt in cryptografi.1 comment so far GOST merupakan blok cipher dari bekas Uni Sovyet, yang merupakan singkatan dari “Gosudarstvennyi Standard” atau Standar Pemerintah, standar ini bernomor 28147-89 oleh sebab itu metoda ini sering disebut sebagai GOST 28147-89. GOST secara struktural mirip dengan DES.
GOST merupakan blok cipher 64 bit dengan panjang kunci 256 bit. Algoritma ini mengiterasi algoritma enkripsi sederhana sebanyak 32 putaran (round). Untuk mengenkripsi pertama-tama plainteks 64 bit dipecah menjadi 32 bit bagian kiri, L dan 32 bit bagian kanan, R. Subkunci (subkey) untuk putaran i adalah Ki. Pada satu putaran ke-i operasinya adalah sebagai berikut :
Li = Ri-1
Ri = Li-1 xor f(Ri-1,Ki)
Sedangkan pada fungsi f mula-mula bagian kanan data ditambah dengan subkunci ke-i modulus 232. Hasilnya dipecah menjadi delapan bagian 4 bit dan setiap bagian menjadi input s-box yang berbeda. Di dalam GOST terdapat 8 buah s-box, 4 bit pertama menjadi s-box pertama, 4 bit kedua menjadi s-box kedua, dan seterusnya. Output dari 8 s-box kemudian dikombinasikan menjadi bilangan 32 bit kemudian bilangan ini dirotasi 11 bit kekiri. Akhirnya hasil operasi ini di-xor dengan data bagian kiri yang kemudian menjadi bagian kanan dan bagian kanan menjadi bagian kiri (swap). Pada implementasinya nanti rotasi pada fungsi f dilakukan pada awal saat inisialisasi sekaligus membentuk s-box 32 bit dan dilakukan satu kali saja sehingga lebih menghemat operasi dan dengan demikian mempercepat proses enkripsi/dekripsi.
Subkunci dihasilkan secara sederhana yaitu dari 256 bit kunci yang dibagi menjadi delapan 32 bit blok : k1, k2, …, k8. Setiap putaran menggunakan subkunci yang berbeda. Dekripsi sama dengan enkripsi dengan urutan ki dibalik. Standar GOST tidak menentukan bagaimana menghasilkan s-box sehingga ada spekulasi bahwa sebagian organisasi di (eks) Sovyet mempunyai s-box yang baik dan sebagian diberi s-box yang buruk sehingga mudah diawasi/dimata-matai. Kelemahan GOST yang diketahui sampai saat ini adalah karena key schedule-nya yang sederhana, sehingga pada keadaan tertentu menjadi titik lemahnya terhadap metoda kriptanalisis seperti Related-key Cryptanalysis. Tetapi hal ini dapat di atasi dengan melewatkan kunci kepada fungsi hash yang kuat secara kriptografi seperti SHA-1, kemudian menggunakan hasil hash untuk input inisialisasi kunci. Kecepatan dari metoda ini cukup baik, tidak secepat Blowfish tetapi lebih cepat dari Idea. Untuk kecepatan enkripsi di memori sebesar 5MB data adalah : 3.492,620 Kbyte/detik pada Pentium Pro 200 MHz dan 2.466,700 Kbyte/detik pada Pentium MMX 200 MHz.
Pada metoda blok cipher ada yang dikenal sebagai mode operasi. Mode operasi biasanya mengkombinasikan cipher dasar, feedback dan beberapa operasi sederhana. Operasi cukup sederhana saja karena keamanan merupakan fungsi dari metoda cipher yang mendasarinya bukan pada modenya. Mode pertama adalah ECB (Electronic Codebook) dimana setiap blok dienkrip secara independen terhadap blok lainnya. Dengan metoda operasi ini dapat saja sebuah pesan disisipkan di antara blok tanpa diketahui untuk tujuan tertentu, misalnya untuk mengubah pesan sehingga menguntungkan si pembobol. Mode lainya adalah CBC (Cipher Block Chaining) dimana plainteks dikaitkan oleh operasi xor dengan cipherteks sebelumnya, metoda ini dapat dijelaskan seperti pada Gambar 1. Untuk mode ini diperlukan sebuah Initialization Vector (IV) yang akan di-xor dengan plainteks yang paling awal. IV ini tidak perlu dirahasiakan karena bila kita perhatikan jika terdapat n blok maka akan terdapat n-1 IV yang diketahui. Metoda lain yang dikenal adalah CFB (Cipher Feedback), OFB (Output Feedback), Counter Mode, dll.
Kebanyakan data tidak bulat dibagi kedalam 64 bit (8 byte), oleh sebab itu dalam blok cipher diperlukan data tambahan pada blok terakhir untuk menggenapi blok menjadi 64 bit, hal ini biasanya disebut padding. Ada beberapa cara untuk melakukan padding, salah satu caranya adalah yang disebut Ciphertext Stealing yang akan digunakan dalam aplikasi dari metoda GOST ini.
Subkunci dihasilkan secara sederhana yaitu dari 256 bit kunci yang dibagi menjadi delapan 32 bit blok : k1, k2, …, k8. Setiap putaran menggunakan subkunci yang berbeda. Dekripsi sama dengan enkripsi dengan urutan ki dibalik. Standar GOST tidak menentukan bagaimana menghasilkan s-box sehingga ada spekulasi bahwa sebagian organisasi di (eks) Sovyet mempunyai s-box yang baik dan sebagian diberi s-box yang buruk sehingga mudah diawasi/dimata-matai. Kelemahan GOST yang diketahui sampai saat ini adalah karena key schedule-nya yang sederhana, sehingga pada keadaan tertentu menjadi titik lemahnya terhadap metoda kriptanalisis seperti Related-key Cryptanalysis. Tetapi hal ini dapat diatasi dengan melewatkan kunci kepada fungsi hash yang kuat secara kriptografi seperti SHA-1, kemudian menggunakan hasil hash untuk input inisialisasi kunci. Kecepatan dari metoda ini cukup baik, tidak secepat Blowfish tetapi lebih cepat dari Idea. Untuk kecepatan enkripsi di memori sebesar 5MB data adalah : 3.492,620 Kbyte/detik pada Pentium Pro 200 MHz dan 2.466,700 Kbyte/detik pada Pentium MMX 200 MHz.
SCOP Stream Cipher Super Cepat Juni 17, 2008
Posted by black13crypt in cryptografi.add a comment
SCOP merupakan stream cipher yang diciptakan oleh Simeon V. Maltchev dan Peter T. Antonov [2], dikembangkan khusus sehingga efisien dalam kinerja software pada prosesor Intel Pentium. Secara teoritis SCOP dapat mengerjakan 1,5 clock cycles per byte. Skema cipher ini didisain dengan sebuah S-box yang key dependent, dengan bagian pertama berubah secara dinamis pada proses enkripsi dan sebagian lagi merupakan bagian statik. Cipher ini bekerja dalam internal-feedback mode (IFB). Keystream terdiri dari 32-bit word dan dihasilkan secara independen dari pesan enkripsi. Algoritma enkripsi SCOP tidak dipatenkan dan dapat digunakan pada berbagai penggunaan tanpa pembayaran royalti kepada penciptanya.
Deskripsi Algoritma
Seperti diterangkan di atas SCOP didisain khusus untuk digunakan pada prosesor Pentium, tetapi dapat berjalan sangat cepat pada prosesor 32-bit lainnya. SCOP juga didisain untuk memenuhi kriteria sebagai berikut:
· Bekerja pada mode IFB, keystream dihasilkan secara independen dari pesan enkripsi.
· Kompak, SCOP dapat berjalan pada memori kurang dari 2,5 Kbyte.
· Implementasi software yang simpel, SCOP menggunakan operasi sederhana seperti penambahan dan pengurangan modulus 232 dan tabel lookup.
· Keamanan variabel, SCOP merupakan algoritma ukuran kunci variabel, dengan ukuran kunci sampai dengan 384 bit.
Algoritma ini mempunyai dua bagian yaitu key expansion dan enkripsi data. Bagian pertama merubah kunci, yang bisa sampai dengan panjang 48 byte menjadi array 1540 bytes. Key expansion ini berdasarkan pada fungsi hash satu arah yang dinamakan GP8. Operasi utama yang digunakan dalam proses cipher adalah penambahan aritmetis dari 32-bit words. Operasi tambahan adalah 4 tabel lookup, yang dilakukan untuk setiap word yang akan dienkrip.
SCOP menggunakan sebuah 32-bit S-box (dinamai V) dengan 384 entri, dua 8-bit indek i dan j, dan tiga buah variabel sementara T1, T2, T3. S-box dibagi dua: pertama merupakan 128 32-bit word dari V membentuk bagian bagian pertama yang statis, dan kemudian 256 32-bit word dari V membentuk bagian kedua yang berubah-ubah selama proses enkripsi. Indek j menunjuk hanya bagian yang dinamis, sedangkan indek i menunjuk bagian statis dan setengah bagian dinamis.
S-box V diinisialisasi dengan 1536 byte pertama dari expanded key. Tiga byte berikutnya dari epanded key digunakan untuk menginisialisasi indek i dan j, dan variabel sementara T3 (24 high bit dari T3 dinisialisasi dengan 0). Penggunaan sebuah byte terakhir dari expanded key sedikit spesial: hanya 7 bit darinya yang digunakan. Byte ini digunakan sebagai index array dari bagian statis dari S-box V, kemudian isi dari array yang diindek oleh byte spesial ini dibuat ganjil tanpa memperhatikan apakah isinya ganjil atau genap.
Keystream K 32-bit dihasilkan dengan langkah-langkah sebagai berikut:
1. T1 = V[128 + j]
2. j = (j + T3) mod 256
3. T2 = V[128 + j]
4. T3 = V[128 + j] + V[i]
5. V[128 + j] = T3
6. i = (i + 1) mod 256
7. j = (j + T2) mod 256
8. K = T1 + T2
K kemudian ditambahkan pada plainteks untuk menghasilkan cipherteks atau dikurangkan dari cipherteks untuk menghasilkan plainteks.
Kekuatan dari algoritma ini tidak diketahui karena sampai saat ini penulis belum menemukan analisa dari algoritma ini oleh kriptographer yang bereputasi. Mungkin juga karena algoritma ini masih cukup baru (akhir 1997), sehingga masih membutuhkan waktu sampai ada orang yang menganalisisnya dan menemukan kelemahan-kelemahanya.
Elgamal cryptographi and algorithm Januari 14, 2008
Posted by black13crypt in cryptografi.5 comments
Algoritma ElGamal, ditemukan oleh ilmuwan Mesir Taher ElGamal pada tahun 1984. Algoritma ElGamal merupakan algoritma kriptografi asimetris yang menggunakan dua jenis kunci, yaitu kunci publik dan kunci rahasia. Algoritma ElGamal mempunyai kunci publik berupa tiga pasang bilangan dan kunci rahasia berupa satu bilangan. Algoritma ini melakukan proses enkripsi dan dekripsi pada blok-blok plainteks dan dihasilkan blok-blok cipherteks yang masing- masing terdiri dari dua pasang bilangan. Algoritma kunci publik menggunakan kunci yang berbeda untuk proses transformasinya. Untuk proses enkripsi menggunakan kunci publik, sedangkan proses dekripsi menggunakan kunci privat. Sebaliknya untuk proses tanda tangan digital menggunakan kunci privat sedangkan untuk verifikasi tanda tangan digital menggunakan kunci publik. Tingkat keamanan algoritma ini didasarkan atas masalah logaritma diskret pada grup pergandaan bilangan bulat modulo prima, Ζ p * = {1, 2,…, p − 1} , dengan p adalah bilangan prima. Sehingga apabila digunakan bilangan prima dan logaritma diskret yang besar, maka upaya untuk menyelesaikan masalah logaritma diskret ini menjadi sia-sia dan dirasakan tidak sesuai dengan isi informasi yang ingin diperoleh. Untuk lebih jelasnya mengenai logaritma diskrit dan algoritma Elgamal silahkan baca di bawah ini:
LOGARITMA DISKRET:
Masalah Logaritma Diskret
Misalkan G adalah grup siklik dengan order n, α adalah pembangun G dan 1 adalah elemen identitas G. Diberikan β € G . Permasalahan yang dimunculkan adalah bagaimana menentukan suatu bilangan bulat nonnegatif terkecil a sedemikian hingga
β =αª.
Bilangan bulat a seperti ini disebut dengan logaritma diskret (discrete logarithm) dari β dengan basis α . Selanjutnya, masalah bagaimana menentukan bilangan bulat a seperti ini disebut dengan masalah logaritma diskret (discrete logarithm problem). Masalah logaritma diskret ini menjadi sulit apabila digunakan grup dengan order yang besar.
Masalah Logaritma Diskret pada Grup Pergandaan Bilangan Bulat Modulo Prima
Diberikan bilangan prima p, dengan Ζ p* adalah grup siklik yang mempunyai order p − 1 . Akibatnya terdapat suatu elemen yang membangun Ζ p * yang disebut dengan elemen primitif. Misalkan α € Ζ p* adalah elemen primitif, maka untuk sebarang β € Ζ p* terdapat suatu eksponen a € {0,1,…, p − 2} sedemikian hingga β ≡ αª ( mod p ) . Eksponen a merupakan logaritma diskret dari β’ dengan basis α . Untuk menentukan logaritma diskret tersebut bukanlah permasalahan yang mudah, apalagi bila digunakan bilangan prima dan logaritma diskret yang besar.
kesimpulan:
Masalah logaritma diskrit : Jika p adalah bilangan prima dan g dan y adalah sembarang bilangan bulat. Carilah x sedemikian sehingga gx ≡ y (mod p )
ALGORITMA ELGAMAL :
Untuk lebih jelas mengenai algoritma ElGamal,terlebih dahulu kita harus mengetahui suatu sistem kriptografi ElGamal, yaitu sistem kriptografi yang menggunakan algoritma ElGamal, yang terdiri dari plainteks, cipherteks dan kunci, serta proses enkripsi dan dekripsi.sebelum masuk kedalam proses enkripsi dan proses dekripsi yang harus dilakukan pertama adalah pembentukan kunci.
Pembentukan Kunci
Proses pertama adalah pembentukan kunci yang terdiri dari kunci rahasia dan kunci publik. Pada proses ini dibutuhkan sebuah bilangan prima p yang digunakan untuk membentuk grup Ζ p * , elemen primitif α dan sebarang a € {0,1,…, p − 2} .Kunci publik algoritma ElGamal berupa pasangan 3 bilangan, yaitu ( p, α , β ) , dengan β = αª mod p . Sedangkan kunci rahasianya adalah bilangan a tersebut. Diketahui order dari Ζ p * adalah p – 1 . Jika digunakan bilangan prima p dengan p = 2.q + 1 dan q adalah bilangan prima, selanjutnya akan ditentukan elemen primitifnya yaitu digunakan bilangan prima p sedemikian hingga p = 2.q + 1 , dengan q adalah bilangan prima. Bilangan prima p seperti ini disebut dengan bilangan prima aman. Untuk menentukan apakah suatu bilangan itu prima atau komposit, dapat digunakan tes keprimaan seperti tes keprimaan biasa. Kerena digunakan bilangan bulat yang besar maka perhitungan pemangkatan modulo dilakukan menggunakan metode fast exponentiation.
Algoritma Tes Bilangan Prima Aman
Input : Bilangan prima p ≥ 5 .
Output : Pernyataan “prima aman” atau “bukan prima aman”.
Langkah :
1.Hitung q =( p −1)/ 2
2. Jika q adalah bilangan prima, maka output(”prima aman”).
3. Jika q komposit, maka output (”bukan prima aman”).
Tes Elemen Primitif
Input :Bilangan prima aman p ≥ 5 dan α € Ζ p * .
Output : Pernyataan “ α adalah elemen primitif” atau “ α bukan elemen primitif”.
Langkah :
1. Hitung q = (p −1)/2
2. Hitung α² mod p dan αq mod p .
3. Jika α² mod p = 1 , maka output(“ α bukan elemen primitif”).
4. Jika αq mod p = 1 , maka output(“ α bukan elemen primitif”).
5. Output(“ α adalah elemen primitif”).
Karena pada algoritma ElGamal menggunakan bilangan bulat dalam proses perhitungannya, maka pesan harus dikonversi ke dalam suatu bilangan bulat. Untuk mengubah pesan menjadi bilangan bulat, menggunakan kode ASCII (American Standard for Information Interchange).
setelah menentukan tes bilangan prima dan tes bilangan primitif selanjutnya akan dijelaskan algoritma pembentukan kunci terlebih dahulu sebelum mengengkripsi pesan.
Algoritma Pembentukan Kunci
Input : Bilangan prima aman p > 255 dan elemen primitif α € Ζ p * .
Output : Kunci publik ( p, α , β ) dan kunci rahasia a.
Langkah :
1. Pilih a € {0,1,…, p − 2} .
2. Hitung β = αª mod p .
3. Publikasikan nilai p, α dan β , serta rahasiakan nilai a.
Pihak yang membuat kunci publik dan kunci rahasia adalah penerima, sedangkan pihak pengirim hanya mengetahui kunci publik yang diberikan oleh penerima, dan kunci publik tersebut digunakan untuk mengenkripsi pesan. Jadi, kentungan menggunakan algoritma kriptografi kunci publik adalah tidak ada permasalahan pada distribusi kunci apabila jumlah pengirim sangat banyak serta tidak ada kepastian keamanan jalur yang digunakan.setelah kunci terbentuk selanjutnya akan dijelaskan tentang enkripsi pesan dan algoritma engkripsinya. Enkripsi Pada proses ini pesan dienkripsi menggunakan kunci publik ( p, α , β ) dan sebarang bilangan acak rahasia k € {0,1,…, p − 2} . Misalkan m adalah pesan yang akan dikirim. Selanjutnya, m diubah ke dalam blok-blok karakter dan setiap karakter dikonversikan ke dalam kode ASCII, sehingga diperoleh plainteks m1 , m2 ,…, mn dengan mi € {1, 2,…, p − 1} , i = 1, 2,…, n . Untuk nilai ASCII bilangan 0 digunakan untuk menandai akhir dari suatu teks. Proses enkripsi pada algoritma ElGamal dilakukan dengan menghitung γ = αk mod p dan δ = βk .m mod p , dengan k € {0,1,…, p − 2} acak. Diperoleh cipherteks (γ , δ ). Bilangan acak k ditentukan oleh pihak pengirim dan harus dirahasiakan, jadi hanya pengirim saja yang mengetahuinya, tetapi nilai k hanya digunakan saat melakukan enkripsi saja dan tidak perlu disimpan.
Algoritma Enkripsi
Input : Pesan yang akan dienkripsi dan kunci publik ( p, α , β ) .
Output : Cipherteks (γi , δi ) , i = 1, 2,…, n .
Langkah :
1. Pesan dipotong-potong ke dalam bentuk blok-blok pesan dengan setiap blok adalah satu karakter pesan.
2. Konversikan masing-masing karakter ke dalam kode ASCII, maka diperoleh plainteks sebanyak n bilangan, yaitu m1 , m2 ,…, mn .
3. Untuk i dari 1 sampai n kerjakan :
3.1. Pilih sebarang bilangan acak rahasia ki € {0,1,…, p − 2} .
3.2. Hitung γi = αki mod p .
3.3. Hitung δi = βki .mi mod p .
4. Diperoleh cipherteks yaitu (γi , δi ) , i = 1, 2,…, n .
selanjutnya setelah proses enkripsi selesai, untuk membuka hasil dari enkripsi atau yang sering disebut chiper text maka akan dijelaskan proses dekripsinya untuk memperoleh teks terangnya kembali. Dekripsi Setelah menerima cipherteks (γ , δ ) , proses selanjutnya adalah mendekripsi cipherteks menggunakan kunci publik p dan kunci rahasia a. Dapat ditunjukkan bahwa plainteks m dapat diperoleh dari cipherteks menggunakan kunci rahasia a.sebagai kunci publik dan a sebagai kunci rahasia pada algoritma ElGamal. Jika diberikan cipherteks (γ , δ ) , maka m = δ . ( γª )-1mod p , dengan m adalah plainteks. Karena Ζp* merupakan grup siklik yang mempunyai order p -1 dan a € {0,1,….,p-2}, maka (γa)-1 ≡ γ-a ≡ γp-1-a mod p .
Algoritma deskripsi
Input : Cipherteks(γi , δi ),i=1,2,….,n, kunci public p dan kunca rahasia a.
Output : Pesan asli
Langkah :
1.Untuk i dari 1 sampai n kerjakan :
1.1.Hitung γi p-1-a mod p.
1.2.Hitung mi= δi. γi p-1-a mod p
2.Diperoleh plain teks m1,m2,….,mn.
3.Konversikan masing-masing bilangan m1,m2,….,mn ke dalam karakter sesuai dengan kode ASCII-nya, kemudian hasilnya digabungkan kembali.
by:
m.arifur.r
Referensi :
http://zaki.web.ugm.ac.id
kriptografi clasik Desember 8, 2007
Posted by black13crypt in cryptografi.7 comments
Kriptografi Klasik
Kriptografi dikenal sejak masa pemerintahan Julius Caesar dari Romawi. Algoritmanya sangat sederhana dan menggunakan kombinasi 26 huruf alfabet, A sampai Z.
Berdasarkan algoritma yang melegendaris dan diakui sebagai sumber inspirasi para perancang algoritma kripto adalah:
- Substitusi
- Transposisi
- Algoritma Komputer
- One Time Pad
- Rotor Machine
Pada Kripto Substitusi, setiap huruf dalam teks terang akan tepat berkorespondensi satu-satu dengan teks sandinya. Sebagai contoh:
Teks terang: KRIPTO SUBSTITUSI
Di substitusi menjadi : LSJQUP TVCTUJUVTJ
kriptografi subtitusi ada beberapa macam diantaranya:
- caesar
- vigenere
- hills
- otp/otk
- 4phs
- MACD
- bilinear substitusi
- dll
Pada Kripto Transposisi, huruf-huruf dalam teks terang hanya dimanipulasi letak posisinya (transpose) untuk menjadi teks sandi. Sebagai contoh:
Teks terang: KRIPTO TRANSPOSISI
Di transposisi menjadi: ISISOPSNART OTPIRK
macam-macam kriptografi tranposisi:
- route
- sctr
- kctr
- dll
Algoritma komputer yang sangat legendaris adalah sistem RSA (Rivest-Shamir-Adleman) dan DES (Data Encryption Standard). Kedua sistem ini menjadi inspirasi dari algoritma-algoritma moderen yang banyak digunakan dalam sistem komputer dan sistem jaringan komputer, sebagai sistem keamanannya.
Sistem One Time Pad (OTP) atau dikenal juga sebagai One Time Key (OTK) diakui sebagai sistem kripto yang ideal, yaitu sistem yang paling kuat diantara sistem-sistem sandi yang ada, dari awal mula kripto dikenal dan dipakai, sampai saat ini. Pernyataan tersebut didasari kepada tingkat keacakan rangkaian kunci yang dihasilkan pada sistem ini, yang tidak dapat direproduksi ulang dan tidak dapat berulang, karena tidak memiliki satu algoritmapun. Tidak ada rumus yang digunakan dalam sistem ini. Sistem OTP merupakan sistem panutan setiap sistem enkripsi yang ada, karena setiap sistem enkripsi berusaha mendapatkan rangkaian kunci yang sepanjang mungkin tanpa perulangan (real random), sementara sistem-sistem tersebut hanya dapat menghasilkan rangkaian kunci yang pseudo-random.
Bahasa c Desember 1, 2007
Posted by black13crypt in ALGORITMA.add a comment
Bahasa pemrograman C adalah salah satu bahasa pemrograman komputer. Dibuat pada tahun 1970-an untuk Sistem Operasi Unix oleh Bell Labs (Ken Thompson dan Dennis M. Ritchie). Merupakan kelanjutan dari bahasa BCPL. Bahasa Pemrograman C merupakan salah satu bahasa pemrograman yang paling sering dipakai oleh pemrogram di seluruh dunia, terutama karena C memperbolehkan pengaksesan memori secara manual.
C telah mempengaruhi bahasa-bahasa pemrograman yang lain, terutama C++. Bahkan C seringkali dipakai untuk membuat bahasa-bahasa pemrograman yang lain. Umumnya C dipakai untuk membuat program sistem dan jaringan, walaupun tidak jarang juga dipakai untuk membuat program aplikasi.
Berikut ini adalah contoh program sederhana yang akan mencetak kalimat “Hello, World!” dengan menggunakan pustaka stdio.h (ANSI C):
1. #include <stdio.h>
2.
3. int main() {
4. printf(“Hello, World!\n”);
5. return 0;
6. }
Pengantar Algoritma Desember 1, 2007
Posted by black13crypt in ALGORITMA.1 comment so far
Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M
Definisi Algoritma
- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Pelaksana algoritma adalah Komputer.
Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah- perintah kepada komputer berupa instruksi-instruksi yang disebut program.
Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.
Kriteria Algoritma Menurut Donald E. Knuth
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan
dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Jenis Proses Algoritma
1. Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
2. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3. Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
Contoh Algoritma
Algoritma menghitung luas persegi panjang:
1. Masukkan panjang (P)
2. Masukkan lebar (L)
3. L ← P * L
4. Tulis L
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.
Pengantar Cryptografi Desember 1, 2007
Posted by black13crypt in cryptografi, Uncategorized.3 comments
Kriptografi adalah suatu metode pengamanan data yang dapat digunakan untuk menjaga kerahasiaan data, keaslian atau keutuhan data serta keaslian (otentikasi) pengirim. Metode ini bertujuan agar informasi penting yang bersifat terbatas atau rahasia yang dikirim melalui sarana telekomunikasi umum tidak dapat diketahui atau dimanfaatkan oleh pihak yang tidak berhak. Kriptografi merupakan suatu studi yang mempelajari sistem-sistem sandi dimana kerahasiaan dan otentikasi data dapat dijamin.
Cryptografi merupakan ilmu dan seni untuk menjaga pesan agar aman.. Para pelaku atau praktisi kriptografi disebut cryptographers. Sebuah algoritma kriptografik (cryptographic algorithm), disebut cipher, merupakan persamaan matematik yang digunakan untuk proses enkripsi dan dekripsi. Biasanya kedua persamaan matematik (untuk enkripsi dan dekripsi) tersebut memiliki hubungan matematis yang cukup erat.
Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext) menjadi pesan yang tersembunyi (disebut ciphertext) adalah enkripsi (encryption). Enkripsi digunakan untuk menyandikan data-data atau informasi sehingga tidak dapat dibaca oleh orang yang tidak berhak. Dengan enkripsi data anda disandikan (encrypted) dengan menggunakan sebuah kunci (key). Untuk membuka (decrypt) data tersebut digunakan juga sebuah kunci yang dapat sama dengan kunci untuk mengenkripsi (untuk kasus private key cryptography) atau dengan kunci yang berbeda (untuk kasus public key cryptography).
Ciphertext adalah pesan yang sudah tidak dapat dibaca dengan mudah. Menurut ISO 7498-2, terminologi yang lebih tepat digunakan adalah “encipher”. Proses sebaliknya, untuk mengubah ciphertext menjadi plaintext, disebut Dekripsi (decryption). Menurut ISO 7498-2, terminologi yang lebih tepat untuk proses ini adalah “decipher”. Cryptanalysis adalah seni dan ilmu untuk memecahkan ciphertext tanpa bantuan kunci. Cryptanalyst adalah pelaku atau praktisi yang menjalankan cryptanalysis. Cryptology merupakan gabungan dari cryptography dan cryptanalysis.