Arsip

Archive for the ‘Kriptografi’ Category

Big Endian vs Little Endian

17 April 2011 1 komentar

Saya menemukan problem ini ketika mengerjakan tugas Kriptografi untuk implementasi SHA atau Secure Hash Algorithm. Ada beberapa macam SHA, bisa dilihat di sini. Sebenarnya, cukup mudah melakukan implementasinya, untuk algoritmanya, bisa googling, atau langsung cari di wikipedia. Namun, ternyata rada sulit untuk konversi dari integer atau char ke bit. Hal ini dikarenakan terdapat 2 mode di komputer dalam menyimpan data. Yakni, big endian dan little endian.

Lalu, apa hubungan SHA dengan si big dan little endian ini? Masalah muncul ketika SHA meminta kita merubah integer ke suatu representasi bit dengan mode big-endian, sedangkan tidak semua komputer merepresentasikannya menjadi big endian. OS Windows biasanya menggunakan little endian sebagai modenya.

Perbedaan little endian dan big endian sebenarnya sangat sepele, kalau big-endian representasi bit nya mirip tulisan kita, yakni makin ke kiri, makin signifikan bitnya. Sedangkan little endian sebaliknya. Contoh :

00001001 = 9 (big endian)

00001001 = 144 (little endian)

Sebenarnya, cukup dibalik saja. Namun, untuk setiap tipe data, menggunakan banyak byte yang berbeda, Contoh, boolean 1 byte, char 1 byte, int 1 byte, dan seterusnya. Sehingga perlu ada konversi masing-masing.

Jadi, yang harus diperhatikan adalah :

  1. Mode apa yang digunakan komputer kita, big endian atau little endian
  2. Tipe data apa yang ingin kita ubah

Berikut ini contoh kerjaan saya : Baca selengkapnya…

Kategori:C#, Kriptografi Tag:,