Rabu, 23 Maret 2011

Perbedaann MD5 dengan SHA

Pada tugas Sistem Keamanan Komputer ini saya akan menjelaskan tentang perbedaan MD5 dengan SHA hash function.
Berikut penjelasannya :
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.
Hash functions berawal dari ilmu komputer, dimana dibutuhkan sebuah fungsi yang
berguna untuk mengkompresi sebuah string dengan panjang yang berubah-ubah menjadi
sebuah string tetap yang lebih pendek.
Hash functions digunakan untuk menentukan
secara keseluruhan tempat penyimpanan yang mungkin dari sebuah file.

1. MD5 (Message-Digest algortihm 5)
MD5 ini merupakan kriptografik yang digunakan secara luas dengan hash value 128-bit. Maksudnya adalah Input algoritma ini adalah sebuah berita dengan panjang yang bervariasi dan menghasilkan output sebuah 128-bit message digest. MD5 ini telah digunakan pada berbagai macam aplikasi keamanan. Berikut cara kerja algoritma MD5 yang saya temukan di wikipedia.
Algoritma MD5 yang utama beroperasi pada kondisi 128-bit, dibagi menjadi empat word 32-bit, menunjukkan A, B, C dan D. Operasi tersebut di inisialisasi dijaga untuk tetap konstan. Algoritma utama kemudian beroperasi pada masing-masing blok pesan 512-bit, masing-masing blok melakukan pengubahan terhadap kondisi.Pemrosesan blok pesan terdiri atas empat tahap, batasan putaran; tiap putasan membuat 16 operasi serupa berdasar pada fungsi non-linear F, tambahan modular, dan rotasi ke kiri. Gambar satu mengilustrasikan satu operasi dalam putaran. Ada empat macam kemungkinan fungsi F, berbeda dari yang digunakan pada tiap-tiap putaran:

F(X,Y,Z) = (X\wedge{Y}) \vee (\neg{X} \wedge{Z})
G(X,Y,Z) = (X\wedge{Z}) \vee (Y \wedge \neg{Z})
H(X,Y,Z) = X \oplus Y \oplus Z
I(X,Y,Z) = Y \oplus (X \vee \neg{Z})
\oplus, \wedge, \vee, \neg menunjukkan operasi logikan XOR, AND, OR dan NOT.

2. SHA (Secure Hash Algorithm)
SHA merupakan salah satu hash function yang cukup banyak digunakan. Keluarga SHA yang paling banyak digunakan adalah SHA-1. SHA-1 memetakan inputan string dengan panjang sembarang menjadi suatu nilai hash dengan panjang tetap yaitu 160 bit. Ukuran internal state pada SHA-1 adalah 160 bit, sedangkan ukuran bloknya adalah 64 bytes.

SHA-1 merupakan hasil rekonstruksi dari MD4 dan memperbaiki kekurangann yang ada di MD4 itu sendiri. SHA-1 merupakan algoritma hash yang banyak diaplikasikan dalam keamanan protokol menggunakan SSL (Secure Sockets Layer), PGP (Pretty Good Privacy), XML Signature, dan beberapa aplikasi lainnya.

Langkah-langkah pada SHA-1 adalah sebagai berikut:
1. Melakukan padding terhadap pesan sehingga panjangnya adalah 448 modulus 512.
2. 64 bit sisanya adalah representasi biner dari panjang pesan.
3. Melakukan inisialisasi5 word buffer (160 bit)A, B, C, D, dan E dengan nilai A=67452301, B=efcdab89, C=98badcfe, D= 10325476, dan E=c3d2e1f0.
4. Memproses pesan dalam blok-blok 16 word (512 bit) dengan ketentuan:

* Ekspansi 16 words menjadi 80 words dengan teknik mixing dan shifting.
* Menggunakan 4 round dari 20 operasi bit pada blok pesan dan buffer.
* Menambahkan output dengan input untuk mempeoleh nilai buffer yang baru.

5. Output nilai hash adalah nilai terakhir dari buffer.
Jadi intinya SHA-1 adalah suatu algoritma hash yang memetakan inputan string dengan panjang sembarang menjadi output dengan panjang tetap yaitu 160 bit.

Rabu, 09 Maret 2011

Seluk Beluk Game Engine

Game Engine... adalah istilah yang pasti sudah sering di dengar oleh para gamer sejati yang menghabiskan ratusan atau bahkan ribuan jam di depan komputer untuk bermain game.
Game Engine sendiri adalah sebuah perangkat lunak sistem yang dirancang untuk penciptaan dan pengembangan video game.
Sebuah game tidak akan menjadi sebuah mahakarya jika tidak ada game engine yang mampu memberikan visual yang menggiurkan. Game engine memberikan kemudahan dalam menciptakan konsep sebuah game yang akan di buat. Mulai dari  sistem rendering, physics, arsitektur suara scripting, A.I, dan bahkan sistem networking.
maka dari itu kenapa kita sangat membutuhkan game engine karena game engine menjadi elemen yang sangat penting dalam pengembangan sebuah proyek game.

Itulah penjelasan singkat tentang game engine.. selanjutnya saya akan menjelaskan tentang contoh dari game engine.
Beberapa contoh jenis game engine :

1. Freeware game engine/open source game engine
  • Blender
  • Golden T Game Engine (GTGE)
  • DXFramework
  • Ogre
  • Aleph One
  • Axiom Engine
  • Allegro Library
  • Box2D
  • Build Engine
  • Cube
  • Cube 2
  • DarkPlaces
  • jMonkeyEngine (jME)
  • Panda3D
  • Sphere
2. Commercial engines/game engine berbayar (komersial)
  • Alamo
  • A.L.I.V.E
  • BigWorld
  • DXStudio
  • Dunia Engine
  • Euphoria
  • GameStudio
  • Jade Engine
  • Jedi
  • Medusa
  • RPG Maker VX
  • RPG Maker XP
  • RPG Maker 2003
  • RPG Maker 95
  • Vision Engine
itulah contoh-contoh game engine dari yang freeware (gratis) sampai yang commersial engine (berbayar).
lalu saya akan menjelaskan sedikit tentang OGRE , yg termasuk dalam game engine freeware :)

OGRE adalah singkatan dari Object-Oriented Graphics Rendering Engine, yang berarti salah satu engine grafik 3D yang berorientasi kepada objek, ogre ditulis dalam bahasa C++. Engine grafik 3D tersebut dapat kita gunakan untuk membuat game karena OGRE memang didesain sedemikian rupa untuk tujuan berikut. Untuk merender grafis tiga dimensinya, OGRE menggunakan library atau pustaka Direct3D dan OpenGL. Library yang dibutuhkan agar kita dapat membuat game diantaranya : Sound, Networking, Input, Collision. Ogre tidak langsung dimuat dengan libarary tersebut. Meskipun Ogre memilki interface yang memudahkan pembuatan dan penggabungan dengan aplikasi yang sudah ada. Ogre tidak hanya terhenti dalam platform spesifik berdiri sendiri untuk pembuatan game.

sumber : sumber1, sumber2, sumber3