Merkle-Hellman Knapsack Cryptosystem.
Merkle-Hellman
Knapsack
Crypt osyst em
AKIK HIDAYAT
MATEMATIKA FMIPA UNPAD
Kript osist em Merkle Hellman
Knapsack
• Merkle Hell man Knapsack pert ama kal i
dideskripsikan ol eh Merkle dan Hell man
pada t ahun 1978
• Didasarkan pada masal ah NP complet e
(Non Det erminist ic Polynomial )
• Knapsack probl em
CRYPTOGRAPHY
sj si
j 1
i 1
Bent uk umum
•
Ambil s = (s1 , s2,…, sn) sembarang bilangan integer
n
superincreasing, ambil
p si
i 1
•
•
p si
n
•
i 1
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 seperti
diatas, t sebagai Public, dan P, a dan s adalah
secret(rahasia). Untuk K = {(s, P, a, t)}, didefinisikan
•
eK (x1 , x2, x3 , …. , xn) = . x t
•
Untuk 0 y n(P-1), Definisikan Z = a-1y mod P, dK (y) =
(x1, x2 , x3, …. , xn )
n
i 1
i i
x s
n
i 1
i i
T
Knapsack Problem
Probl em Inst ance
I = 1(s
, …, snn,/ 2 T), dimana s1, …, sn dan T adal ah
bil angan
at xposit
{
{ i0 ,adal
1} forah allsi zes
S 1 bul
j a j : xifj . S
j } dan T
adal ah Tar getj 1Sum .
Quest ion
x s
Apakah 0-1 vekt or x = (x1, …, xn) merupakan
n
i 1
i i
T
?
sj si
j 1
i 1
Algorit ma Merkle-Hellman Knapsack
What we need
s j si
• S = (s1, …, sn) bilangan int eger superincreasing
j 1
p si
i 1
n
i 1
•
p
s bilangan prima
n
i 1
i
• a, 1 ≤ a ≤ p -1
• t = a si mod p
Public Key: t
Privat e Key: si , p, a,
Algorit ma Merkle-Hellman Knapsack
Encode:
es(x 1, …, x n) =
n
i 1
x iti
Decode:
z = a-1 y mod p
• penyelesaian masalah subset ( s1, …, sn, Z)
diberlakukan unt uk d K(y) = ( x 1, …, x n).
Cont oh Merkle-Hellman Knapsack
Privat e key :
s = (1, 2, 5, 11, 32, 87, 141)
a = 200
p = 307
Pl aint ext (x) : SYANE MARANNU THANA
Chipert ext : ?????
Perhit ungan Publ ic Key (t ) :
t i = a* si mod p
Didapat kan
t = (200, 93, 79,51, 260, 208, 263)
Plaint ext :
syane marannu t hana
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 t ersebut dikonversi ke biner
s 83 : 1010011
y 89 : 1011001
a 65 : 1000001
n 78 : 1001110
11
e 8 69 : 1000101 dst …
6
5
4
Subset -sum Problem
20
Plaint ext di bagi dalam block sesuai dengan banyaknya s,
pada cont oh ini banyaknya s adalah 7 digit .
1010011 y = 200 + 79 + 208 + 263 = 750
1011001 y = 200 + 79 + 51 + 263 = 593
dst …
Ciphert ext :
750 593 dst …
Dekripsi :
Hitung Z
Z = a-1y mod p
200-1=???? dengan algoritma extended euclidian
200-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
Bob
Alice
Creates
Cryptosystem
Private Key
s = (1,2,5,11,32,87,141)
a = 200
p = 307
Decrypts
Ciphertext
Plaintext:
P= 1010011
Public Key
t = (200,93,79,51,
260,208,263)
Encryption:
Using Public Key
y = 200 + 79 + 208 + 263 = 750
Decryption:
Z = 241*750mod 307
= 234
234 = 1*1 + 0*2 + 1*5 + 0*11 + 0*32 + 1*87 + 1*141
Plaintext:
P= 1010011
Ciphertext:
750
Knapsack
Crypt osyst em
AKIK HIDAYAT
MATEMATIKA FMIPA UNPAD
Kript osist em Merkle Hellman
Knapsack
• Merkle Hell man Knapsack pert ama kal i
dideskripsikan ol eh Merkle dan Hell man
pada t ahun 1978
• Didasarkan pada masal ah NP complet e
(Non Det erminist ic Polynomial )
• Knapsack probl em
CRYPTOGRAPHY
sj si
j 1
i 1
Bent uk umum
•
Ambil s = (s1 , s2,…, sn) sembarang bilangan integer
n
superincreasing, ambil
p si
i 1
•
•
p si
n
•
i 1
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 seperti
diatas, t sebagai Public, dan P, a dan s adalah
secret(rahasia). Untuk K = {(s, P, a, t)}, didefinisikan
•
eK (x1 , x2, x3 , …. , xn) = . x t
•
Untuk 0 y n(P-1), Definisikan Z = a-1y mod P, dK (y) =
(x1, x2 , x3, …. , xn )
n
i 1
i i
x s
n
i 1
i i
T
Knapsack Problem
Probl em Inst ance
I = 1(s
, …, snn,/ 2 T), dimana s1, …, sn dan T adal ah
bil angan
at xposit
{
{ i0 ,adal
1} forah allsi zes
S 1 bul
j a j : xifj . S
j } dan T
adal ah Tar getj 1Sum .
Quest ion
x s
Apakah 0-1 vekt or x = (x1, …, xn) merupakan
n
i 1
i i
T
?
sj si
j 1
i 1
Algorit ma Merkle-Hellman Knapsack
What we need
s j si
• S = (s1, …, sn) bilangan int eger superincreasing
j 1
p si
i 1
n
i 1
•
p
s bilangan prima
n
i 1
i
• a, 1 ≤ a ≤ p -1
• t = a si mod p
Public Key: t
Privat e Key: si , p, a,
Algorit ma Merkle-Hellman Knapsack
Encode:
es(x 1, …, x n) =
n
i 1
x iti
Decode:
z = a-1 y mod p
• penyelesaian masalah subset ( s1, …, sn, Z)
diberlakukan unt uk d K(y) = ( x 1, …, x n).
Cont oh Merkle-Hellman Knapsack
Privat e key :
s = (1, 2, 5, 11, 32, 87, 141)
a = 200
p = 307
Pl aint ext (x) : SYANE MARANNU THANA
Chipert ext : ?????
Perhit ungan Publ ic Key (t ) :
t i = a* si mod p
Didapat kan
t = (200, 93, 79,51, 260, 208, 263)
Plaint ext :
syane marannu t hana
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 t ersebut dikonversi ke biner
s 83 : 1010011
y 89 : 1011001
a 65 : 1000001
n 78 : 1001110
11
e 8 69 : 1000101 dst …
6
5
4
Subset -sum Problem
20
Plaint ext di bagi dalam block sesuai dengan banyaknya s,
pada cont oh ini banyaknya s adalah 7 digit .
1010011 y = 200 + 79 + 208 + 263 = 750
1011001 y = 200 + 79 + 51 + 263 = 593
dst …
Ciphert ext :
750 593 dst …
Dekripsi :
Hitung Z
Z = a-1y mod p
200-1=???? dengan algoritma extended euclidian
200-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
Bob
Alice
Creates
Cryptosystem
Private Key
s = (1,2,5,11,32,87,141)
a = 200
p = 307
Decrypts
Ciphertext
Plaintext:
P= 1010011
Public Key
t = (200,93,79,51,
260,208,263)
Encryption:
Using Public Key
y = 200 + 79 + 208 + 263 = 750
Decryption:
Z = 241*750mod 307
= 234
234 = 1*1 + 0*2 + 1*5 + 0*11 + 0*32 + 1*87 + 1*141
Plaintext:
P= 1010011
Ciphertext:
750