Skipjack sebagai salah satu chipper merupakan suatu encryption algoritma yang dikembangkan oleh National Security Agency Badan Keamanan Nasional Amerika Serikat ( NSA) untuk Clipper Chip. Tidak banyak diketahui algoritma Skipjack ini, karena itu algoritma Skipjack digolongkan rahasia oleh pemerintah Amerika Serikat.
Spesifikasi SKIPJACK
- Notasi dan Terminologi:
v” Set dari semua nilai n-bit
word: Sebuah element dari v16 ; bernilai 16-bit.
Byte: sebuah elemen dari v8 ; bernilai 8-bit.
Permutasi vn : Sebuah invertible(satu-ke-satu dan selanjutnya) fungsi dari Vn ke Vn. Nilai permutasi didalam vn, nilainya tidak dalam bits.
X ล Y Nilai exclusive –OR dari X dan Y
X || Y X serangkai dengan Y. Lihat X, Y merupakan bytes, kemudian X || Y = X x 28 + Y adalah sebuah word. Selanjutnya, X adalah high-order byte, dan Y adalah low-order byte.
- Struktur Dasar: SKIPJACK encrypts 4-word (Contoh: 8-byte) data blok pengganti antara dua langkah aturan (A dan B) yang diperlihatkan seperti dibawah ini.
Langkah dari aturan A seperti berikut:
- G permutasi W1,
- w1 yang baru adalah xor dari keluaran G, sebuah counter, dan w4
- words w2 dan w3 pindah satu register ke kanan; contoh menjadi w3, dan w4 berurutan.
- w2 yang baru adalah keluaran G
- Counter adalah hasil dari kenaikan
- Langkah-langkah Persamaan Peraturan.
Persamaan dibawah ini, superscript dari langkah-langkah angka.
Aturan A Aturan B
w1k+1 = Gk(w1k) ล w4k ล counterk w1k+1 = w4k
w2k+1 = Gk(w1k) w 2k+1 = Gk-1 (w1k)
w3k+1 = w2k w3k+1 = w1k ล w2k ล counterk
w4k+1 = w3k w1k+1 = Gk(w1k) ล w4k ล counterk
DECRYPT
Aturan A-1 Aturan B-1
w1k-1 = [Gk-1]-1 (w2k) w1k-1 = [Gk-1] (w2k)
w2k-1 = w3k w2k-1 = [Gk-1]-1 (w2k) ล w3k ล counterk-1
w3k-1 = w4k w3k-1 = w4k
w4k-1 = w1k ล w2k ล counterk-1 w4k-1 = w1k
- Urutan langkah-langkah:
Algoritma ini totalnya 32 langkah.
- Melakukan encripsi: Masukan adalah wi0, 1ฃ i ฃ 4 (contoh k = 0 untuk langkah awal). Counter di 1. Langkah menurut aturan A dengan 8 langkah, kemudian berubah ke aturan B dan langkahnya lebih dari 8 langkah. Hasil dengan aturan A dengan 8 langkah, kemudian melengkapi encryption dengan 8 langkah dengan aturan B. Counter increment satu kali pada masing-masing langkah. Keluarannya adalah wi32 , 1ฃ i ฃ 4 .
- Untuk mendecrypt: Masukan adalah wi32, 1ฃ i ฃ 4 , (contoh k=32 untuk memulai langkah). Mulai counter di langkah 32. Langkah menurut aturan B-1 untuk langkah ke delapan, kemudian berubah ke aturan A-1 dan langkah lebih dari 8 kali.
- Hasil aturan B-1 untuk 8 langkah selanjutnya, kemudian dilengkapi decrypsinya dengan 8 langkah pada aturan A-1. Counter decrement satu kali setelah setiap langkah. Keluarannya adalah wi0, 1ฃ i ฃ 4 .
- Permutasi - G.
Cryptovariable-dependent pemutasi G di v16 adalah empat putaran struktur Feistel. Fungsi putaran adalah mencampur tabel byte-substitusi (permutasi di v8), yang disebut dengan F-tabel. Masing-masing putaran dari G juga gabungan sebuah byte dari cryptovariable. Ada dua karakteristik dari fungsi seperti dibawah ini.
- Dengan rekursif (system matematika): Gk (w = g1 || g2) = g5 || g6 dimana g1 = F(g I-1 ล cv4k + i-3) ล gi-2 adalah (4k + i – 3)th byte didalam penjadwalan criptovariable. Lalu,
g3 = F (g2 ล cv4k) ล g1
g4 = F (g3 ล cv4k+1) ล g2
g5 = F (g4 ล cv4k+2) ล g3
g6 = F (g5 ล cv4k+3) ล g4
Biasanya untuk kebalikannya, [Gk]-1(w = g5|| g6 =g1 || g2 dimana gi-2 = F (gi-1 ล cv4k + I - 3) ล gi.
- Skemanya:
Gambar 8. Diagram Permutasi – G
- Penjadwalan Cryptovariable.
Criptovariable panjangnya 10 bytes (labelnya dari 0 sampai 9) dan digunakan untuk pemakaian biasa. Lalu penjadwalan subscript diberikan dalam definisi permutasi-G yang diinterpretasikan mod-10.
- F-Tabel:
dari masukan baris dan order terendah index 4 bits pada kolom. Untuk contoh, F(7a) = d6
Tes Vector
Semua nilai adalah heksadesimal. Data ini tidak termasuk atau ditentukan oleh banyak antar muka biasa. Informasi biasanya dengan Most Significant Bit/Byte/Word ke sebelah kiri. X menggambarkan “don’t care”.
- SKIPJACK – MODE CODEBOOK
Plaintext input : 33221100ddccbbaa
Cryptovariable: 00998877665544332211
Langkah lanjutan:
w1 w2 w3 w4
0 33221100 ddccbbaa
1 b0040baf 1100ddcc
2 e6883b46 0baf1100
3 3c762d75 3b460baf
4 4c4547ee 2d753b46
5 b949820a 47ee2d75
6 f0e3dd90 820a47ee
7 f9b9be50 dd90820a
8 d79b5599 be50dd90
9 dd901e0b 820bbe50
10 be504c52 c391820b
11 820b7f51 f209c391
12 c391f9c2 fd56f209
13 f20925ff 3a5efd56
14 fd5665da d7f83a5e
15 3a5e69d9 9883d7f8
16 d7f88990 53979883
17 9c000492 89905397
18 9fdccc59 04928990
19 3731beb2 cc590492
20 7afb7e78 beb2cc59
21 7759bb15 7e7dbeb2
22 fb6445c0 bb157e7d
23 6f7f1115 45c0bb15
24 65a7deaa 111545c0
25 45c0e0f9 bb141115
26 11153913 a523bb14
27 bb148ee6 281da523
28 a523bfe2 35ee281d
29 281d0d84 1adc35ee
30 35eee6f1 25871adc
31 1adc60ee d3002587
32 2587cae2 7a12d300
Keluaran Ciphertext : 2587cae27a12d300
- Algoritma pertukaran kunci (KEA)
p = 9d4c6e6d 42ea91c8 28d67d49 94a9f01b 8e5b5b73 0d0faae7 bd569dd1
914e3ad4 759c8053 31eda145 9fb56be8 a8de4736 652a82b2 76e82acd
63f5b78d 0b75a03e b34d397d be7b3740 8f72136a cb0879fe 61c718a3
7f5154b5 078a7649 fb3d4fb4 c481e010 62c5241f 229fa580 423368dd
51090dbf 25351f0c 5800de05 b92ba6a9
q = 97ad85fd 2b371ed0 69818ab3 c6ee8773 d9db029d
g = 595d3443 ec897c82 51e5fa9d 02ab8b75 c0fc57b0 969f880d a366a100
01912a01 96bcb81c 41ac8485 031ac598 b5481eae 2726b719 d8d9915a
61059734 72386c0a 6a2c732c d6700d34 1f54bf28 d12d692d e2fa05f5
5e898c2e 20bb8a26 02db1ba01 7de672e3 b96d9ac2 9a188450 63d918c3
2ed71266 b783311a 0a8d08ac 487bea44
ra = 6201dd56 237c228a 3f54bc7e 794bdf32 41c67ea6
xa = 62319ac4 7dc14518 0abd323c 59e2b600 2781e494
Ya = 2d29ecd0 2e3497a6 7222d8de bc286131 d149f458 1b3e586d 0151024c
02e8b23d a09a430e 2ca5ed1a 4b2d7725 62316e4d 2804d226 788284ed
655ef546 10d38f66 fab1a0a2 e2d3c661 4401901d 9758d566 722aff1f
734b2adb d2b67f13 00ce455f 00968ca7 91a87678 67363d7d 49ee74a2
8dc349d9 fdfdb96b 01f0fc1f 0690ec96
xb = 63decdad 4487eb71 31dff4f5 1cfbae39 446b9b3d
rb = 52bfa1d7 2f1cf0f0fb 0ff6d5df 15fb7483 167eb0e7
Yb = 7730d4bb f3a2efdb 218e7041 3e861020 14cec06c 205f5419 293b65c6
9a971e54 55eb79a0 bdb90ab2 14c5240e de6cfdd5 8c7c19c5 269d57df
f60b61c1 db2ff648 64bee519 87f27003 4bc390ad 73168209 5e42608c
3d7987f9 649fbf71 6887633e b574b39c c73df899 51fc1bd6 d3889d48
fe2244b8 29afd405 06ab9221 ba562c07
Penghitungan oleh A:
Ra = 97c1fd8a 69fc8f34 a74c7ec3 c1ab176a b91fa0ea d0e6b097 06ae07a1
fbf8d0a6 67032ea4 798082b8 caea827b 4f604b71 e6c24469 211363ea
4bd2122f 4aa6af 4aa6afb9 4857ff06 9db03701 2b289057 b4855e70 f8f7ac4f
92falfe7 6c2a5c82 781ee611 1c1fbdf7 a6eb9dc3 59a8fca0 b632ef3a
2af82e52 c0a7f6a6 a2c961ea fe67
Penghitungan oleh B:
Rb = 91f61808 38f03d5b 6be538ff 6e0bf3cb 9d8afbbe ef199334 b389708b
b0c848da 860f0f27 62cc94a8 e496f8fc 94945538 cf6f1719 57cee4f1
e2eca2ba ddb340da f406e636 bbc6368e 4658fbfo 1a41cbef 5adb4086
42d03cec 4e85920c 8e7530bd e2b78cb8 7cbae364 31de373c d2ebaf29
d8412932 8550dd8c f33e03c2 1a5056a0
Hasil untuk pemakai A:
Uab = 1585dbba c06b963d 6ef5a30e 5c40220b 76fe0528 660be31a c496d1cb
0883ba8e 5a0331e9 ce3fe382 f47a353c edc6896d fdb4c0b5 67aafd72
4ba0ff6f 2c0fa428 fcb07a32 bf6fb88e 22c5ca47 7c9bb9cd 882da4f5
4cc57980 c174352f 13434623 ce3df2d4 14a9e0fb 7a905fe8 4ab282d5
e76e703a 55dabb38 27c2979f 08ea28c8
tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66
8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad4 ae4190ce
bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00
be8fee9b f46bf538 86c4a761 4b43adfe 7282efe4 f9e146b7 1e9f89d6
2bd3c7ed 7d127719 ebf0e08 79e0d0d9
w =95b8c6e7 76e0cae7 34f099cc fe2b90fd 550b4471 2e77c55b 54175031
8ea67481 e1e426f9 73c66f78 1e7935ca 289be80a 411b7b8a 15ec8e41
07dbe4de 60cf14df 39509c10 159fbe69 df442d03 4964cc47 be3163f6
0b55481c b5e02a67 9a07ed85 1981a0d2 872cd0e0 7451a69f 69520cac
13423827 d2ed3252 13b37897 82caf9a1
v1 = 95b8c6e7 76e0cae7 34f0xxxx
v2= 99ccfe2b 90fd550b 4471xxxx
v1 XOR pad = e7496e99 e4628b7f 9ffbxxxx
Kunci untuk pemakai A = 740839de e833add4 6b41xxxx
Hasil untuk pemakai B:
tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66
8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad 4 ae4190ce
bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00
be8fce9b f46bf538 86c4a761 4b43adfe 7282efe4 f9c146b7 1e9f89d6
2bd3c7ed 7d127719 ebf0e0f8 79e0d0d9
uab = 1585dbba c06b963d 6ef5a30e 5c40220b 76fe0528 660be31a c496d1cb
0883ba8e 5a0331e9 ce3fe382 f47a353c edc6896d fdb4c0b5 67aafd72
4ba0ff6f 2c0fa428 fcb07a32 bf6fb88e 22c5ca47 7c9bb9cd 882da4f5
4cc57980 c174352f 13434623 ce3df244 14a9e0fb 7a905fe8 4ab282d5
e76e703a 55dabb38 27c2979f 08ea28c8
w = 95b8c6e7 76e0cae7 34f099cc fe2b90fd 550b4471 2e77c55b 54175031
8ea67481 e1e426f9 73c66f78 1e7935ca 289be80a 411b7b8a 15ec8e41
07dbe4de 60cf14df 39509c10 159fbe69 df442d03 4964cc47 be3163f6
0b55481c b5e02a67 9a07ed85 1981a0d2 872cd0e0 7451a69f 69520cac
13423827 d2ed3252 13b37897 82caf9a1
v1 = 95b8c6e7 76e0cae7 34f0xxxx
v2 = 99ccfe2b 90fd550b 4471xxxx
v1 XOR pad = e7496e99 e4628b7f 9ffbxxxx
Kunci untuk pemakai B = 740839de e833add4 6b41xxxx
- Pertukaran KEA untuk E-Mail
p= 9d4c6e6d 42ea91c8 28d67d49 94a9f01b 8e5b5b73 0d0faae7 bd569dd1 914e3ad4 759c8053 31eda145 9fb56be8 a8de4736 652a82b2 76e82acd 63f5b78d 0b75a03e b34d397d be7b3740 8f72136a cb0879fe 61c718a3 7f5154b5 078a7659 fb3d4fb4 c481e010 62c5241f 229fa580 423368dd 51090dbf 25351f0c 5800de05 b92ba6a9
q= 97ad85fd 2b371ed0 69818ab3 c6ee8773 d9db029d
g= 595d3443 ec897c82 51e5fa9d 02ab8b75 c0fc57b0 969f880d a366a100
01912a01 96bcb81c 41ac8485 031ac598 b5481eae 2726b719 d8d9915a 61059734 72386c0a 6a2c732c d6700d34 1f54bf28 d12d692d e2fa05f5 5e898c2e 20bb8a26 02db1ba0 7de672e3 b96d9ac2 9a188450 63d918c3 2ed71266 b783311a 0a8d08ac 487bea44
ra = 6201dd56 237c228a 3f54bc7e 794bdf32 41c67ea6
xa = 62319ac4 7de14518 0abd322c 59e2b600 2781e494
Ya = 2d29ccd0 2c3497a6 7222d8de bc286131 d149f458 1b3e586d 0151024c
02e8b23d a09a430e 2ca5ed1a 4b2d7725 62316e4d 2804d266 788284ed
655cf546 10d38f66 fab1a0a2 e2d3c661 4401901d 9758d566 722aff1f
734b2adb d2b67f13 00ce455f 00968ca7 91a87678 67363d7d 49ee74a2
8dc349d9 fdfdb96b 01f0fc1f 0690ec96
xb = 63decdad 4487eb71 31dff4f5 1cfbae39 446b9b3d
Yb = 7730d4bb f3a2efdb 218e7041 3e861020 14cec06c 205f5419 293b65c6
9a971e54 55eb79a0 bdb90ab2 14c5240e de6cfdd5 8c7c19c5 269d57df
f60b61c1 db2ff648 64bee519 87f27003 4bc390ad 4bc390ad 73168209 5e42608c 3d7987f9 649fbf71 6887633e b574b39c c73df899 51fc1bd6 d3889d48 fe2244b8 29afd405 06ab9221 ba562c07
Penghitungan oleh A:
Ra = 97c1fd8a 69fc8f34 a74c7ec3 c1ab176a b91fa0ea d0e6b097 06ae07a1
Fbf8d0a6 67032ea4 798082b8 caea827b 4f604b71 e6c24469 211363ea
4bd2122f 4aa6afb6 4857ff06 9db03701 2b289057 b4855e70 f8f7ac4f
92fa1fe7 6c2a5c82 781ee611 1c1fbdf7 a6eb9dc3 59a8fca0 b632ef3a
2af82e52 c0a7f6a6 a2c961ea fc67f418
Hasil untuk pemakai A:
tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66
8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad4 ae4190ce
bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00
be8fce9b f46bf538 86c4a761 4b43adfe4 7282efe4 f9c146b7 1e9f89d6
2bd3c7ed 7d127719 ebf0e0f8 79e0d0d9
uab = 17087175 9f16dfbf b0a0c05e 0ee49abd 49586033 93aa7df3 3d99bc61
68ad318a 7cf81fa8 74f4eb04 4433abe0 6423eb2f 1ebb3cdb 33067152
242d7cf8 987f208d cfdf3797 6398ccd5 6a0bdc1b 2bfd6734 35dedcc9
06bd6d71 a4516738 b91f2a52 689a2d60 802de96d 150fe661 469a2643
18c8d8f5 9ec040ea c623c51a 91d861d1
w = 973b5ca2 558c1469 769bb71c b0d009af 27659f7c 5c166033 cd1a3ac7
eecfeb7e 04d914b8 1a7b76f9 6e32ac6d 9ef949cb 6221f7af e1480220
e0686267 cd3e9144 0c7f5974 b9c8d2b1 268a3ed6 f8c679ae 6be29bc9
c54d3c0d 98bd5c71 3fe3d1b3 b3dddb5e f2b0d952 0ed12d18 6539b019
449ca0e3 1bd2b804 b214a613 0bb932aa
v1 = 973b5ca2 558c1469 769bxxxx
v2 = b71cb0d0 09af2765 9f7cxxxx
v1 XOR pad = e5caf4dc c70e55f1 dd90xxxx
Kunci untuk pemakai A = 97fd1c6b d86bc439 115bxxxx
Hasil untuk pemakai B:
Tab = 8032eb2c b67534a9 c5faf6be a1eb6ef1 de0d3f48 c86be240 8f807e66
8622b9f3 87e0f50f a5868bf5 29ff008d 3ad55e9c 4366bad4 ae4190ce
bc3ae56f 34bf70b6 3ca021dd 563005db bc7e62bb ccc9127a 3603bf00
be8fce9b f46bf538 86c4a761 4b43adfe 7282efe4 f9c146b7 1e9f89d6
2bd3c7ed 7d127719 ebf0e0f8 79e0d0d9
uab = 17087175 9f16dfbf b0a0c05e 0ee49abd 49586033 93aa7df3 3d99bc61
68ad318a 7cf81fa8 74f4eb04 4433abe2f 1ebb3cdb 33067152
242d7cf8 987f208d cfdf3797 6398ccd5 6a0bdc1b 2bfd6734 35dedcc9
06bd6d71 a4516738 b91f2a52 689a2d60 802de96d 150fe661 469a2643
18c8d8f5 9ec040ea c623c51a 91d861d1
w = 973b5ca2 558c1469 769bb71c b0d009af 27659f7c 5c166033 cd1a3ac7
eecfeb7e 04d914b8 1a7b76f9 6ef949cb 6221f7af e1480220
e0686267 cd3e9144 0c7f5974 b9c8d2b1 268a3ed6 f8c679ae 6be29bc9
c54d3c0d 98bd5c71 3fe3d1b3 b3dddb5e f2b0d952 0ed12d18 6539b019
449ca0e3 1bd2b804 b214a613 0bb932aa
v1 = 973b5ca2 558c1469 769bxxxx
v2 = b71cb0d0 09af2765 9f7cxxxx
v1 XOR pad = e5caf4dc c70e55f1 dd90xxxx
Kunci untuk pemakai B = 97fd1c6b d86bc439 115bxxxx
Cryptography telah berkembang sejak lama, ketika orang menginginkan informasi yang ia kirimkan tidak dapat “dibaca” oleh pihak tak berkepentingan. Cryptography secara tradisional dikenal dengan dua mekanisme, yaitu kunci privat dan kunci publik. Sesuai dengan materi yang penulis buat maka enkripsi Skipjack termasuk dalam kunci privat berupa DES (data encryption standard). Enkripsi secara konvensional tergantung pada beberapa factor:
- Algoritma enkripsi harus cukup kuat sehingga menjadikan sangat sulit untuk mendekripsikan chipper teks yang diterima dengan chipper teks tersebut terutama oleh orang yang tidak berkepentingan dengan pesan kita.
- Keamanan dari algoritma enkripsi bergantung pada kerahasiaan dari kuncinya bukan algoritmanya.
Mengingat enkripsi dengan Skipjack secara matematis sangat terjamin, untuk itu dalam bekerja dengan enkripsi ini diperlukan kesepakatan bagi pemegangnya agar aman harus:
- Kunci harus dirahasiakan.
- Adalah tidak mungkin atau sangat tidak praktis untuk menterjemahkan informasi yang telah dienkripsi.
- Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untuk menentukan kunci.
Dengan demikian apabila kita ingin menekuni bidang enkripsi ini, diperlukan pengetahuan khusus agar kita dapat mengelola dengan baik enkripsi chipper text dari pesan-pesan yang memang perlu dirahasiakan.
Kesimpulan.
Cryptography telah berkembang sejak lama, ketika orang menginginkan informasi yang ia kirimkan tidak dapat “dibaca” oleh pihak tak berkepentingan. Cryptography secara tradisional dikenal dengan dua mekanisme, yaitu kunci privat dan kunci publik. Sesuai dengan materi yang penulis buat maka enkripsi Skipjack termasuk dalam kunci privat berupa DES (data encryption standard). Enkripsi secara konvensional tergantung pada beberapa factor:
- Algoritma enkripsi harus cukup kuat sehingga menjadikan sangat sulit untuk mendekripsikan chipper teks yang diterima dengan chipper teks tersebut terutama oleh orang yang tidak berkepentingan dengan pesan kita.
- Keamanan dari algoritma enkripsi bergantung pada kerahasiaan dari kuncinya bukan algoritmanya.
Mengingat enkripsi dengan Skipjack secara matematis sangat terjamin, untuk itu dalam bekerja dengan enkripsi ini diperlukan kesepakatan bagi pemegangnya agar aman harus:
- Kunci harus dirahasiakan.
- Adalah tidak mungkin atau sangat tidak praktis untuk menterjemahkan informasi yang telah dienkripsi.
- Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untuk menentukan kunci.
Dengan demikian apabila kita ingin menekuni bidang enkripsi ini, diperlukan pengetahuan khusus agar kita dapat mengelola dengan baik enkripsi chipper text dari pesan-pesan yang memang perlu dirahasiakan.
Referensi
http://74.125.153.132/search?q=cache:AbhO20thNTwJ:budi.insan.co.id/courses/el7010/dikmenjur/zaidan-report.doc+metode+keamanan+komputer+skipjack&cd=1&hl=id&ct=clnk&gl=id
disusun :
Aji Nugroho 2007-53-198
Zulia Putri Dewi 2007-53-202
Ahmad Teguh Susilo 2007-53-240
Lilik Chusnawati 2007-53-241
Tidak ada komentar:
Posting Komentar