Project

General

Profile

Bimodal Lattice Signature Scheme (BLISS) » History » Version 13

Andreas Steffen, 13.12.2014 14:04

1 1 Andreas Steffen
h1. Bimodal Lattice Signature Scheme (BLISS)
2 1 Andreas Steffen
3 1 Andreas Steffen
BLISS is a post-quantum signature scheme based on the CRYPTO 2013 paper "Lattice Signatures and Bimodal Gaussians":https://eprint.iacr.org/2013/383 by Léo Ducas, Alain Durmus, Tancrède Lepoint, and Vadim Lyubashevsky. Starting with the strongSwan [[5.2.2]] release we offer BLISS as an IKEv2 public key authentication method and added full BLISS key and certificate generation support to the strongSwan [[IpsecPki|pki]] tool.
4 1 Andreas Steffen
5 7 Andreas Steffen
{{>toc}}
6 7 Andreas Steffen
7 1 Andreas Steffen
h2. BLISS Private Key Generation
8 1 Andreas Steffen
9 1 Andreas Steffen
strongSwan currently supports the BLISS-I, BLISS-III, and BLISS-IV schemes with a cryptographic strength of 128 bits, 160 bits and 192 bits, respectively. Using the [[IpsecPki|pki]] tool a private BLISS key can be generated as follows:
10 1 Andreas Steffen
<pre>
11 13 Andreas Steffen
pki --gen --type bliss --size 1 --debug 2 > cakey1.der
12 1 Andreas Steffen
13 1 Andreas Steffen
mgf1 based on sha1 is seeded with 20 octets
14 1 Andreas Steffen
mgf1 generated 240 octets
15 1 Andreas Steffen
mgf1 based on sha1 is seeded with 20 octets
16 1 Andreas Steffen
mgf1 generated 240 octets
17 1 Andreas Steffen
l2 norm of s1||s2: 771, Nk(S): 47150 (46479 max)
18 1 Andreas Steffen
19 1 Andreas Steffen
mgf1 based on sha1 is seeded with 20 octets
20 1 Andreas Steffen
mgf1 generated 220 octets
21 1 Andreas Steffen
mgf1 based on sha1 is seeded with 20 octets
22 1 Andreas Steffen
mgf1 generated 240 octets
23 1 Andreas Steffen
l2 norm of s1||s2: 771, Nk(S): 43332 (46479 max)
24 1 Andreas Steffen
25 1 Andreas Steffen
secret key generation succeeded after 2 trials
26 1 Andreas Steffen
</pre>
27 9 Andreas Steffen
When generating the private key consisting of the two polynomials *s1* and *s2*, the limit for the _Nk(S)_ metric must not be exceeded. This means that often several trials are needed in order to obtain a valid BLISS private key. With the command
28 1 Andreas Steffen
<pre>
29 13 Andreas Steffen
pki --print --type bliss-priv --in cakey1.der
30 1 Andreas Steffen
31 1 Andreas Steffen
private key with:
32 1 Andreas Steffen
pubkey:    BLISS 128 bits strength
33 1 Andreas Steffen
keyid:     d1:a3:fb:04:8d:1b:86:4f:fa:a7:d8:45:ec:e3:e3:ec:ef:7b:85:ca
34 1 Andreas Steffen
subjkey:   e3:fc:6b:59:9a:ee:81:d5:10:3a:58:9f:e2:99:f7:7f:5c:3b:1c:96
35 1 Andreas Steffen
</pre>
36 1 Andreas Steffen
information on the BLISS private key is displayed.
37 2 Andreas Steffen
38 1 Andreas Steffen
Let's now generate a BLISS-IV key with 192 bit cryptographic strength in base64-encoded PEM format
39 2 Andreas Steffen
<pre>
40 13 Andreas Steffen
pki --gen --type bliss --size 4 --outform pem  > cakey4.pem
41 3 Andreas Steffen
secret key generation succeeded after 6 trials
42 1 Andreas Steffen
</pre>
43 1 Andreas Steffen
The PEM key format is printable
44 2 Andreas Steffen
<pre>
45 3 Andreas Steffen
cat key4.pem
46 3 Andreas Steffen
47 1 Andreas Steffen
-----BEGIN BLISS PRIVATE KEY-----
48 3 Andreas Steffen
MIIFGgYLKwYBBAGCoCoFAgQDggOBAEOoiWS7mISnnPjzFJu6REHq1REYuLfillD2
49 3 Andreas Steffen
VmmCWuB1NcL6GLTRFzwCMCw8KBLpyZhEAs6QlelSWVxPuBGMuQzQsmm9A3NjrV4U
50 3 Andreas Steffen
655KXTkuiTpZP00qsfKuqh6EofkQ+89YK6qZNnxAeJ/mB9Dlkq9ELPjigNlZfUkd
51 3 Andreas Steffen
Ky2fBJkwdKLb75WermM3tOYts0X06j7M3WX8DdVsGgIrzC57shAiD9nyhrUNHB15
52 3 Andreas Steffen
b9IymR84GW4BJofKVW2GJVeUyLnh8YP33OUx6F5aEqweSbi5dGtbDbr0WmK6LmNw
53 3 Andreas Steffen
dKQyv+hickbXGTWifAEktjpTApYjBBB6TZgiAW2P4T3dMq2ciQUbhCl1xWUlWF+2
54 3 Andreas Steffen
iZbfFrcMb4dVrWOYbQRfvURmCkvJWsXHiijK8E+pmCDCruQg7TuRlIdXCRhSZrzY
55 3 Andreas Steffen
+pLcY7mKBfyCvrmYmmCMRQQXeTDnGI/9VhHJ6icK6Mqy2BwRVFj9FmSsAHmF9gkL
56 3 Andreas Steffen
hcaPlsgpLqaoK41FcJHjMbJIjWKaHkFXMQ0K943cM0ivB3EqRG68AptqH1QxkIi6
57 3 Andreas Steffen
haUuQL6Nsl/tXo4VwyiVpm1faRQW5Re9L6KbEhLgnT3JeAft0zOOlHwx5myBDAxa
58 3 Andreas Steffen
s8LP9H/EyzpO4uyd1eHlqZvGEmlt9lhOikLwEohWDoZIpWFKrtfzciQMOugLq4m4
59 3 Andreas Steffen
n+ueVo25rvq6MRwncj0FCwlt0nAhWeP8hQYTzhgFsBeheM4OaWVRhRPQmqYFrLRZ
60 3 Andreas Steffen
grvkgGIQd2IDKhjqCI7gpOi/KRG5RbnyvO4zaqLNy16Lk4exZ2iin19YQpmU613j
61 3 Andreas Steffen
EVLsMoRTQl2tE+aB0GJ0BpE3u0Aqnrp6ZhCJmK8CybfYAGhV5sly59Cds7QtIw8r
62 3 Andreas Steffen
6pXl7Wd0q2sMFsUnqadcCwqoeOciqU+AwvQ+X2g4eilxV6D2TkLMMBUOYi5BqNdj
63 3 Andreas Steffen
a7pJAnUUMyEYvDXhMUYnjGlK3RFKHFCzCalQN0s5JLRTpLnTTy70TtvMaDJAWCwG
64 3 Andreas Steffen
OShSbNqr0zGNfnCsFjuppZ+5tQd7GRCgjL2uG0CDTIKEq5vmaH1d3FOldJX2uYYA
65 3 Andreas Steffen
O6QOKIThuiH3C0OgAQoLGoArsmFymtBXHxPZSjtE5SR+1YVCr4UEdGlSt2efJoxm
66 3 Andreas Steffen
eBaYki03CF2pSm7EDHxbEjDC9E3AeOfUW6Iq4dTGThjGNGnnBIbpv0mSdXFzWcZU
67 3 Andreas Steffen
3rwQo51EA4HBAACSCPjwAOUCAOCCCOP/gCDzxzweEOByCAACeEP1wF+DxhwBiQTw
68 3 Andreas Steffen
AP/0AAQFx/z+SACPgR+ASePwOAOgAAQBwDiAV0OOCADwB0eOgAeAOORwMAPzwOQS
69 3 Andreas Steffen
CBuMAQOB+Px/x+AuCeRweeADzwACPyCP+RyQhgBzwOCBwSBwOB+SeQAQCOBwACAB
70 3 Andreas Steffen
0eByABwQBwQAAeCBwgAAB/wACDwNyPgeQOPwAAR+OAR+AB+COAQCBx+QeB+R+B+Q
71 3 Andreas Steffen
CADjxwACPiARvwOBwQDjggcY7EEgAEHjcYAcogEHgccDjgcDg8fgAnjgAgfkgEgc
72 3 Andreas Steffen
DnjgAEbAn8ArnAhAAcAkAEgADkgAD8DgkDgkcDnkcE88jkjkgjgD9ccAg8cc8jjr
73 3 Andreas Steffen
kcgkABED8gAD8H/n8gAAj8AgEHj8D8D89Dfg4DAgEEAAgAj8HgkgAj8HgcHodAEk
74 3 Andreas Steffen
cn8DAL8AD/g//gcDkAEH/AAD/gcDnj8AkD8AcDgErkHjAAcA9AAAAcAcEEEgAAAg
75 3 Andreas Steffen
AYLoAgAEHgkDgYccgbk=
76 1 Andreas Steffen
-----END BLISS PRIVATE KEY-----
77 1 Andreas Steffen
</pre>
78 3 Andreas Steffen
At last let's generate a BLISS-III key with a cryptographic strength of 160 bits with the highest debug level enabled:
79 3 Andreas Steffen
<pre>
80 13 Andreas Steffen
pki --gen --type bliss --size 3 --debug 4 > cakey3.der
81 3 Andreas Steffen
82 3 Andreas Steffen
mgf1 based on sha1 is seeded with 20 octets
83 3 Andreas Steffen
mgf1 generated 380 octets
84 3 Andreas Steffen
mgf1 based on sha1 is seeded with 20 octets
85 3 Andreas Steffen
mgf1 generated 380 octets
86 3 Andreas Steffen
l2 norm of s1||s2: 1401, Nk(S): 125552 (128626 max)
87 3 Andreas Steffen
88 3 Andreas Steffen
secret key generation succeeded after 1 trial
89 3 Andreas Steffen
   i   f   g     a     F     G     A
90 3 Andreas Steffen
   0  -1   1 11932  6730 11344  6400
91 3 Andreas Steffen
   1   1   0  2227  1206  9396  6244
92 3 Andreas Steffen
   2  -1   2  4844   496   414  4411
93 3 Andreas Steffen
   3  -1   0  2768  2813  1412  6619
94 3 Andreas Steffen
   4   0   2  3583  2753  3520  9237
95 3 Andreas Steffen
   5   0   2 10160  2434  9512  8688
96 3 Andreas Steffen
   6   0   2  8157  9071 10775  8990
97 3 Andreas Steffen
   7   0   0  3862  5091   211  3126
98 3 Andreas Steffen
   8  -1   0  3045  2278  5799  8812
99 3 Andreas Steffen
   9   1   0  9942  5685  3335   541
100 3 Andreas Steffen
  10   0   0  8236  1637   526  5000
101 3 Andreas Steffen
  11   0   0  8638     9  9539 10618
102 3 Andreas Steffen
  12   0  -2 11526 11882  8890  8976
103 3 Andreas Steffen
  13  -1   0 12180 11895  3538  5231
104 3 Andreas Steffen
  14  -2   0  6332  4243 11062   243
105 3 Andreas Steffen
  15   0   0  4083  4302  3400  4000
106 3 Andreas Steffen
  16   0   2  4545  6031  2766  1708
107 3 Andreas Steffen
  17   0   0  1495  4119  8792 11954
108 3 Andreas Steffen
  18   1  -2  5664  9450  5151  6621
109 3 Andreas Steffen
  19   0   0  3580  1963 11193  1552
110 3 Andreas Steffen
  20  -1  -2  7090  5950 10318  8445
111 3 Andreas Steffen
  21   0   0  5180  8190  7147 11145
112 3 Andreas Steffen
  22   0  -2  8455 12226    27 10533
113 3 Andreas Steffen
  23   0   0   810  4585  6578  3333
114 3 Andreas Steffen
  24   1   0  5316  9595  2034  7088
115 3 Andreas Steffen
  25   0   0 10072 11746 10425  9554
116 3 Andreas Steffen
  26  -1   0  4544  5888  7751  8402
117 3 Andreas Steffen
  27   0   0  9529 10638  5983  9509
118 3 Andreas Steffen
  28   0   0  6832  8019  5519  1124
119 3 Andreas Steffen
  29   1  -2  8900  2356  4475  4326
120 3 Andreas Steffen
  30   0  -2  4438  7452  2418   406
121 3 Andreas Steffen
  31  -1  -2   363  9949  6078  3369
122 3 Andreas Steffen
  32   0   0  6032  9713 11653 12232
123 3 Andreas Steffen
  33   0   0  1342 11748 11094  4727
124 3 Andreas Steffen
  34  -1  -2   780  9506  2687  5713
125 3 Andreas Steffen
  35   1   0  1114 11518  5003  1173
126 3 Andreas Steffen
  36   1   0 11561  8458  9766  5255
127 3 Andreas Steffen
  37   0   0   932  4680  7848 10211
128 3 Andreas Steffen
  38   0   0  4748  4235  6832  9975
129 3 Andreas Steffen
  39   1   2  6338  9116  1371  9287
130 3 Andreas Steffen
  40   0   0  9216 11714 11657  4532
131 3 Andreas Steffen
  41   1  -2  1100  6203  6951  9887
132 3 Andreas Steffen
  42   1   0 11955  9307   124 11984
133 3 Andreas Steffen
  43   0   0  6550  6220  9948 11200
134 3 Andreas Steffen
  44   1   0 10183  7920  2231  2050
135 3 Andreas Steffen
  45   0   0  5858 10736 11843  4851
136 3 Andreas Steffen
  46   1   0  4402  6459  5976  5509
137 3 Andreas Steffen
  47   1   2  3354  2643  9397 11716
138 3 Andreas Steffen
  48   1  -2  9937  3908  1174 11478
139 3 Andreas Steffen
  49   2   0 11688  9298 10680  1833
140 3 Andreas Steffen
  50  -1   2  5348  4731 12240  5286
141 3 Andreas Steffen
  51   0   0  4594  1469 10189  5043
142 3 Andreas Steffen
  52   0   2  6324  1006  6445  3268
143 3 Andreas Steffen
  53   0  -4  2137  2707  4158   569
144 3 Andreas Steffen
  54  -1  -2   340  2232  4643  9852
145 3 Andreas Steffen
  55  -1   0  1784  8290  9620  3129
146 3 Andreas Steffen
  56   1   0  7203  5610 11341   749
147 3 Andreas Steffen
  57   0   0  6651 12057 10851  5621
148 3 Andreas Steffen
  58  -1   0   383  5516  9861  2272
149 3 Andreas Steffen
  59   2   0 10893  8086  1452   140
150 3 Andreas Steffen
  60   0   0  7921 10970  6955  9293
151 3 Andreas Steffen
  61   1  -2  4243 10170  5305  9178
152 3 Andreas Steffen
  62  -1   2  3565  2730  3858 11021
153 3 Andreas Steffen
  63   0   0  5697  1308  7157  8076
154 3 Andreas Steffen
  64   0  -2  4079  5666  9079  5400
155 3 Andreas Steffen
  65   1   0  3653  2895  1244 11606
156 3 Andreas Steffen
  66   0   2  9829  6670  4713  3470
157 3 Andreas Steffen
  67   1  -2 11728  5737  6142  2111
158 3 Andreas Steffen
  68   1  -2  7403 10194  2903  2562
159 3 Andreas Steffen
  69  -2   0   770  9857   301  4108
160 3 Andreas Steffen
  70   0  -2  6771  2653 10239  2130
161 3 Andreas Steffen
  71   0   0  7855  4463  7362  9248
162 3 Andreas Steffen
  72  -1   0 10880  6688  3127   311
163 3 Andreas Steffen
  73  -1   2  4691  8128   533  8290
164 3 Andreas Steffen
  74  -1  -2  4037  3558   115 10006
165 3 Andreas Steffen
  75   0   0  2284   389  6473  3776
166 3 Andreas Steffen
  76   0   0  5390  9091  1720  7047
167 3 Andreas Steffen
  77   0   2  4988  1314 11101  4376
168 3 Andreas Steffen
  78   1   0  5858  6929  7217  3009
169 3 Andreas Steffen
  79   0   0  8276  9115  9758  8600
170 3 Andreas Steffen
  80   0   0  1719  3490  6518  2847
171 3 Andreas Steffen
  81   0   0  3145    16  2434 10905
172 3 Andreas Steffen
  82   1   0 12177  5643  1293  9983
173 3 Andreas Steffen
  83   0   2  8860  7027  7247  4144
174 3 Andreas Steffen
  84   0  -2  8029 11886  5161  8312
175 3 Andreas Steffen
  85   0   0  6660  8970  4777  9518
176 3 Andreas Steffen
  86   0   2  8940  2217  8996  6495
177 3 Andreas Steffen
  87   0   0  4623  2243 11869 10300
178 3 Andreas Steffen
  88   0   4 11841  4074  6347  3751
179 3 Andreas Steffen
  89  -1   0  2220 12271  2346  3966
180 3 Andreas Steffen
  90   0   2 11997   617  8162  8020
181 3 Andreas Steffen
  91   0  -2  4335    73 10232  9399
182 3 Andreas Steffen
  92   1   2  8016 10780 11912 11369
183 3 Andreas Steffen
  93   0  -2  4302  7923   717  7152
184 3 Andreas Steffen
  94   0  -2  8014  1252  8311 11638
185 3 Andreas Steffen
  95   1   0 11580   975  1679  2699
186 3 Andreas Steffen
  96   1   2  6246  3336   161  6745
187 3 Andreas Steffen
  97  -1  -4  5081  9817 11892  6259
188 3 Andreas Steffen
  98   0   0  4544 10997 12278  4499
189 3 Andreas Steffen
  99   0   2  1616  9495 12225 10213
190 3 Andreas Steffen
 100  -1  -2  8533  8912  6448  9929
191 3 Andreas Steffen
 101   0   2  8850  8093 11649  9665
192 3 Andreas Steffen
 102   1  -4  9776  4225  8805  9906
193 3 Andreas Steffen
 103  -1   0 12203  5021 12232 10353
194 3 Andreas Steffen
 104   1   2  1285 10557  8597  2897
195 3 Andreas Steffen
 105   1   0  5553 11162  5268 10387
196 3 Andreas Steffen
 106  -1  -2  6413 10365 11905  6694
197 3 Andreas Steffen
 107   0  -2  1915  8797  5109 10630
198 3 Andreas Steffen
 108   1   2  5668  7809 10108   689
199 3 Andreas Steffen
 109   0  -2  5724  6433  9119  9062
200 3 Andreas Steffen
 110   1   0  3193  2998 10987  4238
201 3 Andreas Steffen
 111   0   2  3218  6756 10221 11532
202 3 Andreas Steffen
 112   0   0 11475  1061  3999  2494
203 3 Andreas Steffen
 113   0   0  1751 10398  9032 10926
204 3 Andreas Steffen
 114   0   0  5049  4368  3557  9980
205 3 Andreas Steffen
 115   0   0  6973 10707 10291  4631
206 3 Andreas Steffen
 116   0   0   826  2759  8952 11976
207 3 Andreas Steffen
 117  -2   0 11077  1210  8027  7898
208 3 Andreas Steffen
 118   0   0  3361  8733  5169   237
209 3 Andreas Steffen
 119   0   0  9447 10875 12077 11281
210 3 Andreas Steffen
 120   0   0  7154   928   564 11601
211 3 Andreas Steffen
 121  -1  -2  5099  1695  5523 11879
212 3 Andreas Steffen
 122   0  -2  5533  6614  4882  7444
213 3 Andreas Steffen
 123   0   2  2416  2221 11163  3679
214 3 Andreas Steffen
 124   0  -2   683  8407  7179 11214
215 3 Andreas Steffen
 125  -1   0  1698  4946  8846  5627
216 3 Andreas Steffen
 126   0   2 11993  1197  5067  2037
217 3 Andreas Steffen
 127  -1   2 11131 10689  4543  8346
218 3 Andreas Steffen
 128   1   0 11684 12052  5700  5576
219 3 Andreas Steffen
 129   0   0 11081  7285  5758  2882
220 3 Andreas Steffen
 130   0   0  2204 10550 10764 10396
221 3 Andreas Steffen
 131   0   0  5413  6834   237  9705
222 3 Andreas Steffen
 132   0   0  3139  9589  3580  1000
223 3 Andreas Steffen
 133   1   0  2435 10845 11335  4375
224 3 Andreas Steffen
 134   0   0  5835  9461  5820  8967
225 3 Andreas Steffen
 135   1   2  1986  7566  6638  7219
226 3 Andreas Steffen
 136   1   2 12005   279  4775   854
227 3 Andreas Steffen
 137   0  -2 11470  3603  1399  4755
228 3 Andreas Steffen
 138   0   4  3665 10794  4373 10453
229 3 Andreas Steffen
 139   0   0  6909  8265 11931 11831
230 3 Andreas Steffen
 140   1   2  9201  4238  3547  9596
231 3 Andreas Steffen
 141   1  -2  7577 11197  9585  4684
232 3 Andreas Steffen
 142   0   0  8947  1967  2051  7873
233 3 Andreas Steffen
 143   0  -2  9195  2467  6347  7903
234 3 Andreas Steffen
 144   1   2 11017  8525 11401 10043
235 3 Andreas Steffen
 145  -1   0  1786  7054  2174  5272
236 3 Andreas Steffen
 146   0   0  2541 11091 10944 11808
237 3 Andreas Steffen
 147   0   0  1685 12142  9116 11391
238 3 Andreas Steffen
 148   0  -2  9324 10699 11938  1090
239 3 Andreas Steffen
 149   1  -2  6706  2541  7886  7480
240 3 Andreas Steffen
 150   1   0 10550  1341  3839  5373
241 3 Andreas Steffen
 151  -1  -2  4665  7629  5217  2934
242 3 Andreas Steffen
 152   0   2  1311  6833  4048 11099
243 3 Andreas Steffen
 153   1   0 11994  1783 10226  2549
244 3 Andreas Steffen
 154   1   0  9953  5962 11300 10712
245 3 Andreas Steffen
 155   0  -2  2781 11449   395 11045
246 3 Andreas Steffen
 156  -1   4  6768  7744  9122  6955
247 3 Andreas Steffen
 157   0  -2  1288 10720  7913  9198
248 3 Andreas Steffen
 158   0   2  3735  3959  3762  4924
249 3 Andreas Steffen
 159   1   2  2817  4147  6807  6198
250 3 Andreas Steffen
 160   0   0  2935 11500 11190  4051
251 3 Andreas Steffen
 161   0   2  1193  7795 11414  3350
252 3 Andreas Steffen
 162  -1  -2   757  3411  9464  4481
253 3 Andreas Steffen
 163   0  -2  3830  7004 11979   593
254 3 Andreas Steffen
 164   0   0 11945    57  6438  9168
255 3 Andreas Steffen
 165  -2   2  1844   173  7130  9844
256 3 Andreas Steffen
 166   1   0  1055  4376   673   559
257 3 Andreas Steffen
 167   1   0   665  1744 11877  9442
258 3 Andreas Steffen
 168  -1   0   190  3421  9077  5294
259 3 Andreas Steffen
 169  -1   0  5948  4923 10003  9323
260 3 Andreas Steffen
 170   0  -2    66  3154  7238 10273
261 3 Andreas Steffen
 171   1   0  3608  7307  8272 11128
262 3 Andreas Steffen
 172   0  -2 11068 10669  7822 12269
263 3 Andreas Steffen
 173  -1  -2  2289  5725  7793 11084
264 3 Andreas Steffen
 174   0  -2  2045  9528  5770  5250
265 3 Andreas Steffen
 175   0  -2  5369  1937  9741  7669
266 3 Andreas Steffen
 176   0   0  5495   973    32  8740
267 3 Andreas Steffen
 177   1  -2   187  6219 10487 11605
268 3 Andreas Steffen
 178   0   0  6664  3891  6930  9183
269 3 Andreas Steffen
 179   0  -2  8951  3731  4350 10057
270 3 Andreas Steffen
 180   0  -2  2119  8064  2295    14
271 3 Andreas Steffen
 181   0   0  5587  7068 12132   419
272 3 Andreas Steffen
 182   1   0  5551  9660  4283  5818
273 3 Andreas Steffen
 183   1  -2    58   319  9240  1724
274 3 Andreas Steffen
 184   0   2  9694  6238  4742 12274
275 3 Andreas Steffen
 185   2   2  1752 10949  7406  7643
276 3 Andreas Steffen
 186   0   2  4551  4296  5533  7516
277 3 Andreas Steffen
 187   0   0  5809  2080  4616  3169
278 3 Andreas Steffen
 188   0  -2  4805  9682  4940 10345
279 3 Andreas Steffen
 189   0   4  5232 10223  8937  9376
280 3 Andreas Steffen
 190   0  -2  4985  6043  7853   528
281 3 Andreas Steffen
 191   1   0 11937  4497  1366  6015
282 3 Andreas Steffen
 192   1   0  7724  7554 12130  1918
283 3 Andreas Steffen
 193   0  -2  2011  4752  4070  3130
284 3 Andreas Steffen
 194   0   0  8272  1015  1803  3973
285 3 Andreas Steffen
 195  -1   0  7832  7988  9436  5558
286 3 Andreas Steffen
 196   0  -4  8854 10413 11890  8575
287 3 Andreas Steffen
 197   0   0  2277  3600   263 11719
288 3 Andreas Steffen
 198  -1   2  2986  1000  9583 11721
289 3 Andreas Steffen
 199   0   2  2907  8991 11579 11775
290 3 Andreas Steffen
 200   0   2  7872  2207  9525  1285
291 3 Andreas Steffen
 201   1   0  7562  9107  2777  2830
292 3 Andreas Steffen
 202  -2  -2 10678 10608  9041 10880
293 3 Andreas Steffen
 203   0   0   656 11804  3455  2400
294 3 Andreas Steffen
 204  -1  -2  4799  3910  3626  6180
295 3 Andreas Steffen
 205  -1   0  1998  5423  2614  5813
296 3 Andreas Steffen
 206   0   0  2327 11665  8051  2567
297 3 Andreas Steffen
 207   0   0   282  6807  4478  1129
298 3 Andreas Steffen
 208   0  -2  7967  3811 12284  6446
299 3 Andreas Steffen
 209  -1   0  3169 11501 11972 11650
300 3 Andreas Steffen
 210  -1   0  2614  4186  5549 10021
301 3 Andreas Steffen
 211   1  -2 11856 11417 10104  6753
302 3 Andreas Steffen
 212   1   0  3692  2680  3800 12107
303 3 Andreas Steffen
 213   0   2  4639  5506 11526  6189
304 3 Andreas Steffen
 214   0   0  6373  9147  2814  9738
305 3 Andreas Steffen
 215   0   0  1942  1124  9011  3124
306 3 Andreas Steffen
 216   0   2  5163   558 11376  4381
307 3 Andreas Steffen
 217   0   0 11687  9612  8623    84
308 3 Andreas Steffen
 218   0   0  8537  3843 11615    35
309 3 Andreas Steffen
 219   1   0 11885  4846  3711  6409
310 3 Andreas Steffen
 220   0   2  9728  8703  2262  5270
311 3 Andreas Steffen
 221  -1  -2  4928   745  4084  3453
312 3 Andreas Steffen
 222   0   2  2383  5711  4946 10846
313 3 Andreas Steffen
 223   0  -2  2480  3190 11514  2446
314 3 Andreas Steffen
 224   0   2  8786  4156 10444   381
315 3 Andreas Steffen
 225   0   0  7294  3059   859  5500
316 3 Andreas Steffen
 226   0  -2  2793  4752  4311 11196
317 3 Andreas Steffen
 227  -1   2  9428  8892  6184  2715
318 3 Andreas Steffen
 228   1   0  3240  6263  8476  7279
319 3 Andreas Steffen
 229   0   0  2533   993  6898  5972
320 3 Andreas Steffen
 230  -1   2  6513  1130   623  3622
321 3 Andreas Steffen
 231  -1   0  2175   455  8066   855
322 3 Andreas Steffen
 232   1  -2  8930 11192 11277  6039
323 3 Andreas Steffen
 233  -1   0 10052  9546  1723  3691
324 3 Andreas Steffen
 234   0   0 12282 10488  5953 11501
325 3 Andreas Steffen
 235   1   0   966  2764  1478  7550
326 3 Andreas Steffen
 236   0   4  2689  4295   136  7671
327 3 Andreas Steffen
 237   0   0  2735 10452  7686  5468
328 3 Andreas Steffen
 238  -1   0  7155  3804 11767  4710
329 3 Andreas Steffen
 239   1   2  6875  1049  8317  1238
330 3 Andreas Steffen
 240  -1  -2  5800  4804 10126  7221
331 3 Andreas Steffen
 241   0   2 10256  8623  4292 11309
332 3 Andreas Steffen
 242  -1   0  9012  8378  9611  5688
333 3 Andreas Steffen
 243  -1   2  4014  1882  3226 12134
334 3 Andreas Steffen
 244   0   2 11698  2629  1993  9817
335 3 Andreas Steffen
 245   1  -2  9293  4184  3392 10739
336 3 Andreas Steffen
 246   0   2    93   852  8664 11953
337 3 Andreas Steffen
 247   0   2  6230  8044  8507  6969
338 3 Andreas Steffen
 248  -1   2  6093  7622 10297  8445
339 3 Andreas Steffen
 249  -1   0 10974  7821  3675  3517
340 3 Andreas Steffen
 250  -1  -2  4760 11952  9509 11495
341 3 Andreas Steffen
 251   0  -2  7410  5638  8286  2604
342 3 Andreas Steffen
 252   0   0   313  2955  7834  4178
343 3 Andreas Steffen
 253  -1   0  9733  3273 12249 11493
344 3 Andreas Steffen
 254  -1   0   682  9048  9531  3876
345 3 Andreas Steffen
 255   1  -2  2283   179  4322  9567
346 3 Andreas Steffen
 256   0   0 10470  1633  2290  9062
347 3 Andreas Steffen
 257   0  -2 11005  5584  7880  6991
348 3 Andreas Steffen
 258   1  -2  2732  7686  7623  8563
349 3 Andreas Steffen
 259   0   0  8845  9994  6380  2032
350 3 Andreas Steffen
 260   0  -2  9527   785  4071  4639
351 3 Andreas Steffen
 261   0  -2  7141  5116   474  9863
352 3 Andreas Steffen
 262   0   0  8896  9356  8790  4233
353 3 Andreas Steffen
 263   0  -2  8781  5058 11323  5758
354 3 Andreas Steffen
 264  -1  -2  2106  4848  5472  3773
355 3 Andreas Steffen
 265   0   0 10312  2028  1706  5806
356 3 Andreas Steffen
 266  -1   0 11587 11556 10433  7614
357 3 Andreas Steffen
 267  -1   0  9354  4702  4673 11174
358 3 Andreas Steffen
 268   1   2  4179   310  1572  9202
359 3 Andreas Steffen
 269   0   0   231  7881  4637  8778
360 3 Andreas Steffen
 270   0   0 10643 12282  3262 11823
361 3 Andreas Steffen
 271   0   2  4803   573 11021 12201
362 3 Andreas Steffen
 272  -1   0 11942  2736  1772   881
363 3 Andreas Steffen
 273   1   0 10172  5565  7021  1748
364 3 Andreas Steffen
 274   0   2  8091   902 11967  2343
365 3 Andreas Steffen
 275   1   0  6507  2055  1543  1125
366 3 Andreas Steffen
 276   0   0  8363  4684  8421  7891
367 3 Andreas Steffen
 277   0   2 11435  7507  3108  1495
368 3 Andreas Steffen
 278   1   0  1121  5376  1638  8545
369 3 Andreas Steffen
 279   1   2  6659  7231  2291  9356
370 3 Andreas Steffen
 280   2  -2 11535  5948  8451 10276
371 3 Andreas Steffen
 281   0   2  9996  5929 11267 11752
372 3 Andreas Steffen
 282   0   0  9341 11999 10535  9922
373 3 Andreas Steffen
 283   0   0  1156   407  2491  5743
374 3 Andreas Steffen
 284   1   0 10878  9742 11436  7146
375 3 Andreas Steffen
 285   1   0  4269 10191  6723  1057
376 3 Andreas Steffen
 286   0   0  3150  6385 11151  8222
377 3 Andreas Steffen
 287  -1   2 10602 12270  1942 11540
378 3 Andreas Steffen
 288  -1   0  4149  9389  5193   155
379 3 Andreas Steffen
 289   1   0  2220  1914  7033  2039
380 3 Andreas Steffen
 290   1  -2  5849  9681  7990 10354
381 3 Andreas Steffen
 291   0  -2   578  1167  9422  2925
382 3 Andreas Steffen
 292   0   2  2784  4352  1474  8850
383 3 Andreas Steffen
 293   0   2  2831  7803  7941 10471
384 3 Andreas Steffen
 294   1  -2  1505  5309  1529 10706
385 3 Andreas Steffen
 295  -1  -2 12152  3117  1462  5319
386 3 Andreas Steffen
 296   0   0 12015 10147  2163  3011
387 3 Andreas Steffen
 297   0   2 12204  3215 10166   351
388 3 Andreas Steffen
 298  -1   0  3251  7021  9039  9355
389 3 Andreas Steffen
 299   0   0  5488  2986  1862  5927
390 3 Andreas Steffen
 300   1   0  7988   280  3983 11996
391 3 Andreas Steffen
 301   0  -2 11691   944  6647  7206
392 3 Andreas Steffen
 302   0  -2  5811  8894 11593  4438
393 3 Andreas Steffen
 303   1   2 11242  8285  3494  3099
394 3 Andreas Steffen
 304   0   0  1369  3781 11946  9679
395 3 Andreas Steffen
 305   0   0  4923   855 11924  2443
396 3 Andreas Steffen
 306   0   0 10077  6525  5892 12143
397 3 Andreas Steffen
 307   0   0  5765   923  7601  5041
398 3 Andreas Steffen
 308  -1   0 11585  4403  7020  7236
399 3 Andreas Steffen
 309  -1   0  9508 11281  9550  8744
400 3 Andreas Steffen
 310  -1   2  8015  7011  6196   851
401 3 Andreas Steffen
 311   0   0 10282  6674  7084  1139
402 3 Andreas Steffen
 312  -1   0   366  5463  5297 11037
403 3 Andreas Steffen
 313   0   0  3271  3185  6778 10142
404 3 Andreas Steffen
 314  -1   0  6295  3530  2128  3092
405 3 Andreas Steffen
 315  -1   2  2446  9761  5698  9652
406 3 Andreas Steffen
 316   0   0  6414  6084 11668  2854
407 3 Andreas Steffen
 317   1   0  7954 11099  5621  8453
408 3 Andreas Steffen
 318   1   0  8505  3817  6471  8585
409 3 Andreas Steffen
 319   0  -2 10555   260  7709  1873
410 3 Andreas Steffen
 320   0   0  4679  8577  2591  3492
411 3 Andreas Steffen
 321   1   0  4517 10562  7356 10826
412 3 Andreas Steffen
 322   0   0  5129  7378  6792 11094
413 3 Andreas Steffen
 323   1   0 11014  1117   906  7306
414 3 Andreas Steffen
 324  -1  -2  8930  3044  7558  1690
415 3 Andreas Steffen
 325   0  -2 12034  5641  5602  3833
416 3 Andreas Steffen
 326   1   0  4468  8161 11613  1703
417 3 Andreas Steffen
 327   0   0  9452  5643  6465   759
418 3 Andreas Steffen
 328  -1   0  4250  1062  8885  5366
419 3 Andreas Steffen
 329   0   0  2562 11062 10606 12050
420 3 Andreas Steffen
 330   0   0 11004  5092  1145  9690
421 3 Andreas Steffen
 331   0   0  3971  4167  9338 10914
422 3 Andreas Steffen
 332   0  -2  4640  2905  8263  8180
423 3 Andreas Steffen
 333  -1   2 11466 11858  4479  8686
424 3 Andreas Steffen
 334  -2  -2  2263 10527 11374  8335
425 3 Andreas Steffen
 335  -1   2  8803 10486  6140 10827
426 3 Andreas Steffen
 336   0   0  1608 10434   277  3299
427 3 Andreas Steffen
 337   0   0  8846  4037  5405 10610
428 3 Andreas Steffen
 338   0   2  2025  9028 11374   249
429 3 Andreas Steffen
 339   0   0  7495  5760  9448  3603
430 3 Andreas Steffen
 340   0   2    15 10858 10180    53
431 3 Andreas Steffen
 341   0   0  2216   822  8232 10505
432 3 Andreas Steffen
 342   0   0  4552  6213  8198  2721
433 3 Andreas Steffen
 343  -1   0  8537 12065  4985  6616
434 3 Andreas Steffen
 344   1   0    59  1083  5343  4975
435 3 Andreas Steffen
 345   0   0  6820  2485  7426  8044
436 3 Andreas Steffen
 346   0  -2    79  3592   780  2094
437 3 Andreas Steffen
 347   0   2  6060  2269  1661  5628
438 3 Andreas Steffen
 348  -1   0   483  7927  6962  9842
439 3 Andreas Steffen
 349  -1   0 10399 11975   182  8453
440 3 Andreas Steffen
 350   1   2 10965  8081  9568 12240
441 3 Andreas Steffen
 351  -1   0  6177  9642 10608  1217
442 3 Andreas Steffen
 352   0  -2  3647  7424  6312 11588
443 3 Andreas Steffen
 353   0  -2 10821  5412  7478  9670
444 3 Andreas Steffen
 354   0   2  7993  8400  9262  9133
445 3 Andreas Steffen
 355   0  -2 12183  9287  5467  4145
446 3 Andreas Steffen
 356   1  -2 11881 11278  2062  2271
447 3 Andreas Steffen
 357   0   0 11023 11205  4098  9315
448 3 Andreas Steffen
 358   0   0  2486  1161  4531 11806
449 3 Andreas Steffen
 359   0   2  7820  8932  2128  6164
450 3 Andreas Steffen
 360   0  -2  4830  2661  6650  6782
451 3 Andreas Steffen
 361   0   0  1280  8451  7065  2723
452 3 Andreas Steffen
 362   1  -4  3505  2948  7690 10249
453 3 Andreas Steffen
 363   0   0  1931   604   857 11619
454 3 Andreas Steffen
 364  -1   0  4519  1694  1682  7386
455 3 Andreas Steffen
 365   1   0  7001  5943 10006  9007
456 3 Andreas Steffen
 366   1   0  6867  7829  3179  9453
457 3 Andreas Steffen
 367   0   2  6439  1013  9753   968
458 3 Andreas Steffen
 368   0  -2   471  7027  6703  4401
459 3 Andreas Steffen
 369   0   2 10693  6320  2472  5896
460 3 Andreas Steffen
 370   1   0  6616  5825  5027  4446
461 3 Andreas Steffen
 371   0  -4  2610  2936 10741 11669
462 3 Andreas Steffen
 372  -1   0 10505  5607  7619 11326
463 3 Andreas Steffen
 373  -1   0  8796  8925  6540   641
464 3 Andreas Steffen
 374   0   0  7862  9942  2067  7361
465 3 Andreas Steffen
 375   2   2  5933 11598  7281  2337
466 3 Andreas Steffen
 376   0   0  4397  9644  2961   575
467 3 Andreas Steffen
 377   0   0 11546  3667    60   496
468 3 Andreas Steffen
 378   0   2 10359   897  6655  9940
469 3 Andreas Steffen
 379   0   0  8042 11627  7627  4091
470 3 Andreas Steffen
 380   0   2  7229  5196 10305  4323
471 3 Andreas Steffen
 381   0   2 11076  8341  5590   590
472 3 Andreas Steffen
 382   1  -2  5915   587  3514 10997
473 3 Andreas Steffen
 383   0   0  4235  5733  1374  7164
474 3 Andreas Steffen
 384   0  -2  6883  2313  3411   910
475 3 Andreas Steffen
 385   2   0  5537  5149   391 10153
476 3 Andreas Steffen
 386   0   0  4786  9993 11959  7183
477 3 Andreas Steffen
 387   1   0  8660  4137  8672  1422
478 3 Andreas Steffen
 388  -1   0 10388  8443  6742  3136
479 3 Andreas Steffen
 389  -1   0  3028  4136  7848  1024
480 3 Andreas Steffen
 390  -1  -2  3013  9457  3424  5692
481 3 Andreas Steffen
 391   0   2  6434 10654   246  8185
482 3 Andreas Steffen
 392  -1   0  5801  5730   384  4298
483 3 Andreas Steffen
 393   0   0  3559 11131  6623  3040
484 3 Andreas Steffen
 394   0   2  6911  3462  6279 10768
485 3 Andreas Steffen
 395   0   0  2559 11098  1487  5746
486 3 Andreas Steffen
 396   0   0  6942  1081  5465  2597
487 3 Andreas Steffen
 397   0   0  6852   666  5872  6467
488 3 Andreas Steffen
 398   0   0 10873  4863 11256  4225
489 3 Andreas Steffen
 399   1  -2  3670   513  2689  1203
490 3 Andreas Steffen
 400   1   0 11066  6794  6433  4163
491 3 Andreas Steffen
 401   0   2  4927 11148  7593  4700
492 3 Andreas Steffen
 402   0   2  5570  7675  6432  9507
493 3 Andreas Steffen
 403   0   0  9882 11756 11480  4705
494 3 Andreas Steffen
 404   1   2  9553  7076  9700  2926
495 3 Andreas Steffen
 405  -1   2  9678 12074  7468 11797
496 3 Andreas Steffen
 406   0   2  3955  2530 10255 10763
497 3 Andreas Steffen
 407   1   0 10843  8488 12022  6421
498 3 Andreas Steffen
 408   0   0  2514  2611  6629  2177
499 3 Andreas Steffen
 409  -2  -2  1934  6748  5463  3878
500 3 Andreas Steffen
 410   1  -2  2677  5860  4847 11948
501 3 Andreas Steffen
 411   1   0  2065  8327  9459  7023
502 3 Andreas Steffen
 412   0   0  6908  5681   530  4705
503 3 Andreas Steffen
 413   0   0 10718  6791  9883 10546
504 3 Andreas Steffen
 414  -1   0 10338 11007  3468  2087
505 3 Andreas Steffen
 415   1   0  7817   625 11048  7745
506 3 Andreas Steffen
 416   0   0 11023  4466 10734 10811
507 3 Andreas Steffen
 417   0   0  6306  7136  5359  9233
508 3 Andreas Steffen
 418   0   0  1858 10575  2337 11205
509 3 Andreas Steffen
 419   0   0  1118  2777  6009  7711
510 3 Andreas Steffen
 420   1   0  8755  4003  5535  8938
511 3 Andreas Steffen
 421  -1   0 12259  1775  2505  8171
512 3 Andreas Steffen
 422   0   0  5186 12038  9054  9707
513 3 Andreas Steffen
 423  -1   0  8317  9867  2073  6580
514 3 Andreas Steffen
 424   0  -2  3750  7074  7221 12191
515 3 Andreas Steffen
 425  -1  -2  7076  6288  3318 10214
516 3 Andreas Steffen
 426   0   0  4066  8076 12163  3442
517 3 Andreas Steffen
 427   1   2  5009   366 10803  1339
518 3 Andreas Steffen
 428   2   0  7392  9060  4955 11591
519 3 Andreas Steffen
 429  -1  -4  9381  8187  9349  5579
520 3 Andreas Steffen
 430   0   0  6499  4642  5787 12187
521 3 Andreas Steffen
 431   1   2 11461 11653  3278  7917
522 3 Andreas Steffen
 432   1   0  8976  7597   613  6477
523 3 Andreas Steffen
 433   0  -2  9335 10397  6485 11019
524 3 Andreas Steffen
 434   0  -2  7590  5554  4787  9128
525 3 Andreas Steffen
 435  -1  -2  7109  7497   615  8655
526 3 Andreas Steffen
 436   1   2  5984   709  9806  6063
527 3 Andreas Steffen
 437   1   0  4451  1057  1327  2187
528 3 Andreas Steffen
 438   0   0  6532  2071  1809  9139
529 3 Andreas Steffen
 439   0   0  5657  1586 11166  5121
530 3 Andreas Steffen
 440   0   0  3926  7845  1167  7773
531 3 Andreas Steffen
 441   0   0  6347   293  1762 11582
532 3 Andreas Steffen
 442   0   0 12239 10323  4500  6461
533 3 Andreas Steffen
 443   1  -2  1977  3819  4233  7946
534 3 Andreas Steffen
 444   0   0  5851  9874  3996  8822
535 3 Andreas Steffen
 445  -1   2  3107  3834  5546  9707
536 3 Andreas Steffen
 446   1   0  5636 11215 11094  5276
537 3 Andreas Steffen
 447  -1   0 12270  4649     5 11911
538 3 Andreas Steffen
 448   1  -2  6452   394  1732  3872
539 3 Andreas Steffen
 449  -2   0 11019   764  1006 10907
540 3 Andreas Steffen
 450   0  -4 11659  6297  4922  4827
541 3 Andreas Steffen
 451   1   2   890  9098 11786  3678
542 3 Andreas Steffen
 452   1   2  7670  7736  2460 10669
543 3 Andreas Steffen
 453   0   2  2047  7505 11511  3057
544 3 Andreas Steffen
 454   0   0 12148  5933  9508  9426
545 3 Andreas Steffen
 455   0   0  5596  3895  2879  7412
546 3 Andreas Steffen
 456   0   2  6504  2290  4180  9071
547 3 Andreas Steffen
 457   1   0  8051   946   316 11380
548 3 Andreas Steffen
 458   0  -2  2479 10389  6976  2480
549 3 Andreas Steffen
 459  -1   0 10512 10125  6279  6329
550 3 Andreas Steffen
 460   0   0  4709  6976  7912  6808
551 3 Andreas Steffen
 461   0   2  6605  9934 10200 10093
552 3 Andreas Steffen
 462  -1   0   949  7882  3698  1544
553 3 Andreas Steffen
 463   1  -2 10292  3467   350  3293
554 3 Andreas Steffen
 464   1   0  6448  9423  1313  2345
555 3 Andreas Steffen
 465   0   2   692  6812  7583  6050
556 3 Andreas Steffen
 466   1   0  3635  4184  2733  3816
557 3 Andreas Steffen
 467   0   0 12067  5816 10128 11192
558 3 Andreas Steffen
 468   0   0  9902  8712 11275  6813
559 3 Andreas Steffen
 469   0   0 10938  7970  1902  7019
560 3 Andreas Steffen
 470   1   0  9568  4228   242  5633
561 3 Andreas Steffen
 471   0   0  2196  5792  6794 10300
562 3 Andreas Steffen
 472   0   0  4075   157  8672  2560
563 3 Andreas Steffen
 473   0  -4  2110  3629  9461  9122
564 3 Andreas Steffen
 474  -2  -2  3412  4091  7245  4018
565 3 Andreas Steffen
 475   0   0 11653    40  5765 10897
566 3 Andreas Steffen
 476   0   0 10799   728  9056 10951
567 3 Andreas Steffen
 477   0   0  2114  2282  3786   314
568 3 Andreas Steffen
 478  -1   2   817 10585  8784 10553
569 3 Andreas Steffen
 479  -1   0  3705 12125  8654  5792
570 3 Andreas Steffen
 480   0  -4  1808  8664   196  4624
571 3 Andreas Steffen
 481  -1   2  5841  1907  7238  7769
572 3 Andreas Steffen
 482   0   0  8769  9263  6687   676
573 3 Andreas Steffen
 483   0   0  3412  9123  9517  1111
574 3 Andreas Steffen
 484  -1   0  4204    49 11892  6011
575 3 Andreas Steffen
 485  -1   0 11196   448  3872  2642
576 3 Andreas Steffen
 486   0   0   651  2142  3834  6611
577 3 Andreas Steffen
 487   1   4  7208 10823  6626 12033
578 3 Andreas Steffen
 488   0  -2  8558 10995 11169  2660
579 3 Andreas Steffen
 489   0   0  7955  2079  1785  7697
580 3 Andreas Steffen
 490   1   0  5565 11081  6935  1449
581 3 Andreas Steffen
 491   0   2 11661  2880 10737   887
582 3 Andreas Steffen
 492  -1  -2  2546  3372  1543  2424
583 3 Andreas Steffen
 493   1   0  1667 10715  7245 11246
584 3 Andreas Steffen
 494   0   0    93   456  1273  2563
585 3 Andreas Steffen
 495   0   0  3205  2733  6176  7453
586 3 Andreas Steffen
 496   1   0 12191  7834  2926 12258
587 3 Andreas Steffen
 497   0   0  3788  5251   935  6085
588 3 Andreas Steffen
 498   0   0 10114 12224  8954 11395
589 3 Andreas Steffen
 499   0  -2  7464   568  5744  7972
590 3 Andreas Steffen
 500  -1   0  1992  6344 10425  3471
591 3 Andreas Steffen
 501  -1   0  5249  7024   675  3466
592 3 Andreas Steffen
 502   0   2  8334  3338  1945  4805
593 3 Andreas Steffen
 503   0   0  8566   837  6796  2416
594 3 Andreas Steffen
 504  -1   2  1905  3844  2872  1612
595 3 Andreas Steffen
 505   0   2   377  8680  5459   608
596 3 Andreas Steffen
 506   0   0  1990  7692 10261  6844
597 3 Andreas Steffen
 507   0   2  5170  9084 10608  4433
598 3 Andreas Steffen
 508   0   0 11365  3048 11553  3451
599 3 Andreas Steffen
 509   0  -2 12098  6095 11214  3125
600 3 Andreas Steffen
 510   1  -2  1431  2633 10329  5488
601 3 Andreas Steffen
 511  -1  -2  3846  4226  8410  4614
602 3 Andreas Steffen
</pre>
603 10 Andreas Steffen
Shown are the 512 small coefficients of the private keys *f* = *s1* and *g* = 2 * *s2* + 1 as well as their Number Theoretic Transforms (NTT) *F* and *G*, respectively. The BLISS public key *A* is computed as the component-wise inverse of *F* * *G* and the reverse NTT gives *a* = 1/(*f* * *g*) mod q with the 14 bit modulus q = 12289. Sometime it happens that *F* * *G* is not invertible, so that the following debug message is output
604 4 Andreas Steffen
<pre>
605 4 Andreas Steffen
S1[91] is zero - s1 is not invertible
606 4 Andreas Steffen
</pre>
607 4 Andreas Steffen
and another trial run is started.
608 7 Andreas Steffen
609 10 Andreas Steffen
h2. BLISS Root CA Certificate Generation
610 7 Andreas Steffen
611 7 Andreas Steffen
A self-signed BLISS CA certificate can be generated with the following command
612 7 Andreas Steffen
<pre>
613 13 Andreas Steffen
pki --self --type bliss --in key4.pem --ca --dn "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA" --lifetime 3653 --debug 2 --outform pem > cacert4.pem
614 7 Andreas Steffen
615 7 Andreas Steffen
  file content is not binary ASN.1
616 7 Andreas Steffen
  -----BEGIN BLISS PRIVATE KEY-----
617 7 Andreas Steffen
  -----END BLISS PRIVATE KEY-----
618 7 Andreas Steffen
619 7 Andreas Steffen
L0 - BLISSPrivateKey:
620 7 Andreas Steffen
L1 - keyType:
621 7 Andreas Steffen
  'BLISS-IV'
622 7 Andreas Steffen
L1 - public:
623 7 Andreas Steffen
L1 - secret1:
624 7 Andreas Steffen
L1 - secret2:
625 8 Andreas Steffen
626 7 Andreas Steffen
L0 - subjectPublicKeyInfo:
627 7 Andreas Steffen
L1 - algorithm:
628 7 Andreas Steffen
L2 - algorithmIdentifier:
629 7 Andreas Steffen
L3 - algorithm:
630 7 Andreas Steffen
  'blissPublicKey'
631 7 Andreas Steffen
L3 - parameters:
632 7 Andreas Steffen
L4 - blissKeyType:
633 7 Andreas Steffen
  'BLISS-IV'
634 7 Andreas Steffen
L1 - subjectPublicKey:
635 7 Andreas Steffen
636 7 Andreas Steffen
mgf1 based on sha256 is seeded with 32 octets
637 11 Andreas Steffen
y1 = -859..738 (sigma2 = 71786, mean = -6.6)
638 11 Andreas Steffen
y2 = -852..644 (sigma2 = 65618, mean =  2.0)
639 11 Andreas Steffen
norm2(s1*c) + norm2(s2*c) = 63602, rejected
640 11 Andreas Steffen
mgf1 generated 10304 octets
641 1 Andreas Steffen
642 1 Andreas Steffen
mgf1 based on sha256 is seeded with 32 octets
643 11 Andreas Steffen
y1 = -942..726 (sigma2 = 81503, mean = -8.6)
644 11 Andreas Steffen
y2 = -876..893 (sigma2 = 69883, mean =  2.4)
645 11 Andreas Steffen
norm2(s1*c) + norm2(s2*c) = 66020, accepted
646 11 Andreas Steffen
scalar(z1,s1*c) + scalar(z2,s2*c) = 86651, rejected
647 11 Andreas Steffen
mgf1 generated 10528 octets
648 1 Andreas Steffen
649 11 Andreas Steffen
mgf1 based on sha256 is seeded with 32 octets
650 11 Andreas Steffen
y1 = -862..785 (sigma2 = 72628, mean = -7.1)
651 11 Andreas Steffen
y2 = -782..921 (sigma2 = 74618, mean =  4.1)
652 11 Andreas Steffen
norm2(s1*c) + norm2(s2*c) = 64940, accepted
653 11 Andreas Steffen
scalar(z1,s1*c) + scalar(z2,s2*c) = -176380, accepted
654 7 Andreas Steffen
655 11 Andreas Steffen
z1 = -873..780, z2d = -3..4
656 11 Andreas Steffen
657 11 Andreas Steffen
efficiency of Huffman coder is 3.4121 bits/tuple (1747 bits)
658 11 Andreas Steffen
generated BLISS signature (6706 bits encoded in 839 bytes)
659 11 Andreas Steffen
660 11 Andreas Steffen
signature generation needed 3 rounds
661 11 Andreas Steffen
mgf1 generated 10656 octets
662 10 Andreas Steffen
</pre>
663 11 Andreas Steffen
With a debug level of 2 you get quite a lot of debug information. Starting from the top, the automatic conversion from PEM to DER format is shown, followed by the ASN.1 encoding of the BLISS private key from which the BLISS public key is extracted. Then in order to generate the BLISS certificate signature, two vectors *y1* and *y2* with 512 random numbers tightly following a Gaussian probability distribution using rejection sampling are generated. This process usually requires several rounds and a lot of random bits are used. The BLISS signature finally consists of the random vectors *z1* and *z2* as well as the sparse challenge vector *c*.
664 10 Andreas Steffen
665 10 Andreas Steffen
A BLISS certificate can be displayed at any time with
666 10 Andreas Steffen
<pre>
667 13 Andreas Steffen
pki --print --debug 2 --in cacert4.pem
668 10 Andreas Steffen
669 1 Andreas Steffen
L0 - x509:
670 10 Andreas Steffen
L1 - tbsCertificate:
671 10 Andreas Steffen
L2 - DEFAULT v1:
672 10 Andreas Steffen
L3 - version:
673 10 Andreas Steffen
  X.509v3
674 10 Andreas Steffen
L2 - serialNumber:
675 10 Andreas Steffen
L2 - signature:
676 10 Andreas Steffen
L3 - algorithmIdentifier:
677 10 Andreas Steffen
L4 - algorithm:
678 10 Andreas Steffen
  'BLISS-with-SHA512'
679 10 Andreas Steffen
L2 - issuer:
680 12 Andreas Steffen
  'C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA'
681 10 Andreas Steffen
L2 - validity:
682 10 Andreas Steffen
L3 - notBefore:
683 10 Andreas Steffen
L4 - utcTime:
684 11 Andreas Steffen
  'Dec 13 12:01:57 UTC 2014'
685 10 Andreas Steffen
L3 - notAfter:
686 10 Andreas Steffen
L4 - utcTime:
687 11 Andreas Steffen
  'Dec 13 12:01:57 UTC 2024'
688 10 Andreas Steffen
L2 - subject:
689 12 Andreas Steffen
  'C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA'
690 1 Andreas Steffen
L2 - subjectPublicKeyInfo:
691 1 Andreas Steffen
-- > --
692 1 Andreas Steffen
  L0 - subjectPublicKeyInfo:
693 1 Andreas Steffen
  L1 - algorithm:
694 1 Andreas Steffen
  L2 - algorithmIdentifier:
695 1 Andreas Steffen
  L3 - algorithm:
696 1 Andreas Steffen
    'blissPublicKey'
697 1 Andreas Steffen
  L3 - parameters:
698 1 Andreas Steffen
  L0 - subjectPublicKeyInfo:
699 1 Andreas Steffen
  L1 - algorithm:
700 1 Andreas Steffen
  L2 - algorithmIdentifier:
701 1 Andreas Steffen
  L3 - algorithm:
702 1 Andreas Steffen
    'blissPublicKey'
703 1 Andreas Steffen
  L3 - parameters:
704 1 Andreas Steffen
  L4 - blissKeyType:
705 1 Andreas Steffen
    'BLISS-IV'
706 1 Andreas Steffen
  L1 - subjectPublicKey:
707 1 Andreas Steffen
-- < --
708 11 Andreas Steffen
L2 - optional extensions:
709 11 Andreas Steffen
L3 - extensions:
710 11 Andreas Steffen
L4 - extension:
711 11 Andreas Steffen
L5 - extnID:
712 11 Andreas Steffen
  'basicConstraints'
713 11 Andreas Steffen
L5 - critical:
714 11 Andreas Steffen
  TRUE
715 11 Andreas Steffen
L5 - extnValue:
716 11 Andreas Steffen
L6 - basicConstraints:
717 11 Andreas Steffen
L7 - CA:
718 11 Andreas Steffen
  TRUE
719 11 Andreas Steffen
L4 - extension:
720 11 Andreas Steffen
L5 - extnID:
721 11 Andreas Steffen
  'keyUsage'
722 11 Andreas Steffen
L5 - critical:
723 11 Andreas Steffen
  TRUE
724 11 Andreas Steffen
L5 - extnValue:
725 11 Andreas Steffen
L4 - extension:
726 11 Andreas Steffen
L5 - extnID:
727 11 Andreas Steffen
  'subjectKeyIdentifier'
728 11 Andreas Steffen
L5 - critical:
729 11 Andreas Steffen
  FALSE
730 11 Andreas Steffen
L5 - extnValue:
731 11 Andreas Steffen
L6 - keyIdentifier:
732 10 Andreas Steffen
L1 - signatureAlgorithm:
733 1 Andreas Steffen
L2 - algorithmIdentifier:
734 1 Andreas Steffen
L3 - algorithm:
735 1 Andreas Steffen
  'BLISS-with-SHA512'
736 1 Andreas Steffen
L1 - signatureValue:
737 10 Andreas Steffen
738 11 Andreas Steffen
z1 = -873..780, z2d = -3..4
739 10 Andreas Steffen
740 10 Andreas Steffen
cert:      X509
741 12 Andreas Steffen
subject:  "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA"
742 12 Andreas Steffen
issuer:   "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA"
743 11 Andreas Steffen
validity:  not before Dec 13 13:01:57 2014, ok
744 11 Andreas Steffen
           not after  Dec 13 13:01:57 2024, ok (expires in 3652 days)
745 11 Andreas Steffen
serial:    12:a0:ca:85:51:b9:f3:27
746 11 Andreas Steffen
flags:     CA CRLSign self-signed
747 10 Andreas Steffen
subjkeyId: 37:f4:9e:f8:b7:50:ed:d4:29:16:72:58:b4:b1:f1:f5:46:c9:54:71
748 10 Andreas Steffen
pubkey:    BLISS 192 bits strength
749 10 Andreas Steffen
keyid:     55:ee:7a:31:44:e5:a0:cf:b6:c9:a7:17:98:c9:60:a7:eb:d0:4e:4f
750 11 Andreas Steffen
subjkey:   37:f4:9e:f8:b7:50:ed:d4:29:16:72:58:b4:b1:f1:f5:46:c9:54:71
751 10 Andreas Steffen
</pre>
752 11 Andreas Steffen
If you are not interested in any detailed information then just creat a self-signed BLISS CA certificate with
753 10 Andreas Steffen
<pre>
754 13 Andreas Steffen
pki --self --type bliss --in key1.der --ca --dn "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA" --lifetime 3653 > cacert1.der
755 10 Andreas Steffen
</pre>
756 10 Andreas Steffen
and view it with
757 10 Andreas Steffen
<pre>
758 13 Andreas Steffen
pki --print --in cacert1.der
759 11 Andreas Steffen
760 10 Andreas Steffen
cert:      X509
761 12 Andreas Steffen
subject:  "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA"
762 12 Andreas Steffen
issuer:   "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA"
763 11 Andreas Steffen
validity:  not before Dec 13 12:58:21 2014, ok
764 1 Andreas Steffen
           not after  Dec 13 12:58:21 2024, ok (expires in 3652 days)
765 1 Andreas Steffen
serial:    5d:06:0d:4b:69:64:84:62
766 1 Andreas Steffen
flags:     CA CRLSign self-signed
767 1 Andreas Steffen
subjkeyId: f3:60:55:bc:0b:49:c4:8a:a6:38:cc:ad:72:67:e5:91:7c:b8:a4:f5
768 1 Andreas Steffen
pubkey:    BLISS 128 bits strength
769 1 Andreas Steffen
keyid:     df:78:00:c4:b4:13:e7:fd:4f:05:dd:39:1a:2e:2b:c5:65:39:10:f4
770 1 Andreas Steffen
subjkey:   f3:60:55:bc:0b:49:c4:8a:a6:38:cc:ad:72:67:e5:91:7c:b8:a4:f5
771 1 Andreas Steffen
</pre>
772 12 Andreas Steffen
773 12 Andreas Steffen
h2. BLISS End Entity Certificates
774 12 Andreas Steffen
775 12 Andreas Steffen
We are now going to generate a BLISS-I key pair for user Carol:
776 12 Andreas Steffen
<pre>
777 12 Andreas Steffen
pki --gen --type bliss --size 1 > carolKey.der
778 12 Andreas Steffen
779 12 Andreas Steffen
secret key generation succeeded after 2 trials
780 12 Andreas Steffen
</pre>
781 12 Andreas Steffen
Next we create a self-signed PKCS#10 certificate request
782 12 Andreas Steffen
<pre>
783 12 Andreas Steffen
 pki --req --type bliss --in carolKey.der --dn "C=CH, O=strongSwan Project, CN=carol@strongswan.org" --san carol@strongswan.org > carolReq.der
784 12 Andreas Steffen
</pre>
785 12 Andreas Steffen
which is used as the input for the CA to create a signed end entity certificate:
786 12 Andreas Steffen
<pre>
787 13 Andreas Steffen
 pki --issue --type pkcs10 --in carolReq.der --cacert cacert4.pem --cakey cakey4.pem --crl http://crl.strongswan.org/bliss.crl --flag clientAuth > carolCert.der
788 12 Andreas Steffen
</pre>
789 12 Andreas Steffen
and which has the following content
790 12 Andreas Steffen
<pre>
791 13 Andreas Steffen
pki --print --in carolCert.der
792 12 Andreas Steffen
793 12 Andreas Steffen
cert:      X509
794 12 Andreas Steffen
subject:  "C=CH, O=strongSwan Project, CN=carol@strongswan.org"
795 12 Andreas Steffen
issuer:   "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA"
796 12 Andreas Steffen
validity:  not before Dec 13 13:20:34 2014, ok
797 1 Andreas Steffen
           not after  Dec 12 13:20:34 2017, ok (expires in 1094 days)
798 1 Andreas Steffen
serial:    38:a9:13:10:c2:ed:ed:c3
799 1 Andreas Steffen
altNames:  carol@strongswan.org
800 1 Andreas Steffen
flags:     clientAuth
801 1 Andreas Steffen
CRL URIs:  http://crl.strongswan.org/bliss.crl
802 12 Andreas Steffen
authkeyId: 37:f4:9e:f8:b7:50:ed:d4:29:16:72:58:b4:b1:f1:f5:46:c9:54:71
803 12 Andreas Steffen
subjkeyId: 8b:a3:c5:11:00:bb:84:55:dd:b8:4b:20:04:d9:58:77:57:ba:d8:3c
804 12 Andreas Steffen
pubkey:    BLISS 128 bits strength
805 12 Andreas Steffen
keyid:     5b:cf:17:14:a8:d8:aa:bc:40:f3:21:95:a9:67:7d:20:af:66:4e:c2
806 12 Andreas Steffen
subjkey:   8b:a3:c5:11:00:bb:84:55:dd:b8:4b:20:04:d9:58:77:57:ba:d8:3c
807 13 Andreas Steffen
</pre>
808 13 Andreas Steffen
809 13 Andreas Steffen
h2. IKEv2 Public Key Authentication using BLISS Signatures
810 13 Andreas Steffen
811 13 Andreas Steffen
The "ikev2/rw-ntru-bliss":http://www.strongswan.org/testresults5rc/ikev2/rw-ntru-bliss/ strongSwan remote-access VPN scenario shows the practical use of IKEv2 public key authentication using BLISS signatures. The key exchange method used is NTRU encryption so that the IPsec connection setup is not vulnerable to quantum computer based key attacks.