BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIK a. invers + merupakan operasi bilangan + mungkin merupakan penambaha atau perkalian + bilangan I disebut idensitas untuk jika x * i = x untuk setiap bilangan x + contoh : 0 merupakan identitas untuk + karena x + 0 = x 1 merupakan identitas untuk * karena x * 0 = x i = identitas untuk operasi * Bilangan b disebut invers a dibawah * jika a * b = i dan b * a = i Invers dari elemen a sering ditunjukan dengan : a-1
b.
Bilangan prima Bilangan yang besar dari 1 yang habis dibagi (dengan sisa 0) Tetapi tidak boleh bilangan itu sendiri atau 1 Contoh : 2 3 5 7 11 13 17 19 23 29 31 37 41 43\ Bilangan yang bukan prima disebut : Komposit
c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer terbesar yg membagi 1 dan b contoh : gcd(15,10) hasilnya 5 bilangan 5 dapat habis membagi bilangan 15 dan 10 serta tidak ada integer yg lebih besar dari 5 yang habis membagi 15 dan 10 yang lain : + gcd(24,36) = ….. + gcd(35,45) = ….. + gcd(45,60) = ….. d. Euclidean Algorithm perkembangan dari gcd , yang merupakan prosedure untuk menghitung gcd dari 2 bilangan jika x dibagi a, b maka a-(k*b) untuk setiap nilai k a = x * a1 dan b = x * b1 a – (k*b) = x*a1 – (x * k * b1) = x * (a1 – k * b1) =x*d a=m*b+r untuk 0≤r
contoh : gcd (3615807, 2763323) 3615807 = 1 * 2763323 + 852484 2763323 = 3 * 8525484 + 205871 8525484 = 4 * 205871 + 29000 205871 = 7 * 29000 + 2871 29000 = 10 * 2871 + 290 2871 = 9 * 290 + 261 290 = 1 * 261 + 29 261 = 9 * 29 + 0 gcd (3615807, 2763323) = 29
soal : hitung gcd(1875, 405)
e. Modular aritmatic + merupakan cara untuk mendapatkan hasil dalam kisaran tertentu + 2 integer berbeda dapat memiliki modulus yg sama + contoh : 11 mod 3 = 2 5 mod 3 = 2 + Dua bilangan adalah ekuivalen dibawah modulus n, jika hasil mod n bilangan2 tersebut adalah sama X ≡n Y jika dan hanya jika x mod n) = (y mod n) Ekuivalen X ≡n Y jika dan hanya jika (x – y) = k * n untuk k = integer rms: a mod n = b untuk a = c * n + b
- properti : associativity
a + (b + c) mod n = (a + b) + c mod n a * (b * c) mod n = (a * b) * c mod n
commutativity a + b mod a = b + a mod n a * b mod n = b * a mod n distributivity
a * (b + c) mod n = ((a * b) + (a + c)) mod n
existence of identifier a + 0 mod n = 0 + a mod n = a a * 1 mod n = 1 * a mod n = a existence of invers a + (-a) mod n = 0 a * (a-1) mod n = 1 jika a ≠ 0
reducebility
(a + b) mod n = ((a mod n ) + (b mod n)) mod n (a * b) mod n = ((a mod n ) * (b mod n)) mod n
contoh, penjumlahan mod 5 dan perkalian mod 5 + 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
* 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
3 + 4 mod 5 = 2 sebab 3 + 4 = 7 dan 7 - 5 = 2 maka 3 + 4 mod 5 = 2 4 * 4 mod 5 = 1 sebab 4 * 4 = 16 , 16 –5 = 11 , 11–5 = 6, 6 – 5 = 1 soal : a. mod 7 b. mod 11 c. mod 13
2 0 2 4 1 3
3 0 3 1 4 2
4 0 4 3 2 1
Menghitung invers : Invers dari elemen a adalah elemen b, sehingga a * b = 1 Invers perkalian dari a dapat ditulis : a-1 Lihat tabel perkalian 5 diatas : Invers dari 1 = 1 Invers dari 2 = 3 Invers dari 3 = 2 Invers dari 4 = 4 Nilai-nilai ini diperoleh dari inspeksi/pemeriksaan bukan dari algoritma sistematik
Teorema fermat Didalam teori bilangan, teorema fermat menyatakan : Untuk bilangan prima p dan elemen a < p ap mod p = a atau ap-1 mod p = 1 invers a adalah x, a x mod p = 1 kombinasi 2 persamaan: a x mod p = 1 = ap-1 mod p sehingga x = ap-2 mod p methoda ini bukan methoda lengkap untuk menghitung invers, hanya bekerja untuk p = prime dan elemen a < p
soal : hitung invers perkalian berikut : 3-1 mod 5 = ….. 2-1 mod 7 = ….. 4-1 mod 5 = …. 2-1 mod 11 = ….. 3-1 mod 7 = ….. 2-1 mod 13 = …..
2. Public key Encryption sistem - motivasi - karakteristik (public key = asymetris) - NP-completeness (Node Problem) & Encryption - Polynomial : - Polynomial functions Contoh : n, 10n, n2, 5n3, … - Exponential functions Contoh : 2n, 210n, … f(x) = (xn + a1xn1 + a2x3 + a3x2 + a4x + a5)mod p dimana : p = 264 – 59 n = 224 + 17 ai= angka random 19 digit, dimana i = 1, 2, 3, 4, 5 ) x = password asli yg diketik f(x)= password yg sudah diencription atau f(x) = (xn + a1xn-1 + ...... +an-1) mod p - merupakan algoritma paling tidak baik karena mempunyai batasan misalnya : n10000000
- Nondeterminism 2 phase algorithms: - The nondeterministic phase (the guessing phase) Merupakan perkiraan dari suatu problem yang dihadapi - The deterministic phase (the checking phase) Suatu kepastian dari algorithm yg dijalankan atau diluar hasil solusi dari phase 1. - Complexity Classes Class P P suatu tingkat masalah dalam polynomial-bounded. Class NP NP merupakan masalah dalam nondeterministic polynomial-bounded algorithm Aturan : P ⊆ NP Maksud : Sebuah kepastian dari algorithm khususnya untuk nondeterministic algorithm (with phase 1 ignored
Karakteristik Hard Problem * clique suatu graph dimana vertex nya berhubungan satu sama lainya
- Setiap perolehan harus ada pemecahannya dan relatif mudah - Bila ada 2 n kasus ditemukan dan memecahanya hanya menggunakan non numeric maka semua hasilnya mungkin untuk semua input - Masalahnya : * logic * teori penomoran * teori graph - Jika taksiran mendatang untuk setiap problem ada pemecahanya dengan waktu singkat : proses verifiksi batasan polynomial - NP problem untuk kepuasan : FALSE atau True
Secret Key Encryption = Single Key = Symmetric private key = conventional algoritma Encryption & decryption sama keynya Contoh : DES
- Public key pengirim menggunakan public key penerima untuk encryption dan penerima menggunakan private key untuk decryption
contoh : Merkle Hellam Knapsack, RSA dan EL Gamal
Public Key Encryption Process • Confidentiality: C = E(pubkey, M) • Authentication: D = E(privkey, M) – Digital signature
Secret Key Encryption
keuntungan: - symmetry mempunyai 2 arah - authetication (hanya yg berhak yg dapat mengirim) kerugian : - hanya 1 kesalahan - masalah didistribusi - penambahan key sukar - relatif lemah
PKC Algorithm Requirements Oleh Diffie dan Hellman, tahun 1976 Key di generation dengan perhitungan yang mudah 1. Encryption mudah dihitung 2. Decryption mudah dihitung 3. Perhitungan yg mungkin sampai menemukan private key given public key 4. Hitung yang mungkin untuk meng recover plaintext didapat public key dan ciphertext 5. Fungsi Encryption dan decryption dapat diterapkan seperti sbb : – M = DKRb[EKUb(M)] = EKRb[DKUb(M)]
Conventional and Public-Key Encryption Conventional (Symmetric)
Public-Key (Asymmetric)
• Same algorithm and key used for encryption and decryption • Parties share algorithm and key
• Same algorithm but different keys used for encryption and decryption • Parties share algorithm but each has one key from a matched pair • One key must be kept secret • Cipher must be strong • Plaintext/ciphertext pairs plus one of the keys must not weaken the other key
• Key must be kept secret • Cipher must be strong • Plaintext/ciphertext pairs must not weaken the security of the key
Principles of PKC
Public-Key Cryptosystem: Secrecy
Y = EKUb(X) X = DKRb(Y)
KUb: B’s public key KRb: B’s private key
Principles of PKC
PKC: Authentication
Y = EKRa(X) X = DKUa(Y)
No protection of confidentiality
Principles of PKC
PKC: Secrecy and Authentication
Z = EKUb[EKRa(X)] X = DKUa[DKRb(Z)]
Principles of PKC
One-way and Trap-door Functions • One-way function – Y = f(X) – X = f-1(Y)
easy (polynomial time) infeasible (non-polynomial time)
• Trap-door one-way functions – – – –
Family of invertible functions, one for each k Y = fk(X) easy, given k and X X = fk-1(Y) easy, given k and Y X = fk-1(Y) infeasible if Y is known but k is unknown
a.
Merkle Hellman Knapsack - merupakan public key - integer untuk public : private merupakan hubungan dgn superincrease - contoh : general : (17, 38, 73, 4, 11, 1) superincrease (1, 4, 11, 17, 38, 73) dimana ak lebih besar dari jumlah semua item - untuk penerimaan digunakan superincrease untuk description cipher - dasar : message dirubah dalam binary hasilnya ciphertext dijumlahkan yg berhubungan dengan yang pertama plaintext
plaintext knapsack ciphertext Target
1 0 1 2 1
plaintext knapsack ciphertext Target
0 1
1 5 5
0 0 9 20
1 43 43 49
1 2 2
1 5 5
0 9
1 0 20 43 20 27
jenis a. Simple (superincrease) knapsack n Rms : ∑ ai * vi = T i=1 (1, 4, 11, 17,38,73 ) target jumlah 96 96 : 73 yes 96 – 73 = 23 38? No 23 : 17 yes 23 - 17 = 6 11? No 6: 4? yes 6–4=2 1? yes 2- 1=1 no solution plaintextnya : 1, 4, 17, 73 = 110101
95: 95- 73 = 22 22: 22- 17 = 5 5: 5-4=1 1 -1 = 0
73? yes 38? No 17 ? yes 11? No 4? yes 1? yes solution
b. Hard (General) knapsack Rms : hi = w * si mod n dimana : s = bilangan integer w = perkalian yang dikehendaki n = modulus h = hard knapsak contoh : Diket : Sperincreasing knapsack S = (1, 2, 4. 9) W = 15, n = 17 n = prima dan n > (1 + 2 + 4 + 9) Diminta : cari hard knapsack, H Jawab : 1 * 15 = 15 mod 17 = 15 2 * 15 = 30 mod 17 = 13 4 * 15 = 60 mod 17 = 9 9 * 15 = 135 mod 17 = 16 maka H = (15, 13, 9, 16)
Soal : 1.
2.
Diketahui superincreasing knapsack, S = (1, 2, 5 , 9, 18, 37) W = 15, n = 41 n = prima dan n > (1+2+5+9+18+37) Diminta cari hardknapsack H Diketahui superincreasing knapsack, S = (1, 2, 4 , 8, 16) W = 10, n = 37 n = prima dan n > (1+2+5+8+16) Diminta cari hardknapsack H
contoh : 1. Diket : S = (1,2,4,9) H = (15,13,9,16) w = 15, n = 17 dan m = 4 pesan yang dikirim : P = 0100101110100101 Ditanya : encryptionnya Jawab : H = (15, 13, 9, 16) P = 0100 1011 1010 0101 (0, 1, 0, 0) * (15, 13, 9, 16) = 13 (1, 0, 1, 1) * (15, 13, 9, 16) = 15 + 9 + 16 = 40 (1, 0, 1, 0) * (15, 13, 9, 16) = 15 + 9 = 44 (0, 1, 0, 1) * (15, 13, 9, 16) = 13 + 16 = 29 Encryptionnya : 13 40 44 29 menggunakan publik key 15 13 9 16
Diket : S = (1,2,4,9) w = 15, n = 17 pesan yang dikirim : 13 40 24 29 Ditanya : descryptionnya Jawab : Bila perkalian 8 mod 17 sebab 8 adalah 15-1 mod 17 maka 13 * 8 = 104 mod 17 = 2 = 0100 40 * 8 = 320 mod 17 = 14 = 1011 24 * 8 = 192 mod 17 = 5 = 1010 29 * 8 = 232 mod 17 = 11 = 0101 hasilnya : 0100 1011 1010 0101
b. RSA (Rivest Shammir Adelman) - 1978 oleh Rivest, Shammir dan Adelman pada MIT - sifatnya public key encryption - berhubungan denan bilangan integer antara 0 dan n-1 - encryption key (e) dan descryption key (d) yang dapat dipertukarkan - 2 key e dan d merupakan bilangan tertentu C = Pe mod n untuk encryption P = Cd mod n untuk descryption Dimana P = message dan C = ciphertext ϕ(n) = bilangan positif integer dan < n dan prima jika n penerima maka : ϕ(n) = n-1 jika n = p* q dimana p dan q prima , p≠ q ϕ(n) = ϕ(p) * ϕ(q) = (p-1) * (q-1)
RSA Algorithm
RSA Algorithm • dikembangkan 1977, oleh Ron Rivest, Adi Shamir, dan Len Adleman • Block cipher: block size is log2(n), untuk nilai n integer • Encryption: C = Me mod n • Decryption: M = Cd mod n = Med mod n • Requirements – Tentukan nilai e, d, dan n s.t. Med = M mod n untuk M < n – Hitung Relatively Me dan Cd – Didapat kemungkinan d didapat n dan e
RSA Algorithm
RSA • •
•
Need to find a relationship of the form Med = M mod n Can use the corollary of Euler’s theorem – Given two primes p and q, and two integers, n and m, s.t. – n = pq and 0 < m < n. and an arbitrary integer k, the following relationship holds: mkφ(n)+1 ≡ m mod n where φ(n) is the Euler’s totient function φ(n) = φ(pq) = (p-1)(q-1) Can achieve the desired relationship if ed = kφ(n)+1 – Equivalent to saying that ed ≡ 1 mod φ(n) or d ≡ e-1 mod φ(n) – That is, e and d are multiplicative inverses modulo φ(n) – This is true only if d (and therefore e) is relatively to prime to φ(n)
RSA Algorithm
RSA Algorithm
RSA Algorithm
RSA Example 1. 2. 3. 4.
Select two primes, p = 7 and q = 17 Calculate n = pq = 7 × 17 = 119 Calculate φ(n) = (p-1)(q-1) = 96 Select e s.t. e is relatively prime to φ(n) and less than φ(n); in this case, e = 5 5. Determine d s.t. de mod 96 = 1 and d < 96. The correct value is d = 77 (77 × 5 = 385 = 4 × 96 + 1) 6. KU = {5, 119}, KR = {77, 119}
RSA Algorithm
RSA Computational Aspects • Encryption and Decryption – Both require modular exponentiation – Can use the following efficient algorithm to compute ab mod n – Repeated squaring Modular-Exponentiation(a, b, n) 1. c ← 0 2. d ← 1 3. let bkbk-1…b0 be the binary representation of b 4. for i ← k downto 0 5. do c ← 2c 6. d ← (d × d) mod n 7. if bi = 1 8. then c ← c + 1 9. d ← (d × a) mod n 10. return d
RSA Algorithm
RSA Computational Aspects - 2 •
Key Generation – –
•
Selecting 2 prime numbers, p dan q Selecting setiap e atau d dan jumlahkan
Selecting bilangan prime 1. Pick an odd integer n at random (e.g. using PRNG) 2. Pick an integer a < n at random 3. Perform the probabilistic primality test, such as Miller-Ravin. If n fails the test, reject the value n and goto step 1 4. If n has passed a sufficient number of tests, accept n; otherwise goto step 2
RSA Algorithm
• How many numbers are likely to be rejected before a prime number is found? • Prime number theorem – φ(x) ~ x/ln(x) – In other words, primes near x are spaced on the average one every (ln x) integers – Thus, on average, ln(x) tests are required to find a prime (Actually ln(x)/2 because all even numbers can be immediately rejected)
• Example
– If a prime on the order of magnitude of 2100 were thought, then about ln(2200)/2 = 70 trials would be needed to find a prime
RSA Algorithm
RSA Computational Aspects - 4 • Selecting e and calculating d (or alternatively selecting d and calculating e) • Need to select an e s.t. gcd(φ(n), e) = 1 and then calculate d = e-1 mod φ(n) • Extended Euclid’s Algorithm can do this • Generate e randomly. Then using the EEA, test if gcd((φ(n), e) = 1, and then get d. Otherwise do again • Need very few tests Extended Euclid(e, φ(n)) 1. (X1, X2, X3) ← (1, 0, φ(n)); (Y1, Y2, Y3) ← (0, 1, e) 2. If Y3 = 0 return X3 = gcd(e, φ(n)); no inverse 3. If Y3 = 1 return Y3 = gcd(e, φ(n)); Y2 = e-1 mod φ(n) 4. Q = X3/Y3 5. (T1, T2, T3) ← (X1 − QY1, X2 − QY2, X3 − QY3) 6. (X1, X2, X3) ← (Y1, Y2, Y3) 7. (Y1, Y2, Y3) ← (T1, T2, T3) 8. goto 2
RSA Algorithm
Attacks on RSA Algorithm •
• •
Brute force (Key space search) – Try all possible private keys – Use large keys Attacks on mathematical foundation – Several approaches, all equivalent to factoring Timing attacks – Based on the running time of the decryption algorithm
Mathematical Attacks on RSA •Factor n into p and q –Allows calculation of φ(n), which allows determination of d = e-1 (mod φ(n)) •Determine φ(n) directly from n –Equivalent to factoring •Determine d = e-1 (mod φ(n)) directly –Seems to be as hard as factoring
RSA Algorithm
Factoring • •
For a large n with large prime factors, factoring is a hard problem -
O (e
ln( n ) ln(ln( n ))
)
RSA factoring challenge – Sponsored by RSA Labs. – To encourage research into computational number theory and the practical difficulty factoring large integers – A cash prize is awarded to the first person to factor each challenge number Progress in Factorization
RSA Algorithm
RSA Factoring Challenge • Latest result is RSA 155 (512 bits) – Reported Aug 22, 1999
• Factored with General Number Field Sieve • 35.7 CPU-years in total on – 160 175-400 MHz SGI and Sun workstations – 8 250 MHz SGI Origin 2000 processors – 120 300-450 MHz Pentium II PCs – 4 500 MHz Digital/Compaq boxes – This CPU-effort is estimated to be equivalent to approximately 8000 MIPS years; calendar time for the sieving was 3.7 months.
RSA Algorithm
RSA Factoring Challenge Numbers Numbers are designated “RSA-XXXX”, where XXXX is the number’s length in bits Challenge Number RSA-576 (174 Digits) RSA-640 (193 Digits) RSA-704 (212 Digits) RSA-768 (232 Digits) RSA-896 (270 Digits) RSA-1024 (309 Digits) RSA-1536 (463 Digits) RSA-2048 (617 Digits)
Prize ($US) $10,000 $20,000 $30,000 $50,000 $75,000 $100,000 $150,000 $200,000
Status Not Factored Not Factored Not Factored Not Factored Not Factored Not Factored Not Factored Not Factored
RSA-576 Decimal Digits: 174 18819881292060796383869723946165043980716356337941 73827007633564229888597152346654853190606065047430 45317388011303396716199692321205734031879550656996 221305168759307650257059
RSA Algorithm
Constraints on p and q • Suggested constraints on p and q (by RSA inventors and researchers) • Length of p and q should differ by only a few digits • Both p-1 and q-1 should contain a large prime factor • gcd(p-1, q-1) should be small • d > n¼
RSA Algorithm
Timing Attacks • • •
Big integer multiplication take a long time Assume that the target system uses the following modular exponentiation algorithm for decryption By observing the time taken for modular multiplication, it is possible to infer bits in b – If bi is set, d ← (d × a) mod n will be executed (Will be much slower than the case of bi = 0) – By varying values of a (ciphertext), and observing the execution (decryption) times carefully, values of bkbk-1…b0 (private key) can be inferred Modular-Exponentiation(a, b, n) /* Compute ab mod n */ 1. d ← 1 /* let bkbk-1…b0 be the binary representation of b */ 2. for i ← k downto 0 3. do d ← (d × d) mod n 4. if bi = 1 5. then d ← (d × a) mod n 6. return d
RSA Algorithm
Timing Attack Countermeasures •
•
•
Constant exponentiation time – Ensure that all exponentiations take the same amount of time – Simple fix, but degrade the performance Random delay – Add a random delay to the exponentiation algorithm to confuse the timing attack Blinding – Multiply the ciphertext by a random number before performing the exponentiation – RSA Data Security’s blinding method • • • •
Generate a secret random r, 0 < r < n-1 Compute C’ = Cre mod n, where e is the public exponent Compute M’ = (C’)d mod n with the ordinary RSA Compute M = M’ r-1 mod n = (Cre)dr-1 mod n = Cdredr-1 mod n = Cd mod n Å (red mod n = r mod n)
– 2 to 10% performance penalty
contoh : public key (e,n) privat key (d,n) tahap 1 : pilih bilangan n, p dan q misal n = 143 p*q = 143 11 * 13 tahap2 : pilih e prima e = (p-1) * (q-1) = (11-1) * (13-1) = 10 * 12 misalnya e = 17 tahap3 : hitung d d merupakan inverse e mod (p-1)*(q-1) d= e-1 mod(p-1)*(q-1) = 17–1 mod 120 = 113
c. EL GAMAL ALGORITMA
- 1984, public key - sebagai standard dalam US dalam DS (Digital Signature Standard) - pengirim dalam merubah sebagai key prima : DS = E(key privat , P) - penerima dalam verify menggunakan publickey pengirim : P=D(key public , DS) - tehniknya: · pilih bilangan prima p dan 2 bilangan integer a dan x dimana p < p dan x < p · pilih (p-1) lebih besar dari q · hitung public key y = ax mod p · private key = x dan public key = y untuk sender : misalnya message : M · pilih bilangan integer k dimana 0
d. HASH ALGORITMA - berfungsi untuk melindungi data dari perubahan - 1992 Secure Hash Algoritma (SHA) - input data < 2 64 bits - untuk memproduksi hash dari body data (digit/check value) - contoh MD5, MD4 MD5 Algoritm description. - dikembangkan oleh Ron Rivest di MIT - algoritma ini dengan input panjang dan hasilnya 128 bit. Input diolah dalam blok 512 bit
- Tahapannya : 1. Penambahan lapisan bits message dilapisi/ditambah bits panjangnya sama sebangun sampai 448 module n2 (panjang = 488 mod 512). Ini penambahan message 64 bits kurang dari kelipatan 512 bit. Lapisan selalu ditambah setiap kejadian jika message ingin ditambah. contoh : Jika panjang message 448 bit dilapisi 512 bit = 960 bit Pengisian harus tetap sebagai single 1 bit maka nomornya 0 bit
2. Penambahan panjang 64 bit mempresentasikan panjang message asli (sebelum ditambah). Jika panjang asli > 264 tetapi panjang yg digunakan < 64 maka panjang asli modulo 264 . Termasuk isi panjang sampai end message sehingga sulit bagi penyerang. Hasil pertama pada step kedua adalah sebuah message dengan kelipatan 512 bit. Dalam gambar diatas penambahan message memperlihatkan urutan blok 512 bit: Y0, Y1 . . . Y L-1 , total message : L * 512 bit akan sama hasilnya dengan kelipatan 9*32 bit word. kemudian M (0, . . . N-1) merupakan words hasil message dengan N kelipatan 16 N= L * 1
3. Initialization MD buffer
Sebanyak 128 bit pada buffer digunakan sebagai perantara dan hasil akhirnya merupakan hash function. Buffer dapat mempresentasikan 4 register 32 bits (A,B,C,D) dimana initialization dengan hexadecimal (low order octects first) A=012 3 45 67 B=89A BCDEF C=FEDCBA98 D=76 54 3210 4.
Proses message dalam 512 bit (16 word) blok
Mdq
5. Output. Sesudah semua L 512 blok bit diolah dan menghasilkan menjadi pendek 128 bit. Algoritma MD5 mempunyai kelengkapan setiap bit merupakan code hash. Fungsi gabungan hash dari bit2 input merupakan pengulangan yg yg komplekx dasar dari fungsi (-F,G,H,I) menghasilkan suatu formulasi yang baik/unik. Jika tidak menghendaki 2 message pilihlah secara acak untuk memperlihatkan kelangsungan seperti hash kode. Dugaan Rivest dalam RFC pada MD5 suatu yg mungkin utuk 128 bit hash code. Kesulitan yang dihadapi bila 2 message dengan memperpendek semua pada operasi 264 dimana kesulitan memenuhi message dengan memperpendek pada 2128 operasi. penulisan ini tidak analyst dikerjakan untuk membuktikan dugaan
e. DES (The Data Encryption Standard) - 1972 oleh National Bureau of Standard (National Institute of Standards Technologi) - digunakan dalam komunikasi - menggunakan 2 tehnik : · substitution dan permutasi · permutasi mengalami 16 iteration - dan iteration ada subkey yg merupakan kombinasi perputaran dan permutasian - fungsi permutasi sama setiap iteration setapi subkeynya berbeda karena adanya pergeseran bits
- Ada 2 input : - plaintext panjang 64 bit - key panjang 56 bit Plaintext akan mengalami 3 proses : 1. 64 bit plaintext akan mengalami IP (Initial permutation) dan disusun sedemikian rupa akan menghasilkan : Permuted input. IP mengalami 16 iteration untuk fungsi yg sama, dimana hasilnya nanti 16 bit terakhir dari 64 bit berfungsi sebagai plaintext input dan key 2. Hasilnya dibagi dua, kanan dan kiri serta dipertukaran menghasilkan : PREOUTPUT 3. Preouput melalui permutation (IP-1) di inversi (dibalik) dengan order yg akan menghasilkan 64 bit ciphertext.
Input 64 bit permutasi akan mengalami 16 iteration. Hasil dari 64 bit akan mengahsilkan suatu kesimpulan dimana setiap iterasi dibagi dua setengah kiri dan kanan (L dan R). Key yg digunakan 56 bit input dengan algoritma pertama adalah permutasi. Hasil key 56 bit adalah 28 bit
3. STEGANOGRAFI 1. Pengertian - berasal dari bahasa Yunani - steganos : penyamaran atau penyembuyian - graphein : tulisan sebagai seni menyamarkan/menyembunyikan pesan tertulis kedalam pesan lainnya. Penyembunyian /penyamaran pesan ini dibuat sedemikian rupa sehingga pihak lain tidak mengetahui bahwa ada ‘pesan lain’ didalam pesan yang dikirimkan. Hanya pihak penerima yang sah saja yang dapat mengetahui ‘pesan lain’ tersebut
Istilah yang sering digunakan : - Carrier file : file yang berisi pesan rahasia tsb - Steganalysis : proses untuk mendeteksi keberadaanpesan rahasia dalam suatu file - Stego-medium : media yang digunakan untuk membawa pesan rahasia - Redundant bits : sebagian informasi yang terdapat di dalam file yang jika dihilangkan tidak akan menimbulakn kerusakan yang signifiakan (setidaknya bagi indera manusia) - Payload : informasi yang akan disembunyikan
• Format yg bisa digunakan : - Format image: bitmap (bmp), gif, pcx, jpeg, dll. - Format audio: wav, voc, mp3, dll. - Format lain: teks file, html, pdf, dll.
2. Tehnik a. Wax tablets menulis pesan diatas panel kayu yang kemudian disembunyikan dengan melapisi lilin sebagai penutupnya b. Invisible ink). penyembuyian teks pesan yang diperkecil menjadi sebuah titik (microdots) yang ditaruh dibawah perangko dan penyembunyian pesan dengan menggunakan tinta transparan
3. Model • Cover x is an instance of a random variable X distributed according to model: PX • x = ( xα , xβ ) • Choose x0 = (xα , x0β ) to encode a message M while maintaining model statistics PX
Encoding
Decoding