Monday, June 25, 2012

SKIPJACK

 
Dalam kriptografi, Skipjack merupakan cipher blok-algoritma untuk enkripsi yang dikembangkan oleh US National Security Agency (NSA). Awalnya diklasifikasikan, itu awalnya ditujukan untuk digunakan dalam chip Clipper kontroversial. Selanjutnya, algoritma terbongkar dan sekarang memberikan wawasan yang unik ke dalam desain cipher dari badan intelijen pemerintah. Skipjack menggunakan kunci 80-bit untuk mengenkripsi atau mendekripsi 64-bit blok data. Ini adalah jaringan Feistel tidak seimbang dengan 32 putaran. Hal ini dirancang untuk digunakan dalam ponsel.

International Data encryption Alghorythm (IDEA)



Dalam kriptografi, Data Encryption Algoritma Internasional (IDEA) adalah blok cipher yang dirancang oleh James Massey dari ETH Zurich dan Xuejia Lai dan pertama kali dijelaskan pada 1991. Sebagai blok cipher, juga simetris. Algoritma ini dimaksudkan sebagai pengganti Data Encryption Standard (DES). IDEA merupakan revisi kecil dari Standar, cipher sebelumnya Enkripsi Usulan (PES); IDEA awalnya disebut Improved PES (IPES).

Cipher ini dirancang berdasarkan kontrak penelitian dengan Yayasan Hasler, yang menjadi bagian dari Ascom-Tech AG. Cipher ini dipatenkan di sejumlah negara tetapi tersedia secara bebas untuk non-komersial. Nama "IDEA" juga merek dagang. Paten akan berakhir pada 2011-2012. Hari ini, IDEA dilisensikan di semua negara di mana ia dipatenkan oleh MediaCrypt.

IDEA digunakan dalam Pretty Good Privacy (PGP) v2.0, dan didirikan setelah cipher asli yang digunakan di v1.0, BassOmatic, ditemukan tidak aman IDEA merupakan algoritma opsional dalam standar OpenPGP.

IDEA beroperasi pada 64-bit blok dengan menggunakan kunci 128-bit, dan terdiri dari serangkaian delapan transformasi identik (bulat, lihat ilustrasi) dan transformasi keluaran (setengah bulat). Proses untuk enkripsi dan dekripsi adalah sama. IDEA berasal banyak dari keamanan dengan interleaving operasi dari kelompok yang berbeda - Selain modular dan perkalian, dan bitwise exclusive OR (XOR) - yang secara aljabar "kompatibel" dalam arti tertentu.

RIVEST CODE 2 (RC 2) DAN RIVEST CODE 4 (RC 4)



Rivest Code 2 (RC2) dan Rivest Code 4 (RC4) adalah teknik enkripsi yang disebut sebagai stream-cipher, dimana pada setiap byte data dilakukan manipulasi bit. Teknik enkripsi RC ditemukan oleh Ronald Rivest yang kemudian menjadi salah satu pendiri dari perusahaan keamanan data RSA. Beberapa teknik enkripsi kunci publik yang populer adalah:
  • Diffie-Hellman
  • RSA
  • Rabin
  • ElGamal
Semua algoritma kunci publik (asimetri) menggunakan fungsi matematis untuk mengubah plaintext menjadi ciphertext. Diffie-Hellman menggunakan aritmetik modulus dimana dua kunci berbeda akan memberi hasil yang sama berdasarkan nilai modulus-nya. RSA adalah singkatan dari Rivest, Shamir, dan Adleman, tiga orang yang bekerja sama membangun suatu algoritma kunci publik. 
RSA merupakan algoritma kunci publik yang terkuat, dan seperti Diffie-Hellman, RSA juga menggunakan aritmetik modulus dalam komputasi enkripsi-dekripsi. Rabin adalah teknik yang merupakan salah satu variasi dari RSA, ditemukan oleh M.Rabin. ElGamal merupakan variasi dari Diffie-Hellman, ditemukan ElGamal.
Salah satu aplikasi dari algoritma kunci publik adalah software PGP (Pretty Good Privacy). 

PGP digunakan untuk pengamanan berkomunikasi lewat e-mail, dimana e-mai di-enkripsi pada saat dikirim sehingga hanya orang yang memiliki kunci private yang bisa membaca e-mail tersebut.

TRIPLE DES (TRIPLE DATA ENCRYPTION STANDARD)

3DES (Triple Data Encryption Standard) merupakan salah satu algoritma simetris pada kriptografi yang digunakan untuk mengamankan data dengan cara menyandikan data. Proses yang dilakukan dalam penyandian datanya, yaitu proses enkripsi dan proses dekripsi. Algoritma 3DES adalah suatu algoritma pengembangan dari algoritma DES (Data Encryption Standard). Perbedaan DES dengan 3DES terletak pada panjangnya kunci yang digunakan. Pada DES menggunakan satu kunci yang panjangnya 56-bit, sedangkan pada 3DES menggunakan 3 kunci yang panjangnya 168- bit (masing-masing panjangnya 56-bit). Pada 3DES, 3 kunci yang digunakan bisa bersifat saling bebas (K1 ≠ K2 ≠ K3) atau hanya dua buah kunci yang saling bebas dan satu kunci lainnya sama dengan kunci pertama (K1 ≠ K2 dan K3 = K1). Karena tingkat kerahasiaan algoritma 3DES terletak pada panjangnya kunci yang digunakan, maka penggunaan algoritma 3DES dianggap lebih aman dibandingkan dengan algoritma DES. 

Tahap pertama, plainteks yang diinputkan dioperasikan dengan kunci eksternal pertama (K1) dan melakukan proses enkripsi dengan menggunakan algoritma DES. Sehingga menghasilkan pra-cipherteks pertama. Tahap kedua, pra-cipherteks pertama yang dihasilkan pada tahap pertama, kemudian dioperasikan dengan kunci eksternal kedua (K2) dan melakukan proses enkripsi atau proses dekripsi (tergantung cara pengenkripsian yang digunakan) dengan menggunakan algoritma DES. Sehingga menghasilkan prs-cipherteks kedua. Tahap terakhir, pra-cipherteks kedua yang dihasilkan pada tahap kedua, dioperasikan dengan kunci eksternal ketiga (K3) dan melakukan proses enkripsi dengan menggunakan algoritma DES, sehingga menghasilkan cipherteks (C). 

Dalam kriptografi, Triple DES adalah nama umum untuk Algoritma Data Encryption Triple (TDEA atau Triple DEA) blok cipher, yang menerapkan Standar Enkripsi Data (DES) algoritma cipher tiga kali untuk setiap blok data. 

Ukuran kunci DES asli cipher dari 56 bit pada umumnya cukup ketika algoritma yang dirancang, tetapi ketersediaan daya komputasi semakin membuat serangan brute force layak. Triple DES menyediakan metode yang relatif sederhana meningkatkan ukuran kunci DES untuk melindungi terhadap serangan tersebut, tanpa perlu merancang sebuah algoritma blok cipher baru. 

Seperti semua blok cipher, enkripsi dan dekripsi dari beberapa blok data dapat dilakukan dengan menggunakan berbagai modus operasi, yang secara umum dapat didefinisikan secara independen dari algoritma blok cipher. Namun, ANS X9.52 menentukan secara langsung, dan NIST SP 800-67 menentukan melalui SP 800-38A bahwa beberapa mode hanya dapat digunakan dengan batasan tertentu pada mereka yang belum tentu berlaku untuk spesifikasi umum dari mode. Sebagai contoh, ANS X9.52 menetapkan bahwa untuk chaining blok cipher, vektor inisialisasi akan berbeda setiap kali, sedangkan ISO / IEC 10116 tidak. PUB FIPS 46-3 dan ISO / IEC 18033-3 mendefinisikan hanya algoritma blok tunggal, dan tidak menempatkan batasan pada mode operasi untuk beberapa blok

DATA ENCRYPTION STANDARD (DES)

DES termasuk ke dalam sistem kriptografi simetri dan tergolong jenis cipher blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.  



Seperti cipher blok lainnya, DES dengan sendirinya bukan berarti aman dari enkripsi melainkan harus digunakan dalam modus operasi. FIPS-81 menetapkan beberapa mode untuk digunakan dengan DES. Komentar lebih lanjut mengenai penggunaan DES yang terkandung dalam FIPS-74.

TRANSPOSITION CIPHER

 Transposition ciphers mengatur ulang huruf-huruf dari plaintext tanpa menggantinya. Sebagai contoh, transposition cipher yang sangat sederhana adalah the rail fence, di mana plaintext ditulis per huruf dalam dua baris dan kemudian dibaca per baris untuk dijadikan ciphertext. 

The rail fence adalah contoh sederhana dari jenis transposition ciphers yang disebut juga dengan route ciphers. Umumnya, di route ciphers elemen-elemen plaintext (biasanya per huruf) ditulis ke dalam bentuk matriks yang disetujui oleh pengirim (transmitter) dan penerima (receiver). 

Contoh berikut ini menggunakan kunci kata CIPHER, sebuah matriks dapat ditulis seperti berikut ini:

C
I
P
H
E
R
1
4
5
3
2
6
B
U
K
U

P
E
S
A
N
A
N

T
E
L
A
H
D
I
K
I
R
I
M






Tidak seperti sebelumnya, plaintext ditulis secara normal dari kiri ke kanan, dan ciphertext-nya akan dibaca dari atas ke bawah (per kolom). Urutan di mana kolom akan ditulis dari ciphertext disesuaikan dengan urutan kuncinya. Matriks di atas akan menghasilkan ciphertext: BE DM AAR UNLI USTIKAEK. 

Kolom pertama C dalah pendahulu dalam urutan alphabet dibanding dengan huruf-huruf lainnya dalam kata “CIPHER”. Diikuti dengan kolom kedua E, dan seterusnya. Keamanan dalam metode enkripsi ini dapat ditingkatkan dengan enkripsi ulang hasil cipher dengan menggunakan transposisi lain. Hal itu dimungkinkan karena setiap hasil transposisi yang berupa ciphertext dapat ditransposisi dengan kunci lainnya untuk menghasilkan ciphertext berikutnya.

LETTER MAP


Standar letter map menggunakan table korespondensi yang dipilih secara sembarang, contoh:
Huruf asli : a b c d e f g h i …
Huruf Sandi : q w e r t y u i o …
Jika dikirimkan berita asli “baca”, akan menjadi “wqeq”. Ketentuan ini tidak mutlak, aturan sandi bisa berubah ubah tergantung dari orang yang mengirimnya.

Sunday, June 24, 2012

CAESAR CIPHER



Dalam bidang ilmu kriptografi terdapat algortima yang menjadi fungsi dasarnya, yaitu :
  1. Enkripsi, merupakan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan asli disebut plaintext, yang diubah menjadi kode – kode yang tidak bisa dimengerti. Dalam hal ini enkripsi disebut juga dengan cipher atau kode.
  2. Dekripsi, merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (teks-asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk dekripsi.
  3. Kunci, yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian yaitu kunci rahasia (private key) dan kunci umum (public key).
  • Tentang Sandi Kaisar (Caesar Cipher)
Substitusi kode yang pertama dalam dunia penyandian dikenal dengan Kode Kaisar, karena penyandian ini terjadi pada saat pemerintahan Yulius Caesar. Dengan mengganti posisi huruf awal dengan alphabet atau disebut dengan algoritma ROT3.

http://triwanda.files.wordpress.com/2011/04/untitled1.jpg?w=300&h=125

Teknik penyandian ini termasuk sandi tersubtitusi pada setiap huruf pada plaintext digantikan oleh huruf lain yang dimiliki selisih posisi tertentu dalam alphabet.
Secara detail table dibawah ini menjelaskan pergeseran yang terjadi pada huruf alphabet.
A
B
C
D
E
F
G
H
I
J
K
L
M
0
1
2
3
4
5
6
7
8
9
10
11
12

N
O
P
Q
R
S
T
U
V
W
X
Y
Z
13
14
15
16
17
18
19
20
21
22
23
24
25

Menjadi :
D
E
F
G
H
I
J
K
L
M
N
O
P
0
1
2
3
4
5
6
7
8
9
10
11
12

Q
R
S
T
U
V
W
X
Y
Z
A
B
C
13
14
15
16
17
18
19
20
21
22
23
24
25

Jika pergeseran yang dilakukan sebanyak tiga kali, maka kunci untuk dekripsinya adalah 3. Pergeseran kunci yang dilakukan tergantung keinginan pengiriman pesan. Bisa saja kunci yang dipakai a = 7, b = 9, dan seterusnya.
Cara kerja sandi ini dapat diilustrasikan dengan membariskan dua set alfabet; alfabet sandi disusun dengan cara menggeser alfabet biasa ke kanan atau ke kiri dengan angka tertentu (angka ini disebut kunci). Misalnya sandi Caesar dengan kunci 3, adalah sebagai berikut:
Alfabet Biasa:   ABCDEFGHIJKLMNOPQRSTUVWXYZ
Alfabet Sandi:   DEFGHIJKLMNOPQRSTUVWXYZABC
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
teks terang :   kirim pasukan ke sayap kiri
teks tersandi : NLULP SDVXNDQ NH VDBDS NLUL
Proses penyandian (enkripsi) dapat secara matematis menggunakan operasi modulus dengan mengubah huruf-huruf menjadi angka, A = 0, B = 1,…, Z = 25. Sandi (En) dari “huruf” x dengan geseran n secara matematis dituliskan dengan,

http://triwanda.files.wordpress.com/2011/04/a.jpg?w=600

Sedangkan pada proses pemecahan kode (dekripsi), hasil dekripsi (Dn) adalah

http://triwanda.files.wordpress.com/2011/04/d.jpg?w=600

Setiap huruf yang sama digantikan oleh huruf yang sama di sepanjang pesan, sehingga sandi Caesar digolongkan kepada, substitusi monoalfabetik, yang berlawanan dengan substitusi polialfabetik.

 
Source code Caesar Cipher (Enkripsi) dengan Bahasa C

#include<stdio.h>
#include<string.h>
int main()
{
int i, angka, angkaBaru, langkah;
char S[80];  char huruf; char enkripsi;
printf(” Penyandian Kode Kaisar \n”);
printf(” masukkan sebuah kata (harus KAPITAL) : “); gets(S);
printf(” Masukkan berapa langkah yang ingin ditempuh : “); scanf(“%d”,&langkah);
printf(” Enkripsi : “);
for(i=0;i<(int)strlen(S);i++)
{
huruf=S[i];
angka=(int)(huruf-’A');
angkaBaru=(angka+langkah)%26;
enkripsi=(char)(angkaBaru+’A');
printf(“%c”,enkripsi);
}
getchar();
return 0;
}

Tampilan
http://triwanda.files.wordpress.com/2011/04/e.jpg