Lecture22 Slides
Lecture22 Slides
Ryan C. Daileda
Trinity University
Number Theory
V = ǫ1 a 1 + ǫ2 a 2 + · · · + ǫr a r ?
20 = 0 · 2 + 1 · 5 + 1 · 6 + 1 · 9 + 0 · 13.
2 + 5 + 6 + 9 = 22,
Definition
We say that a sequence {ai } is superincreasing if
for all n ≥ 2.
Examples.
The sequence a1 = 3, a2 = 4, a3 = 10, a4 = 20 is
superincreasing.
The sequence a1 = 1, a2 = 2, a3 = 4, a4 = 8, a5 = 16 is
superincreasing.
More generally, given b ≥ 2, the sequence a1 = 1, a2 = b,
a3 = b 2 , . . . , ai = b i −1 , . . . , ar = b r −1 is superincreasing.
Daileda The Knapsack Cryptosystem
An important feature of solutions to knapsack problems involving
superincreasing sequences is that they are unique.
Theorem 1
Let {ai } ⊂ N be a superincreasing sequence. If ǫi , δi ∈ {0, 1} and
r
X r
X
ǫi a i = δi ai ,
i =1 i =1
55 = 3 · 1 + 4 · 1 + 10 · 0 + 20 · 0 + 42 · 1.
Every user:
1. Chooses a superincreasing sequence {ai }ri=1 , a modulus
m > 2ar , and a multiplier a with (a, m) = 1.
Example 1
Encrypt the plaintext block 01001 using the superincreasing
sequence {3, 4, 10, 20, 42} with modulus m = 90 and multiplier
a = 17.