Sistem Keamanan Komputer - Fungsi Hash - MD5 & SHA

Berhubung mata kuliah Sistem Keamanan Komputer dikelas saya diberikan tugas untuk mencari tau perbedaan MD5 dan SHA pada Hash Function maka pada postingan saya kali ini saya akan membahas mengenai MD5 dan SHA.

Berbicara mengenai Hash Function maka sebelumnya kita akan berbicara mengenai Kriptografi. Apa itu Kriptografi??

Kriptografi merupakan seni dan ilmu menyembunyikan informasi dari penerima yang tidak berhak. Kata cryptography berasal dari kata Yunani kryptos (tersembunyi) dan graphein (menulis).

Ada beberapa dasar tool kriptografi (primitif) yang digunakan untuk mendukung keamanan informasi. Contoh dari primitif termasuk skema enkripsi, fungsi hash, dan skema tanda tangan digital.

Pada postingan ini saya hanya akan membahas mengenai salah satu contoh dari tool kriptografi yaitu fungsi hash. Berikut penjelasannya :

Fungsi Hash adalah fungsi yang memproduksi output dengan panjang tetap dari input yang berukuran variabel. Output dari fungsi hash disebut dengan message digest. Fungsi hash memiliki karakteristik fungsi satu arah karena file asli tidak dapat dibuat dari message digest.

Fungsi hash yang banyak dipakai di dalam aplikasi kriptografi adalah MD5 dan SHA. Berikut penjelasan keduanya :


MD5
MD5 adalah algoritma message digest yang dikembangkan oleh Ronald Rivest pada tahun 1991. MD5 merupakan perbaikan dari MD4 setelah MD4 berhasil diserang oleh kriptanalis.

MD5 mengambil pesan dengan panjang sembarang dan menghasilkan message digest yang panjangnya 128 bit dimana waktu pemrosesan lebih cepat dibandingkan performance SHA tetapi lebih lemah dibandingkan SHA.  Pada MD5 pesan diproses dalam blok 512 bit dengan empat round berbeda. Masing-masing round terdiri dari 16 operasi. F merupakan fungsi nonlinear, satu fungsi digunakan pada setiap ronde. MI menunjukkan blok data input 32 bit dan Ki menunjukkan konstanta 32 bit yang berbeda setiap operasi.


Gambaran pembuatan message digest dengan algoritma MD5diperlihatkan pada gambar berikut :

Pembuatan message digest dengan algoritma MD5


SHA
Secure Hash Algorithm (SHA), algoritma yang dispesifikasikan dalam Secure Hash Standard (SHS, FIPS 180), dikembangkan oleh NIST dan digunakan bersama DSS (Digital Signature Standart). SHA-1 adalah revisi terhadap SHA yang dipublikasikan pada tahun 1994.

SHA disebut aman (secure) karena ia dirancang sedemikian rupa sehingga secara komputasi tidak mungkin menemukan pesan yang berkoresponden dengan message digest yang
diberikan.

Algoritma SHA mengambil pesan yang panjangnya kurang dari 264 bit dan menghasilkan message digest 160-bit . Algoritma ini lebih lambat daripada MD5, namun message digest yang lebih besar membuatnya semakin aman dari bruteforce collision dan serangan inversi.

Berikut ini salah satu iterasi fungsi kompresi SHA1 dimana A,B,C,D dan E berisi 32 bit words, F merupakan fungsi nonlinier yang bervariasi, <<< menandakan left circular shift, Kt konstan.
 

Algoritma SHA menerima masukan berupa pesan dengan ukuran maksimum 264 bit (2.147.483.648 gigabyte) dan menghasilkan message digest yang panjangnya 160 bit, lebih panjang dari message digest yang dihasilkan oleh MD.

Gambaran pembuatan message digest dengan algoritma SHA diperlihatkan pada gambar berikut :

Pembuatan message digest dengan algoritma SHA


Read More...

Studi Kasus Game

1.3. Studi Kasus Team Pembuat Game

Setelah membahas mengenai Peranan dan Interaksi dari Team Pembuat Game pada postingan sebelumnya maka pada postingan kali ini saya akan sedikit menjelaskan mengenai contoh / studi kasus dari Team Pembuat Game.  

Pada studi kasus kali ini saya akan menjelaskan mengenai sebuah permainan game dari  console playstation yaitu sebuah game yang bergenre RPG (Role Playing Game) berjudul suikoden yang diciptakan dan di publikasikan oleh konami. Game ini didasarkan dari sebuah novel china bernama Shui Hu Zhuan.

Alur cerita dari game ini berlatarkan pada daerah kerajaan. Game ini berkisahkan tentang Tir McDohl yang adalah seorang pemuda yang ingin membebaskan daerah asalnya dari sebuah kerajaan yang dipimpin oleh penyihir istana yang berniat untuk menguasai semua daerah yang ada pada game itu.

            Dikarenakan game ini dimainkan pada console game generasi lama maka tampilan permainannya tidak sebagus game-game sekarang yang sudah sangat maju.

Berikut adalah tampilan suasana kota dari game suikoden ini :


Untuk membuat tampilan game seperti pada gambar diatas tidaklah mudah. Dibutuhkan orang-orang yang handal dalam bidang design dan pemrograman. Selain itu peran Artist dan komposer juga tidak kalah pentingnya.


Dari pembuatan game suikoden ini maka dapat dijelaskan tugas dari masing-masing team pembuat game.

Yang menjadi designer game disini adalah Yoshitaka Murayama. Dia disini bertugas untuk mendesign tempat-tempat yang dapat didatangi oleh karakter (pemeran utama dalam game) seperti istana, gua, hutan-hutan, kota-kota, rumah-rumah penduduk, hewan, musuh (monster-monster) dan lain-lain. Dia juga akan menentukan bagaimana sikap dan sifat dari karakter pemeran dalam game suikoden. Game Designer ini juga akan membuat konsep tampilan karakter pemeran-pemeran dalam game pada saat bertarung. Nantinya Game Designer ini akan bekerjasama dengan artist dalam hal pembuatan karakter dari game.

Setelah mendesign alur game, nantinya tugas seorang programmer disini adalah membuat codingan program yang berfungsi untuk menjalankan game. Contoh dari tugas programmer ini misalkan : apabila karakter utama berjalan sampai dengan tempat yang dituju maka akan ada monster atau musuh lainnya yang akan menyerangnya. Disini programmer akan menentukan kode-kode yang akan menjalankan game sesuai dengan alur cerita game.


Terlepas dari pembuatan alur cerita dan pembuatan code-code game yang membuat cerita menjadi lebih hidup maka seorang komposer akan berperan untuk membuat sebuah game menjadi lebih menarik lagi. Dia akan menyesuaikan backsound yang digunakan dengan latar game. Dia juga akan mengatur audio (music) apa saja yang akan dipakai dalam game itu. Komposer ini juga akan menyesuaikan music yang digunakan dengan suasana game. Misalnya pada saat tegang maka dia akan menggunakan audio yang akan membuat para pemain game ini menjadi deg-degan dan lain sebagainya.
Read More...

Interaksi Pembuat Game

1.2. Interaksi Para Pembuat Game

Sebagaimana telah dijelaskan pada postingan sebelumnya mengenai peranan dari masing-masing tim utama pembuat game seperti desaigner, programmer, artist dan sound/audio enginner, maka pada postingan kali ini saya akan membahas mengenai interaksi dari para pembuat game ini.

Pada dasarnya game dibuat dengan sekelompok tim pengembang yang bekerja pada masing-masing bidang. Tiap tim memiliki keahlian yang berbeda. Latar belakang pendidikan mereka juga berbeda karena mereka di tekankan untuk menekunin pada satu aspek saja.

Selain dari tim pembuat game yang telah dibahas pada postingan sebelumnya, salah satu tim pengembang game yang tidak kalah penting peranannya adalah “producer”. Tugas dari producer ini sangat banyak dan bervariasi. Sebagai produser harus benar-benar menguasai bidang desain game dan beberapa hal seperti keahlian menulis dan komunikasi, keahlian teknis, pengembangan proyek dan manajemen proyek, alur kerja, manajemen organisasi serta strategi bisnis. Selain itu, seorang producer dapat menjadi penengah antara designer, artist, programmer dan composer apabila terjadi ketidaksepakatan antara tim pembuat game ini.

Seorang designer akan berhubungan dengan department lain melalui producer. Dia bebas berkarya sejauh disetujui producer dan tidak menyimpang dari High Concept.
Seorang disigner harus mengerjakan  / membuat gameplay yang bisa dikerjakan oleh seorang programmer sehingga pembuatannya dapat berjalan sesuai dengan schedule dan deadline yang telah ditentukan.





Pada tahap design, konsep dari pembuatan game masih berupa dokumen dan Mood Board. Sebagai ketua proyek, designer game akan menjelaskan bagaimana game yang dibuat secara visual, bekerja, berinteraksi, fitur dan alur cerita (game play). Designer game  akan memberikan konsep awal berbentuk dokumen yang di sebut Game Production.

Selain bertugas untuk membuat gameplay, seorang designer juga mempunyai tugas untuk menciptakan karakter utama dari game.  Setelah design selesai dilakukan maka tim programmer akan mengerjakan coding pada Platform yang akan di gunakan. Tiap game membutuhkan Engine sebagai Core untuk template game bisa berfungsi. Mereka juga berhubungan langsung dengan Editor yang memang sudah di sediakan pada engine tersebut. Programmer ini merupakan inti dari game mekanik. 

Agar sebuah game juga terlihat seperti nyata maka peran dari Artist juga sangat berpengaruh dalam pembuatan game ini. Tugas nya adalah menciptakan Efek Visual di dalam game. Misalnya Animasi, detail pada karakter atau Items, Komposisi warna, Pencahaya'an bahkan texture yang akan di pakai di dalam game. Mereka juga menciptakan Lingkungan sesuai dengan kebutuhan game. Pengguna'an detail yang terlalu rumit dapat menyebabkan game terlalu berat untuk di load oleh karena itu mereka bertanggung jawab agar game yang di mainkan tidak terlalu memberatkan media atau perangkat keras (hardware) untuk game ini setelah di produksi.

Peran seorang Music Composer juga tidak kalah pentingnya dalam pembuatan game. Sebuah game yang hanya diam tanpa suara tidak akan menambah suasana game yang indah. Dibalik semua ini, peran dari Music Composer juga ikut berpengaruh. Tugas dari Music Composer ini adalah mengisi Efek Suara pada karakter, lingkungan, senjata bahkan musik untuk latar belakang di game. Mereka juga mengisi musik dan suara untuk animasi di dalam game.

Dalam proses pembuatan game tidak semuanya dapat berjalan secara mulus. Terkadang terjadi ketidaksepakatan antara para tim pembuat game. Misalnya :
- Designer membuat gameplay yang sulit untuk dikerjakan programer
- Artist  ingin membuat seindah mungkin, tapi programer  ingin membatasi jumlah / kualitas art karena keterbatasan engine.
- Designer melihat dari sudut gameplay, ingin ada tempat memanjat di sana-sini, di tempat yang menurut artist  tidak indah jika diberi object untuk memanjat.

Dengan adanya ketidaksepakatan ini maka seorang producer akan bertindak sebagai penengah.


Dengan melihat fungsi yang saling berkaitan dari para team pembuat game ini maka dapat disimpulkan bahwa ketidakberadaan satu anggota team akan mempengaruhi jalan dan indahnya suatu game. Oleh karena itu, kerja sama dari masing-masing team sangat diperlukan dalam pembuatan game ini.



Source1
Source2


Read More...