WEP terdiri dari password rahasia dan enkripsi. Password rahasia yang digunakan bersama antara akses point dan semua orang di jaringan nirkabel, terdiri dari 5 atau 13 karakter. Digunakan oleh proses enkripsi untuk komunikasi paket yang disamarkan sepanjang WLAN, atau Wireless Local Area Network. Semua paket yang unik dan acak, jadi jika seseorang melakukan crack pada satu paket key, mereka tidak dapat melihat apa yang dilakukan orang lain tanpa melakukan cracking pada mereka juga.
Ini semua dilakukan dengan menggunakan password rahasia bersamaan dengan tiga karakter (the Initialization Vector, atau IV) yang dipilih secara acak oleh perangkat nirkabel. Misalnya, jika Anda adalah password “hello”, mungkin membuat “abchello” untuk satu paket, dan “xyzhello” untuk lainnya.
WEP juga menggunakan XOR, atau Eksklusif ATAU, untuk enkripsi. XOR membandingkan dua bit, dan jika theyre berbeda, ia akan mengembalikan
1. Jika tidak, ia akan mengembalikan 0. Misalnya, 1 XOR 1 akan 0, dan 1 XOR 0 akan 1.
Array adalah variabel yang dapat menyimpan beberapa nilai. Misalnya, array abjad [26] akan terus nilai 26, yang diberi label 0 melalui 25.
Contoh:
- Code:
-
alphabet[0] = ‘A’;
alphabet[1] = ‘B’;
void swap(char &first, char &second)
{
char temp = first;
first = second;
second = temp;
}
swap(alphabet[0], alphabet[1]);
Jika nilai-nilai array swapped randomely telah berkali-kali, maka tidak mungkin dikirim ke array elemen yang memegang nilai.
Algoritma yang sebenarnya digunakan oleh WEP untuk mengenkripsi paket yang adalah RC4. RC4 terdiri dari dua langkah: dengan password dan Penjadwalan Algoritma Pseudo Random Generasi Algoritma. Bagian pertama, yang Penjadwalan Algoritma password, atau KSA, seperti ini dalam kode C, assuming k [] adalah array dari password rahasia:
- Code:
-
int n = 256;
char s[n];
// initialization
for (int i = 0; i <= (n – 1); i++)
s[i] = i;
int j = 0;
// scrambling
for (int l = 0; l <= (n – 1); l++)
{
j += s[l] + k[l];
swap(s[l], s[j]);
}
Mari kita telaah kode di atas hingga kita tahu bahwa:
1. Integer ‘n’ menentukan seberapa kuay enkripsi yang kita buat. WEP disini menggunakan 256.
2. Array karakter ‘k’ adalah password rahasia yang dikombinasikan dengan tiga karakter palsu. Hal ini tidak berubah sama sekali dalam program ini.
3. Tanda ’//Inisialisasi’ hanya merupakan inisialisasi, sebanyak karakter 0-255.
4. Integer ‘j’ digunakan untuk memegang nilai selama scrambling. Selalu diinisialisasi ke 0, karena harus selalu di mulai 0.
5. Selanjutnya, (di mana ‘/ / scrambling’) scrambling proses dimulai. Pada dasarnya akan menghasilkan ’s’ array “acak” dari sebelumnya ‘ s’ array yang ditentukan.
6. Di dalam lingkaran, yang pertama mereka merges password (k) dengan acak array (s) untuk membuat sebuah karakter selesai. Lalu, panggilan untuk swap () menempatkan ke dalam array dari karakter selesai.
Sekarang saatnya untuk bagian kedua dari algoritma RC4, maka Algoritma Pseudo Random Generation (PRGA). Bagian ini output streaming password berdasarkan KSA’s pseudo-acak array. Streaming key ini akan digabung dengan data cleartext untuk menciptakan data yang dienkripsi.
- Code:
-
int i = 0;
int j = 0;
int z;
while (data_disini)
{
i++;
j += s[i];
swap(s[i], s[j]);
z = s[s[i] + s[j]];
// z is outputted here
// and then XOR’d with cleartext
}
1. Integers’ i ‘dan’ j ‘telah dideklarasikan dan diinisialisasi ke 0.
2. Terdapat satu lingkaran yang berjalan sampai akhir paket data tersebut tercapai.
3. ‘I’ adalah incremented dalam setiap perulangan dari lingkaran itu agar tetap berjalan.
4. ‘J’ memegang pseudo-nomor acak.
5. Pemanggil lain untuk swap () karakter yang aktif dalam s [i], dan s [j].
6. ‘Z’ dihitung dengan menambahkan s [i], dan s [j] dan mengambil nilai dalam elemen sesuai jumlah mereka. Alasan ini akan dijelaskan nanti.
7. ‘Z’ adalah XOR’d dengan cleartext untuk membuat teks baru dienkripsi.
Berhubung dgn putaran CRC stands for redundancy checksum. Ketika paket-paket yang dikirim ke seluruh jaringan, harus ada cara untuk mengetahui host menerima paket belum rusak dengan cara apapun. Ini adalah tujuan dari CRC. Sebelum data dikirim, CRC menghitung nilai, atau checksum, untuk paket yang akan dikirim dengan paket. Bila diterima, target host menghitung baru dari checksum menggunakan CRC. CRCs Jika cocok, maka paket dari kredibilitas telah dikonfirmasi.
Ringkasnya, Access Point menciptakan pseudo-acak karakter. Mereka bergabung dengan berbagi prechosen password untuk membuat password rahasia. KSA kemudian menggunakan password ini untuk membuat pseudo-acak array, yang digunakan oleh PRGA streaming untuk membuat key. Password ini kemudian di XOR dengan cleartext untuk menciptakan data dienkripsi, dan masuk ke dalam CRC dan membuat checksumnya.
Kemudian, untuk penerimaan host decrypts. Karakter ditambahkan oleh AP yang akan dihapus dan digabung dengan key untuk dikirim kembali bersama dengan password rahasia. Password masuk melalui seluruh proses RC4, dan XOR’d dengan teks terenkripsi, dan menciptakan cleartext checksum. Checksum akan dihapus dan dibuat yang kemudian dibandingkan untuk melihat apakah data selamat, dan apakah ini merupakan pengguna asli.
sekian tutor kali ini semoga bermanfaat....
wassalamualaikum.