Monday, March 23, 2009

PENGAMANAN PESAN RAHASIA

PENGAMANAN PESAN RAHASIA
MENGGUNAKAN ALGORITMA KRIPTOGRAFI ELGAMAL
ATAS GRUP PERGANDAAN Zp*

INTISARI

Algoritma ElGamal merupakan algoritma kriptografi asimetris yang menggunakan dua jenis kunci, yaitu kunci publik dan kunci rahasia. Tingkat keamanan algoritma ini didasarkan atas masalah logaritma diskret pada grup pergandaan bilangan bulat modulo prima, Zp*={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.
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.
Pada skripsi ini pembahasan difokuskan pada algoritma ElGamal yang digunakan dalam proses enkripsi dan dekripsi, beserta konsep-konsep matematis yang melandasinya, yang meliputi teori bilangan dan struktur aljabar. Kemudian dibuat sebuah program pengamanan pesan rahasia yang sederhana berdasarkan algoritma ElGamal.

Kata kunci : algoritma, asimetris, cipher blok, ElGamal, kriptografi, kunci publik, masalah logaritma diskret

SISTEMATIKA PENULISAN

Dalam skripsi ini pembahasan materi disusun menjadi tujuh bab. Materi tersebut disusun dengan sistematika berikut ini.

BAB I PENDAHULUAN
Pada bab ini dibahas mengenai latar belakang, perumusan masalah, batasan masalah, maksud dan tujuan penulisan skripsi, tinjauan pustaka, metode penulisan, serta sistematika penulisan skripsi.

BAB II LANDASAN TEORI
Pada bab ini dibahas mengenai tiga landasan teori yang harus dipahami sebelum membahas bagian inti dari skripsi ini, yaitu mengenai kriptografi, bilangan bulat dan struktur aljabar. Pada bagian kriptografi akan diberikan definisi kriptogafi, algoritma kriptografi dan sistem kriptografi. Pada bagian bilangan bulat akan dibahas mengenai beberapa sifat bilangan bulat seperti divisibility, algoritma pembagian pada bilangan bulat, representasi bilangan bulat, pembagi persekutuan terbesar, algoritma Euclide, serta faktorisasi ke bilangan prima. Sedangkan pada pembahasan mengenai struktur aljabar akan dibahas mengenai grup, grup siklik, partisi dan relasi ekuivalensi, homomorfisma, grup fakor, gelanggang, dan lapangan.

BAB III PERSAMAAN KONGRUEN DAN HIMPUNAN BILANGAN BULAT MODULO
Pada bab ini dibahas mengenai konsep-konsep dasar matematika yang secara khusus mendasari pembentukan algoritma ElGamal yang meliputi persamaan kongruen, himpunan bilangan bulat modulo, gelanggang bilangan bulat modulo, grup pergandaan bilangan bulat modulo, Euler Phi-function, teorema Fermat, metode fast exponentiation, grup unit atas lapangan berhingga dan elemen primitif.

BAB IV TES KEPRIMAAN
Pada bab ini dibahas mengenai dua tes keprimaan (primality test), yaitu tes Fermat dan tes Miller-Rabbin. Tes keprimaan merupakan suatu algoritma yang digunakan untuk mengecek apakah suatu bilangan bulat positif ganjil merupakan bilangan prima atau bukan.

BAB V MASALAH LOGARITMA DISKRET DAN ALGORITMA ELGAMAL
Pada bab ini dibahas dua hal yang menyangkut algoritma ElGamal, yaitu masalah logaritma diskret yang mendasari pembentukan algoritma ElGamal dan proses penyandian menggunakan algoritma ElGamal. Pada penjelasan mengenai proses penyandian dijelaskan tiga hal yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Serta diberikan contoh kasus penggunaannya.

BAB VI IMPLEMENTASI DAN UJI COBA
Bab ini membahas mengenai langkah-langkah pembuatan program komputer yang digunakan untuk menyandikan suatu pesan menggunakan algoritma ElGamal. Serta pembahasan hasil uji coba program tersebut.

BAB VII PENUTUP
Bab ini berisi kesimpulan dan saran-saran yang dapat diambil berdasarkan materi-materi yang telah dibahas pada bab-bab sebelumnya.

DOWNLOAD SKRIPSI (PDF) :

Read more...
separador

LaTeX project site → Articles

Below you will find links to Portable Document Format (PDF) versions of various articles published by the LaTeX3 project. This list is not comprehensive and we are working on extending it as time permits.

TUG 2008 conference
TUG 2007 conference
pdfTeX workshop 2005/09/24-26

HTML presentation of the material from the September 2005 pdfTeX workshop between Thanh The Han, Morten Høgholm, and Frank Mittelbach. The main topic of the workshop was grid typesetting. The material is available both for on-line browsing and download as a zip file (1364 kB).

EuroTeX 2005 notes

HTML presentation of the work done by the LaTeX project team during EuroTeX 2005. It is available both for on-line browsing and download as a zip file (923 kB).

Some note on templates
  • Unpublished paper, 2001
  • Keywords: LaTeX3, designer-interface, evaluation report

A discussion by Lars Hellström of the current implementation of the concept of templates. This paper is scheduled for publication in TUGboat.

Formatting documents with floats – A new algorithm for LATEX2e
  • Published paper, 2000
  • Keywords: LaTeX3, page makeup, models, concepts, proto-types

At the GUTenberg meeting in Toulouse, Frank presented a paper about a new output routine that is intended to enhance the way LaTeX deals with floating objects in multicolumn environments.

TUG99 talk
  • Published paper, 1999
  • Keywords: LaTeX3, models, concepts, user-interface, designer-interface, proto-types

The talk given by project team members at the TUG conference in Vancouver on models for user-level interfaces, designer-level interfaces in LaTeX3. Prototype implementations are in Experimental code.

Notes on Oldenburg e-TeX/LaTeX3/ConTeXt meeting and
Ideas for e-TeX/NTS
  • Meeting notes, 1998
  • Keywords: TeX extensions, LaTeX3

Early in 1998 a meeting was held between the e-TeX project and the LaTeX3 project. From this meeting we made some notes. A separate topic during the meeting was the improvement of TeX's math typesetting.

Default docstrip headers
  • Published paper, 1998
  • Keywords: documentation of LaTeX2e packages

An article about docstrip headers appeared in TUGboat volume 19, number 2. It describes a change in the wording of the default headers and gives some hints on how to have your own specific headers on your files.

A regression test suite for LaTeX2e
  • Published paper, 1997
  • Keywords: maintaining LaTeX2e

An article describing the regression test suite that has been built for LaTeX over the past years. It describes some of the history and outlines the results we have had from it.

The LaTeX3 Programming Language—A syntax proposal for TeX macro programming
  • Published paper, 1997
  • Keywords: general research, proposed model for LaTeX programming

An article giving a brief overview of the first release of expl3: a proposed LaTeX3 programming language. The article appeared in TUGboat volume 18, number 4. For the current state of the LaTeX3 programming language, please see the documentation in the CTAN distribution of expl3.

Language information in structured documents: a model for mark-up and rendering
  • Published paper, 1997
  • Keywords: general research, proposed model for LaTeX (current and future version)

At a TUG conference a new model is presented for dealing with language information in structured documents. The article appeared in the conference proceedings, TUGboat volume 18, number 3.

Application-independent representation of text for document processing – will Unicode suffice?
  • Published paper, 1996
  • Keywords: general research, language, text representation

A paper about application-independent representation of text for document processing; it discusses some of the Unicode shortcomings.

LaTeX2e encoding interfaces
  • Presentation, 1995
  • Keywords: LaTeX2e interface, input encoding, font encoding

A presentation held at Brno about the encoding interfaces that LaTeX offers It discusses the various issues related to input and output encodings.

Menu

LaTeX home
Read more...
separador

Sunday, March 22, 2009

LaTeX, Wordprocessor (ilmiah) berkualitas tinggi

Jika kita mendengar kata LaTeX, mungkin bayangan kita kebanyakan adalah suatu produk dari getah karet. Namun, LaTeX yang dimaksud di sini adalah piranti lunak pengolah kata (wordprocessor) yang umumnya digunakan kalangan peneliti, dosen, atau mahasiswa di bidang sains. Sebenarnya, penggunaan LaTeX saat ini tidak hanya terbatas pada bidang sains, namun sudah jauh merambat ke bidang bisnis, sekretaris, media cetak, atau pun sastra. Bahkan LaTeX dapat juga dipakai untuk pengolah kata dalam bahasa Arab, Ibrani, Jepang, Cina dan lain-lain. Meski demikian, LaTeX akan terlihat jauh lebih menonjol dibandingkan pengolah kata lain jika digunakan untuk memroses dokumen atau buku yang memiliki banyak persamaan matematis.

Sejarah LaTeX

Sejarah LaTeX bermula pada tahun 1977. Adalah Donald E. Knuth, seorang ahli pemrograman komputer di Universitas Stanford, yang pertama kali menciptakan program pengolah kata ini. Berawal dari keprihatinannya atas penurunan kualitas cetak dari buku yang ia tulis, Knuth kemudian menulis sebuah program komputer untuk mengolah kata yang ia sebut sebagai TeX. Bersama dengan program tersebut, pada bulan Mei 1977 ia juga menulis program yang disebut METAFONT untuk mendisain bentuk serta ukuran huruf yang akan dicetak pada layar monitor maupun di atas kertas. Meski kedua program ini menjadi sangat populer di kalangan ilmuwan saat itu, TeX kurang bergitu ramah terhadap pemakai. Mengapa? TeX dirasakan sebagai bahasa yang lebih dekat dengan mesin ketimbang manusia.

Tahun 1980 Leslie Lamport, seorang ilmuwan komputer lulusan Universitas Brandeis, menciptakan suatu sistem preparasi dokumen berbasis program TeX. Sistem ini mengubah TeX menjadi lebih mudah dipakai dan manusiawi karena menggunakan perintah-perintah tingkat-tinggi. LaTeX juga mengubah perhatian pemakai yang semula banyak terkonsentrasi pada masalah tipografi serta format dokumen. Dua hal ini di dalam LaTeX sudah ditangani oleh disainer dokumen, sehingga pemakai hanya tinggal memikirkan struktur serta isi dokumen yang ia tulis.

Bagaimana LaTeX bekerja?

Jika anda tidak kenal file LaTeX, maka anda mungkin kenal dengan file html yang menampilkan tulisan serta gambar di browser internet anda. Seperti file html, file LaTeX berisi kode-kode perintah penulisan teks atau formula. Kode-kode tersebut ditulis dalam bentuk ASCII (teks biasa) dan sebenarnya sangat logis. Kode-kode perintah dimulai dengan karakter backslash (\) dan dikelompokkan dalam kurung kurawal. Misalnya, untuk menuliskan a maka pemakai harus menulis \alpha, sedangkan untuk menuliskan tanda panah à dibutuhkan kode \rightarrow.

File LaTeX ini kemudian dikompilasi dengan program LaTeX yang akan menghasilkan output berupa file dvi (device independent) yang selanjutnya dapat ditampilkan pada layar monitor. Karakter-karakter yang ditampilkan adalah hasil jerih-payah program METAFONT. Untuk mencetak dokumen tersebut di atas kertas, maka file ini harus diubah ke dalam bahasa yang dimengerti printer, misalnya postscript atau pdf, dengan bantuan program dvips dan ps2pdf. Dewasa ini perintah pdftex lebih banyak dipakai untuk mengubah file LaTeX langsung menjadi file pdf. Jika anda menginstall LaTeX, maka semua program yang dibutuhkan sudah tersedia (built in).

Keuntungan LaTeX

LaTeX jelas sangat menguntungkan karena sistem ini dapat diperoleh secara gratis dan setiap orang dapat berpartisipasi dalam pengembangannya. Dengan maraknya penegakan hak-cipta serta pemberantasan piranti lunak bajakan, tentu saja sistem-sistem gratis merupakan solusi total terutama untuk negara berkembang. Di samping itu, karena dokumen LaTeX disiapkan dalam bentuk kode program, otomatisasi sistem akan sangat mudah. Saat ini server-server publikasi ilmiah mayoritas menggunakan LaTeX karena setiap pengguna dapat mengirimkan makalah mereka secara elektronik yang selanjutnya akan diproses, diformat, diberi nomer, dan disimpan secara otomatis oleh server tanpa butuh campur tangan manusia. Server semacam ini tentu saja sangat efisien, murah, dan dapat menangani hingga ratusan makalah per hari tanpa banyak keluhan! Contoh server jenis ini adalah server makalah fisika yang semula di bangun di Los Alamos dan kini berada di Universitas Cornell. Dengan kemajuan teknologi internet saat ini server tersebut menangani hampir 5000 makalah per bulannya, mulai dari makalah fisika, matematika, hingga biologi.


Gambar 1. Contoh sebuah formula dalam teori gravitasi yang ditulis dalam LaTeX (1) dan dicoba ditulis dengan menggunakan MS-Word (2). Pembaca yang cukup jeli dapat melihat "keindahan" serta keakuratan hasil produksi LaTeX. Untuk menulis dan menyimpan formula ini LaTeX hanya membutuhkan kurang dari 1 kilobyte memori, sementara MS-Word membutuhkan 18 kilobyte memori.

Jurnal-jurnal ilmiah sangat senang menggunakan LaTeX karena setiap jurnal hanya perlu satu kali mendesain detail format dokumen. Format ini disimpan dalam file sty atau cls yang merupakan file input LaTeX. Pemakai tinggal memilih format apa yang ingin ia gunakan, dengan kata lain ke mana ia akan mengirimkan makalahnya. Sistem ini ternyata memangkas mayoritas biaya proses editing dari sebuah jurnal, sehingga biaya publikasi dapat ditekan serendah mungkin hingga gratis. Saat ini, misalnya, jurnal fisika terkenal Physical Review mengenakan biaya konversi makalah hingga sekitar US $500 per makalah, jika makalah diketik dengan MS-Word, namun biaya tersebut dihapuskan (gratis) jika penulis menyiapkan makalahnya dalam bentuk LaTeX. Jurnal Fisika dari Himpunan Fisika Indonesia juga menggunakan LaTeX, namun biaya konversi jika penulis tidak menggunakan LaTeX hanya 5000 rupiah (setengah dolar) per halaman.

Keuntungan selanjutnya menyangkut efisiensi penyimpanan dokumen. Karena dokumen disimpan dalam bentuk kode ASCII, tentu saja memori yang dibutuhkan sangat kecil jika dibandingkan dengan pengolah kata lain. Efisiensi ini jelas terasa sangat kritis bagi server yang diceritakan di atas, namun juga sangat menguntungkan pemakai yang tidak menginginkan harddisk ratusan gigabyte dipasang pada laptopnya.

Masalah akurasi ukuran serta jarak antar karakter yang merupakan masalah inheren pengolah kata dapat dipecahkan dengan elegan oleh LaTeX, karena program LaTeX akan menghitung secara presisi bentuk-bentuk font serta mengoptimalkan jarak antar mereka di dalam dokumen. Dampak dari akurasi ini adalah resolusi font yang sangat tinggi (di atas 1000 dpi) yang dihasilkan oleh LaTeX.

Selain itu program LaTeX sudah sangat stabil. LaTeX dapat dipasang di semua platform, mulai dari PC, mainframe, hingga super-komputer. LaTeX dapat dijalankan dengan sistem operasi Linux, Unix, VMS, Mac-Intosh, ataupun MS-Windows. File LaTeX yang ditulis 15 tahun silam dapat dibaca tanpa adanya perubahan format satu pun saat ini, suatu hal yang kedengaran mustahil jika kita menggunakan pengolah kata lain.
Read more...
separador

definisi Latex

Apa itu LaTeX ?

TEX adalah bahasa pemrograman yang diciptakan khusus dan menjadi bagian utama dari sistem pengaturan teks hasil pengetikan (typesetting system) yang menghasilkan dokumen/publikasi teks dan matematis yang berkualitas. TEX diciptakan oleh Prof. Donald Knuth sekitar tahun 1978. Pada tahun 1985 Leslie Lamport di Digital Equipment Corporation menciptakan LATEX. LATEX merupakan user interface dari TEX. Leslie menciptakan LATEX untuk mengotomatisasi semua perintah umum untuk menyiapkan sebuah dokumen.

Mengapa LaTeX sangat portable ?

LaTeX dianggap sebagai format dokumen yang portable karena file *.tex akan menghasilkan hasil yang sama persis di platform manapun dia di-compile. Jadi tidak akan terjadi kesalahan format isi dokumen seperti saat kita membuka file *.doc pada open office.

Apakah LaTeX berguna bagi kita ?

Tentu saja LaTeX sangat berguna bagi kita saat kita hendak membuat suatu karya ilmiah, paper, skripsi, atau bahkan buku. Karena dengan LaTeX kita dapat memformat bentuk dokumen kita menjadi artikel, buku, laporan atau bahkan surat dengan sangat mudah.

Apakah LaTeX itu sulit ?

LaTeX sangatlah mudah dipelajari jika kalian ingin belajar lebih lanjut tentang LaTeX maka kunjungilah situs ini :

http://miktex.org/

Di sini kalian dapat mendownload MikTex untuk sistem operasi Windows. Untuk sistem operasi Linux biasanya sudah ada bila kalian menginstall linux dengan lengkap.

Read more...
separador

MATLAB Mengangap

Nah, MATLAB itu punya bugs.

Kalau kaga ada bugs, hidup tidak berkesan.


Kisah ini bermula dari keinginanku, membuat MAtriks Jacobian pada persamaan Denavit Hartenberg untuk lengan robot dengan 7 sendi. Bahasanya kok rumit, ya?

Aku sudah berhasil mempermudah penghitungan Matriks Jacobian untuk posisi ujung lengan robot, bahasa canggihnya adalah end effector. Namun kebingungan dengan orientasi ujung lengan robot. Matriks Jacobiannya terlalu rumit untuk diturunkan, kayanya butuh satu lapangan sepakbola kalau aku menulis dengan tangan.

Aku berpikir gunakan MATLAB Symbolic Toolbox.

Apakah hasilnya memuaskan.


Masalah pertama,

aku mencoba mencari apakah menggunakan persamaan translasi yang diper-"mudah" dan persamaan translasi menggunakan perkalian biasa.

Perkalian biasa artinya 7 matriks frame Denavit Hartenberg dikalikan biasa. Satu matriks frame terdiri dari 4 perkalian matriks, yaitu rotasi terhadap sumbu z, translasi pada sumbu z, translasi pada sumbu x, dan rotasi terhadap sumbu x. Total matriks terlibat adalah 7 kali 4, sama dengan 28 matriks!!!

Persamaan translasi diper-"mudah", adalah mengambil elemen rotasi dari 7 matriks frame saja, dan dikalikan seperlunya dengan elemen translasi dari 7 matriks frame, dengan cara looping sana-sini.


Nah, aku membandingkan kedua cara.

Caranya

Check1 = (Matrix_A == Matrix_B)

Matriks A tidak sama dengan Matriks B.

Mula-mula hasilnya beda, lho?


Lalu aku gunakan "simplify".

Caranya

Check2 = (simplify(Matrix_A) == simplify(Matrix_B))

Hasilnya sama. Oh, ternyata matriksnya harus di-"simplify" dulu.


Ternyata di lain waktu, aku temukan kekacauan simplify ini, yaitu di masalah kedua.


Masalah kedua,

Aku mencoba penurunan. Partial Differential dibutuhkan pada persamaan Jacobian Matrix.

Aku mencoba persamaan

diff(Matrix_A,q1)

lalu q2, q3, dan seterusnya hingga q7.


Lalu aku bandingkan dengan

diff(Matrix_B, q1)

pakai simplify juga, hasilnya beda.


Uniknya lagi ada kasus seperti ini

for nn = 1:7

Check3 = (simplify(diff(Matrix_A, qi(nn)) == simplify(diff(Matrix_B, qi(nn))))

end


for nn = 7:-1:1

Check4 = (simplify(diff(Matrix_A, qi(nn)) == simplify(diff(Matrix_B, qi(nn))))

end


Persamaannya sama cuma urutan increment-nya beda.

Seharusnya hasilnya sama.

Akan tetapi hasilnya berubah-ubah. ada komponen yang sama dan ada komponen yang beda. Dan hasilnya tidak konsisten, kalau aku "Run" berkali-kali.

Ini adalah bugs dari "simplify" pada MATLAB Symbolic Toolbox. Dugaan saya simplify menggunakan algoritma yang memakai random generator dan memiliki time out, sehingga hasilnya belum tentu optimal.

Lalu aku menggunakan "simple" untuk menggantikan "simplify". Hasilnya jadi masalah ketiga.


Masalah ketiga,

Ternyata oh ternyata, "simple" menyebabkan MATLAB is busy dan suhu komputer meningkat drastis dan bunyinya nyaring. Dan bukan hasil yang kudapat akan tetapi komputer yang panas.


Jadi kawan-kawan, kalau MATLAB bilang "simple", itu artinya bukan mudah, dan kalau bilang "simplify", itu artinya bukan mempermudah. Malah bisa mempersulit diri sendiri.


Jadi kawan-kawan semua, memrogram robot itu tidak mudah. Makanya perkembangan robotika kalah cepat dengan perkembangan telekomunikasi. Hanya orang-orang kurang kerjaan saja seperti saya bertekun di bidang robotika.

Read more...
separador

PeNgeTahuan Tentang latex..

Dari perbincangan di milis itb@itb.ac.id, saya mendapat informasi mengenai LaTex dan aplikasi web. Aku belum bisa bahasa LaTex karena terlalu "enjoy" dengan mengetik menggunakan Microsoft Word dan Microsoft Equation di dalamnya. Mau belajar, kaga pernah sempat, euy.


Aku sudah memasang aplikasi LaTex di Facebook milikku. Tapi semua garing sekali karena aku baru mencoba membuat pi dan dot, sesuai template dari aplikasi LaTex di Facebook.


Sebetulnya aku juga sudah pasang MikTex 2.7 di Laptop tercintaku, namun seperti tadi yang sudah kusebut, aku terlalu malas untuk belajar LaTex.


Kembali lagi tentang aplikasi web dan LaTex, aku sudah pernah mencoba SciGen, hasil karya iseng beberapa mahasiswa di MIT. SciGen ini bisa meng-"generate" karya ilmiah secara acak. Paper ini bisa dikirim ke seminar atau konferensi abal-abal. SciGen juga punya blogs, lho. SciGen ini menggunakan aplikasi Perl, LaTex/BibTex, Gnuplot, dan GraphViz.
Info lebih lanjut, bisa klik website di bawah ini.
http://pdos.csail.mit.edu/scigen/ (tentang SciGen)
http://pdos.csail.mit.edu/scigen/blog/ (Scigen Blog)


Lalu dari diskusi milis ITB yang tadi, ada info lain mengenai aplikasi web vs. LaTex.
http://html2latex.sourceforge.net/ (dari HTML ke LaTex)
http://en.wikipedia.org/wiki/LaTeX2HTML (dari LaTex ke HTML)


Yang paling penting buat para blogger di wordpress adalah LaTex bisa jalan di sana. Contohnya di blog milik Terence Tao dari UCLA. Wordpress juga menyediakan petunjuk penggunaan LaTex di Wordpress. Yah, silahkan lihat websites ini.
http://terrytao.wordpress.com/ (Blog Terence Tao dari UCLA)
http://support.wordpress.com/latex/ (Latex Support di Wordpress)

Read more...
separador

Live music


Followers