Langsung ke konten utama

ALGORITMA ENKRIPSI

 BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Kali ini kita bersama-sama akan mencoba belajar keamanan komputer, yakni tentang enkripsi. Berikut sekilas tentang Enkripsi yang mungkin akan memberikan pandangan tentang bagaimana, dan apa itu enkripsi. Bagi orang-orang yang sering berkecimpung di dunia informatika / komputer insya Allah sering mendengar istilah enkripsi ada juga yang pernah mendengar istilah encode, begitu juga istilah kripografi.

Enkripsi ialah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi dan saat ini enkripsi telah digunakan pada sistem secara luas, seperti Internet e-commerce, jaringan Telepon bergerak dan ATM pada bank.

Enkripsi dapat digunakan untuk tujuan keamanan, tetapi teknik lain masih diperlukan untuk membuat komunikasi yang aman, terutama untuk memastikan integritas dan autentikasi dari sebuah pesan. Contohnya, Message Authentication Code (MAC) atau digital signature. Penggunaan yang lain yaitu untuk melindungi dari analisis jaringan komputer.

Tujuan sebenarnya teknik-teknik dengan istilah-istilah di atas adalah untuk menyamarkan data asli menjadi data baru dalam bentuk atau format lain, supaya orang lain selain si pemilik hak akses ke data tersebut tidak bisa melihat atau mengaksesnya. Biasanya digunakan untuk mengamankan data, jaga-jaga kalau data tersebut jatuh ke tangan orang lain yang tidak berhak. Baik itu untuk disimpan sendiri maupun untuk tujuan pengiriman data ke orang lain.

1.2 Judul Masalah

Laporan makalah ini berjudul “Queue (Antrian)”, laporan ini diharapkan dapat menjadi literatur bagi proses belajar mengajar dalam perkuliahan, terutama mata kuliah Struktur Data khususnya bagi mahasiswa/i secara cepat dan mudah dalam memahami konsep antrian yang sesungguhnya.





BAB II
PEMBAHASAN

2.1 Deskripsi Enkripsi

Enkripsi ialah proses mengamankan suatu informas idengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi-organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan kerahasiaan yang menggunakan enkripsi.

Fungsi enkripsi menerima input 1 blok plaintext yang terbagi dalam 4 register yangmasing-masing berupa w-bit word, yaitu A, B, C, dan D. Ciphertext hasil proses terbagi dan disimpan dalam A, B, C, dan D. Dalam proses enkripsi diperlukan tabel kunci S yang dianggap telah didapat dari proses sebelumnya. Secara lebih detil, proses enkripsi dengan RC6 dapat dibagi dalam beberapa langkah. Dalampenjelasan berikut, notasi (A,B,C,D) = (B,C,D,A) berarti adalah operasi assignment yang dilakukan parallel (bersamaan) untuk setiap elemen di ruas kanan ke ruas kiri yang berkorespondensi.

 Langkah-langkahnya adalah sebagai berikut:

1.  Mula-mula lakukan half-round loop yang seperti pada RC5:
for i = 1 to r doA = ((AB) <<< B) + S[i]
(A,B) = (B,A)

2.  Lakukan dua proses RC5 secara paralel, yang satu untuk register A, B dan yanglain untuk register C, D.
for i = 1 to r doA = ((A B) <<< B) + S[2i]
C = ((C D) <<< D) + S[2i+1]
(A,B) = (B,A)
(C,D) = (D,C)

3.  Pada tahap pertukaran, daripada menukar A dengan B, dan C dengan D, lakukanpermutasi antar keempat register (A,B,C,D) = (B,C,D,A), sehingga komputasi AB bercampur dengan komputasi CD.
for i = 1 to r doA = ((AB) <<< B) + S[2i]
C = ((CD) <<< D) + S[2i+1]
(A,B,C,D) = (B,C,D,A)

4.  Campurkan komputasi AB dengan CD lebih jauh, yaitu dengan mempertukarkankedua nilai yang menyatakan jumlah rotasi pada masing-masing komputasi.
for i = 1 to r doA = ((AB) <<< D) + S[2i]
C = ((CD) <<< B) + S[2i+1]
(A,B,C,D) = (B,C,D,A)

5.  Daripada menggunakan nilai B dan D secara langsung, RC6 menggunakan hasiltransformasi kedua register ini. Hal ini dilakukan untuk tidak mengulangi masalah rotasi seperti pada RC5 di mana tidak seluruh bit dalam data yang berpengaruh dalam rotasi. Oleh karena itu, fungsi transformasi yang dipilih harus dapat memanfaat seluruh bit di dalam data untuk mengatur jumlah bit yang dirotasikan. Fungsi yang dipilih adalah f(x) = x(2x + 1) (mod 2wyang kemudian diikuti dengan rotasi ke kiri sebanyak 5 bit.

Transformasi ini terpilih karena fungsi f(x) yang merupakan fungsi satu-ke-satu memiliki bit-bit orde atas yang menentukan jumlah rotasi yang akan digunakan yang sangat bergantung pada x.
for i = 1 to r dop = (B × (2B + 1)) <<< 5
q = (D × (2D + 1)) <<< 5
A = ((A p) <<< q) + S[2i]
C = ((Cq) <<< p) + S[2i+1]
(A,B,C,D) = (B,C,D,A)

6.  Setelah loop di atas selesai, akan terdapat hasil di mana plaintext bisa menunjukkan bagian input ronde pertama dalam enkripsi dan ciphertext bisa menunjukkan bagian input ronde terakhir dalam enkripsi. Oleh karena itu perlu ditambahkan langkah – langkah di awal dan di akhir loop untuk menyamarkan hubungan ini. Sehingga,
terbentuklah algoritma enkripsi RC6 yang sebagai berikut:
B = B + S[0]D = D + S[1]
for i = 1 to r do
p = (B × (2B + 1)) <<< 5
q = (D × (2D + 1)) <<< 5
A = ((Ap) <<< q) + S[2i]
C = ((Cq) <<< p) + S[2i+1]
(A,B,C,D) = (B,C,D,A)
A = A + S[2r + 2]
C = C + S[2r + 3]
Perlu diketahui juga, dalam varian baru RC6 jumlah rotasi ke kiri yang mengikuti fungsi kuadrat bukan 5 bit tetapi adalah 2log(w) bit.

2.2 Tujuan Enkripsi
Tujuan dari adanya enkripsi adalah untuk meningkatkan keamanan data tetapi juga berfungsi untuk :
  1. Melindungi data agar tidak dapat dibaca oleh orang-orang yang tidak berhak.
  2. Mencegah agar orang-orang yang tidak berhak, menyisipkan atau mengahapus data.
Sedangkan tujuan dari sistem kriptografi adalah sebagai berikut :
  1. Confidentiality
    Memberikan kerahasiahan pesan dan menyimpan data dengan menyembunyikan informasi lewat teknik-teknik enkripsi.
  2. MessageIntegrity
    Memberikan jaminan untuk tiap bagian bahwa pesan tidak akan mengalami perubahan dari saat ia dibuat sampai saat ia dibuka.
  3. Non-repudiation
    Memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang apabila ia mencoba menyangkal memiliki dokumen tersebut.
  4. Authentication
    Memberikan dua layanan. Pertama mengidentitifikasi keaslian suatu pesan dan memberikan jaminan keontentikannya. Kedua untuk menguji identitas seseorang apabila ia akan memasuki sebuah sistem.
Terdapat tiga kategori enkripsi yaitu :
  1. Kunci enkripsi rahasia, dalam hal ini terdapat sebuah kunci yang digunakan untuk mengikrisi dan juga sekaligus mendeskripsikan informasi.
  2. Kunci enkripsi public, dalam hal ini terdapat dua kunci yang digunakan, satu untuk proses enkripsi, satu lagi untuk proses deskripsi.
  3. Fungsi one-way, dimana informasi dienkripsi untuk menciptakan “signature” dari informasi asli yang bisa digunakan untuk keperluan autentifikasi.
Dalam Cryptosystem yang baik harus memiliki karekteristik sebagai berikut :

»        Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan
algoritma yang dipergunakan.
»        Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
»        Cryptosystem yang baik akan menghasilakn ciphertext yang terlihat acak dalam
seluruh tes statistik yang dilakukan terhadapnya.
»        Cryptosystem yang baik mampu menahan seluruh serangan yang dikenal sebelumnya.
Bila salah satu hal diatas tidak dimiliki oleh sebuah Cryptosystem maka kemungkinan besar pesan yang di enkripsi oleh Cryptosystem dapat dibongkar sehingga isi dari pesan tersebut dapat dibaca oleh orang yang tidak berkepentingan. Salah satu Cryptosystem yang dapat dibongkar (broken) adalah LOKI 97, salah satu kandidat Advanced Encryption Standard (AES). LOKI 97 mempunyai kelemahan dalam persamaan matematika dan dalam f-functinnya.

2.3 RSA

Dari sekian banyak algoritma kunci publik yang pernah dibuat, algoritma yang paling populer adalah algoritma RSA. Algoritma RSA dibuat oleh 3 orang peneliti dari MIT (Massachusetts Institute of Technology) pada tahun 1976, yaitu: Ron (R)ivest, Adi (S)hamir, dan Leonard (A)dleman. Keamanan algoritma RSA terletak pada sulitnya memfaktorkan bilangan yang besar menjadi faktor-faktor prima. Pemfaktoran dilakukan untuk memperoleh kunci privat. Selama pemfaktoran bilangan besar menjadi faktor-faktor prima belum ditemukan algoritma yang mangkus, maka selama itu pula keamanan algoritma RSA tetap terjamin.

**Algoritma RSA memiliki besaran-besaran sebagai berikut:
1. p dan q, bilangan prima (rahasia)
2. n = p . q (tidak rahasia)
3. Φ (n) = (p-1)(q-1) (rahasia)
4. e (kunci enkripsi ) (tidak rahasia)
5. d (kunci dekripsi) (rahasia)
6. m (plainteks) (rahasia)
7. c (chiperteks) (tidak rahasia)

**Enkripsi dan dekripsi pada RSA dirumuskan sebagai berikut:
Ee (m) ≡ c ≡ me mod n, untuk enkripsi.
Dd (c) ≡ m ≡ cd mod n, untuk deksripsi.

a.Algoritma Membangkitkan Pasangan Kunci

  1. Pilih dua buah bilangan prima sembarang
  2. Hitung n = p. q (sebaiknya p ≠ q, sebab jika p = q mana n = p2 sehingga p dapat diperoleh dengan menarik akar pangkat dua dari n).
  3. Hitung Φ(n) = (p-1)(q-1).
  4. Pilih kunci publik, e, yang relatif prima terhadap Φ(n).
  5. Bangkitkan kunci privat dengan menggunakan persamaan e . d ≡ 1 (mod Φ(n)). Perhatikan bahwa e . d ≡ 1 (mod Φ(n)) ekivalen dengan e . d = 1 + kΦ(n), sehingga secara sederhana d dapat dihitung dengan, d = 1+ kΦ(n) e
**Hasil dari algoritma di atas adalah:
  1. Kunci publik adalah pasangan (e,n).
  2. Kunci privat adalah pasangan (d,n) .
N tidak bersifat rahasia, sebab ia diperlukan pada perhitungan enkripsi/dekripsi.

b.Algoritma Enkripsi/Dekripsi 

Enkripsi:
  1. Ambil kunci publik penerima pesan, e, dan modulus n.
  2. Nyatakan plainteks m menjadi blok-blok m1, m2, …, sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n-1].
  3. Setiap blok mi dienkripsi menjadi blok ci dengan rumus ci = mie mod n.
**Dekripsi:
Setiap blok chiperteks cid di dekripsi kembali menjadi blok mi dengan rumus mi = cid mod n.

c. Keamanan RSA

Keamanan algoritma RSA didasarkan pada sulitnya memfaktorkan bilangan besar menjadi faktor-faktor primanya. Masalah pemfaktoran : Faktorkan n, yang dalam hal ini n adalah hasil kali dari dua atau lebih bilangan prima.

Pada RSA, masalah pemfaktoran berbunyi: Faktorkan n menjadi dua faktor primanya, p dan q, sedemikian sehingga n = p . q. Jika n berhasil difaktorkan menjadi p dan q, maka
Φ(n) = (p-1)(q-1) dapat dihitung. Selanjutnya, karena kunci enkripsi e diumumkan (tidak rahasia), maka kunci dekripsi d dapat dihitung dari persamaan e . d ≡ 1 (mod Φ(n)). Secara umum dapat disimpulkan bahwa RSA hanya aman jika n cukup besar.

d. Kecepatan RSA

RSA lebih lambat daripada algoritma kriptografi kunci simetri seperti AES dan DES. Dalam praktek, pesan dienkripsi dengan kunci rahasia dengan menggunakan salah satu algoritma kunci simetri, sedangkan RSA digunakan untuk mengenkripsi kunci rahasia. Pesan dan kunci rahasia yang masing-masing sudah dienkripsi dikirim bersama-sama. Penerima pesan mula-mula mendekripsi kunci rahasia dengan kunci privatnya, lalu menggunakan kunci rahasia tersebut untuk mendekripsi pesan.

e. Serangan pada RSA
  1. Man-In-The-Middle Attack
    Karena pengirim dan penerima harus berbagi kunci publik, maka distribusi kunci publik dapat mengalami serangan Man-In-The-Middle Attack. Dapat digambarkan misalkan Alice dan Bob mengirim kunci publiknya masing-masing melalui saluran komunikasi. Orang di tengah, misalkan Carol, memutus komunikasi antara Bob dan Alice lalu ia berpura-pura sebagai salah satu pihak (Alice atau Bob). Carol (yang menyamar sebagai Alice) mengirimkan kunci publiknya kepada Bob (Bob percaya itu adalah kunci publik Alice), dan Carol (yang menyamar sebagai Bob) mengirimkan kunci publiknya kepada Alice (Alice percaya bahwa itu adalah kunci publik Bob). Selanjutnya, Carol mendekripsi pesan dari Bob dengan kunci privatnya, menyimpan salinannya, lalu mengenkripsi pesan tersebut dengan kunci publik Alice, dan mengirim cipherteks tersebut kepada Alice. Alice dan Bob tidak dapat mendeteksi keberadaan Carol.
  2. Chosen-Plaintext Attack
    RSA mudah diserang dengan chosen-plaintext attack. Misalkan kriptanalis memiliki beberapa plainteks dari pesan. Ia dapat memilih beberapa plainteks untuk dienkripsi denga kunci publik, lalu menyimpan hasilnya di dalam kamus. Kemudian kriptanalis menyadap saluran komunikasi dan membandingkan cipherteks yeng disadap dengan cipherteks di dalam kamus. Jika terdapat kesamaan, maka kriptanalis dapat menggunakan kamus tersebut untuk mempelajari isi pesan.
2.4 Blowfish

Blowfish alias “OpenPGP.Cipher.4″ merupakan enkripsi yang termasuk dalam golongan Symmetric Cryptosystem , metoda enkripsinya mirip dengan DES (DES-like Cipher) diciptakan oleh seorang Cryptanalyst bernama Bruce Schneier Presiden perusahaan Counterpane Internet Security, Inc (Perusahaan konsultan tentang kriptografi dan keamanan Komputer) dan dipublikasikan tahun 1994. Dibuat untuk digunakan pada komputer yang mempunyai microposesor besar (32-bit keatas dengan cache data yang besar).

Blowfish dikembangkan untuk memenuhi kriteria desain yang cepat dalam implementasinya dimana pada keadaan optimal dapat mencapai 26 clock cycle per byte, kompak dimana dapat berjalan pada memori kurang dari 5 KB, sederhana dalam algoritmanya sehingga mudah diketahui kesalahannya, dan keamanan yang variabel dimana panjang kunci bervariasi (minimum 32 bit, maksimum 448 bit, Multiple 8 bit, default 128 bit).

Blowfish dioptimasikan untuk berbagai aplikasi dimana kunci tidak sering berubah, seperti pada jaringan komunikasi atau enkripsi file secara otomatis. Dalam pengimplementasiannya dalam komputer bermicroprosesor 32-bit dengan cache data yang besar (Pentium dan Power PC) Blowfish terbukti jauh lebih cepat dari DES. Tetapi Blowfish tidak cocok dengan aplikasi dengan perubahan kunci yang sering atau sebagai fungsi hast satu arah seperti pada aplikasi packet switching. Blowfish pun tidak dapat digunakan pada aplikasi kartu pintar (smart card) karena memerlukan memory yang besar. Blowfish termasuk dalam enkripsi block Cipher 64-bit dangan panjang kunci yang bervariasi antara 32-bit sampai 448-bit.
Algoritma Blowfish terdiri atas dua bagian :
  1. 1. Key-Expansion
Berfungsi merubah kunci (Minimum 32-bit, Maksimum 448-bit) menjadi beberapa array subkunci (subkey) dengan total 4168 byte.
  1. 2. Enkripsi Data
Terdiri dari iterasi fungsi sederhana (Feistel Network) sebanyak 16 kali putaran. Setiap putaran terdiri dari permutasi kunci-dependent dan substitusi kunci- dan data-dependent. Semua operasi adalah penambahan (addition) dan XOR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran.

2.5 Algoritma Blowfish

Blowfish menggunakan subkunci yang besar. Kunci tersebut harus dihitung sebelum enkripsi atau dekripsi data. Blowfish adalah algoritma yang menerapkan jaringan Feistel (Feistel Network) yang terdiri dari 16 putaran. Input adalah elemen 64-bit,X.

Untuk alur algoritma enkripsi dengan metoda Blowfish dijelaskan sebagai berikut :

1.  Bentuk inisial P-array sebanyak 18 buah (P1,P2,…………..P18) masing-msing bernilai 32-bit.

Array P terdiri dari delapan belas kunci 32-bit subkunci :

P1,P2,…….,P18

2.  Bentuk S-box sebanyak 4 buah masing-masing bernilai 32-bit yang memiliki masukan 256.

Empat 32-bit S-box masing-masing mempunyai 256 entri :

S1,0,S1,1,………………..,S1,255
S2,0,S2,1,………………..,S2,255
S3,0,S3,1,………………..,S3,255
S4,0,S4,1,………………..,S4,255

3.  Plaintext yang akan dienkripsi diasumsikan sebagai masukan, Plaintext tersebut diambil sebanyak 64-bit, dan apabila kurang dari 64-bit maka kita tambahkan bitnya, supaya dalam operasi nanti sesuai dengan datanya.

4.  Hasil pengambilan tadi dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua disebut XR.
5.  Selanjutnya lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR
6.  Hasil dari operrasi diatas ditukar XL menjadi XR dan XR menjadi XL.
7.  Lakukan sebanyak 16 kali, perulangan yang ke-16 lakukan lagi proses penukaran XL dan XR.
8.  Pada proses ke-17 lakukan operasi untuk XR = XR xor P17 dan XL = XL xor P18.
9.  Proses terakhir satukan kembali XL dan XR sehingga menjadi 64-bit kembali.

Subkunci dihitung menggunakan algoritma Blowfish, metodanya adalah sebagai berikut :
  • Pertama-tama inilialisasi P-array dan kemudian empat S-box secara berurutan dengan string yang tetap. String ini terdiri atas digit hexadesimal dari Pi.
  • XOR P1 dengan 32-bit pertama kunci, XOR P2 dengan 32-bit kedua dari kunci dan seterusnya untuk setiap bit dari kunci (sampai P18).Ulangi terhadap bit kunci sampai seluruh P-array di XOR dengan bit kunci.
  • Enkrip semua string nol dengan algoritma Blowfish dengan menggunakan subkunci seperti dijelaskan pada langkah (1) dan (2).
  • Ganti P1 dan P2 dengan keluaran dari langkah (3).
  • Enkrip keluaran dari langkah (3) dengan algoritma Blowfish dengan subkunci yang sudah dimodifikasi.
  • Ganti P3 dan P4 dengan keluaran dari langkah (5).
  • Lanjutkan proses tersebut, ganti seluruh elemen dari P-array, kemudian seluruh keempat S-box berurutan, dengan keluaran yang berubah secara kontiyu dari algoritma Blowfish.
Total yang diperlukan adalah 521 iterasi untuk menghasilkan semua subkunci yang dibutuhkan. Aplikasi kemudian dapat menyimpan subkunci ini dan tidak membutuhkan langkah-langkah proses penurunan berulang kali, kecuali kunci yang digunakan berubah.

Untuk deskripsi sama persis dengan enkripsi, kecuali pada P-array (P1,P2,……..,P18) digunakan dengan urutan terbalik atau di inverskan.

2.5.1 Keamanan Blowfish

Sampai saat ini algoritma Blowfish belum ditemukan kelemahan yang berarti hanya adanya weak key dimana dua entri dari S-box mempunyai nilai yang sama. Belum ada cara untuk mengecek weak key sebelum melakukan key expansion, tetapi hal ini tidak berpengaruh terhadap hasil enkripsi. Hasil enkripsi dengan algoritma Blowfish sangat tidak mungkin dan tidak praktis untuk di terjemahkan tanpa bantuan kunci.
Sampai kini belum ada Cryptanalysis yang dapat membongkar pesan tanpa kunci yang enkripsi oleh Blowfish. Agar aman dari pembongkaran pesan maka dalam algoritmanya harus menggunakan 16 putaran agar pesan tersebut tidak dapat dibongkar. Algoritma Blowfish pun dapat digabungkan dengan algoritma-algoritma enkripsi yang lain dalam pengkripsian sebuah pesan untuk lebih menjamin isi dari pesan tersebut.

Sumber :  : nbbajry.blog.com

Komentar

Postingan populer dari blog ini

HSI-SILSILAH 01- HALAQOH 22 - TAKUT KEPADA ALLAH

السّلام عليكم ورحمة الله و بر كاته  ... الحمد لله و الصلاة والسلام على رسول الله و على اله و صحبه اجمعين ꜜꜜꜜ     Diantara keyakinan seorang muslim, bahwa manfaat dan mudhorot adalah di tangan Allah semata. Seorang muslim tidak takut kecuali kepada Allah dan tidak bertawakal kecuali hanya kepada Allah.     Takut kepada Allah yang dibenarkan adalah takut yang membawa pelakunya kepada merendahkan diri dihadapan Allah, mengagungkan-Nya dan membawanya untuk menjauhi larangan Allah dan melaksanakan perintah-Nya.     Bukan takut yang berlebihan yang membawa kepada keputusasaan terhadap Rahmat Allah dan juga bukan takut yang terlalu tipis yang tidak membawa pemiliknya kepada ketaatan kepada Allah.      Takut seperti ini adalah ibadah, tidak boleh sekali-kali seorang muslim menyerahkan takut seperti ini kepada selain Allah, barangsiapa menyerahkannya kepada selain Allah, maka dia telah terjerumus kedalam syirik besar yang dapat men...

HSI-SILSILAH 05 - HALAQOH 14 - Tanda-Tanda Besar Dekatnya Hari Kiamat

 السّلام عليكم ورحمة الله و بر كاته  ... الحمد لله و الصلاة والسلام على رسول الله و على اله و صحبه اجمعين ꜜꜜꜜ Tanda-tanda besar dekatnya hari kiamat adalah 10 tanda menjelang datangnya hari kiamat. Yang apabila sudah muncul 10 tanda tersebut, maka akan terjadilah hari kiamat. Tanda-tanda besar tersebut apabila muncul satu, maka akan segera diikuti oleh yang lain. Suatu saat Nabi Muhammad shallallāhu ‘alayhi wa sallam melihat para Shahābat sedang saling berbicara.      Maka Beliau bertanya, “Apa yang sedang kalian bicarakan?”      Merekapun menjawab, “Kami sedang mengingat hari kiamat.”      Maka, Beliau Shallallāhu ‘Alayhi wa Sallam bersabda : إِنَّهَا لَنْ تَقُومَ حَتَّى تَرَوْنَ قَبْلَهَا عَشْرَ آيَاتٍ “Sesungguhnya tidak akan bangkit hari kiamat tersebut sampai kalian melihat sebelumnya 10 tanda-tanda.” Kemudian Beliau Shallallāhu ‘Alayhi wa Sallam menyebutkan 10 tanda tersebut. Asap Dajjal Daabbah (seekor hewan melata) Terbitnya...

HSI-SILSILAH 01- HALAQOH 19 - BERSUMPAH DENGAN SELAIN NAMA ALLAH

  السّلام عليكم ورحمة الله و بر كاته   ... الحمد لله و الصلاة والسلام على رسول الله و على اله و صحبه اجمعين ꜜꜜꜜ     Sumpah adalah menguatkan perkataan dengan menyebutkan sesuatu yang dinamakan baik oleh yang berbicara maupun yang di ajak bicara.     Kalau bahasa arab makan menggunakan huruf 'و' atau 'ب' atau 'ت' adapun bahasa indonesia maka menggunakan kara 'demi'.     Bersumpah hanya diperbolehkan dengan nama Allah semata, misalnya dengan mengatakan : ' Wallahi ' , Demi Rabb yang menciptakan langit dan bumi, Demi Dzat yang jiwaku berada di tangan-Nya, Dan lain-lain.     Adapun makhluk, bagaimanapun agungnya di mata manusia, maka tidak boleh kita bersumpah dengan namanya. Misalnya dengan mengatakan ; Demi Rasulullah, Demi Ka'bah, Demi Jibril, Demi langit dan bumi, Demi bulan dan bintang, Dan lain-lain.     Ini semua termasuk jenis pengagungan terhadap makhluk yang terlarang.     Rasulullah Sholallahu 'alayhi Wa S...