13
Merkle-Hellman Knapsack Cryptosystem AKIK HIDAYAT MATEMATIKA FMIPA UNPAD

Merkle-Hellman Knapsack Cryptosystempustaka.unpad.ac.id/wp-content/uploads/2009/06/makalah_merkle_hellman.pdf · Kriptosistem Merkle Hellman Knapsack • Merkle Hellman Knapsack pertama

  • Upload
    vandang

  • View
    248

  • Download
    0

Embed Size (px)

Citation preview

Merkle-HellmanKnapsack Cryptosystem

AKIK HIDAYATMATEMATIKA FMIPA UNPAD

Kriptosistem Merkle HellmanKnapsack

• Merkle Hellman Knapsack pertama kali dideskripsikan oleh Merkle dan Hellmanpada tahun 1978

• Didasarkan pada masalah NP complete (Non Deterministic Polynomial)

• Knapsack problem

CRYPTOGRAPHY

Bentuk umum

1

1

j

isisj

• Ambil s = (s1,s2,…,sn) sembarang bilangan integer superincreasing, ambil

• bilangan prima, dan ambil 1 a P • untuk 1 i n. • Didefinisikan ti = asi mod P, dan dinyatakan dalam t = ( t1,

t2, t3, ... tn ). Ambil P = {0,1)n , C = {0,1,...,n(P-1)}dan ambil K = {(s,P,a,t)}, dimana s,P,a,t dikontruksi sepertidiatas, t sebagai Public, dan P,a dan s adalahsecret(rahasia). Untuk K = {(s,P,a,t)}, didefinisikan

• eK (x1, x2, x3, …., xn) = .

• Untuk 0 y n(P-1), Definisikan Z = a-1y mod P, dK (y) = (x1, x2, x3, …., xn )

n

iisp

1

n

iisp

1

n

iisp

1

n

iiitx

1

Knapsack ProblemTsx

n

iii

1

} allfor }1,0{ {2/

1:1 jxaxS j

n

jjj

Problem Instance

I = (s1,…, sn, T), dimana s1,…,sn dan T adalahbilangan bulat positif. Si adalah sizes dan T adalah Target Sum.

Question

Apakah 0-1 vektor x = (x1,…,xn) merupakan

?Tsxn

iii

1

Public Key: t Private Key: si, p, a,

Algoritma Merkle-Hellman Knapsack

1

1

j

isisj

What we need• S = (s1,…,sn) bilangan integer superincreasing

• bilangan prima

• a, 1 ≤ a ≤ p-1

• t = a si mod p

1

1

j

iij ss

n

iisp

1

n

iisp

1

n

iisp

1

Encode:es(x1,…,xn) =

Decode:z = a-1 y mod p

• penyelesaian masalah subset (s1,…,sn,Z) diberlakukan untuk dK(y) = (x1,…,xn).

Algoritma Merkle-Hellman Knapsack

n

iii tx

1

Private key :s = (1,2,5,11,32,87,141)a = 200p = 307

Plaintext (x) :SYANE MARANNU THANA

Chipertext : ?????

Contoh Merkle-Hellman Knapsack

Perhitungan Public Key (t) :ti = a* si mod p

Didapatkant = (200,93,79,51,260,208,263)

Subset-sum Problem

58

4

11

6

20

Plaintext : syane marannu thana

Dimasukkan dalam kode ASCII

x = 83 89 65 78 69 77 65 82 65 78 78 85 84 72 65 78 65

Masing – masing kode ASCII tersebut dikonversi ke biners 83 : 1010011y 89 : 1011001a 65 : 1000001n 78 : 1001110e 69 : 1000101 dst…

Plaintext di bagi dalam block sesuai dengan banyaknya s, pada contoh ini banyaknya s adalah 7 digit.

1010011 y = 200 + 79 + 208 + 263 = 7501011001 y = 200 + 79 + 51 + 263 = 593dst…

Ciphertext :750 593 dst…

Dekripsi :

Hitung ZZ = a-1y mod p

200-1=???? dengan algoritma extended euclidian200-1= 1171

Untuk y = 750:Z = 241*750 mod 307

= 180750 mod 307= 234

234 = 1*1 + 0*2 + 1*5 + 0*11 + 0*32 + 1*87 + 1*141

Plaintext 1010011

Alice Bob

Private Keys = (1,2,5,11,32,87,141)a = 200p = 307

Public Keyt = (200,93,79,51,

260,208,263)

Creates Cryptosystem Plaintext:

P= 1010011

Encryption:Using Public Key

y = 200 + 79 + 208 + 263 = 750

Ciphertext:750

Decryption:Z = 241*750mod 307

= 234234 = 1*1 + 0*2 + 1*5 + 0*11 + 0*32 + 1*87 + 1*141

DecryptsCiphertext

Plaintext:P= 1010011