BAB 2
TINJAUAN PUSTAKA
2.1. Kriptografi
Kriptografi berasal dari bahasa Yunani, cryptosdan graphein. Cryptosberarti rahasia
dan graphein berarti tulisan. Menurut terminologinya kriptografi adalah ilmu dan seni
untuk menjaga keamanan pesan ketika dikirim dari suatu tempat ke tempat yang lain.
Kriptografi telah dikenal sejak ribuan tahun lalu, bahkan beberapa ahli mengatakan
ilmu penyembunyian pesan ini telah dikenal sejak zaman mesir kuno, masyarakat
mesir menulisnya dalam bentuk hieroglyphy yang bentuk tulisannya tidak standard
dalam aturan penulisan pesan. (Konheim, 2007).
Kriptografi dapat pula diartikan sebagai ilmu atau teknik-teknik matematika
yang berhubungan dengan aspek keamanan informasi seperti kerahasian, integritas
data, serta otentikasi. Prinsip dasar kriptografi adalah menyembunyikan informasi
dalam bentuk sedemikian rupa sehingga hanya orang-orang yang berhak saja yang
dapat mengetahui isi informasi yang disembunyikan itu. (Smart, 2004).
Dalam algoritma kriptografi dikenal beberapa komponen yaitu:
1. Enkripsi
merupakan suatu proses pengubahan pesan asli yang disebut plainteks
menjadi suatu kode yang tidak bisa dimengerti atau disebut juga
2. Dekripsi
merupakan proses pengubahan cipherteks menjadi plainteks. Algoritma
yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang
digunakan untuk enkripsi.
3. Kunci
Berfungsi untuk melakukan enkripsi dan dekripsi. Berdasarkan jenis kunci
yang digunakan kriptografi terbagi dua yaitu algoritma kriptografi simetris
dan algoritma kriptografi asimetris.
4. Plainteks
merupakan pesan asli (clearteks). Agar pesan tidak dapat dimengerti
maknanya oleh pihak lain, maka pesan akan diproses menggunakan
algoritma kriptografi untuk menjadi kode-kode yang tidak bisa dipahami.
5. Cipherteks
merupakan bentuk pesan yang telah disandikan sehingga tidak bisa dibaca
karena berupa karakter yang tidak mempunyai makna.
Dari lima komponen dalam kriptografi tersebut saling berhubungan. Plainteks
dan cipherteks merupakan hasil pemetaan dari fungsi enkripsi dan dekripsi dengan
menggunakan sebuah kunci. Misalkan P menyatakan plainteks, C menyatakan
cipherteks, dan k menyatakan kunci, maka fungsi enkripsi dan dekripsi dapat ditulis
Ek (P) = C maka Dk (C) = P sehingga Dk (Ek(P)) = P. (Munir, 2006).
2.1.1. Algoritma kriptografi kunci simetris
Dalam algoritma ini kunci pada saat penyandian pesan sama dengan kunci pada saat
pendekripsian pesan. Jadi pembuat pesan dan penerimanya harus menyepakati kunci
yang akan digunkan. Masalah yang paling jelas disini terkadang bukanlah masalah
pengiriman cipherteks nya, melainkan masalah bagaimana menyampaikan kunci
simetris tersebut kepada pihak yang diinginkan karena sekali saja kunci tersebut
diketahui oleh pihak yang lain maka pesan tersebut akan mudah untuk dienkripsi dan
Contoh algoritma kunci simetris yang terkenal salah satunya adalah DES
(Data Encryption Standard), AES Rijndael, dan IDE, kelemahan pada algoritma kunci
simetris, kunci harus didistribusi dengan aman, jika ada n pengguna maka dibutuhkan
jumlah kunci sebanyak n(n-1)/2 kunci. Jika kunci berhasil ditemukan oleh pihak yang
tidak berhak, maka sistem kriptografi tidak lagi aman. Dibalik kelemahan di atas,
terdapat juga keuntungan dari penggunaan algoritma ini yaitu prosesnya lebih cepat
jika dibandingkan dengan kriptografi asimetri. Keuntungan inilah yang menjadi dasar
mengapa algoritma ini masih banyak digunakan dan terus dikembangkan.
Gambar 2.1 Skema Kriptografi Simetri (Munir, 2006)
2.1.2. Algoritma kriptografi kunci asimetri
Whitfield Diffie dan Martin Hellman memperkenalkan konsep kriptografi kunci
publik (kunci asimetris) pada tahun 1976. Pada algoritma asimetris kunci terbagi
menjadi dua bagian yaitu:
1. Kunci umum (public key): kunci yang boleh diketahui semua orang
(dipublikasikan).
2. Kunci rahasia (private key): kunci yang dirahasiakan (hanya boleh
diketahui oleh satu orang saja).
Seseorang dapat mengirim sebuah pesan rahasia dengan menggunakan kunci
publik tetapi pesan cipherteks hanya dapat didekripsi dengan kunci rahasia yang
dimiliki penerima pesan.
Gambar 2.2 Skema Kriptografi Asimetri (Munir, 2006)
Aplikasi kunci publik dapat diimplementasi menjadi tiga kategori:
1. Kerahasian data
Kriptografi kunci-publik dapat digunakan untuk menjaga kerahasiaan data
melalui mekanisme enkripsi dan dekripsi. Contoh algoritma untuk aplikasi
ini adalah RSA, Knapsack, dan Elgamal.
2. Tanda-tangan digital
Kriptografi kunci publik dapat digunakan untuk membuktikan otentikasi
pesan maupun otentikasi pengirim. Contoh algoritma untuk aplikasi ini
adalah RSA, DSA, dan Elgamal.
3. Pertukaran kunci (key exchange)
Algoritma kriptografi kunci publik dapat digunakan untuk pengiriman
kunci simetri (sessionkey). Contoh algoritmanya adalah RSA dan
Diffie-hellman.
Dalam implementasinya, sistem kriptografi kunci publik bukan pengganti
sistem kriptografi simetris. Sistem kriptografi kunci publik tidak digunakan untuk
mengengkripsi pesan, melainkan untuk mengenkripsi kunci pada sistem kriptografi
simetris. Dengan sistem kriptografi kunci publik maka pertukaran kunci pada sistem
kriptigrafi simetris dapat dilakukan dengan aman.
Enkripsi
Ek1(P)=C
Kunci publik K1
Plainteks P User A
Ciphertext C Dekripsi
Dk2(C)=P
User B Kunci privat K2
2.2. Jenis-Jenis Serangan Terhadap Kriptografi
Serangan terhadap sistem kriptografi dapat dikelompokkan dengan beberapa cara:
1. Berdasarkan keterlibatan penyerang dalam komunikasi:
a. Serangan aktif
Pada jenis serangan ini, penyerang mengintervensi komunikasi secara
langsung dan ikut mempengaruhi sistem untuk keuntungan dirinya.
Misalnya penyerang mengubah aliran pesan seperti menghapus sebagian
ciphertext, mengubah ciphertext, menyisipkan potongan ciphertext palsu,
me-replay pesan lama, mengubah informasi yang tersimpan, dan
sebagainya. Serangan yang termasuk jenis serangan aktif adalah
man-in-the-middle attack.
b. Serangan pasif
Pada jenis serangan ini, penyerang tidak terlibat dalam komunikasi antara
pengirim dan penerima, namun penyerang menyadap semua pertukaran
pesan antara kedua entitas tersebut. Tujuannya adalah untuk mendapatkan
sebanyak mungkin informasi yang digunakan untuk kriptanalisis. Beberapa
metode penyadapan data antara lain:
1) Wiretapping: penyadap mencegat data yang ditransmisikan pada
saluran komunikasi dengan menggunakan sambungan perangkat keras.
2) Electromagnetic eavesdropping: penyadap mencegat data yang
ditransmisikan melalui saluran wireless, misalnya radio dan
microwave.
2. Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis:
a. Ciphertext-only attack
Ini adalah jenis serangan yang paling umum namun paling sulit karena
informasi yang tersedia hanyalah ciphertext saja.Tugas kriptanalis adalah
menemukan plaintext sebanyak mungkin dari ciphertext tersebut dengan
b. Known-plaintext attack
Ini adalah jenis serangan dimana kriptanalis memiliki pasangan plainteks
dan cipherteks yang berkoresponden. Beberapa pesan yang formatnya
terstruktur membuka peluang kepada kriptanalis untuk menerka plainteks
dari cipherteks yang bersesuaian.
c. Chosen-plaintext attack
Serangan jenis ini lebih hebat dari pada known-plaintext attack, karena
kriptanalis dapat memilih plainteks yang dimilikinya untuk dienkripsikan,
yaitu plainteks yang lebih mengarahkan penemuan kunci.
d. Chosen-ciphertext attack
Ini adalah jenis serangan dimana kriptanalis memilih cipherteks untuk
didekripsikan dan memiliki akses ke plainteks hasil dekripsi (misalnya
terhadap mesin elektronik yang melakukan dekripsi secara otomatis). Jenis
serangan ini biasanya dipakai pada sistem kriptografi.
e. Chosen-text attack
Ini adalah jenis serangan yang merupakan kombinasi chosen-plaintext dan
chosen-ciphertext attack.
3. Berdasarkan teknik yang digunakan dalam menemukan kunci:
a. Exhaustive attack atau brute force attack
Ini adalah serangan untuk mengungkap plainteks atau kunci dengan
mencoba semua kemungkinan kunci.
b. Analytical attack
Kriptanalis menganalisis kelemahan algoritma kriptografi untuk
mengurangi kemungkinan kunci yang tidak mungkin ada. Analisis dapat
menggunakan pendekatan matematik dan statistik dalam rangka
2.3. Algoritma AES Rijndael
Pada tahun 1997 NIST (National Institute of Standards and Technology) berniat ingin
mencari pengganti algoritma DES, hal ini dikarenakan dalam tempo 96 hari 70 ribu
PC berhasil membobol kunci DES, kemudian pada tahun 1998 hanya dalam tempo 22
hari, sehingga dibuat suatu mesin khusus untuk memecahkan algoritma DES. Mesin
tersebut terbukti dapat memecahkan 25% kunci DES dalam waktu 2,3 hari dan dapat
memecahkan seluruh kunci DES dalam waktu rata-rata 4,3 hari. Karena alasan
tersebut NIST ingin mengadakan kompetisi yang diikuti para kriptografer seluruh
dunia agar segara mendapatkan pengganti dari algoritma DES.(Arriyus, 2008).
Pada tanggal 9 Agustus 1999, NIST melalui seleksi yang sangat ketat
mengumumkan 5 finalis yang akan memasuki seleksi akhir yaitu MARS, RC6,
Rijndael, Serpent, dan Twofish. Pada seleksi akhir tanggal 2 Oktober 2000 maka
terpilihlah Rijndael sebagai pemenang. Algoritma Rijndael dibuat oleh Dr. Vincent
Rijmen dan Dr. Joan Daemen. Evaluasi terhadap algoritma Rijndael tersebut dapat
dilihat dari beberapa sudut pandang berikut ini:
1. Dari segi general security
a. Belum ada serangan yang serius dalam memecahkan skema dari
Rijndael
b. Rijndael menggunakan komponen S-Box non linear.
c. Rijndael memiliki struktur matematika yang bisa terus mengalami
perkembangan.
2. Dari segi enkripsi dekripsi
a. Memiliki kode yang sangat rumit.
b. Enkripsi dekripsi Rijndael berbeda satu dengan yang lainnya.
c. Rijndael mendukung penuh ukuran blok dan ukuran kunci 128 bit,
192bit, dan 256 bit.
Algoritma Rijndael menggunakan substitusi, permutasi, dan sejumlah putaran
yang dikenakan pada tiap blok yang akan dienkripsi/dekripsi. Untuk setiap
Algoritma Rijndael mampu menangani panjang kunci dan ukuran blok yang
berbeda, panjang kunci dan ukuran blok yang telah ditentukan adalah 128, 192, dan
256. Ukuran blok dapat dihitung dengan (Nb= block length / 32) dan panjang kunci
(Nk= key length / 32). Nilai Nb dan Nk yang akan dipakai mempengaruhi jumlah
putaran (Nr) yang terjadi pada saat proses enkripsi dan dekripsi. Tabel 2.1 akan
menunjukan perbedaan jumlah putaran (Nr) berdasarkan panjang kunci dan ukuran
blok yang digunakan. (Mollin, 2007).
Tabel 2.1 Perbandingan Jumlah Putaran pada Rijndael (Rijman & daemen, 2002)
Nr Nb= 4 Nb= 6 Nb= 8
Nk= 4 10 12 14
Nk= 6 12 12 14
Nk= 8 14 14 14
Algoritma Rijndael memiliki tiga para meter yaitu:
1. Plainteks : array yang berukuran 16 byte, yang berisi data masukan.
2. Cipherteks : array yang berukuran 16 byte, yang berisi hasil enkripsi.
3. Key : array yang berukuran 16 byte, yang berisi kunci ciphering.
Algoritma Rijndael beroprasi pada orientasi byte. Tiap elemen dari arraystate
diisi dengan 8 bit teks (1 byte) dalam notasi HEX. Urutan pengisian dimulai dari
kolom awal (c=0) sampai kolom terakhir ( c=3) dan dari baris awal (r=0) sampai baris
akhir (s=3). Setiap state pasti mempunyai jumlah baris yang tetap, yaitu 4 baris,
2.3.1. Proses enkripsi algoritma Rijndael
Proses enkripsi untuk algoritma Rijndael yang beroperasi pada panjang blok 128-bit
dengan kunci 128-bit, total putaran (Nr) yang dilakukan hingga diperoleh cipherteks
adalah 10 kali putaran. Secara garis besar proses enkripsi algoritma Rijndael
diperlihatkan pada Gambar 3.3.
Gambar 2.3 Diagram Proses Enkripsi Rijndael
Urutan proses enkripsi Rijndael dalam mengamankan plainteks yaitu:
1. Key Expantion
Pada tahap ini dilakukan ekspansi kunci sesuai dengan panjang kunci dan
panjang ukuran blok yang akan digunakan, hasil ekspansi ini disebut dengan
2. Addroundkey
Untuk proses Addroundkey yang pertama dilakukan XOR antara state awal
(plaintext) dengan kunci utama, sedangkan Addroundkey yang selanjutnya
pada tiap putaran, merupakan hasil key ekspantion dari kunci utama
(sessionkey).
3. Putaran (Nr) sebanyak Nr-1
Pada proses ini akan dilakukan beberapa putaran, jumlah putaran telah
ditentukan seperti yang telah dijelaskan sebelumnya. Pada tahap ini dilakukan
9 kali putaran, yaitu:
a. Sub Bytes
Pada proses ini dilakukan subtitusi menggunkan table S-box. Dua digit
bilangan HEX yang merupakan representasi 1 byte dari tiap teks menjadi
koordinat untuk substitusi pada S-box. Digit pertama sebagai koordinat x
dan digit kedua sebagai koordinat y, perpotongan baris x dengan kolom y
merupakan nilai yang akan diambil. (Rijmen & Daemen, 2002).
b. ShiftRows
Proses pergeseran baris array state dengan menggeser baris ke-r dalam
array state ke kiri sebanyak r byte. Baris ke-0 dari blok tidak mengalami
pergeseran. Baris ke-1 bergeser 1 byte ke kiri, baris ke-2 bergeser 2 byte ke
kiri, sampai akhirnya didapatkan hasil terakhir setelah menggeser baris
ke-3 sebanyak ke-3 byte ke kiri. Berikut adalah table jumlah pergeseran
berdasarkan blok Nb. (Rijmen & Daemen,2002).
Tabel 2.3 Jumlah Pergeseran Pada Tahap Shift Rows (Rijmen & Daemen,2002)
Nb C0 C1 C2 C3
4 0 1 2 3
6 0 1 2 3
8 0 1 4 4
c. MixColoumns
Yaitu proses pengacakan data di masing-masing kolom array state.
Transformasi MixColumns menggunakan operasi perkalian matriks dengan
operasi perkalian dan penjumlahan menggunakan operator pada GF(28)
dengan irreducible polynomial ( x8 + x4 +x3 + x + 1). Matriks tersebut
berdasarkan polinom a(x) mod (x4 + 1) dengan polinom a(x) yang
Transformasi ini dinyatakan sebagai perkalian matriks:
s’(x) = a(x)⊗s(x)
s’0,c = ({02} •s0,c) ⊕ ({03}•s1,c ) ⊕s2,c⊕s3,c s’1,c = s0,c⊕ ({02} •s1,c) ⊕ ({03}•s2,c ) ⊕s3,c s’2,c = s0,c⊕s1,c⊕ ({02} •s1,c) ⊕ ({03}•s3,c ) s’3,c = ({03}•s0,c ) ⊕s0,c⊕s1,c⊕ ({02} •s3,c)
Gambar 2.4Perkalian Matriks MixColumn() Rijndael
d. Addround key
Dilakukan dengan fungsi XOR antara array state sebelumnya dengan
round key. Proses ini akan terus berulang sebanyak Nr-1 sesuai besarnya
blok data dan panjang kunci.
Setelah semua proses dilakukan sebanyak Nr-1, proses terakhir adalah final
round. Pada tahap ini proses MixColumns tidak dilakukan.
4. Final round
Proses untuk putaran terakhir hanya dilakukan tiga tahap saja, proses dari
ketiga tahap tersebut sama seperti proses pada tahap sebelumnya yaitu:
a. SubBytes. b. ShiftRows.
c. AddRoundKey.
S’0,c 02 03 01 01 S’0,c
S’1,c =
01 02 03 01 S’1,c
S’2,c 01 01 02 03 S’2,c
2.3.2. Proses dekripsi algoritma Rijndael (AES)
Proses dekripsi algoritma Rijndael tidak jauh berbeda dengan proses enkripsi namun
berbeda pada urutan prosesnya saja. Untuk urutan proses dekripsi yaitu:
1. Key Expantion
Pada proses dekripsi juga dilakukan ekspansi kunci. Kunci pada proses
enkripsi kemudian diekspansi terlebih dahulu untuk menghasilkan
RoundKey yang akan digunakan pada setiap putaran.
2. AddRoundKey
Dilakukan proses XOR antara state awal (cipherteks) dengan key terakhir
hasil ekspansi. Tahap ini disebut juga initial round.
3. Putaran sebanyak Nr-1 kali Proses yang dilakukan pada setiap putaran
adalah:
a. InvShiftRow
Pergeseran baris-baris array state ke kanan dengan aturan pergesaran
sama seperti pada tahap enkripsi.
b. InvByteSub
Dilakukan substitusi byte dengan menggunakan tabel substitusi
kebalikan (inverse S-box). Tabel substitusi dapat dilihat pada Tabel 2.4.
c. AddRoundKey
Pada proses ini dilakukan XOR antara state sekarang dengan round key.
d. InvMixColumn
Seperti pada proses MixColumn, InvMixColumn juga dilakukan
pengacakan di masing-masing data pada kolom array state.
4. Final round
Proses untuk putaran terakhir hanya dilakukan tiga tahap saja, proses dari
ketiga tahap tersebut sama seperti proses pada tahap sebelumnya, yaitu:
a. InvShiftRow
b. InvSubByte
c. AddRoundKey
2.3.3. Key expantion
Algoritma Rijndael (AES) membuat suatu ekspansi kunci untuk menghasilkan suatu
key schedule. Jika ekspansi kunci yang diperlukan Rijndael (AES) Nb(Nr+1) word,
sehingga bisa digunakan AES 128 bit, maka 4(10+1)=40 word=44x32 bit=1408 bit
subkey. Ekspansi dari 128 menjadi 1408 bit subkey, proses ini disebut dengan key schedule. Subkey ini diperlukan karena setiap round merupakan suatu inisial dari Nb word untuk Nr=0 dan 2 Nb untuk Nr=1, 3 untuk Nr=2,…,11 Nb untuk Nr=10, dari
operasi ini akan didapatkan schedule kunci yang berisi array linier 4 byte word
2.4.Algoritrma Kriptografi RSA
Sistem kriptografi asimetris pertama kali dipublikasikan pada tahun 1997 oleh
Whitfield Diffie dan Martin Hellman dari Stanford University. Penelitian mereka
membahas tentang pendistribusian kunci rahasia pada saluran komunikasi umum,
metode ini kemudian dikenal dengan nama algoritma Diffie Hellman. Algoritma ini
beranjak dari hasil penelitian sistem kriptografi asimetris yang pertama kali dilakukan
oleh James H. Ellis, Clifford Cocks, dan Malcom Williamson pada tahun1970. Namun
sayangnya algoritma tersebut dirahasiakan dan tidak dipublikasikan.
Berkat penemuan tersebut pada tahun 1976 tiga orang ilmuan dari MIT
(Massachusset Institute Of Technology) yaitu Ron Rivest, Adi Shamir, dan Leonard
Adleman, mencoba mengembangkan teknik algoritma kriptografi kunci publik,
algoritma tersebut kemudian dikenal dengan naman RSA. (Munir, 2006).
RSA merupakan salah satu algoritma kriptografi yang bersifat asimetris,
artinya setiap pengguna memiliki sepasang kunci, satu kunci untuk enkripsi dan satu
kunci lagi untuk dekripsi. Kunci enkripsi (public-key) bersifat tidak rahasia sedangkan
untuk kunci dekripsi dirahasiakan (private-key). Untuk kunci publik disimbulkan
dengan e dan untuk kunci privat disimbulkan dengan d. karena kunci enkripsi tidak
sama dengan kunci dekripsi itulah kriptografi RSA disebut kunci asimetris. Kekuatan
algoritma RSA terletak pada tingkat kesulitan dalam memfaktorkan bilangan menjadi
faktor primanya.
Pada algoritma RSA terdapat 3 langkah utama yaitu key generation
(pembangkitan kunci), enkripsi, dan dekripsi. Kunci pada RSA mencakup dua buah
kunci, yaitu public key dan private key. Public key digunakan untuk melakukan
enkripsi, dan dapat diketahui oleh orang lain. Sedangkan private key tetap
dirahasiakan dan digunakan untuk melakukan dekripsi. Besaran besaran yang
digunakan pada RSA adalah sebagai berikut :
1. p dan q bilangan prima (dirahasiakan)
2. n= p .q (tidak dirahasiakan)
4. e (kunci enkripsi) (tidak rahasia)
5. d( kunci dekripsi ) (dirahasiakan)
6. m (Plainteks) (dirahasiakan)
7. c ( Cipherteks ) (tidak rahasia)
Proses pembangkitan kunci atau RSA adalah sebagai berikut:
1. Pilih dua buah bilangan prima sembarang p dan q. Jaga kerahasiaan p dan
q ini.
2. Hitung n = p * q. Besaran n ini tidak dirahasiakan.
3. Hitung φ(n)= (p-1) * (q-1). Sekali φ(n) telah dihitung, p dan q dapat
dihapus untuk mencegah diketahuinya oleh pihak lain.
4. Pilih sebuah bilangan bulat untuk kunci publik e, yang relatif prima
terhadap n (GCD(e, φ(n)) = 1) dengan syarat e ≠ (p-1), e ≠ (q-1), dan e < n.
5. Kunci publik (Public Key) = (n,e)
6. Hitung kunci privat (d). Kunci privat dapat dihitung dengan persamaan:
dengan syarat k dan d adalah anggota bilangan bulat. Nilai k = 1, 2, 3, ...,n
diperoleh nilai d yang bulat. Nilai itu yang akan dipakai sebagai kunci
pribadi untuk dekripsi pesan.
Proses enkripsi dapat dilakukan dengan:
Sedangkan proses dekripsi dilakukan dengan:
Dalam implementasi sebenarnya, nilai p dan q diharapkan sangat besar sekali
(misalnya 100 digit) agar pekerjaan memfaktorkan n menjadi faktor primanya menjadi
sangat sukar, sehingga lebih susah untuk ditembus.
2.4.1. Algoritma pembangkit bilangan prima
Algoritma pembangkit bilangan prima dalam kriptografi kunci publik sangat berperan
penting dalam meningkatkan keamanan, besarnya nilai bilangan prima yang mampu
dibangkitkan akan meningkatkan tingkat kerumitan terhadap pemecahan kode rahasia
dari algoritma kunci publik itu sendiri. Algoritma Lehmann adalah salah satu
algoritma pembangkit bilangan prima yang bisa digunakan, algoritma ini
menggunakan beberapa kali pengujian terhadap suatu bilangan prima P sehingga
diperoleh persentasi peluang bilangan tersebut adalah prima. Langkah-langkah
algoritma Lehmann dapat dilihat sebagai berikut:
1. Pilih bilangan prima p yang ingin diuji keprimaannya, misalkan 71.
2. Bangkitkan bilangan acak a yang rentang nilainya 1 <a<p. misalkan 43.
3. Hitung L (legendre).
�= 2�−
adalah bilngan prima sebesar 50%.
5. Bila � ≠1 (����) atau � ≠ −1 (����) maka nilai p pasti bukan
prima.
Apabila pengujian diatas diulangi sebanyak t kali dengan nilai a yang berbeda,
maka peluang p adalah prima mempunyai kesalahan tidak lebih dari 1/2t.