Title: Optimal Signed Binary Recoding For Integers
1Optimal Signed Binary Recoding For Integers
Xiaoyu Ruan, Rajendra Katti Department of
Electrical and Computer Engineering North Dakota
State University
2Signed Binary Recoding Overview
- Signed Binary Number System uses 0,1,1 to
recode integers. - SB recoding uses at least one more bit than
binary expansion. - An integer has many different forms of SB
representation - Weight the number of non-zeros in a
representation. -
-
-
- SB expansion could have lower weight than
binary. - Joint Weight number of non-zero columns in a SB
table. -
3Elliptic Curve Cryptosystem (ECC)
- The main operation of ECC is to compute
- where ks are keys and Ps points on elliptic
curve. - Using the signed binary system to recode ks
reduces the number of non-zero columns (joint
weight), thus speeds up the operation. - In an ECC, the ks are received from left to
right (MSB to LSB). - is also computed from left to
right using Shamirs method. - -P is obtained for free from P. Hence SB
expansions for ks are introduced.
4Shamirs Method in ECC
- To compute 6P15P2.
- Shamirs Method Operates from left to right (MSB
to LSB). - Number of operations depends on joint weight of
kis.
5Optimal Signed Binary Recoding
- To speed up ECC, optimal SB recoding should
- (1) Result in minimum possible joint weight.
- (2) Operate from left to right.
- For a single integer, Joye and Yen introduced a
method that satisfies both (1) and (2). - For any number of integers, Solinas and Proos at
Center for Cryptography Research at University of
Waterloo introduced a method, Joint Sparse Form,
that satisfies (1) but not (2). As a result, a
large amount of memory is required for
computation. - We propose a new method, that satisfies both (1)
and (2).
6Basic Replacement Principle
Examples
7Recoding Algorithm
- INPUT N binary integers ki. Maximum length is L
bits. - OUTPUT (L1)-bit SB recoding table of ki, with
the minimum possible joint weight. - STEP 1 (Preliminary Replacement) Left-to-right
scan ks. Convert binary expansions to the
alternating greedy expansion. - For an alternating greedy expansion
- xs neighboring non-zero bit(s) must be x.
- Leftmost non-zero bit of each row is 1.
- Rightmost non-zero bit of each row is 1.
- Unique for a given integer.
k ((kL1 0), (kL2 kL1),, (k0 k1), (0
k0))
8Recoding Algorithm, Cont.
- INPUT N binary integers ki. Maximum length is L
bits. - OUTPUT (L1)-bit SB expansion table of ki, with
the minimum possible joint weight. - STEP 2 (Crucial Replacement) Left-to-right scan
alternating greedy expansion table of ks column
by column. Look at atmost (N1) columns at a
time. Make appropriate replacements on the
N(N1) table which is being examined. - The two steps can be combined. Thus the
intermediate SB expansion does not need to be
stored in memory.
9Example
- Suppose our ECC receives 4 binary integers
(keys), maximum length 11 bits. (N 4, L 11) - STEP 1 Convert to alternating greedy
expansions.
10Example, Cont.
- STEP 2 Make replacements on alternating greedy
expansion using the rule - The sequences in the same color indicate a
replacement. - The joint weight is 8 for binary expansion and 7
for the final optimal output, reduced by 1.
11Properties
- Theorem 1. (Uniqueness)
- Given N non-negative integers, the SB
expansions output by the our method is unique. - Theorem 2. (Optimality)
- The SB expansion output by the our method has
the minimum joint weight among any SB expansions
of the given N integers. - Theorem 3. (Density of Zero Columns)
- Amongst every 2N1 consecutive columns of the
output of our method, there exists at least one
zero column.
12Proof of Optimality
- Step 1 Take any SB expansion table of the N
given integers with joint weight w. - Step 2 Convert this representation to the unique
alternating greedy expansion table with joint
weight w1. - Step 3 Input the unique alternating greedy
expansion table to Step 2 of the algorithm.
Output is with joint weight w2. - Step 4 Show that w2 w in any case.
13New Method vs. Joint Sparse Form
- Joint Weight
- Both methods result in minimum joint weight.
- Software Implementation
- Our Method uses less CPU time than JSF Method
does. (approximately 85) - Hardware Implementation
- Our Method left-to-right, intermediate results
not stored. - Needs Memory N(N1) SB bits.
- JSF Method right-to-left, intermediate results
must be stored. - Needs Memory N(L1) SB bits.
14Thank you
- Questions and Comments Please