gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] manuscripts/Sigs article.rst poss.py


From: Tuomas J. Lukka
Subject: [Gzz-commits] manuscripts/Sigs article.rst poss.py
Date: Sun, 18 May 2003 03:52:24 -0400

CVSROOT:        /cvsroot/gzz
Module name:    manuscripts
Changes by:     Tuomas J. Lukka <address@hidden>        03/05/18 03:52:24

Modified files:
        Sigs           : article.rst poss.py 

Log message:
        bmsig

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/manuscripts/Sigs/article.rst.diff?tr1=1.70&tr2=1.71&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/manuscripts/Sigs/poss.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: manuscripts/Sigs/article.rst
diff -u manuscripts/Sigs/article.rst:1.70 manuscripts/Sigs/article.rst:1.71
--- manuscripts/Sigs/article.rst:1.70   Sun May 18 02:57:58 2003
+++ manuscripts/Sigs/article.rst        Sun May 18 03:52:24 2003
@@ -238,8 +238,14 @@
        \parbox{\sw}{Reyzin one-way\cite{XXX} $(h,b,t,k)$ }
            & $1$ & $b$ & $kh$ & $h$ & $h$ & $t$ & $?$ & $?+k$ \\
        \parbox{\sw}{Bleichenbacher-Maurer\cite{XXX (ASIACRYPT)}
-               (h, } 
-           & \\
+               (h, n) 
+                        } 
+           & $1$ & $\lfloor\eta n\rfloor$
+                       & $3(n+1)h $
+                             & $h$ 
+                                   & $h$ 
+                                         & $9n+2$ & 0 & $9n+2 $
+            \\
        \hline
        \multicolumn{4}{l}{\hskip 2cm Derived schemes} \\
        \hline
@@ -262,6 +268,8 @@
        in order to form a signature.
        In Reyzin and Reyzin's scheme, $t$ and $k$
        must be chosen so that ${t \choose k} \ge 2^b$.
+       For Bleichenbacher-Maurer, XXX 
+       `$\eta=\log 51 / \log 2$`.
         The derived schemes use
        as their basis another one-time signature scheme
        $S'$ with the parameter octuplet
Index: manuscripts/Sigs/poss.py
diff -u manuscripts/Sigs/poss.py:1.2 manuscripts/Sigs/poss.py:1.3
--- manuscripts/Sigs/poss.py:1.2        Sun May 18 02:57:58 2003
+++ manuscripts/Sigs/poss.py    Sun May 18 03:52:24 2003
@@ -12,6 +12,11 @@
            fraction(b*(2L**n-1)+n, n),
            fraction(b*(2L**n-1)+n, n))
 
+def bleichenbacher_maurer(h, n):
+    return (1, log(51)/log(2) * n, 
+           3*(n+1)*h, h, h,
+           9*n+2, 0, 9*n+2)
+
 def merkle_hashtree(n, S):
     return (2L**n * S[0], S[1], 
                S[2] + S[3] + n * S[4],
@@ -42,12 +47,13 @@
 
 def printscheme(S):
     S = [unfract(s) for s in S]
+    #print S
     print log(S[0]) / log(2), S[1], \
        S[2]/8, S[3] / 8 ,  \
        S[4], \
-       log(S[5])/log(10), \
-       log(S[6])/log(10), \
-       log(S[7])/log(10)
+       log(S[5]+1)/log(10), \
+       log(S[6]+1)/log(10), \
+       log(S[7]+1)/log(10)
 
 schemes = []
 
@@ -66,6 +72,14 @@
                s
            ))
            #printscheme(s) 
+       s = (key_boosting(t,
+               merkle_hashtree(n,
+               bleichenbacher_maurer(160, 29))))
+       schemes.append( (
+           "KB%(t)sM%(n)sBM(160,29)" % locals(),
+           s
+       ))
+               
        #print "Lamport:"
        s = (key_boosting(t, 
                merkle_hashtree(n, 
@@ -76,25 +90,28 @@
        ))
        #printscheme(s) 
 
-for criteria in (
-       (1, 0),
-       (1, 10),
-       (1, 100),
-       (1, 1000)):
-    m = None
-    mv = 0
-    def critf(s):
-       return criteria[0] * log2(s[1][2])   + \
-               criteria[1] * log10(sum(s[1][5:]))
-    for s in schemes:
-       if m == None or critf(s)<mv:
-           m = s
-           mv = critf(s)
-    print "For ", criteria, m[0]
-    printscheme(m[1])
+    for criteria in (
+           (1, 0),
+           (1, 10),
+           (1, 100),
+           (1, 1000)):
+       m = None
+       mv = 0
+       def critf(s):
+           return criteria[0] * log2(s[1][2])   + \
+                   criteria[1] * log10(sum(s[1][5:]))
+       for s in schemes:
+           if m == None or critf(s)<mv:
+               m = s
+               mv = critf(s)
+       print "For ", criteria, m[0]
+       printscheme(m[1])
 
 if 0:
     printscheme(lamport(160,160))
     for n in range(1, 17):
        print "\nn = ",n
        printscheme(merkle_winternitz(160,160,n))
+    for n in range(26, 32):
+       print "\nn = ",n
+       printscheme(bleichenbacher_maurer(160,n))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]