BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

ALGORITMA ELGAMAL DALAM PENGAMANAN PESAN RAHASIA

PENGGUNAAN POLINOMIAL UNTUK STREAM KEY GENERATOR PADA ALGORITMA STREAM CIPHERS BERBASIS FEEDBACK SHIFT REGISTER

Bab 2 Tinjauan Pustaka

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA VIGENERE CIPHER ASCII BERBASIS JAVA Rizki Septian Adi Pradana 1), Entik Insanudin ST MT 2)

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB Kriptografi

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

PENERAPAN ALGORITMA CAESAR CIPHER DAN ALGORITMA VIGENERE CIPHER DALAM PENGAMANAN PESAN TEKS

Reference. William Stallings Cryptography and Network Security : Principles and Practie 6 th Edition (2014)

MODIFIKASI VIGÈNERE CIPHER DENGAN MENGGUNAKAN MEKANISME CBC PADA PEMBANGKITAN KUNCI

SKK: ENKRIPSI KLASIK - SUBSTITUSI

Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu

ERWIEN TJIPTA WIJAYA, ST.,M.KOM KEAMANAN INFORMASI

BAB II TINJAUAN PUSTAKA. pesan di dalam media tersebut. Kata steganografi (steganography) berasal

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

APLIKASI JAVA KRIPTOGRAFI MENGGUNAKAN ALGORITMA VIGENERE. Abstract

BAB 2 LANDASAN TEORI

ENKRIPSI DAN DEKRIPSI MENGGUNAKAN VIGENERE CIPHER ASCII JAVA

Metode Enkripsi baru : Triple Transposition Vigènere Cipher

BAB 2 LANDASAN TEORI

Pengenalan Kriptografi

MODIFIKASI VIGENERE CIPHER DENGAN MENGGUNAKAN TEKNIK SUBSTITUSI BERULANG PADA KUNCINYA

BAB 1 PENDAHULUAN Latar Belakang

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Berikut ini akan dijelaskan sejarah, pengertian, tujuan, dan jenis kriptografi.

K i r p i t p o t g o ra r f a i

BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya

Rancang Bangun Kombinasi Chaisar Cipher dan Vigenere Cipher Dalam Pengembangan Algoritma Kriptografi Klasik

RANCANGAN KRIPTOGRAFI HYBRID KOMBINASI METODE VIGENERE CIPHER DAN ELGAMAL PADA PENGAMANAN PESAN RAHASIA

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

Implementasi Algoritma Vigenere Subtitusi dengan Shift Indeks Prima

Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi(arjana, et al. 2012):

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

KRIPTOGRAFI KLASIK DENGAN METODE MODIFIKASI AFFINE CIPHER YANG DIPERKUATDENGANVIGENERE CIPHER

MAKALAH KRIPTOGRAFI KLASIK

IMPLEMENTASI ALGORITMA VIGENERE CIPHER DAN RIVEST SHAMMER ADLEMAN (RSA) DALAM KEAMANAN DATA TEKS

Kriptografi Modern Part -1

IMPLEMENTASI KRIPTOGRAFI VIGENERE CIPHER DENGAN PHP

BAB II LANDASAN TEORI

Modifikasi Pergeseran Bujur Sangkar Vigenere Berdasarkan Susunan Huruf dan Angka pada Keypad Telepon Genggam

TUGAS KRIPTOGRAFI Membuat Algortima Sendiri Algoritma Ter-Puter Oleh : Aris Pamungkas STMIK AMIKOM Yogyakarta emali:

Disusun oleh: Ir. Rinaldi Munir, M.T.

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

Algoritma Kriptografi Modern

Sedangkan berdasarkan besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat dibedakan menjadi dua jenis yaitu :

PENGAMANAN DATA REKAM MEDIS PASIEN MENGGUNAKAN KRIPTOGRAFI VIGÈNERE CIPHER

Penerapan Metode Enkripsi Vigenere Cipher dalam Pengamanan Transaksi Mobile Banking

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

Kriptografi Kunci Rahasia & Kunci Publik

Latar Belakang Masalah Landasan Teori

Pengantar Kriptografi

PERBANDINGAN METODE VIGENERE DAN AFFINE UNTUK PESAN RAHASIA

Kriptografi Modern Part -1

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom.,M.Kom

TRIPLE VIGENÈRE CIPHER

Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok

BAB III KOMBINASI VIGÈNERE CIPHER DAN KEYED COLUMNAR TRANSPOSITION. Cipher ini adalah termasuk cipher simetris, yaitu cipher klasik abjad

Penggabungan Algoritma Kriptografi Simetris dan Kriptografi Asimetris untuk Pengamanan Pesan

ENKRIPSI CITRA BITMAP MELALUI SUBSTITUSI WARNA MENGGUNAKAN VIGENERE CIPHER

Streamed Key Vigenere Cipher : Vigenere Cipher Menggunakan Penerapan Metode Pembangkitan Aliran Kunci

Modul Praktikum Keamanan Sistem

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

ALGORITMA LOGICAL CIPHER

DASAR-DASAR KEAMANAN SISTEM INFORMASI Kriptografi, Steganografi. Gentisya Tri Mardiani, S.Kom

BAB 2 LANDASAN TEORI

STUDI DAN PERBANDINGAN PERFORMANSI ALGORITMA SIMETRI VIGENERE CHIPPER BINNER DAN HILL CHIPPER BINNER Ivan Nugraha NIM :

SISTEM KRIPTOGRAFI. Mata kuliah Jaringan Komputer Iskandar Ikbal, S.T., M.Kom

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Penelitian sebelumnya yang ditulis oleh Alen Dwi Priyanto

Bab 2: Kriptografi. Landasan Matematika. Fungsi

BAB II. Dasar-Dasar Kemanan Sistem Informasi

PERANAN ARITMETIKA MODULO DAN BILANGAN PRIMA PADA ALGORITMA KRIPTOGRAFI RSA (Rivest-Shamir-Adleman)

BAB II LANDASAN TEORI

Kriptografi, Enkripsi dan Dekripsi. Ana Kurniawati Kemal Ade Sekarwati

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. mempunyai makna. Dalam kriptografi dikenal dua penyandian, yakni enkripsi

PENGEMBANGAN ALGORITMA VIGENERE CIPHER MENGGUNAKAN METODE PERGESERAN KUNCI BERBASIS BINER ABSTRAK

Modifikasi Vigenere Cipher dengan Enkripsi-Pembangkit Kunci Bergeser

Sistem Kriptografi Kunci Publik Multivariat

Security Sistem Informasi.

Vigènere Chiper dengan Modifikasi Fibonacci

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB I PENDAHULUAN 1.1 Latar Belakang

Simulasi Pengamanan File Teks Menggunakan Algoritma Massey-Omura 1 Muhammad Reza, 1 Muhammad Andri Budiman, 1 Dedy Arisandi

+ Basic Cryptography

Cryptography. Lisa Anisah. Abstrak. Pendahuluan. ::

KEAMANAN DATA DENGAN MENGGUNAKAN ALGORITMA RIVEST CODE 4 (RC4) DAN STEGANOGRAFI PADA CITRA DIGITAL

Analisis Kriptografi Klasik Jepang

Vigènere Transposisi. Kata Kunci: enkripsi, dekripsi, vigènere, metode kasiski, known plainteks attack, cipherteks, plainteks 1.

SUATU ALGORITMA KRIPTOGRAFI STREAM CIPHER BERDASARKAN FUNGSI CHAOS

Algoritma Kriptografi Modern (Bagian 2)

BAB III ANALISA DAN DESAIN SISTEM

BAB II TINJAUAN PUSTAKA

BAB III PENGERTIAN DAN SEJARAH SINGKAT KRIPTOGRAFI

PENGAMANAN MENGGUNAKAN METODE VIGENERE CIPHER

BAB I PENDAHULUAN. diperhatikan, yaitu : kerahasiaan, integritas data, autentikasi dan non repudiasi.

Transkripsi:

5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata "kriptografi" dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia) dan Graphia berarti writing (tulisan)[l]. Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain Kriptografi merupakan seni dan ilmu untuk menjaga keamanan data dengan metode tertentu, dan pelakunya disebut cryptographer. Kriptografi disebut sebagai ilmu karena di dalamnya terdapat metode (rumusan) yang digunakan, dan dikatakan sebagai seni karena karena dalam membuat suatu teknik kriptografi itu sendiri merupakan ciri tersendiri dari si pembuat dan memerlukan teknik khusus dalam mendisainnya. Sedangkan cryptanalysis adalah suatu ilmu dan seni memecahkan ciphertext menjadi plaintext tanpa melalui cara yang seharusnya dan orang yang melakukannya disebut cryptanalyst[4],[5]. Kriptografi juga dapat disebut sebagai ilmu yang mempelajari teknik- teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data[6], Sebuah pesan rahasia harus terjaga keamanannya, salah satu cara dengan penyandian pesan yang bertujuan meyakinkan privasi dengan menyembunyikan informasi dari orang-orang yang tidak ditujukan informasi tersebut [7]. Keamanan dalam kehidupan saat ini adalah hal yang sangat penting. Arti dari keamanan itu sendiri adalah menjaga suatu unsur yang sangat penting dari tindakan yang tidak diinginkan, beberapa contohnya adalah informasi dan pesan. Jika kita bertukar pesan (misal surat), maka kita tentu ingin pesan yang kita kirim sampai ke pihak yang dituju dengan aman. Maksud aman itu sendiri berarti bahwa selama

6 pengiriman tentu kita tidak ingin isi pesan dibaca oleh orang yang tidak berhak karena mungkin pesan yang kita kirim adalah pesan rahasia. Kriptografi (Cryptography) berasal dari bahasa yunani yaitu cryptos artinya rahasia, sedangkan graphien artinya tulisan, jadi kriptografi itu adalah tulisan rahasia. Dengan kata lain kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti maknanya. Kriptografi dibuat adalah untuk menghindari dari penyadap. Penyadap adalah orang yang mencoba melihat pesan saat dikirim[1]. Perkembangan yang paling pesat dan berpengaruh dalam sejarah kriptografi ialah pada tahun 1976 dimana Whitfield Diffie dan Martin Hellman mempublikasikan sebuah tesis berjudul New Direction in Cryptography. Dalam tesis ini diperkenalkan konsep kunci publik kriptografi yang paling revolusioner dan juga menyediakan metode baru dalam pertukaran kunci, yaitu keamanan yang didasarkan atas logaritma diskrit. Kriptografi telah banyak digunakan di dalam aplikasi-aplikasi khususnya aplikasi pengamanan data pada saat sekarang ini. Aplikasi khas dari kriptografi adalah sistem yang dikembangkan dengan teknik dasar. Sistem seperti ini, dapat memiliki tingkat kompleksitas yang beraneka ragam. Penemuan kunci adalah suatu teknologi yang memungkinkan sebuah kunci ditemukan dalam kondisi tertentu tanpa pemilik memberitahukan. Ini perlu untuk dua alasan, pertama, jika pemilik kunci menghilangkan atau secara tidak sengaja menghapus kuncinya, penemuan kunci dapat menghindarkan malapetaka. Kedua, jika aparat penegakan hukum ingin mengetahui suatu tindak kriminal tanpa sepengetahuan tersangka, aparat tersebut harus mampu mendapatkan kunci yang diinginkan. Teknik penemuan kunci sudah banyak digunakan saat ini, akan tetapi, penggunaan teknik ini dalam hal penegakan hukum telah menimbulkan kontroversi[8]. 2.1.1 Algoritma Kriptografi Algoritma adalah urutan langkah-langkah logis untuk penyelesaian masalah yang disusun secara sistematis, jadi algoritma kriptografi atau sering disebut dengan cipher merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut. Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu [5]:

7 1. Enkripsi, merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirim agar terjaga kerahasiaannya. Pesan asli disebut plainteks yang diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan sebagai chiper atau kode. 2. Deskripsi, merupakan kebalikan dari enkripsi. Pesan yang telah di enkripsi dikembalikan ke bentuk aslinya. Algoritma yang digunakan berbeda dengan algoritma yang digunakan untuk enkripsi. 3. Kunci, merupakan kunci yang digunakan untuk proses enkripsi dan deskripsi. Kunci terbagi menjadi dua bagian yaitu kunci rahasia (private key) dan kunci umum (public key) [1]. 2.1.2 Jenis Sistem Kriptografi Berdasarkan pemakaian kunci maka sistem kriptografi (cryptosystems) dapat digolongkan atas atas 2 jenis sistem yakni sistem kriptografi kunci publik (public key cryptography) dan sistem kriptografi kunci rahasia (secret key cryptography). Dalam sistem kriptografi kunci rahasia yang dikenal juga dengan symmetric cryptosystems, pihak pengirim dan penerima bersama-sama menyepakati sebuah kunci rahasia yang akan digunakan dalam proses enkripsi dan dekripsi tanpa diketahui oleh pihak lain. Sedangkan dalam sistem kriptografi kunci publik atau dikenal dengan assymmetric cryptosystem, pihak pengirim maupun pihak penerima mendapatkan sepasang kunci yakni kunci publik (public key) dan kunci rahasia (private key) dimana kunci publik dipublikasikan dan kunci rahasia tetap dirahasiakan. Enkripsi dilakukan dengan menggunakan kunci publik sedangkan dekripsi dilakukan dengan menggunakan kunci rahasia[12]. 2.1.2.1 Kriptografi Kunci Rahasia (Secret Key Cryptography) Kriptografi kunci rahasia merupakan bentuk kriptografi yang lebih tradisional, dimana kunci tunggal dapat digunakan untuk enkripsi dan dekripsi suatu pesan. Kriptografi kunci rahasia tidak hanya digunakan untuk enkripsi, tetapi juga untuk otentikasi. Salah satu teknik untuk pekerjaan ini disebut message authentication codes (MAC)[9].

8 Masalah utama dengan kriptografi kunci rahasia membuat pengirim dan penerima pesan setuju atas kunci rahasia yang digunakan tanpa orang lain mampu mendapatkan dan mengetahuinya. Atau dengan kata lain bagaimana memilih kunci rahasia yang benar-benar aman. Hal ini membutuhkan suatu metode dimana kedua pihak dapat berkomunikasi tanpa kekhawatiran akan tercecernya kunci tersebut. Akan tetapi, keuntungan dari kriptografi kunci rahasia adalah biasanya lebih cepat dibandingkan dengan kriptografi kunci public [14]. 2.1.2.2 Kriptografi Kunci Publik (Public Key Cryptography) Kriptografi kunci publik diperkenalkan oleh Whitfield Diffie dan Martin Hellman pada tahun 1976. Kriptografi kunci publik memiliki dua penggunaan utama, yakni enkripsi dan tanda tangan digital (encryption and digital signatures). Dalam sistem kriptografi kunci publik, masing-masing pihak mendapat sepasang kunci, satu disebut kunci publik (public key) dan satu lagi disebut kunci rahasia (private key) [2]. Kunci publik dipublikasikan, sementara kunci rahasia tetap dirahasiakan. Keharusan penggunaan kunci secara bersama antara pengirim dan penerima pesan rahasia dihilangkan, semua komunikasi hanya melibatkan kunci publik, dan tidak ada kunci rahasia yang ditransmisikan atau digunakan bersama. Dalam sistem ini, tidak ada lagi kecurigaan terhadap keamanan dari sistem komunikasi. Satu-satunya kebutuhan bahwa kunci publik dikaitkan dengan penggunanya dalam lingkup yang saling mempercayai (contoh dalam suatu trusted directory). Seseorang dapat mengirimkan pesan rahasia dengan hanya menggunakan informasi yang umum (kunci publik), tetapi pesan tersebut hanya mungkin didekrip dengan menggunakan kunci rahasia, dimana satu-satunya yang memiliki kunci rahasia tersebut hanyalah orang yang diharapkan menerima pesan tersebut. Kriptografi kunci publik tidak hanya digunakan untuk merahasiakan pesan, tetapi juga untuk otentikasi (tanda tangan digital) dan teknik lainnya [8].

9 plainteks enkripsi cipherteks dekripsi plainteks User A User B Kunci/key Gambar 2.1 Kunci publik 2.1.3 Tujuan Kriptografi Beberapa tujuan kriptografi adalah : 1. Menjaga kerahasiaan informasi. 2. Untuk menjamin bahwa informasi masih utuh dan belum pernah dimanipulasi. 3. Untuk mencegah bahwa pihak yang berkomunikasi tidak melakukan penyangkalan. Adapun tujuan lain dari kriptografi adalah antara lain : a. Kerahasiaan Layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka maupun menghapus informasi yang telah disandi. b. Integritas data Berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan dan pensubstitusian data lain kedalam data yang sebenarnya. c. Authentication Berhubungan dengan identifikasi atau pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Dimana informasi yang dikirimkan

10 melalui kanal harus diauthentifikasi keaslian, isi datanya, waktu pengiriman dan lain-lain. d. Non-repudiasi Usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman atau terciptanya suatu informasi oleh yang mengirimkan atau membuat. Kriptografi terdiri dari dua proses, yaitu enkripsi dan dekripsi. Enkripsi adalah proses transformasi informasi menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami, hal ini dimaksudkan agar informasi tetap terlindung dari pihak yang tidak berhak menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu transformasi data terenkripsi ke data bentuk semula [12]. Adapun proses enkripsi-dekripsi secara umum dapat kita lihat pada gambar di bawah ini. Kunci enkripsi Kunci deskripsi plainteks enkripsi chiperteks deskripsi plainteks Gambar 2.2 Enkripsi dan Deskripsi Secara matematis sederhana, proses enkripsi-dekripsi dapat dituliskan dengan persamaan sebagai berikut: Dimana : m : message / plainteks c : cipherteks D : fungsi Dekripsi d : kunci dekripsi E : fungsi Enkripsi e : kunci enkripsi E e (m) = c (2.1) D d (c) = m (2.2)

11 Dari dua persamaan diatas dapat ditulis D d (E e (m)) = m (2.3) Sehingga terlihat pesan yang telah tersandi dapat dikembalikan menjadi pesan semula. 2.1.4 Algoritma Kriptografi Berdasarkan jenis kunci yang digunakan, dikenal dua buah algoritma kriptografi, yaitu: Algoritma kriptografi simetris / private key algorithm. Algoritma kriptografi asimetris / public key algorithm. Algoritma simetris atau sering disebut algoritma kriptografi konvensional adalah algoritma yang menggunakan kunci yang sama untuk proses enkripsi dan proses deskripsi. Algoritma kriptografi simetris dibagi menjadi dua kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Dimana pada algoritma aliran, proses penyandiannya akan beriorientasi pada satu bit/byte data. Sedangkan pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit/byte data (per blok) [13]. Algoritma kriprografi simetris adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. kunci plainteks enkripsi chiperteks deskripsi plainteks Gambar 2.3 Proses Enkripsi/Deskripsi Algoritma Simetris Kriptografi asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan deskripsi. Dimana kunci enkripsi dapat disebarkan kepada umum dan dinamakan sebagai kunci publik (public key), sedangkan kunci deskripsi

12 disimpan untuk digunakan sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh karena itu, kriptografi ini dikenal pula dengan nama kriptografi kunci publik (public key cryptography). Kunci umum Kunci pribadi plaintext ciphertext plaintext Enkripsi Deskripsi Gambar 2.4 Proses Enkripsi/Deskripsi Algoritma Asimetris 2.2 Vigenére Cipher Vigenére cipher mungkin adalah contoh terbaik dari cipher alphabet-majemuk 'manual'. Algoritma ini dipublikasikan oleh diplomat, sekaligus seorang kriptologis perancis, Blaise de Vigenere pada abad 16, meskipun Giovan Batista Belaso telah menggambarkannya pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifra del Sig. Vigenére cipher dipublikasikan pada tahun 1586, tetapi algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemunya cipher tersebut dinamakan vigenere cipher. Cipher ini berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19. Vigenere cipher digunakan oleh tentara Konfiderasi Confederate Army pada perang sipil Amerika American Civil war [9], [10]. Vigenére cipher sangat dikenal karena mudah dipahami dan diimplementasikan. Cipher menggunakan bujur sangakar Vigenere untuk melakukan enkripsi seperti ditunjukkan pada tabel 1. Kolom paling kiri dari bujursangkar menyatakan huruf-hurf kunci, sedangkan baris paling atas menyatakan huruf- huruf plainteks. Setiap baris dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Vigenére cipher, yang mana jumlah pergesaran huruf plainteks ditentukan nilai numerik huruf kunci tersebut ( yaitu, A = 0, B = 1, C-2,...,Z = 25) [5]. Tabel 2.1 Bujursangkar Vigenére [1]

13 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V T X Y Z A B C D E F G H I J K L M N O P Q R S T U W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Bujur sangkar vigenere digunakan untuk memperoleh cipherteks dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek dari pada panjang plainteks, maka kunci diulang penggunaanya (sistem periodik). Bila panjang kunci adalah m, maka periodenya dikatakan m. sebagai contoh, jika plainteks adalah SAYA MAHASISWA dan kunci adalah RIA maka penggunaan kunci secara periodik adalah sebagai berikut: Plainteks Kunci : SAYAMAHASISWA : RIARIARIARIAR

7 Setiap huruf plainteks akan dienkripsi dengan setiap huruf kunci dibawahnya. Untuk mengerjakan enkripsi dengan Vigenére cipher, lakukan pada bujursangkar vigenere sebagai berikut: tarik garis vertikal dari huruf plainteks ke bawah, lalu tarik garis mendatar dari huruf kunci ke kanan. Perpotongan dari kedua garis tersbut menyatakan huruf cipherteksnya[13]. Tabel 2.2 Enkripsi huruf S dengan kunci R [1] A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q $ S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Amatilah bahwa huruf plainteks S dapat dienkripsikan menjadi J dan A, dienkripsikan menjadi I,Y menjadi Y dan seterusnya. Sehingga untuk contoh tersebut maka hasil enkripsiannya adalah sebagai berikut:

8 Plainteks : SAYAMAHASISWA Kunci : RIARIARIARIAR Cipherteks : JIYRUAYISZAWR Dari hasil enkripsi diatas tersebut, maka proses dekripsinya untuk mencari plaintextnya adalah: Cipherteks : JIYRUAYISZAWR Kunci : RIARIARIARIAR Untuk karakter yang pertama, huruf R maka akan dicari seluruh isi karakter yang berada pada baris huruf R ke kanan, dimana terdapat karakter ciphertext huruf J, maka dilihat pada pada kolom kunci yang menunjukkan bahwa huruf J tersebut berada pada baris huruf S. Begitu juga dengan karakter yang ke dua huruf I, maka akan dicari seluruh isi karakter yanga berada pada baris huruf I ke kanan, dimana terdapat karakter ciphertext huruf I maka dilihat pada kolom kunci yang menunjukkan bahwa huruf I tersebut berada pada kolom huruf A dan seterusnya. Demikianlah cara kerja proses dekripsinya untuk mencari plainteks, sehingga didapatkan kembali lainteksnya seperti dibawah ini : Cipherteks : JIYRUAYISZAWR Kunci : RIARIARIARIAR Plainteks : SAYAMAHASISWA Kriptografi terdiri dari kriptografi klasik dan modern, salah satu kriptografi klasik yaitu vigenére cipher. Vigenére cipher adalah salah satu jenis kriptografi klasik yang pada dasarnya adalah melakukan substitusi cipher abjad majemuk (polyalphabetic substitution), yaitu mengubah plaintext dengan kunci tertentu biasanya berupa sebuah kata atau kalimat yang berulang sepanjang plaintext sehingga didapatkan ciphertext [3]. Vigenére Cipher sangat dikenal karena mudah dipahami dan mudah juga untuk diimplementasikan. Pada proses enkripsi Vigenére Cipher menggunakan bujursangkar Vigenére. Setiap baris dalam bujur sangkar menyatakan huruf huruf Cipherteks yang diperoleh dengan Caesar Cipher.

9 Bujursangkar Vigenére digunakan untuk memperoleh Ciphertext dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang penggunaannya contohnya ; Plainteks : SAYAMAHASISWA Kunci : RIARIARIARIAR Cipherteks : JIYRUAYISZAWR Proses sebaliknya (disebut dekripsi), dilakukan dengan mencari huruf teks bersandi pada baris berjudul huruf dari kata kunci. Misalnya, pada contoh di atas, untuk huruf pertama, kita mencari huruf J (huruf pertama teks tersandi) pada baris R (huruf pertama pada kata kunci), yang terdapat pada kolom S, sehingga huruf pertama adalah S. Lalu I terdapat pada baris I di kolom A, sehingga diketahui huruf kedua teks terang adalah A, dan seterusnya hingga didapat perintah "SAYAMAHASISWA". Cipherteks : JIYRUAYISZAWR Kunci Plainteks : RIARIARIARIAR : SAYAMAHASISWA Enkripsi (penyandian) dengan sandi Vigenére juga dapat dituliskan secara matematis, dengan menggunakan penjumlahan dan operasi modulus, yaitu: C i (P i + K i ) mod 26 (2.4) atau C = P + K dengan syarat jumlah dibawah 26 & - 26 kalau hasil jumlah di atas 26 dan dekripsi, P i (C i - K i ) mod 26 (2.5)

10 atau P = C - K dengan syarat hasilnya positif & + 26 kalau hasil pengurangan minus Keterangan: C adalah huruf ke-i pada teks tersandi, P adalah huruf ke-i pada teks terang, K adalah huruf ke-i pada kata kunci, dan mod adalah operasi modulus (sisa pembagian). Rumus enkripsi vigenére cipher : P i (C i - K i ) mod 26 (2.6) atau C i = ( P i + K i ) 26 (2.7) dengan syarat hasil penjumlahan Pi dan K i lebih dari 26 Rumus dekripsi vigenére cipher : P i (C i - K i ) mod 26 (2.8) atau P i = (C i - K i ) + 26 kalau hasil pengurangan C i dengan K i minus Dimana: Ci = nilai desimal karakter ciphertext ke-i Pi = nilai desimal karakter plaintext ke-i Ki = nilai desimal karakter kunci ke-i Nilai desimal karakter: A=0 B=1 C=2... Z=25

11 Sebagai contoh, jika plaintext adalah SAYAMAHASISWA dan kunci adalah RIA maka proses enkripsi yang terjadi adalah sebagai berikut: Tabel 2.3 Proses Enkripsi Plaintext: SAYAMAHASISWA Key: RIARIARIARIAR Ciphertext: JIYRUAYISZAWR Pada contoh diatas kata kunci RIA diulang sedemikian rupa hingga panjang kunci sama dengan panjang plainteksnya. Jika dihitung dengan rumus enkripsi vigenére plainteks huruf pertama S (yang memiliki nilai Pi=18) akan dilakukan pergeseran dengan huruf R (yang memiliki Ki=17) maka prosesnya sebagai berikut: Ci = (Pi + Ki ) mod 26 = (18 + 17 ) mod 26 =35 mod 26 = 926 Ci=9 maka huruf ciphertext dengan nilai 9 adalah C. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua plainteks telah terenkripsi menjadi ciphertext. Setelah semua huruf terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut: Pi = (Ci Ki ) + 26 = (9 17 ) + 26 = -8 + 26 =18

12 Pi=18 maka huruf plainteks dengan nilai 18 adalah S. Begitu seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap huruf hingga semua ciphertext telah terdekripsi menjadi plainteks. 2.3 Linear Feedback Shift Register (LFSR) Menurut Stephen Herlambang dalam makalah Studi dan Analisis Grain Cipher,tahun 2011 menyatakan bahwa LFSR adalah shift register yang bit masukannya merupakan fungsi linear dari state sebelumnya. Satu-satunya fungsi linear pada bit satuan exclusive-or XOR, oleh karena itu LFSR adalah shift register yang bit masukannya dibangkitkan oleh exclusive-or (XOR) dari bit dari keseluruhan nilai shift register.[14] Inisial value dari LFSR dikenal dengan seed, dan karena operasi dari register bersifat deterministik, aliran nilai yang dihasilkan oleh register akan sepenuhnya ditentukan oleh state sekarang atau sebelumnya. Dengan begitu karena register memiliki jumlah state yang terbatas pasti akan terbentuk siklus yang berulang, akan tetapi LFSR yang memiliki fungsi umpan balik yang baik dapat memproduksi sekuens bit yang tampak acak dan memiliki siklus yang sangat penting [3]. Linear Feedback Shift Register (LFSR) adalah suatu mekanisme untuk menghasilkan sekuens bit biner. Register memiliki sebarisan sel yang ditentukan oleh vektor inisialisasi yakni, biasanya, menjadi kunci rahasia. Tingkah laku register diatur oleh sebuah counter (clock). Pada setiap saat isi sel dari register digeser (shift) ke kanan sejauh satu posisi, dan hasil operasi XOR terhadap subset dari isi sel ditempatkan pada sel paling kiri. Satu bit dari output biasanya diturunkan selama prosedur ini. Pada sebuah algoritma stream cipher berbasis LFSR dengan menggunakan n stages maka jumlah variasi kemungkinan kunci input adalah 2n-1. Karena fungsi feedback yang digunakan adalah polinomial karakteristik yang primitif, maka dapat diketahui periode maksismumnya adalah 2n-1.Penggunaan LFSR ini sendiri tidak menjamin tersedianya tingkat keamanan yang tinggi. Beberapa skema lainnya telah diusulkan untuk meningkatkan keamanan dari LFSR ini[11].

13 Untuk memperoleh LFSR dengan periode maksimal, fungsi feedback yang digunakan harus polinomial primitive modulo2. Contoh polinomial primitif yaitu x4 + x + 1.Degree (derajat) polinomial adalah panjang dari shift register. Suatu polinomial primitif dengan degree n adalah polinomial irreducible yang membagi x m + 1, dengan m = 2 n 1, tetapi tidak membagi x d + 1 untuk setiap d yang membagi 2 n 1. Perbedaan LFSR dengan NLFSR. Berikut ini adalah beberapa perbedaan antara Linear Feedback Shift Register dengan non Linear Feedback Shift Register: 1. Fungsi feedback dari NLFSR tidak dapat ditulis dalam bentuk umum seperti pada LFSR. 2. Fungsi feedback dari LFSR sering dinyatakan dalam bentuk persamaan polinomial khusus (characteristic polynomial), sedangkan fungsi feedback pada NLFSR tidak dapat direpresentasikan dalam bentuk fungsi polinomial khusus karena lebih kompleks. 3. Pada LFSR panjang periode maksimal yang dapat dicapai adalah 2n-1, sedangkan pada NLFSR dapat mencapai 2n untuk n variabel. 4. Dalam NLFSR, operasi yang digunakan tidak hanya penjumlahan seperti pada LFSR, tetapi juga perkalian. 5. Pada LFSR, kompleksitas linier yang diperoleh maksimal adalah n, sedangkan pada NLFSR dibatasi hingga 2n, sehingga kompleksitas liniernya lebih besar. 6. Karena tingkat kompleksitas liniernya lebih tinggi maka sifat konfusi pada NLFSR lebih baik daripada LFSR, yang merupakan salah satu faktor penguat NLFSR terhadap upaya kriptanalisis. X 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 Gambar 2.5 Sebuah LFSR 17-Bit

14 Linear Feedback Shift Register (LFSR) sering digunakan oleh Stream cipher sebagai pembangkit keystream. Register geser umpan-balik atau Feedback Shift Register (FSR) terdiri dari dua bagian: 1. Register Geser, yaitu barisan bit-bit yang panjangnya n- bit. Register geser disebut juga sebagai register geser n bit. 2. Fungsi Umpan-balik, yaitu fungsi yang menerima masukan dari register geser dan mengembalikan nilai fungsi ke register geser. Register Geser b n-1 b 4 b n... b 1 b 3 b 2 Fungsi umpan-balik Gambar 2.6 Bagian-bagian FSR Tiap kali sebuah bit dibutuhkan, semua bit didalam register digeser 1 bit ke kanan. Bit paling kiri (b n ) dihitung sebagai fungsi bit-bit lain didalam register tersebut. Keluaran dari register adalah 1 bit (yaitu bit b 1 yang tergeser).periode register geser adalah panjang barisan keluaran sebelum ia berulang kembali. Suatu shift register cascade merupakan sebuah set dari LFSR yang dihubungkan bersama-sama dengan cara tertentu sedemikian hingga perlakuan dari LFSR sebelumnya dalam bentuk yang menyrupai air terjun[10] [11]. Sifat dan tingkah laku yang saling tergantung ini biasanya ditempuh dengan menggunakan satu LFSR untuk mengontrol LFSR lainnya. LFSR yang digunakan dapat terbagi 2 jenis, yaitu : 1. LFSR yang selalu aktif. 2. LFSR yang akan selalu aktif kalau di clock oleh LFSR lainnya.

15 Beberapa jenis generator yang aktif didalam LFSR adalah : 1. Geffe Generator. Generator ini menggunakan tiga atau lebih LFSR. Keluarankeluaran dari generator ini dikombinasikan secara nonliniear LFSR-n+1 n-to-1 Multiplexer LFSR-3 Bit(t) LFSR-2 Select LFSR-1 Gambar 2.7 Sketsa Geffe Generator 2. Jennings Generator. Generator ini menggunakan sebuah multiplexer untuk mengkombinasikan dua buah LFSR. Multiplexer dikontrol oleh LFSR-1, memilih 1 bit dari LFSR-2 untuk setiap output bit. 3. Threshold Generator. 4. Multispeed-Inner-Product Generator 5. Gollmann Cascade Generator Generator yang akan selalu aktif setelah di-clock adalah ; 1. Beth-Piper Stop and Go Generator 2. Alternating Stop and Go Generator 3. Bilateral Stop and Go Generator 4. Self Decimated Generators Register Geser b n b n-1... b 4 b 3 b 2 b 1 Bit keluaran Gambar 2.8 LFSR sederhana

16 b 4 b 3 b 2 b 1 Bit Keluaran Gambar 2.9 LFSR 4-bit Gambar 2.9 adalah contoh LFSR 4-bit, yang dalam hal ini fungsi umpan-balik meng-xor-kan b 4 dan menyimpan hasilnya di b 4. Register geser dengan umpan balik linier, Prosesnya adalah: 1. S1 sampai S4 diisi oleh bit-bit yang sudah ditentukan 2. Tahap pertama, S1 dan S4 akan di XOR- kan 3. S1-S4 digeser ke kanan sepanjang satu bit 4. Bit pertama akan dijadikan output 5. Bit hasil XOR antar S1 dan S4 (sebelum digeser) akan dimasukkan ke S4 Contoh: Pergeseran sebanyak 20 kali, S4 akan mengisi sampai S1 dengan nilai 1110 ------------------------------------ Tahap ke- S4 S3 S2 S1 Output ------------------------------------ 0 1 1 1 0 <- -----------------------------> 0 1 1 1 1 1 <--- -----------------------------> 1 2 0 1 1 1 <----- -----------------------------> 1 3 1 0 1 1 <-------

17 -----------------------------> 1 4 0 1 0 1 <--------- -----------------------------> 1 5 1 0 1 0 <----------- -----------------------------> 0 6 1 1 0 0 -----------------------------> 0 Setelah 14 kali tahap 7 1 1 1 0 pergeseran maka -----------------------------> 0 periodenya akan 8 1 1 1 1 berulang. -----------------------------> 1 9 0 1 1 1 -----------------------------> 1 10 1 0 1 1 -----------------------------> 1 11 0 1 0 1 -----------------------------> 1 12 1 0 1 0 -----------------------------> 0 13 1 1 0 1 -----------------------------> 1 14 0 1 1 0 -----------------------------> 0 15 0 0 1 1 <----- <- 16 1 0 0 1 <----- <--- 17 0 1 0 0 <----- <----- 18 0 0 1 0 <----- <------- 19 0 0 0 1 <----- <--------- 20 1 0 0 0 <----- <----------- ------------------------------------ Didalam LFSR ini, tidak akan pernah muncul bit 0000 karena bit tersebut tidak akan berguna [6]. LFSR diatas yang hanya sepanjang 4 bit, periodenya akan berulang ketika pergeseran ke-15.untuk menghitung periode maksimum sebuah LFSR digunakan rumus di bawah ini: Periode = 2 ^ n 1 Dimana: n = jumlah bit

18 2.3.1. OPERASI NOT Beberapa dengan operasi logika yang lain, operasi NOT hanya mempunyai satu input dan satu output. Tabel 2.4 Kebenaran dari operasi NOT A Ᾱ 0 1 1 0 Keterangan : A Ᾱ : Input operasi logika NOT : Output operasi logika NOT 1 : Nilai logika benar (true) 0 : Nilai logika salah (false) 2.3.2 Operasi AND Operasi AND mempunyai dua input dan satu input. Operasi AND dari dua input A dan B hanya akan bernilai logika 1, apabila kedua input A dan B bernilai logika 1, atau dengan kata lain output dari operasi AND akan memiliki nilai logika 0. Tabel 2.5 Kebenaran dari operasi AND A B AB 0 0 0 0 1 0 1 0 0 1 1 1

19 Keterangan : A,B : Input operasi logika AND AB : Output operasi logika AND 0 : Nilai logika benar (true) 1 : Nilai logika salah (false) 2.3.3. Operasi OR Operasi OR mempunyai dua input dan satu output. Operasi OR dari dua input A dan B hanya akan bernilai logika 0, apabila kedua input A dan B bernila logika 0, atau dengan kata lain output dari operasi OR akan memiliki nilai logika 1, apabila salah satu inputnya bernilai 1. Tabel 2.6 Kebenaran operasi OR A B A B 0 0 0 0 1 1 1 0 1 1 1 1 Keterangan: A,B A+B : Input operasi logika OR : Output operasi logika OR 0 : nilai logika benar (true) 1 : nilai logika salah (false) 2.3.4 Operasi XOR XOR adalah operasi Exclusive-OR yang dilambangkan dengan tanda. Operasi XOR akan menghasilkan nilai bit 0 (nol) jika meng-xor-kan dua buah bit yang sama nilainya dan akan menghasilkan nilai bit 1 (satu) jika meng-xor-kan dua

20 buah bit yang masing masing nilai bitnya berbeda. Aturan yang berlaku untuk operasi XOR dapat dilihat pada Tabel 2.1 berikut ini, Tabel 2.7 Aturan Operasi XOR A B A B 0 0 0 0 1 1 1 0 1 1 1 0 Nilai A jika di-xor-kan dengan nilai B sebanyak dua kali maka akan didapatkan nilai A kembali. Karena sifat istimewa yang dimiliki operasi XOR tersebut sehingga operasi XOR cenderung dipakai dalam proses enkripsi dan dekripsi yang memiliki algoritma yang sama. P K = C ; C K = P Keterangan: P = Plaintext K = Key C = Ciphertext Berikut ini adalah contoh operasi XOR : 1101 1001 1001 1101 1110 1000 1110 0000 0001 0001 0111 1101 1010 0010 1110 1011 1111 0101 0001 0110 0101 0111 1111 1101

21 2.4 Pergeseran Bit (Shift) Pergeseran bit (Shift) adalah operasi pergeseran terhadap suatu barisan bit sebanyak yang diinginkan. Bit kosong yang telah tergeser akan diberikan nilai bit 0 (nol). Operasi pergeseran terbagi menjadi dua macam yaitu, 1. Operasi Geser Kiri (Shift Left) yaitu operasi yang menggeser (shift) sejumlah bit ke kiri (left) dengan nilai bit 0 (nol). Operasi shift left dilambangkan dengan <<. Contoh operasi shift left : 11000110 << 1 : 10001100 11000110 << 2 : 00011000 11000110 << 3 : 00110000 2. Operasi Geser Kanan (Shift Right) yaitu operasi yang menggeser (shift) sejumlah bit ke kanan (right) dengan nilai bit 0 (nol). Operasi shift right dilambangkan dengan >>. Contoh operasishift right : 11000110 >> 1 : 01100011 11000110 >> 2 : 00110001 11000110 >> 3 : 00011000 2.5 Algoritma Enkripsi Dengan XOR Sederhana Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan meng-xorkan plainteks (P) dengan kunci (K) menghasilkan cipherteks : C = P K Karena meng-xor-kan nilai yang sama dua kali berturut-turut menghasilkan nilai semula, maka dekripsi menggunakan persamaan : P = C K

22 Contoh: plainteks 01100101 (karakter e ) kunci 00110101 (karakter 5 ) cipherteks 01010000 (karakter P ) kunci 00110101 (karakter 5 ) plainteks 01100101 (karakter e ) Algoritma enkripsi XOR sederhana pada prinsipnya sama seperti Vigenere cipher dengan penggunaan kunci yang berulang secara periodik. Setiap bit plainteks di-xor-kan dengan setiap bit kunci. Program komersil yang berbasis DOS atau Macintosh menggunakan algoritma XOR sederhana ini. Sayangnya, algoritma XOR sederhana tidak aman karena cipherteksnya mudah dipecahkan. Cara memecahkannya adalah sebagai berikut : 1. Cari panjang kunci dengan prosedur counting coincidence sbb : XOR-kan cipherteks terhadap dirinya sendiri setelah digeser sejumlah byte, dan hitunglah jumlah byte yang sama. Jika pergeseran itu kelipatan dari panjang kunci (yang tidak diketahui), maka 6% dari byte akan sama. Jika tidak maka 0.4% akan sama. Angka persentase ini disebut index of coincidence. Pergeseran terkecil mengindikasikan panjang kunci yang dicari. 2. Geser cipherteks sejauh panjang kunci dan XOR-kan dengan dirinya sendiri. Operasi ini menghasilkan plainteks yang ter-xor dengan plainteks yang digeser sejauh panjang kunci tersebut.