BAB III SISTEM ENCRYPTION 1. PROPERTI...

62
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

Transcript of BAB III SISTEM ENCRYPTION 1. PROPERTI...

Page 1: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

BAB IIISISTEM 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 = xi = identitas untuk operasi *Bilangan b disebut invers a dibawah * jika a * b = i dan b * a = iInvers dari elemen a sering ditunjukan dengan : a-1

b. Bilangan primaBilangan yang besar dari 1 yang habis dibagi (dengan sisa 0)Tetapi tidak boleh bilangan itu sendiri atau 1Contoh : 2 3 5 7 11 13 17 19 23 29 31 37 41 43\Bilangan yang bukan prima disebut : Komposit

Page 2: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer terbesar yg membagi 1 dan bcontoh :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 Algorithmperkembangan 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 * b1a – (k*b) = x*a1 – (x * k * b1)

= x * (a1 – k * b1)= x * d

a = m * b + runtuk 0≤r<b m = a/b jika x = gcd(a,b)

Page 3: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

contoh :gcd (3615807, 2763323)3615807 = 1 * 2763323 + 8524842763323 = 3 * 8525484 + 2058718525484 = 4 * 205871 + 29000

205871 = 7 * 29000 + 287129000 = 10 * 2871 + 2902871 = 9 * 290 + 261

290 = 1 * 261 + 29261 = 9 * 29 + 0

gcd (3615807, 2763323) = 29

soal :hitung gcd(1875, 405)

Page 4: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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)

EkuivalenX ≡n Y jika dan hanya jika (x – y) = k * n untuk k = integer

rms: a mod n = b untuk a = c * n + b

Page 5: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

- 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

Page 6: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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 1 2 3 4 0 0 1 2 3 4 0 0 0 0 0 01 1 2 3 4 0 1 0 1 2 3 42 2 3 4 0 1 2 0 2 4 1 33 3 4 0 1 2 3 0 3 1 4 24 4 0 1 2 3 4 0 4 3 2 1

3 + 4 mod 5 = 2sebab 3 + 4 = 7 dan 7 - 5 = 2 maka 3 + 4 mod 5 = 2

4 * 4 mod 5 = 1sebab 4 * 4 = 16 , 16 –5 = 11 , 11–5 = 6, 6 – 5 = 1

soal :a. mod 7b. mod 11c. mod 13

Page 7: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Menghitung invers :Invers dari elemen a adalah elemen b, sehingga a * b = 1Invers perkalian dari a dapat ditulis : a-1

Lihat tabel perkalian 5 diatas :Invers dari 1 = 1Invers dari 2 = 3Invers dari 3 = 2Invers dari 4 = 4

Nilai-nilai ini diperoleh dari inspeksi/pemeriksaan bukan dari algoritma sistematik

Teorema fermatDidalam teori bilangan, teorema fermat menyatakan :

Untuk bilangan prima p dan elemen a < pap 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 psehingga x = ap-2 mod p

methoda ini bukan methoda lengkap untuk menghitung invers, hanya bekerja untuk p = prime dan elemen a < p

Page 8: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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 = …..

Page 9: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

2. Public key Encryption sistem- motivasi

- karakteristik (public key = asymetris)- NP-completeness (Node Problem) & Encryption- Polynomial :

- Polynomial functionsContoh : n, 10n, n2, 5n3, …

- Exponential functionsContoh : 2n, 210n, …

f(x) = (xn + a1xn1 + a2x3 + a3x2 + a4x + a5)mod pdimana :

p = 264 – 59 n = 224 + 17ai= angka random 19 digit, dimana i = 1, 2, 3, 4, 5 )x = password asli yg diketik

f(x)= password yg sudah diencription atauf(x) = (xn + a1xn-1 + ...... +an-1) mod p

- merupakan algoritma paling tidak baik karena mempunyai batasan misalnya : n10000000

Page 10: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

- Nondeterminism2 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 dariphase 1.

- Complexity ClassesClass PP suatu tingkat masalah dalam polynomial-bounded.

Class NPNP merupakan masalah dalam nondeterministic polynomial-bounded algorithmAturan : P ⊆ NPMaksud :Sebuah kepastian dari algorithm khususnya untuk nondeterministic

algorithm (with phase 1 ignored

Page 11: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Karakteristik Hard Problem

* clique

suatu graph dimana vertex nya berhubungan satu sama lainya

Page 12: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

- 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

Page 13: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Secret Key Encryption = Single Key = Symmetric private key = conventional algoritma Encryption & decryption sama keynyaContoh : DES

- Public keypengirim menggunakan public key penerima untukencryption dan penerima menggunakan private keyuntuk decryption

contoh : Merkle Hellam Knapsack, RSA danEL Gamal

Page 14: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Public Key Encryption Process

• Confidentiality: C = E(pubkey, M)• Authentication: D = E(privkey, M)

– Digital signature

Page 15: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Secret Key Encryptionkeuntungan:- symmetry mempunyai 2 arah- authetication (hanya yg berhak yg dapat mengirim)kerugian :- hanya 1 kesalahan- masalah didistribusi- penambahan key sukar- relatif lemah

Page 16: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

PKC Algorithm RequirementsOleh Diffie dan Hellman, tahun 1976Key di generation dengan perhitungan yang mudah1. Encryption mudah dihitung2. Decryption mudah dihitung 3. Perhitungan yg mungkin sampai menemukan private key

given public key4. Hitung yang mungkin untuk meng recover plaintext didapat

public key dan ciphertext5. Fungsi Encryption dan decryption dapat diterapkan seperti

sbb :

– M = DKRb[EKUb(M)] = EKRb[DKUb(M)]

Page 17: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Conventional and Public-Key Encryption

Conventional (Symmetric)

• Same algorithm and key usedfor encryption and decryption

• Parties share algorithm and key

• Key must be kept secret• Cipher must be strong• Plaintext/ciphertext pairs must

not weaken the security of the key

Public-Key (Asymmetric)

• Same algorithm but different keysused for encryption and decryption

• Parties share algorithm but each hasone 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 otherkey

Page 18: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Principles of PKC

Public-Key Cryptosystem: Secrecy

Y = EKUb(X)X = DKRb(Y)

KUb: B’s public keyKRb: B’s private key

Page 19: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Principles of PKC

PKC: Authentication

Y = EKRa(X)X = DKUa(Y) No protection of confidentiality

Page 20: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Principles of PKC

PKC: Secrecy and Authentication

Z = EKUb[EKRa(X)]X = DKUa[DKRb(Z)]

Page 21: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

One-way and Trap-door Functions

• One-way function– Y = f(X) easy (polynomial time)– X = f-1(Y) 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

Principles of PKC

Page 22: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 23: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

plaintext 1 0 1 0 0 1knapsack 1 2 5 9 20 43ciphertext 1 5 43 Target 49

plaintext 0 1 1 0 1 0knapsack 1 2 5 9 20 43ciphertext 2 5 20 Target 27

Page 24: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

jenisa. Simple (superincrease) knapsack

nRms : ∑ ai * vi = T

i=1

(1, 4, 11, 17,38,73 ) target jumlah 96

96 : 73 yes 95: 73? yes96 – 73 = 23 38? No 95- 73 = 22 38? No 23 : 17 yes 22: 17 ? yes23 - 17 = 6 11? No 22- 17 = 5 11? No 6 : 4? yes 5: 4? yes6 – 4 = 2 1? yes 5 - 4 = 1 1? yes 2 - 1 = 1 no solution 1 -1 = 0 solution

plaintextnya : 1, 4, 17, 73 = 110101

Page 25: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

b. Hard (General) knapsackRms :

hi = w * si mod ndimana :

s = bilangan integer w = perkalian yang dikehendakin = 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, HJawab :

1 * 15 = 15 mod 17 = 152 * 15 = 30 mod 17 = 134 * 15 = 60 mod 17 = 99 * 15 = 135 mod 17 = 16

maka H = (15, 13, 9, 16)

Page 26: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Soal :

1. 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

2. 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

Page 27: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

contoh : 1. Diket : S = (1,2,4,9)

H = (15,13,9,16)w = 15, n = 17 dan m = 4pesan yang dikirim : P = 0100101110100101

Ditanya : encryptionnyaJawab :

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

Page 28: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Diket : S = (1,2,4,9)w = 15, n = 17pesan yang dikirim : 13 40 24 29

Ditanya : descryptionnyaJawab :

Bila perkalian 8 mod 17 sebab 8 adalah 15-1 mod 17maka

13 * 8 = 104 mod 17 = 2 = 010040 * 8 = 320 mod 17 = 14 = 101124 * 8 = 192 mod 17 = 5 = 101029 * 8 = 232 mod 17 = 11 = 0101

hasilnya : 0100 1011 1010 0101

Page 29: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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 encryptionP = Cd mod n untuk descryptionDimana P = message dan C = ciphertext

ϕ(n) = bilangan positif integer dan < n dan primajika n penerima maka : ϕ(n) = n-1jika n = p* q dimana p dan q prima , p≠ q

ϕ(n) = ϕ(p) * ϕ(q) = (p-1) * (q-1)

Page 30: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 31: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 32: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

RSA Algorithm

RSA Algorithm

Page 33: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

RSA Example1. Select two primes, p = 7 and q = 172. Calculate n = pq = 7 × 17 = 1193. Calculate φ(n) = (p-1)(q-1) = 964. Select e s.t. e is relatively prime to φ(n) and less

than φ(n); in this case, e = 55. 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

Page 34: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

RSA Computational AspectsRSA Algorithm

Modular-Exponentiation(a, b, n)1. c ← 02. d ← 13. let bkbk-1…b0 be the binary representation of b4. for i ← k downto 05. do c ← 2c6. d ← (d × d) mod n7. if bi = 18. then c ← c + 19. d ← (d × a) mod n10. return d

• Encryption and Decryption– Both require modular exponentiation– Can use the following efficient algorithm to compute ab mod n– Repeated squaring

Page 35: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

RSA Computational Aspects - 2RSA Algorithm

• 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 random3. Perform the probabilistic primality test, such as Miller-Ravin.

If n fails the test, reject the value n and goto step 14. If n has passed a sufficient number of tests, accept n; otherwise

goto step 2

Page 36: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

• 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

Page 37: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

RSA Algorithm

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 inverse3. If Y3 = 1 return Y3 = gcd(e, φ(n)); Y2 = e-1 mod φ(n)4. Q = X3/Y35. (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

Page 38: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

RSA Algorithm

•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

Page 39: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Factoring• For a large n with large prime factors, factoring is a hard problem -

• 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

RSA Algorithm

)( ))ln(ln()ln( nneO

Progress in Factorization

Page 40: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 41: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

RSA Factoring Challenge NumbersRSA Algorithm

Numbers are designated “RSA-XXXX”, where XXXX is the number’s length in bits

Challenge Number Prize ($US) StatusRSA-576 (174 Digits) $10,000 Not FactoredRSA-640 (193 Digits) $20,000 Not FactoredRSA-704 (212 Digits) $30,000 Not FactoredRSA-768 (232 Digits) $50,000 Not FactoredRSA-896 (270 Digits) $75,000 Not FactoredRSA-1024 (309 Digits) $100,000 Not FactoredRSA-1536 (463 Digits) $150,000 Not FactoredRSA-2048 (617 Digits) $200,000 Not Factored

RSA-576Decimal Digits: 174

188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059

Page 42: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 43: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

RSA Algorithm

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 03. do d ← (d × d) mod n4. if bi = 15. then d ← (d × a) mod n6. return d

Page 44: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

RSA Algorithm

Page 45: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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 = 17tahap3 : hitung d

d merupakan inverse e mod (p-1)*(q-1)d= e-1 mod(p-1)*(q-1) = 17–1 mod 120 = 113

Page 46: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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 xdimana 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 <p< p-1 dan k relprima (p-1)· hitung r = ak mod p· hitung s = k-1(m – xr) mod (p-1)· message signature r dan s

Page 47: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 48: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer
Page 49: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

- Tahapannya :1. Penambahan lapisan bits

message dilapisi/ditambah bits panjangnya samasebangun 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

Page 50: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

2. Penambahan panjang64 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 messagedengan N kelipatan 16 N= L * 1

Page 51: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

3. Initialization MD bufferSebanyak 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 initializationdengan hexadecimal (low order octects first)

A = 0 1 2 3 4 5 6 7B = 8 9 A B C D E F C = F E D C B A 9 8 D = 7 6 5 4 3 2 1 0

4. Proses message dalam 512 bit (16 word) blok Mdq

Page 52: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

5. Output.Sesudah semua L 512 blok bit diolah dan menghasilkan

menjadi pendek 128 bit.Algoritma MD5 mempunyai kelengkapan setiap bit merupakancode 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 messagedengan memperpendek pada 2128 operasi. penulisan ini tidakanalyst dikerjakan untuk membuktikan dugaan

Page 53: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 54: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

- Ada 2 input :- plaintext panjang 64 bit- key panjang 56 bitPlaintext 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 sebagaiplaintext input dan key

2. Hasilnya dibagi dua, kanan dan kiri serta dipertukaran menghasilkan : PREOUTPUT

3. Preouput melalui permutation (IP-1) di inversi (dibalik) denganorder yg akan menghasilkan 64 bit ciphertext.

Page 55: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 56: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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 yangdikirimkan. Hanya pihak penerima yang sah saja yangdapat mengetahui ‘pesan lain’ tersebut

Page 57: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 58: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

• 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.

Page 59: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

2. Tehnika. Wax tablets

menulis pesan diatas panel kayu yangkemudian 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

Page 60: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

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

Page 61: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Encoding

Page 62: BAB III SISTEM ENCRYPTION 1. PROPERTI ARIMATIKaqwam.staff.jak-stik.ac.id/files/keamanan-komputer[2].pdf · c. Great Common Divisor 2 bilangan integer (a,b) = gcd (a,b) adalah integer

Decoding