Showing posts with label Struktur Data dan Algoritma. Show all posts
Showing posts with label Struktur Data dan Algoritma. Show all posts

Wednesday, May 21, 2014

Algoritma Kriptografi Modern


·        Algoritma kriptografi modern umumnya beroperasi dalam mode bit ketimbang mode karakter (seperti yang dilakukan pada cipher substitusi atau cipher transposisi dari algoritma kriptografi klasik).


·        Operasi dalam mode bit berarti semua data dan informasi (baik kunci, plainteks, maupun cipherteks) dinyatakan dalam rangkaian (string) bit biner, 0 dan 1. Algoritma enkripsi dan dekripsi memproses semua data dan informasi dalam bentuk rangkaian bit. Rangkaian  bit yang menyatakan plainteks dienkripsi menjadi cipherteks dalam bentuk rangkaian bit, demikian sebaliknya. 

·        Perkembangan algoritma kriptografi modern berbasis bit didorong oleh penggunaan komputer digital yang merepresentasikan data dalam bentuk biner.

·        Algoritma kriptografi yang beroperasi dalam mode bit dapat dikelompokkan menjadi dua kategori:
1. Cipher aliran (stream cipher)
              Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit.

          2. Cipher blok (block cipher)
              Algoritma kriptografi beroperasi pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya.
              Misalnya panjang blok adalah 64 bit, maka itu berarti algoritma enkripsi memperlakukan 8 karakter setiap kali penyandian (1 karakter = 8 bit dalam pengkodean ASCII).

Rangkaian bit


·        Rangkaian bit yang dipecah menjadi blok-blok bit dapat ditulis dalam sejumlah cara bergantung pada panjang blok.

Contoh: Plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4 menjadi

1001  1101  0110

Setiap blok menyatakan bilangan bulat dari 0 sampai 15, yaitu

          9        13      6
         
Bila plainteks dibagi menjadi blok-blok yang berukuran 3 bit, maka rangkaian bit di atas menjadi:

100   111  010   110
           
          Setiap blok menyatakan bilangan bulat dari 0 sampai 7, yaitu

                   4        7        2        6

Bila panjang rangkaian bit tidak habis dibagi dengan ukuran blok
yang ditetapkan, maka blok yang terakhir ditambah dengan bit-bit semu yang disebut  padding bits.
Misalnya rangkaian bit di atas dibagi menjadi blok 5-bit menjadi

10011  10101 00010

Blok yang terakhir telah ditambahkan 3 bit 0 di bagian awal (dicetak tebal) agar ukurannya menjadi 5 bit. Padding bits dapat mengakibatkan ukuran plainteks hasil dekripsi lebih besar daripada ukuran plainteks semula.



·        Cara lain untuk menyatakan rangkaian bit adalah dengan notasi heksadesimal (HEX). Rangkaian bit dibagi menjadi blok yang berukuran 4 bit dengan representasi dalam HEX adalah:

0000 = 0     0001 = 1     0010 = 2     0011 = 3
0100 = 4     0101 = 5     0011 = 6     0111 = 7
1000 = 8     1011 = 9     1010 = A    1011 = B
1100 = C    1101 = D    1101 = E     1111 = F

Misalnya, plainteks 100111010110 dibagi menjadi blok bit yang panjangnya 4 menjadi

1001  1101  0110

yang dalam notasi HEX adalah

          9 D 6


Operator XOR

·        Operator biner yang sering digunakan dalam cipher yang yang beroperasi dalam mode bit adalah XOR atau exclusive-or.

·        Notasi matematis untuk opeartor XOR adalah Å (dalam Bahas C, operator XOR dilambangkan dengan ^).

·        Operator XOR diperasikan pada dua bit dengan aturan sebagai berikut:

0 Å 0 = 0
0 Å 1 = 1
1 Å 0 = 1
1 Å 1 = 0

Operator XOR identik dengan penjumlahan modulo 2.       
·        Misalkan a, b, dan c adalah peubah Boolean. Hukum-hukum yang terkait dengan operator XOR:
          (i)   a  Å a = 0                                 
          (ii)  a Å b = b Å a                            (Hukum komutatif)
                   (iii) a Å (b Å c) = (a Å b) Å c         (Hukum asosiatif)

·        Jika dua rangkaian dioperasikan dengan XOR, maka operasinya dilakukan dengan meng-XOR-kan setiap bit yang berkoresponden dari kedua ramngkaian bit tersebut.

Contoh: 10011 Å 11001 = 01010
     yang dalam hal ini, hasilnya diperoleh sebagai berikut:

                   1           0        0         1         1  
                   1           1        0         0         1    Å
               1 Å 1   0 Å 1  0 Å 0  1Å 0  1 Å 1       
                   0          1         0         1         0

·        Algoritma enkripsi sederhana yang menggunakan XOR adalah dengan meng-XOR-kan plainteks (P) dengan kunci (K) menghasilkan cipherteks:

C =  P Å K                                                 (6.1)

Karena meng-XOR-kan nilai yang sama dua kali menghasilkan nilai semula, maka proses dekripsi menggunakan persamaan:

                   P = C Å K                                                  (6.2)

Contoh:      plainteks              01100101             (karakter ‘e’)
                   kunci                    00110101   Å       (karakter ‘5’)
 


                   cipherteks            01010000             (karakter ‘P’)
                   kunci                    00110101   Å       (karakter ‘5’)
         
          plainteks              01100101             (karakter ‘e’)
·              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 (asumsi: panjang kunci adalah sejumlah kecil byte):
1.     Cari panjang kunci dengan prosedur counting coincidence sbb: XOR-kan cipherteks terhadap dirinya sendiri setelah digeser sejumlah byte, dan hitung 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. 

Tuesday, May 20, 2014

Mutant algorithm salah satu Block Cipher


Semester empat di kampus saya mendapatkan mata kuliah Block Cipher selama satu semester. Block cipher merupakan ilmu yang perlu diketahui oleh seluruh mahasiswa, karena persandian sekarang kebanyakan menggunakan sistem block cipher. Dosen yang mengajar saya bisa dikatakan baik, sehingga selama satu semester sangat menikmati pelajaran tersebut. Selama mata kuliah, kelas teknik rancang bangun digabung dengan kelas manajemen persandian.

Pada akhir mata kuliah ini, kelas gabungan tersebut di beri tugas semacam projek akhir untuk membuat suatu desain block. Komposisinya adalah kelas gabungan itu harus bercampur dalam pembagian kelompoknya. Pada saat itu, saya satu kelompok dengan Magdalena dan Maulana. Di akhir semester kita mulai merancang projek tersebut. Dengan mengambil salah satu projek block cipher salah satu senior saya, itu dijadikan suatu dasar untuk menyelesaikan projek ini.

Projek akhir ini bisa kami selesaikan selama kurang lebih satu bulan. Dengan berbagai hambatan, tetapi semangat bisa mengalahkannya. Bahasan kali ini, saya akan memberikan projek akhir mata kuliah Block cipher yang kami beri nama MUTANT ALGORITMA, yang berasal dari singkatan Muka Tampan..hehehe... Okeh kita mulai aja yah..:)

Abstraksi



Dalam paper ini akan kami kenalkan mengenai algoritma block cipher Mutant. Algoritma pada block cipher mutant menggunakan basic arsitektur Feistel Network dengan memberi sedikit modifikasi dari arsitektur RC6. Feistel Network membagi plain text ke dalam beberapa blok dan melakukan penukaran letak blok dalam setiap roundnya, akan memberikan efek confusi dan difusi yang baik pada cipher yang dihasilkan. Algoritma mutant menggunakan 64 bit yang dipecah menjadi 4 blok. Selain itu terdapat operasi lain seperti penjumlahan dan exclusive¬OR. Operasi yang sederhana ini memiliki kerandoman yang cukup layak.


Keyword : Mutant.

1. Pendahuluan

Hal-hal yang perlu diperhatikan dalam mendesain sebuah cipher text terdapat prinsip-prinsip yang harus ada pada cipher text, yaitu menjamin tersedianya efek confusi dan difusi yang baik. Konsep Shannon yang berasal dari pakar kriptografi, Massey, yang sering digunakan hingga saat ini, yaitu confusi dan difusi yang baik sebagai berikut; Confusi : “Statistik dari ciphertext sebaiknya bergantung pada statistic plaintext secara kompleks agar menyulitkan upaya kriptanalis dalam mengexploitasi”. Difusi : “Setiap digit dari plaintext dan setiap digit dari secret key sebaiknya mempengaruhi banyak digit pada ciphertext.

Mutant block cipher didesain untuk memenuhi syarat umum seperti yang telah disebutkan. Desain Mutant blok cipher merupakan hasil adopsi dan modifikasi dari RC6 block cipher. RC6 merupakan salah satu block cipher yang tingkat ketangguhaannya sudah teruji. Dengan pengembangan dari RC5, RC6 memanfaatkan salah satu kekuatan RC5 yaitu pada data­dependent rotation. Pada algoritma Mutant ini, tidak menggunakan datadependent rotation. Selain itu, RC6 yang merupakan konsumen dari AES memanfaatkan operasi tersebut untuk meminimalkan pemakaian memory sehingga secara operasional akan efisien tetapi tidak mengurangi kekuatan kriptografisnya. Mutant block cipher memanfaatkan hal tersebut untuk memberi efek difusi pada ciphernya.

Feistel­ network merupakan arsitektur block cipher yang sudah teruji kekuatannya dan siap untuk dilakukan enkripsi maupun dekripsi. Feistel­ network yang aman harus memenuhi sifat :
1.Tidak memiliki hubungan yang sederhana
2.Seluruh kunci yang digunakan bagus
3.Resisten terhadap Diferential Cryptanalysis
4.Resisten terhadap Linear Cryptanalysis

Mutant block cipher menggunakan beberapa operasi aritmatika dasar yang dikombinasikan sehingga terlihat kompleks dalam strukturnya. Sebab itu, karena operasi yang digunakan sederhana maka dalam implementasi software diharapkan akan menghasilkan kecepatan proses yang cukup tinggi. Karena keterbatasan sumber daya penulis, maka kecepatan proses tersebut masih belum diketahui. Penulis percaya bahwa dengan membuat software yang efisien dan efektif akan memberi kecepatan proses algoritmanya.

2. Notasi

Operasi dasar aritmatika yang digunakan dalam mendesain Mutant block cipher dapat dilambangkan dengan notasi sebagai berikut ;
- a + b , penjumlahan integer dengan mod 216
- a – b , pengurangan integer dengan mod 216
- ab , bitwise exclusive ­OR
- <<< , rotasi 

3. Deskripsi Algoritma,


Pada subbab ini akan dijelaskan mengenai Algoritma Mutant. Algoritma Mutant yang menggunakan basic struktur feistel memisahkan proses key­schedulling dengan proses enkripsi­-dekripsi. Dengan proses key­ schedulling yang telah dibuat terpisah, maka subkey dapat dihasilkan terlebih dahulu sebelum output berupa ciphertext.

3.1. Key schedulling
Key schedulling atau penjadwalan kunci merupakan salah satu bagian yang harus diperhatikan dalam sebuah algoritma kriptografi block. Pembangkitan subkunci yang buruk akan dapat memunculkan celah bagi kriptanalis untuk menganalisis kunci dari sebagian kunci lainnya agar didapatkan fix key untuk mendekript cipher text. Pembangkitan(generating) kunci dipengaruh oleh seberapa kuat fungsi-fungsi yang membentuknya agar diperoleh kunci yang bersifat acak (random).

Pada Mutant block cipher dengan inputan kunci 64 bit dengan menggunakan fungsi LFSR(Linear Feedback Shift register) 4 stages, dimanafeedback yang digunakan dianggap sudah memenuhi sifat primitif, akan menghasilkan periode maksimum, tepatnya . Kunci yang digunakan akan dipisahkan menjadi 64 buah blok subkey, yang setiap subkeynya berisi 16 bit yang siap untuk di operasikan. Dalam menghasilkan rangkaian kunci, LFSR ini menggunakan sebuah nilai yang diambil dari salah satu sbox AES berukuran 16 bit yang dinamakan platinum_Number. Nilai dari platinum_Number yang diberikan adalah 0x9e37.

Setelah subkey terbentuk sebanyak 64 blok, tiap 4 blok subkey akan dipakai dalam setiap round. Sehingga Aloritma Mutant akan terdapat 16 round dalam proses enkripsi/dekripsi.


Gambar. Fungsi LFSR sebagai key generator

3.2. Enkripsi

Pada subbab ini merupakan penjelasan dari algoritma Mutant. Plaintext berukuran 64 bit akan dipecah menjadi 4 blok plain text, kemudian dengan kunci 64 bit yang di generate menggunakan LFSR yang fungsi feedbacknya primitive sehingga akan menghasilkan sebanyak rangkaian bit kunci yang akan di kelompokkan menjadi 16 blok subkey, dimana setiap blok subkey terdiri dari 16 bit dengan proses 16 round. Setiap round hanya terdiri dari operasi dasar aritmatika sederhana, permutasi, dan substitusi. Pada substitusi box(s-box), algoritma Mutant menggunakan s-box AES, dimana s-box tersebut sudah terbukti sangat kuat dan memenuhi sifat confusi yang amat baik.


Gambar. Skematik Mutant Algorithm

4. Kesimpulan dan Saran

4.1 Kesimpulan
1. Algoritma ini sebagai block cipher sederhana.
2. Penggabungan konsep RC6 sebagai enkripsi dan LFSR sebagai pembangkit kunci, membuat algoritma ini memiliki kerandoman yang baik secara teoritis.

4.2 Saran 
1. Perlu dilakukan analisis agar diketahui kelemahan dari algoritma ini.
2. Modifikasi untuk menambah kekuatan algoritma perlu dilakukan.

ENKRIPSI DAN DESKRIPSI



Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data  atau pesan  tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga. Hal ini seiring dengan semakin berkembangnya teknologi jaringan komputer dan internet. Semakin banyaknya aplikasi yang muncul memanfaatkan teknologi jaringan Beberapa aplikasi tersebut menuntut tingkat aplikasi  pengiriman data yang aman. Dalam Kriptografi ada dua proses utama, yaitu enkripsi dan deskripsi.

Enkripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. atau bisa didefinisikan juga Enkripsi, merupakan proses untuk mengubah plainteks menjadi chiperteks. Planteks sendiri adalah data atau pesan asli yang ingin dikirim, sedangkan Chiperteks adalah data hasil enkripsi.Definisi lain tentang Enkripsi adalah proses mengacak data sehingga tidak dapat dibaca oleh pihak lain.
Enkripsi mempunyai kelebihan dan kekurangan yang diantaranya adalah:
  • Kelebihan dari Enkripsi
    • Kerahasiaan suatu informasi terjamin
    • Menyediakan autentikasi dan perlindungan integritas pada algoritmachecksum/hash
    • Menanggulangi penyadapan telepon dan email
    • Untuk digital signature
  • Kekurangan dari Enkripsi
    • Penyandian rencana teroris
    • Penyembunyian record kriminal oleh seorang penjahat
    • Pesan tidak bisa dibaca bila penerima pesan lupa atau kehilangan kunci

Deskripsi dalam dunia keamanan komputer merupakan proses untuk mengubah chiperteks menjadi plainteks atau pesan asli jadi Deskripsi merupakan  kebalikan dari Enkripsi upaya pengolahan data menjadi sesuatu yang dapat diutarakan secara jelas dan tepat dengan tujuan agar dapat dimengerti oleh orang yang tidak langsung mengalaminya sendiri

Salah satu hal yang penting yang perlu diperhatikan adalah sebuah teknik penyandian. Teknik penyadian berbagi macam - macam. Berikut teknik penyandian.

1.      Penyadian monoalfabetik
Penyandi Monoalfabetik, merupakan setiap huruf digantikan dengan sebuah huruf. Huruf yang sama akan memikili pengganti yang sama. Misalnya huruf “a” digantikan dengan huruf “e”, maka setiap huruf “a” akan digantikan dengan huruf “e”.
  1. Caesar 
Metode Caesar Cipher yang digunakan oleh Julius Caesar. Pada prinsipnya, setiap huruf digantikan dengan huruf yang berada tiga (3) posisi dalam urutan alfabet. Sebagai contoh huruf “a” digantikan dengan huruf “D” dan seterusnya. 

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw00vl7H5aaeBDJQsSkyDqNOnahhkfcvvCB2AnIJCLI80Dyo8e2pDJ-7phhIwM-IE_tQLTPXQyVTzYLDedao_3HdjLVWZ6EGX1B-7Sc0eTf8Qnaox9qPOi9o5yNF9tpm3DXw2yuItHwNg/s1600/800px-caesar3-svg.png
Gambar 1. Gambaran Umum Metode Caesar

  1. ROOT13
Pada sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi darinya. Sebagai contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan seterusnya. Enkripsi ini merupakan penggunaan dari sandi Caesar dengan geseran 13. ROT13 biasanya digunakan di forum internet, agar spoiler, jawaban teka-teki, kata-kata kotor, dan semacamnya tidak terbaca dengan sekilas. Hal ini mirip dengan mencetak jawaban TTS secara terbalik di surat kabar atau majalah.
                                                                                                                     
2.      Penyandian Polialfabetik
Merupakan suatu enkripsi dilakukan dengan mengelompokkan beberapa huruf menjadi sebuah kesatuan (unit) yang kemudian dienkripsi. Metode pada Penyandi Polialfabetik adalah Playfair. Playfair ini menggunakan tabel 5×5. Semua alfabet kecuali J diletakkan ke dalam tabel. Huruf J dianggap sama dengan huruf I, sebab huruf J mempunyai frekuensi kemunculan yang paling kecil.
Berikut ini aturan-aturan proses enkripsi pada Playfair:
  1. Jika ada dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf di kanannya (pada kunci yang sudah diperluas)
  2. Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di bawahnya (pada kunci yang sudah diperluas)
  3. Jika dua huruf tidak pada baris yang sama atau kolom yang sama, maka huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua. Huruf kedua diganti dengan huruf pada titik sudut keempat dari persegi panjang yang dibentuk dari 3 huruf yang digunakan sampai sejauh ini
  4. Jika kedua huruf sama, maka letakkan sebuah huruf di tengahnya (sesuai kesepakatan).
  5. Jika jumlah huruf plainteks ganjil, maka tambahkan satu huruf pada akhirnya, seperti pada aturan ke-4.

Contoh :
  • Enkripsikan kata : SISTEM INFORMASI
  • Kata Kunci : GUNADARMA
  • Buang huruf yang sama dari kata kunci :
GUNADRM
  • Tambahkan huruf yang lain setelahnya
GUNADRMBCEFHIKLOPQSTVWXYZ
  • Buat tabel kunci yang diperluas dari kata2 diatas :
G
U
N
A
D
G
R
M
B
C
E
R
F
H
I
K
L
F
O
P
Q
S
T
O
V
W
X
Y
Z
V
G
U
N
A
D


  • Kelompokan plain-text sesuai dengan aturan yang berlaku :
SI – ST – EM – IN – FO – RM – AS – IZ
  • Enkripsikan kumpulan kata diatas sesuai dengan rule dan tabel kunci :
SI – ST – EM – IN – FO – RM – AS – IZ
QK – TO – RB – QB – OV – MB – CY - LX

3.      Penggunaan Publik key
Public Key Infrastructure (PKI) adalah sebuah cara untuk otentikasi, pengamanan data dan perangkat anti sangkal. Secara teknis, PKI adalah implementasi dari berbagai teknik kriptografi yang bertujuan untuk mengamankan data, memastikan keaslian data maupun pengirimnya dan mencegah penyangkalan. Teknik-teknik kriptografi yang digunakan antara lain:
o   fungsi hash,
o   algoritma enkripsi simetrik,
o   algoritma enkripsi asimetrik.
Fungsi hash akan digunakan bersama dengan algoritma enkripsi asimetrik dalam bentuk tanda tangan digital untuk memastikan integritas dan keaslian berita/data berikut pengirimnya. Algoritma enkripsi simetrik digunakan untuk mengamankan data dengan cara enkripsi. Dalam PKI penggunaan algoritma enkripsi simetrik tidak langsung didefinisikan tetapi telah diimplementasikan oleh berbagai perangat lunak. Secara garis besar PKI diwujudkan dalam bentuk kolaborasi antar komponen-komponennya. Komponen-komponen PKI antara lain:
o   Subscriber,
o   Certification Authority (CA),
o   Registration Authority (RA),
o   Sertifikat Digital.
Secara praktis wujud PKI adalah penggunaan sertifikat digital. Sertifikat digital adalah sebuah file komputer yang berisi data-data tentang sebuah public key, pemiliknya (subscriber atau CA), CA yang menerbitkannya dan masa berlakunya

METODE ENKRIPSI
1.      DES
DES merupakan salah satu algoritma kriptografi cipher block dengan ukuran blok 64 bit dan ukuran kuncinya 56 bit. Algoritma DES dibuat di IBM, dan merupakan modifikasi daripada algoritma terdahulu yang bernama Lucifer. Lucifer merupakan algoritma cipher block yang beroperasi pada blok masukan 64 bit dan kuncinya berukuran 28 bit. Pengurangan jumlah bit kunci pada DES dilakukan dengan alasan agar mekanisme algoritma ini bisa diimplementasikan dalam satu chip. 
DES pertama kali dipublikasikan di Federal Register pada 17 Maret 1975. Setelah melalui banyak diskusi, akhirnya algortima DES diadopsi sebagai algoritma standar yang digunakan oleh NBS (National Bureau of Standards) pada 15 Januari 1977. Sejak saat itu, DES banyak digunakan pada dunia penyebaran informasi untuk melindungi data agar tidak bisa dibaca oleh orang lain. Namun demikian, DES juga mengundang banyak kontroversi dari para ahli di seluruh dunia. Salah satu kontroversi tersebut adalah S-Box yang digunakan pada DES. S-Box merupakan bagian vital dari DES karena merupakan bagian yang paling sulit dipecahkan. Hal ini disebabkan karena S-Box merupakan satu – satunya bagian dari DES yang komputasinya tidak linear. Sementara itu, rancangan dari S-Box sendiri tidak diberitahukan kepada publik. Karena itulah, banyak yang curiga bahwa S-Box dirancang sedemikian rupa sehingga memberikan trapdoor kepada NSA agar NSA bisa membongkar semua ciphertext yang dienkripsi dengan DES kapan saja. 
Kontroversi yang kedua adalah jumlah bit pada kunci DES yang dianggap terlalu kecil, hanya 56 bit. Akibatnya DES rawan terhadap serangan brute force. Walaupun terdapat kerawanan tersebut, DES tetap digunakan pada banyak aplikasi seperti pada enkripsi PIN (Personal Identification Numbers) pada mesin ATM (Automatic Teller Machine) dan transaksi perbankan lewat internet. Bahkan, organisasi – organisasi pemerintahan di Amerika seperti Department of Energy, Justice Department, dan Federal Reserve System menggunakan DES untuk melindungi penyebaran data mereka.
Pada sekitar akhir tahun 1960, IBM melakukan riset pada bidang kriptografi yang pada akhirnya disebut Lucifer. Lucifer dijual pada tahun 1971 pada sebuah perusahaan di London. Lucifer merupakan algoritma berjenis Block Cipher yang artinya bahwa input maupun output dari algoritma tersebut merupakan 1 blok yang terdiri dari banyak bit seperti 64 bit atau 128 bit. Lucifer beroperasi pada blok input 64 bit dan menggunakan key sepanjang 128 bit. Lama kelamaan Lucifer semakin dikembangkan agar bisa lebih kebal terhadap serangan analisis cypher tetapi panjang kuncinya dikurangi menjadi 56 bit dengan maksud supaya dapat masuk pada satu chip. Di tempat yang lain, biro standar amerika sedang mencari-cari sebuah algoritma enkripsi untuk dijadikan sebagai standar nasional.IBM mencoba mendaftarkan algoritmanya dan di tahun 1977 algoritma tersebut dijadikan sebagai DES (Data Encryption Standard). Algoritma ini telah disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat. DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok. DES beroperasi pada ukuran blok 64 bit dan mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau sub-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.


Skema global dari algoritma DES adalah sebagai berikut:
Gambar 2. Skema Global DES

a)      Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP).
b)      Hasil permutasi awal kemudian di-enciphering- sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
c)      Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1 ) menjadi blok cipherteks.

2.      RSA
Nama RSA merupakan kependekan dari pembuat alghoritma itu sendiri yaitu Rivest, Shamir dan Adleman. RSA merupakan alghoritma untuk melakukan enkripsi data dengan memanfaatkan fasilitas public dan private key. RSA merupakan alghoritma pertama yang mengimplementasikan Digital Signature juga alghoritma pertama yang berhasil dengan baik dalam implementasi public dan private key. Sampai hari ini RSA masih digunakan sebagai alghoritma utama dalam melakukan enkripsi data terutama dalam suatu koneksi jaringan internet, dimana data yang ditransfer sangat rawan akan pencurian (man in middle attack).

Alghoritma ini biasanya digunakan untuk melakukan enkripsi data pada protokol-protokol aman seperti TLS dan SSL. Salah satu service/layanan paling populer yang menggunakan TLS atau SSL diantaranya HTTPS atau protokol HTTP yang aman. Telah terdapat banyak software yang dapat digunakan untuk memanfaatkan fasilitas TLS dan SSL ini, diantaranya yang paling populer adalah OpenSSL dan GnuTLS. Aplikasi server juga sudah banyak yang mendukung layanannya agar dapat berjalan dalam protokol ini seperti Apache HTTPD, Sendmail, dan sebagainya.


Followers

English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified


  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP