Current Article  

Merkle-Hellman

Merkle-Hellman (MH) was one ofearliest public key cryptosystems. Although its ideaselegant,far simpler than RSA,has been broken. MHbased onsubset sum problem (a special case ofknapsack problem): givenlistnumbers andthird number, which issum ofsubsetthese numbers, determinesubset. In general, this problemknownbe NP-hard; however, theresome 'easy' instances which can be solved efficiently. The Merkle-Hellmanbased on transforming an easy instance intodifficult instance,back again. It was broken by Shamir, not by attackingknapsack problem, but rather by breakingconversion from an easy knapsack tohard one. The algorithmas follows:

KEY GENERATION - To encrypt n-bit messages, choosesuperincreasing sequence

w = (w1, w2, ..., wn)

of n natural numbers (excluding zero). (A superincreasing sequence issequencewhich every elementgreater thansumall previous elements.) Pickrandom integer q, such that q > wn, andrandom integer r coprimeq. Now calculatesequence
β = (β1, β2, ..., βn)
where βi = rwi (mod q). The public keyβ, whileprivate key(w, q, r).

ENCRYPTION - To encrypt an n-bit message

α = (α1, α2, ..., αn) ,

where αi isi-th bit ofmessage, calculate

.
The cryptogram thenc.

DECRYPTION - Calculate s = r-1 (mod q),c' = c*s (mod q). The knapsack problem (wc') can be solvedlinear time.

See public key cryptography


Copyright 2004. All rights reserved.