Project

General

Profile

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

Version 40 (Andreas Steffen, 15.03.2015 14:44) → Version 41/58 (Andreas Steffen, 15.03.2015 17:55)

h1. Bimodal Lattice Signature Scheme (BLISS)

{{>toc}}

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. We also added full BLISS key and certificate generation support to the strongSwan [[IpsecPki|pki]] tool. With strongSwan [[5.3.0]] we are upgrading to the improved BLISS-B signature algorithm described in "Accelerating Bliss: the Geometry of Ternary Polynomials":https://eprint.iacr.org/2014/874.pdf by Léo Ducas. This HOWTO is based on the new BLISS-B default scheme. It is possible though to revert to the old BLISS behaviour by setting
<pre>
libstrongswan {
plugins {
bliss {
use_bliss_b = no
}
}
}
</pre>
in strongswan.conf, although we don't see any advantage whatever for doing this.

This seamless integration into the strongSwan framework was made possible by the new libstrongswan "bliss plugin":https://wiki.strongswan.org/projects/strongswan/repository/revisions/master/show/src/libstrongswan/plugins/bliss completely written in the C programming language without the use of any external libraries and which implements the libstrongswan "public_key_t":https://wiki.strongswan.org/projects/strongswan/repository/revisions/master/entry/src/libstrongswan/credentials/keys/public_key.h and "private_key_t":https://wiki.strongswan.org/projects/strongswan/repository/revisions/master/entry/src/libstrongswan/credentials/keys/private_key.h interfaces.

h2. Building strongSwan with BLISS Support

If you want to play around with BLISS keys and signatures using the strongSwan [[IpsecPki|pki]] tool please follow the quick software installation HOWTO:
<pre>
wget http://download.strongswan.org/strongswan-5.3.0dr1.tar.bz2 http://download.strongswan.org/strongswan-5.2.2.tar.bz2
tar xjf strongswan-5.3.0dr1.tar.bz2 strongswan-5.2.2.tar.bz2
cd strongswan-5.3.0dr1 strongswan-5.2.2
./configure --prefix=/usr --sysconfdir=/etc --disable-gmp --enable-bliss
make
sudo make install
</pre>

h2. BLISS Private Key Generation

strongSwan currently supports the BLISS-B-I, BLISS-B-III, BLISS-I, BLISS-III, and BLISS-B_IV BLISS-IV schemes with a cryptographic strength of 128 bits, 160 bits and 192 bits, respectively. Using the [[IpsecPki|pki]] tool a private BLISS-B-I BLISS key can be generated as follows:
<pre>
pki --gen --type bliss --size 1 --debug 2 > cakey1.der

mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 240 octets
mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 240 octets
l2 norm of s1||s2: 771, Nk(S): 44024 47150 (46479 max)

mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 220 octets
mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 240 octets
l2 norm of s1||s2: 771, Nk(S): 43332 (46479 max)

secret key generation succeeded after 1 trial 2 trials
</pre>
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
<pre>
pki --print --type bliss-priv --in cakey1.der

private key with:
pubkey: BLISS 128 bits strength
keyid: 66:5d:b6:ae:85:b6:32:1b:9a:7e:2c:ed:c7:6a:4d:68:f0:3a:ec:77 d1:a3:fb:04:8d:1b:86:4f:fa:a7:d8:45:ec:e3:e3:ec:ef:7b:85:ca
subjkey: 50:c5:a5:b0:21:e2:a8:13:12:ba:7c:87:f3:3f:ab:90:ad:2c:4d:c2 e3:fc:6b:59:9a:ee:81:d5:10:3a:58:9f:e2:99:f7:7f:5c:3b:1c:96
</pre>
information on the BLISS private key is displayed.

Let's now generate a BLISS-B-IV BLISS-IV key with 192 bit cryptographic strength in base64-encoded PEM format
<pre>
pki --gen --type bliss --size 4 --outform pem > cakey4.pem
secret key generation succeeded after 1 trial 6 trials
</pre>
The PEM key format is printable
<pre>
cat cakey4.pem

-----BEGIN BLISS PRIVATE KEY-----
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
ggAnkjhcHggAkEgj8Ak= AYLoAgAEHgkDgYccgbk=
-----END BLISS PRIVATE KEY-----
</pre>
At last let's generate a BLISS-B>-III BLISS-III key with a cryptographic strength of 160 bits with the highest debug level enabled:
<pre>
pki --gen --type bliss --size 3 --debug 4 > cakey3.der

mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 380 octets
mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 420 380 octets
l2 norm of s1||s2: 1397, 1401, Nk(S): 134554 125552 (128626 max)

S1[374] is zero - s1 is not invertible

mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 400 octets
mgf1 based on sha1 is seeded with 20 octets
mgf1 generated 400 octets
l2 norm of s1||s2: 1397, Nk(S): 150444

secret key generation succeeded after 2 trials

1 trial
i f g a F G A
0 0 -1 11349 1 11932 7348 6730 11344 7670 2988 6400
1 1 0 7974 2227 3185 1206 4952 11025 9396 6244
2 -1 0 2 -2 4844 496 414 8985 2527 9470 4541 4411
3 -1 1 0 -2 2768 7381 10610 11589 2813 2467 1412 6619
4 0 0 24 2 6142 3583 3407 2753 1095 3520 9237
5 0 0 660 2 10160 5787 2434 7097 9512 4552 8688
6 -2 0 7663 996 2 8919 120 8157 9071 10775 8990
7 0 0 11446 2979 3862 5879 5091 211 5439 3126
8 -1 0 0 10761 9288 3045 6406 11689 2278 5799 8812
9 1 2 10655 0 5145 9942 9566 11720 5685 3335 541
10 0 0 -1 8236 -2 1637 526 2239 12023 2977 497 5000
11 1 0 0 -2 8638 9 8056 9625 769 1665 9539 10618
12 -1 0 12073 10413 8267 -2 11526 11882 7745 8890 8976
13 -1 0 0 10423 12180 11895 7043 3538 8384 659 5231
14 -1 -2 0 2927 6332 4462 1895 3870 4243 11062 243
15 0 0 -2 4083 8350 10004 4302 5363 3400 2321 4000
16 0 0 2 8719 4545 8405 6031 9805 2766 4329 1708
17 0 0 126 16 11765 9184 1495 4119 8792 11954
18 1 0 11077 7415 10462 12186 -2 5664 9450 5151 6621
19 0 0 10321 10888 9001 3580 9002 1963 11193 1552
20 0 0 11406 12197 2320 -1 2112 -2 7090 5950 10318 8445
21 -1 0 0 2382 5180 8071 11316 8190 6203 7147 11145
22 0 0 11952 2522 -2 7713 2532 8455 12226 27 10533
23 -1 0 0 810 3121 4585 3838 6578 1919 6145 3333
24 1 0 2 3530 5316 7422 9595 3780 2034 6905 7088
25 -1 0 0 10072 11746 10425 1229 3845 2506 2337 9554
26 -1 2 0 1278 246 10767 4544 6488 5888 7751 8402
27 0 0 1031 9529 10638 8302 5983 2463 11225 9509
28 0 0 -2 6832 6091 11836 8019 4336 5519 2866 1124
29 0 0 1 9763 11818 -2 1023 8900 5477 2356 4475 4326
30 1 0 3533 11202 11192 -2 4438 7452 2418 815 406
31 -1 -2 0 363 2485 9949 9375 6078 1396 1096 3369
32 0 2 0 7774 6032 9256 11751 4761 9713 11653 12232
33 1 -2 5705 0 105 0 8018 1342 11748 11094 5109 4727
34 1 -1 -2 780 1310 9506 1037 11693 2687 6138 5713
35 1 0 2 3963 11119 1114 11518 7278 5003 9888 1173
36 -1 1 0 11561 2664 716 8458 7917 9766 2946 5255
37 0 0 932 -2 4680 2310 7971 11642 12218 7848 10211
38 0 0 9219 11411 4748 7807 4235 8627 6832 9975
39 0 1 0 2 5358 6338 9175 10240 9116 7187 1371 9287
40 0 0 9739 11874 10139 11850 9216 11714 11657 4532
41 1 2 8814 10927 12043 325 -2 1100 6203 6951 9887
42 0 1 0 11955 7933 11743 3920 9761 9307 124 11984
43 -2 0 251 0 6664 6550 6850 6220 4969 9948 11200
44 0 1 0 10183 3754 7920 5561 2231 1275 4389 2050
45 0 0 4863 5858 10736 11843 4628 11852 5770 4851
46 0 1 0 9053 4402 8612 6459 8420 5976 4162 5509
47 0 1 2 -2 3354 7268 2643 6093 2250 12126 9397 11716
48 -1 0 1 3867 -2 7439 10172 11395 9937 3908 1174 11478
49 0 2 0 11688 1877 9298 10680 8716 2985 4663 1833
50 -1 0 2 4520 140 5348 3538 4731 12240 6872 5286
51 0 0 -1 4594 -2 12012 1469 10189 7676 9229 8965 5043
52 1 0 0 11243 2 1199 6324 5329 1006 3192 6445 3268
53 0 0 3816 -4 4823 2137 4210 2707 2768 4158 569
54 -1 -2 0 0 11185 340 7269 11376 10485 2232 4643 9852
55 -1 0 -2 368 1784 6947 8290 8326 9620 6955 3129
56 0 1 0 12276 11097 9506 7203 5786 5610 11341 749
57 0 0 1482 6651 12057 10851 7994 2714 10832 5621
58 -1 0 0 383 8790 5516 4355 9861 2509 5980 2272
59 0 2 0 10893 2592 8086 5059 10875 12262 1452 140
60 1 0 2 741 0 7578 7921 10970 6721 6955 5847 9293
61 -1 0 1 5401 -2 2769 4243 10170 1664 5305 5597 9178
62 -1 2 -2 3565 3498 2730 3562 8160 1127 3858 11021
63 0 4 0 9783 5697 9751 1308 4934 153 7157 8076
64 1 2 562 10232 0 3792 -2 2585 4079 5666 9079 5400
65 1 0 2 5623 3653 3669 816 2895 8702 1244 11606
66 0 0 2 6817 9829 2897 6670 3255 595 4713 3470
67 0 2 1 4920 -2 11728 4356 5737 5602 6142 2309 2111
68 1 2 1443 -2 8246 7403 10194 1837 2903 9328 2562
69 -1 -2 2 0 770 8830 9857 301 8527 10087 11388 4108
70 1 2 0 8318 386 -2 8777 10115 6771 2653 10239 2130
71 0 0 4835 7855 3976 4463 8200 7362 6604 9248
72 -1 0 0 12193 10880 2774 6688 9810 4345 3127 311
73 -1 0 2 -2 4691 5217 8128 533 4530 5891 2120 8290
74 0 -1 -2 2158 4037 1444 8147 8082 3558 115 10006
75 0 0 6172 2284 389 6249 6473 9683 3797 3776
76 0 0 -2 5390 3351 9091 2755 1720 4435 10774 7047
77 0 0 2 1795 4988 5593 1314 11101 7010 2249 4376
78 0 1 0 6378 5858 6529 6929 2449 7217 3586 3009
79 1 0 0 3282 8276 8543 9115 8791 9758 6877 8600
80 0 0 5941 1719 2515 3490 3404 6518 2122 2847
81 0 0 9619 226 3145 16 4829 402 2434 10905
82 0 1 0 12177 3819 5643 1636 1293 3669 5343 9983
83 0 0 10054 10341 2 5815 8860 9832 7027 7247 4144
84 0 -1 -2 5846 8029 11886 1459 5161 6451 1689 8312
85 0 0 7204 6660 2539 8970 4867 4777 2209 9518
86 0 0 2 5750 8940 2023 198 2217 8863 8996 6495
87 -1 2 0 0 6261 4623 5977 12147 331 2243 11869 10300
88 0 0 4 11841 3021 4074 2021 6347 2604 1412 3751
89 -1 0 2 7572 2220 12271 3901 2346 5291 12199 3966
90 1 0 2 11997 617 -2 8162 3971 10971 5040 6150 8020
91 -1 0 3481 -2 7683 4335 73 10232 7127 5588 9399
92 0 1 0 2 3473 10868 6948 11869 8016 10780 11912 11369
93 0 2 6995 -2 4302 7923 549 717 8855 4202 7152
94 0 0 7016 -2 7421 8014 1258 1252 1782 8311 11638
95 1 2 12142 0 11580 975 5614 12132 1679 5085 2699
96 1 0 2 6246 3336 297 11408 10263 161 5819 6745
97 1 -2 -1 4317 569 -4 1661 5081 4560 9817 11892 6259
98 0 2 11899 0 8600 4544 10997 12278 5015 2094 4499
99 1 0 5837 554 2 9502 1616 5474 9495 12225 10213
100 -1 -2 3375 8533 3281 8912 8625 6448 7400 9929
101 1 0 6925 720 2 9235 10339 8850 8093 11649 9665
102 0 1 -2 11463 11460 -4 3152 9776 8935 4225 8805 9906
103 -1 -2 996 0 12203 3541 9592 4202 5021 12232 10353
104 0 1 2 -2 1285 10557 2977 8597 4667 4746 6684 2897
105 1 0 2 3324 10226 5553 11162 9780 6935 5268 10387
106 -1 2 12127 10743 12252 3426 -2 6413 10365 11905 6694
107 0 -2 9795 10231 1915 6839 8797 4720 5109 10630
108 0 1 2 -2 5668 2889 3500 3258 10106 7809 10108 689
109 -1 4 0 8087 -2 6380 5724 5416 6433 6311 9119 9062
110 1 0 -2 10557 3193 3805 2998 10987 1796 5365 4238
111 1 0 2 5909 10540 3218 3107 6083 6756 10221 11532
112 0 0 10442 11475 3605 1061 1555 3999 2523 2494
113 0 2 0 4226 1751 10398 1933 5029 6252 9032 10926
114 -1 2 0 0 5275 89 5049 7465 4368 3812 3557 9980
115 -1 0 0 6815 10334 200 11126 6973 10707 10291 4631
116 1 0 2 0 826 8730 2759 6104 4971 2153 8952 11976
117 -1 -2 11235 12105 0 11077 8587 688 1210 8027 7898
118 0 0 -2 3361 1258 8733 4392 5169 665 3646 237
119 0 0 2480 3460 8326 2652 9447 10875 12077 11281
120 1 0 0 1216 12123 2535 7154 651 928 564 11601
121 0 2 857 2091 562 -1 1352 -2 5099 1695 5523 11879
122 0 -2 3169 5533 4464 6614 2919 4882 6236 7444
123 1 0 0 10107 2 2680 2416 1350 2221 11163 8667 3679
124 0 -4 10308 -2 683 2108 8407 9352 704 7179 11214
125 -1 1 2 878 11994 0 2136 1698 3492 4946 8846 5627
126 0 2 11993 -2 1197 3800 5067 8913 4121 2070 2037
127 -1 0 2 11131 10689 2443 12112 4543 7839 164 8346
128 1 0 11684 12052 -2 11654 5700 9227 7360 9710 5576
129 0 2 11660 11240 10772 0 11081 2157 7285 5758 2882
130 1 0 0 11564 268 12057 4768 2204 10550 10764 10396
131 0 2 0 8890 10527 10742 5413 1333 6834 237 9705
132 0 0 -1 3139 -2 9589 9912 11312 3580 4630 8146 1000
133 -1 1 0 11456 6000 2435 10845 11335 2141 4365 4375
134 2 0 0 7960 5835 7033 9461 8674 5820 7036 8967
135 -1 0 1 2 8533 1986 2433 7566 6170 11842 6638 7219
136 1 2 12005 279 -2 1397 9385 6566 9096 4775 854
137 0 0 3543 10922 -2 11470 5370 59 3603 1399 4755
138 0 2 691 4 8292 3665 10794 8171 7134 4373 10453
139 0 0 2713 6909 3104 9141 2707 8265 11931 11831
140 0 1 2 -4 9201 1268 4238 2361 3547 6871 513 9596
141 1 2 11076 6984 -2 2153 815 7577 11197 9585 4684
142 0 0 11657 3591 8947 7098 1967 2661 2051 7873
143 1 2 0 2834 -2 4083 9195 3018 2467 1617 6347 7903
144 0 1 0 2 11017 8185 6619 366 9415 8525 11401 10043
145 -1 0 -2 1786 1494 11839 7054 6863 449 2174 5272
146 0 0 -2 1832 10258 7230 3046 2541 11091 10944 11808
147 0 0 10931 383 4893 12013 1685 12142 9116 11391
148 0 -4 -2 8238 9324 10699 11938 6439 4367 1371 1090
149 0 2 1 8006 -2 2974 11322 260 6706 2541 7886 7480
150 0 1 0 10550 3541 1341 8377 3839 6324 2901 5373
151 0 -1 -2 687 330 6124 4665 7243 7629 5217 2934
152 0 2 -2 1311 5192 10152 6833 4457 10671 4048 11099
153 0 1 0 11994 8674 1783 10226 3299 1218 317 2549
154 1 0 -1 9953 -2 1498 19 1224 1358 5962 11300 10712
155 1 0 472 2029 -2 5208 12231 2781 11449 395 11045
156 -1 1 2 11731 4 6425 6768 7592 7744 7694 9122 6955
157 0 2 2261 -2 2600 10784 1288 10720 4466 7913 9198
158 0 2 -2 3735 1898 10580 3959 1586 3762 6744 4924
159 0 1 2 -2 2817 2031 4147 4303 6807 4379 9674 6198
160 0 2 0 8153 2935 11500 11190 5295 3898 8827 4051
161 0 2 2277 1193 6730 11103 7795 11414 7512 3350
162 -1 -2 0 0 757 7728 3411 5951 9464 8617 5449 4481
163 -1 0 3329 -2 9973 3830 2756 3798 7004 11979 593
164 0 4 0 11945 57 4018 6438 4540 262 7747 9168
165 -2 2 -2 10665 6550 1844 101 173 8895 7130 9844
166 1 0 -2 1055 4376 312 5809 4027 6453 673 559
167 1 0 0 665 3681 11662 1744 11877 4601 3795 9442
168 -1 0 0 500 190 5083 3421 3045 10237 9077 5294
169 -1 0 -2 5948 8154 4923 10003 3232 10955 7992 9323
170 0 0 11548 6348 -2 66 5285 12164 3154 7238 10273
171 1 0 6451 22 780 3608 3387 7307 8272 11128
172 1 0 5800 -2 11068 10669 5147 11929 9887 7822 12269
173 1 -1 -2 8134 11119 2289 9744 5725 1000 7793 11084
174 0 0 5101 -2 7573 2045 9100 415 9528 5770 5250
175 1 0 9541 -2 6816 5369 2627 1937 7553 9741 7669
176 1 0 0 -2 10032 5495 973 32 6407 7662 3751 8740
177 1 -1 -2 2 187 8100 1861 3525 10574 6219 10487 11605
178 0 0 -2 10999 6664 5885 3891 8924 6930 7590 9183
179 -1 0 11795 11656 5412 11931 -2 8951 3731 4350 10057
180 0 0 1342 -2 2873 2119 8302 8064 5833 2295 14
181 0 0 8856 10345 5587 7649 3593 7068 12132 419
182 0 1 0 7741 5551 1590 9660 4966 10870 4283 5818
183 0 1 -2 58 319 3478 9240 2035 10096 11 1724
184 1 0 0 2 8425 9694 2564 6238 3099 9055 4742 12274
185 1 2 0 2 4004 1752 10949 5338 7406 6973 11648 7643
186 0 0 2 4081 397 4551 5788 4296 3141 5533 7516
187 1 0 0 -2 5809 6047 2080 6044 4616 3975 7664 3169
188 0 2 975 9088 -2 8057 4805 9530 9682 4940 10345
189 0 4 -1 5232 10223 -2 8937 3775 8502 1657 2826 9376
190 0 0 72 5348 10522 -2 5788 4985 6043 7853 528
191 -1 2 1 0 11937 9402 4497 7182 10043 10824 1366 6015
192 1 0 -2 7724 -2 7554 12130 8696 2259 176 642 1918
193 1 0 3219 10202 91 -2 8120 2011 4752 4070 3130
194 0 0 7399 8272 8460 1015 5181 1803 3038 3973
195 -1 1 0 10700 3012 7832 2362 7988 4856 9436 5558
196 1 0 4992 11439 10921 551 -4 8854 10413 11890 8575
197 0 0 5563 2277 1953 8425 3600 923 263 11719
198 -1 0 2 -2 2986 6322 1000 5002 10435 5611 9583 11721
199 -1 0 2 5331 2907 3700 5755 6993 8991 11579 11775
200 0 2 5020 7872 6081 2207 4634 9525 8539 1285
201 1 0 -2 7562 1731 9107 4572 2777 2581 9642 2830
202 0 2 11300 11624 8550 -2 8765 -2 10678 10608 9041 10880
203 0 0 656 11804 2415 3455 4285 437 5756 2400
204 0 0 1692 -1 2723 -2 3419 4799 8567 3910 3626 6180
205 -1 2 11041 0 8154 463 1998 1789 5423 2614 5813
206 0 0 229 879 660 9941 2327 11665 8051 2567
207 0 0 10044 282 8647 6807 6406 10013 4478 1129
208 0 -2 5036 10770 7967 3797 3811 12284 9730 6446
209 -1 0 2 128 719 6480 5034 3169 11501 11972 11650
210 -1 0 1769 10401 2614 2634 4186 1730 5549 10021
211 -1 0 1 7590 -2 11856 11417 10104 6692 10502 6910 6753
212 0 1 0 9672 3692 8222 2680 8598 1131 3800 12107
213 1 0 0 2 3125 4639 9161 5506 11526 4272 2293 6189
214 1 0 0 6486 6373 6086 10033 9147 4450 2814 9738
215 0 2 0 4166 11350 1942 4036 10531 1124 9011 3124
216 1 0 0 10082 11068 11523 2 7992 5163 558 11376 4381
217 0 2 0 11687 7985 9612 9711 4620 1352 8623 84
218 0 0 -2 8537 4946 3843 11615 35 768 6342
219 2 1 0 11885 9774 4846 8732 3711 5103 7354 6409
220 -1 0 2 3980 9728 4302 175 11772 8703 2262 5270
221 -1 -2 4928 0 745 3136 10258 4084 9525 3299 3453
222 1 0 0 10184 11483 2 7139 2383 6837 5711 4946 10846
223 0 2 7193 -2 5495 2480 9627 3190 11514 3249 2446
224 0 2 4553 10654 8786 1257 8703 4156 10444 381
225 0 2 0 7386 7294 1794 3059 859 2317 7187 5500
226 -1 2 307 11685 515 0 5106
227
-2 -2 2793 7122 4752 9559 7718 11755 4311 11196
228 227 -1 2 3466 9428 4578 8892 6184 2715
228
320 1 0 9143 3240 6263 8476 7279
229 0 0 5051 11084 2533 993 5008 6898 1495 5972
230 -1 0 2 10973 1782 6513 6396 1130 707 623 3622
231 -1 1 0 1035 2175 455 6457 5457 9829 8066 855
232 1 2 4754 -2 1143 8930 11192 11277 5864 6112 6039
233 -1 0 2 10052 5311 9546 9348 1723 7515 8484 3691
234 0 2 0 12282 10488 3745 10143 2071 5422 5953 11501
235 0 1 0 225 10115 234 966 5223 2764 1478 7550
236 0 4 -4 12167 2689 3220 10760 4295 156 136 7671
237 0 0 5150 2735 10452 9392 7686 6587 1703 5468
238 -1 0 0 11547 8431 7155 3214 3804 11767 9415 4710
239 0 1 0 10851 2 7709 6875 8050 1049 7538 8317 1238
240 -1 -2 874 4765 5800 4964 424 4804 10126 7221
241 1 0 2 10256 -2 10600 8623 1689 176 6010 4292 11309
242 -1 1 0 5997 9012 7556 8378 2161 9611 3323 5688
243 -1 0 0 11136 2 1266 4014 1123 1882 4767 3226 12134
244 1 0 2 11698 8554 2629 2615 1993 8070 708 9817
245 0 0 1 5773 555 -2 5168 9293 7272 4184 3392 10739
246 1 0 0 2 93 852 9508 9446 7790 235 8664 11953
247 -1 0 2 3106 6230 4221 8044 6747 8507 8893 6969
248 0 -2 -1 241 2 6515 6093 5228 7622 10297 7759 8445
249 -1 0 0 10974 1974 11662 7821 7592 3675 5613 3517
250 -1 -2 3428 4760 11952 1764 10330 11640 9509 11495
251 1 0 4655 -2 1942 7410 1732 5638 6215 8286 2604
252 0 0 11761 313 3245 2955 3177 463 7834 4178
253 -1 0 2 2542 10529 10352 9733 4798 3273 12249 11493
254 -1 0 0 12279 682 9976 9048 8184 9531 1686 3876
255 0 1 -2 2283 2 179 3742 10902 4322 6628 4000 9567
256 -1 0 0 10470 6807 1633 3116 2290 6784 5492 9062
257 1 0 901 3092 -2 11005 5803 5584 7605 7880 6991
258 -1 2 1 5324 -2 1193 11349 2732 9919 7686 7623 8563
259 0 0 2529 8845 2195 55 9994 4199 6380 2032
260 0 -2 9527 2 864 12240 10142 785 1047 4071 4639
261 0 -2 1873 7141 5812 5116 474 8077 11544 9863
262 0 2 0 6561 8896 6540 574 9356 2394 8790 4233
263 0 0 11716 386 2798 10004 -2 8781 5058 11323 5758
264 -1 -2 9511 2106 6119 4848 7103 5472 8637 3773
265 0 0 10312 2030 2028 2719 1706 3742 11400 5806
266 -1 0 11587 11556 10433 7614
267 -1
0 3930 9354 7307 4702 6651 307 4673 11174
267 268 1 0 2 9365 12108 10182 10128 4179 310 1572 9202
268 269 0 0 3050 9623 605 10173
269
231 -1 7881 -2 4637 2608 3226 7810 7644 8778
270 1 0 2 0 10643 12282 1443 10911 8826 9411 3262 11823
271 1 0 2 5348 5689 4803 732 8915 573 11021 12201
272 -1 0 10309 11942 9547 2736 3782 4821 1772 881
273 -1 1 0 10172 7011 5565 2137 329 7021 5860 1748
274 1 0 425 2 8091 151 902 11967 3881 1572 2343
275 1 0 -1 6507 -2 2055 9483 1543 3656 9352 8742 1125
276 -1 2 0 467 11338 0 1738 10323 8363 4684 8421 7891
277 1 0 0 2 11435 9537 7507 2935 11057 3108 4262 1495
278 -1 2 1 0 2982 1121 4478 5376 9997 1638 4813 8545
279 0 1 0 2 7618 6659 2654 704 7231 6455 2291 9356
280 1 2 -2 11535 6020 5948 6996 514 3587 8451 10276
281 0 0 247 2 2408 9996 9281 7266 5929 11267 11752
282 0 0 9312 9341 11999 10535 8448 1433 150 9922
283 -1 2 0 0 8888 1156 579 407 2432 2491 2254 5743
284 1 0 10878 -2 680 9742 11436 8265 7767 2316 7146
285 0 1 0 11315 3768 4269 10191 4554 6723 8944 1057
286 -1 0 0 5306 3150 2299 6385 11151 8412 4745 8222
287 -1 1 2 10602 12270 1942 11540
288 -1
0 7061 4149 9470 10690 9389 5659 5193 155
288 289 1 0 -2 12278 2220 9451 1914 2537 7033 6516 2039
289 290 1 -1 -2 6029 5849 4153 9681 8159 650 7990 10354
290 291 0 0 83 5244 -2 380 578 3384
291 1 0 444
1167 3466 9422 8086 832 2925
292 0 2 625 11105 9360 2784 7133 4352 1474 8850
293 -1 0 2 10950 1635 2831 7226 7803 3056 7941 10471
294 0 0 601 153 1 7982 -2 9289 1505 5309 1529 10706
295 0 0 4177 -1 5547 -2 12152 8758 3117 3163 1462 5319
296 0 0 12015 10147 -2 2163 8037 12168 6842 3295 3011
297 0 2 12204 9675 2582 5677 8555 3215 10166 351
298 -1 0 -4 11275 3251 5739 12176 7021 6910 9039 9355
299 0 0 8556 449 5488 9059 11926 2986 1862 5927
300 1 0 -2 7988 280 7028 8263 4462 1403 3983 11996
301 1 0 9851 -2 11691 944 9816 10642 6647 3504 7206
302 -1 0 3040 12216 -2 8553 5811 2913 8894 11593 4438
303 -1 4 1 2 11242 2910 8285 3848 11681 12110 3494 3099
304 1 0 0 1841 10354 1369 4153 3781 11946 1376 9679
305 -1 0 12210 0 4975 4923 855 11924 2286 5252 2443
306 0 0 10077 8918 6525 9177 1954 260 5892 12143
307 -2 0 0 6909 5765 923 6209 7601 8913 5854 5041
308 -1 0 11585 -2 4403 6292 703 7020 6706 11879 7236
309 -1 1 0 9508 11281 9550 8744
310 -1
2 11570 11111 6320 8015 5315 7011 6196 851
310 311 0 0 10282 5052 592 6674 4939 12069 7084 1139
311 312 -1 0 10922 12185 366 9127 5463 2630 5297 11037
312 313 0 2 0 7576 10464 3271 9782 3185 2944 6778 10142
313 314 -1 0 3680 366 6295 4320 3530 8876 2128 3092
314 315 -1 1 2 -2 2446 1219 9761 3469 5698 6931 5376 9652
315 316 1 0 0 3550 10768 6414 4531 6084 11668 1823 2854
316 -2 -2 1658 7879 11165 95
317 0 1 0 2694 7954 11099 1931 5621 5154 4973 8453
318 0 1 0 1040 460 8505 8549 3817 3732 6471 8585
319 -1 0 8606 -2 10555 260 6308 7709 8514 5351 1873
320 0 0 -2 4679 8549 8577 1116 10216 2591 4590 3492
321 1 0 2 3357 4517 10562 8573 9508 1479 7356 10826
322 1 0 0 -2 5129 6401 7378 9086 5806 731 6792 11094
323 1 0 4 11014 8810 1117 541 906 1047 10610 7306
324 0 0 12091 1342 -1 9191 11664 -2 8930 3044 7558 1690
325 0 -1 -2 12034 3353 5641 7216 5602 6908 4422 3833
326 1 0 -2 4468 6423 8161 11613 5847 1781 4290 1703
327 -1 0 0 2085 9452 6979 5643 3705 10865 6465 759
328 -1 0 0 4054 4250 9659 1062 7199 8885 5282 5366
329 0 0 4131 7411 9499 318 2562 11062 10606 12050
330 0 0 11004 4228 5092 5354 10302 1145 4744 9690
331 0 0 2544 11482 10185 3971 2500 4167 9338 10914
332 -1 0 83 4027 11600 778 -2 4640 2905 8263 8180
333 -1 0 2 10980 846 11466 11858 4210 11190 4479 8686
334 -1 0 -2 9362 -2 3868 220 2263 10527 11374 7803 8335
335 -1 0 11475 2 1085 8803 10486 1224 2878 6140 10827
336 -1 0 0 5423 1608 10434 164 277 3901 9840 3299
337 0 2 0 4383 8846 2284 10899 4037 9200 5405 10610
338 0 0 2 3723 2025 9028 11374 899 11100 10702 249
339 1 0 0 7305 7495 7082 5760 5684 11561 9448 3603
340 1 0 0 2908 11634 2989 2078 2 15 10858 10180 53
341 0 0 -2 10159 2216 822 3082 8672 8767 8232 10505
342 1 0 2 0 4147 4552 6030 6213 3925 8198 7103 2721
343 -1 0 2 6503 8537 12065 8183 4985 7428 7283 6616
344 1 0 59 -4 1083 1540 5343 5385 3648 7333 4975
345 1 0 0 6989 6820 2881 10619 2485 8603 7426 8044
346 0 0 2902 12009 -2 79 3592 698 780 5352 2094
347 0 2 -2 6060 7777 2269 8639 1661 1878 8255 5628
348 -1 0 483 -2 7927 7904 6962 2306 2389 10217 9842
349 -1 0 10399 11975 0 182 3969 2527 9120 558 8453
350 0 1 0 228 2 10965 8105 8081 1127 10594 9568 12240
351 -1 0 0 7932 6177 1438 9642 10608 2928 6326 1217
352 0 2 7927 11962 -2 2097 3647 5518 7424 6312 11588
353 0 0 11544 2417 -2 10821 5795 10400 5412 7478 9670
354 0 0 10459 2 8131 11956 7993 4921 8400 9262 9133
355 0 0 312 11086 5587 -2 12183 7238 9287 5467 4145
356 0 0 1 1452 11546 -2 11881 11278 4140 441 2062 2271
357 0 0 11023 11205 -2 4098 7851 5803 9477 584 9315
358 0 0 -2 11293 10761 10615 2486 6033 1161 4531 11806
359 1 0 2 -2 7820 2858 11927 8932 9839 2128 5031 6164
360 -1 4 359 0 6204 -2 6880 4830 4866 2661 6650 6782
361 -1 0 0 6279 1280 3716 8451 1209 7065 1677 2723
362 -1 2 1 1054 -4 5481 3505 3774 2948 3606 7690 10249
363 0 0 4712 8559 7160 6192 1931 604 857 11619
364 -1 1 0 6108 11892 260 4519 5014 1694 1682 7386
365 -2 1 0 7497 7001 2298 580 11947 5943 10006 9007
366 1 0 -2 763 6867 7812 7829 2847 3179 3167 9453
367 0 0 11981 2 4945 6439 8923 1013 6657 9753 968
368 0 -2 0 471 8100 7027 6595 12018 6703 5346 4401
369 0 2 10693 -2 6320 5488 2472 1311 11385 5183 5896
370 1 0 2 1659 6616 5948 912 5825 6562 5027 4446
371 -1 0 8633 -4 6154 2610 9146 9371 2936 10741 11669
372 -1 1 0 590 10505 1897 5607 5342 1577 7619 11326
373 -1 0 0 4566 8796 6636 8925 4267 10810 6540 641
374 0 0 -2 7862 8598 9942 3136 2067 1723 8798 7361
375 0 2 0 2 2460 5933 11598 1107 10645 10256 7281 2337
376 0 2 11497 0 3068 4397 5174 9644 2397 2961 575
377 0 0 11546 2749 4923 7543 2680 3667 60 496
378 1 0 4 2 10359 897 2843 6655 7308 7749 107 9940
379 -1 0 0 9178 8042 11627 8015 7627 8361 10628 4091
380 0 0 2 8418 7229 1085 5196 10305 7030 1309 4323
381 0 0 2 11076 6413 8341 6687 6321 9605 5590 590
382 0 0 1 7704 -2 9813 5915 587 2529 12015 3514 10997
383 1 0 0 4353 11345 4235 5846 5733 7362 1374 7164
384 -2 0 483 493 7176 -2 6883 2313 3411 887 910
385 2 0 -2 5537 1964 12124 5149 630 11168 391 10153
386 0 0 -2 11626 4786 7968 10413 10000 9993 11959 7183
387 1 0 -1 8660 -2 4137 7600 8672 2425 6332 3104 1422
388 -1 0 0 10388 1875 10712 8443 9870 6742 4381 3136
389 -1 2 0 5301 3028 9244 4136 9938 7848 7693 1024
390 -1 0 8347 -2 1651 3013 4708 10498 9457 3424 5692
391 -1 0 2 6480 6434 10654 246 3664 7631 8055 8185
392 -1 1 0 11001 4962 5801 3013 5730 384 1707 4298
393 -1 0 0 9167 3559 11131 5049 12060 6623 7976 3040
394 0 0 2 3871 10432 6911 8889 3462 9207 6279 10768
395 0 2 0 1900 2559 11098 1335 1487 3063 7210 5746
396 0 0 3446 6942 5082 11819 11075 1081 5465 2597
397 -1 0 0 9621 12019 6852 666 8735 5872 5657 6467
398 0 2 10282 0 10873 5977 4863 11256 5889 6091 4225
399 0 1 -2 6899 10659 10654 3670 513 7201 2689 1203
400 1 0 11066 -2 6794 8828 11918 530 10532 6433 4163
401 0 0 2 5889 4927 11148 5235 7593 1426 1505 4700
402 0 2 10499 11288 6888 11079 5570 7675 6432 9507
403 0 0 -2 9882 11756 11480 6758 11300 3460 9527 4705
404 0 1 2 10492 4626 9553 9496 103 7076 9700 2926
405 -1 1 0 2 4071 9678 12074 5214 9330 5418 7468 11797
406 0 4 2 4344 3955 5575 3054 6479 2530 10255 10763
407 1 0 10843 -2 8488 12022 3367 988 6366 11176 6421
408 -1 0 0 7382 2514 6520 2611 1529 6629 9724 2177
409 0 0 7638 -2 6486 -2 4438 1934 2460 6748 5463 3878
410 0 1 -2 1148 2677 9873 5860 8821 1975 4847 11948
411 0 1 0 6283 2065 5276 11948 8327 5257 9459 7023
412 0 2 0 2366 6908 6232 10434 5681 530 9810 4705
413 1 0 0 10718 3431 6791 2686 4540 2454 9883 10546
414 -1 1 0 10338 11007 4532 3468 5476 11629 4946 2087
415 0 1 0 5428 8846 7817 483 625 11048 4258 7745
416 0 4 0 11023 2795 1320 8114 5350 4466 10734 10811
417 0 2 0 2510 12017 6306 2768 7136 5050 5359 9233
418 0 0 -2 1858 10575 2406 2440 2740 6750 2337 11205
419 0 2 10282 0 1086 809 10400 1118 2777 6009 7711
420 0 1 0 8477 8755 8393 4003 3405 10159 5535 8938
421 -1 0 12259 7203 1775 5025 387 2505 6339 8171
422 0 0 1510 42 5186 12038 3061 9054 5047 9707
423 -1 1 0 8899 8317 1346 9867 3963 2073 3518 6580
424 0 0 7690 -2 4485 3750 2532 7074 6815 7221 12191
425 0 -1 -2 2210 11591 7076 2890 6288 4503 3318 10214
426 0 0 2367 4066 8826 8076 12163 8001 12127 3442
427 1 2 10596 8314 5009 366 10803 7863 12185 1339
428 2 0 -1 7392 -2 9060 6039 10099 5011 6333 4955 11591
429 -1 -2 -4 7353 9381 8641 8187 6623 965 9349 5579
430 0 0 3054 6499 6816 4642 5283 7438 5787 12187
431 -1 0 1 2 11461 11653 9421 3278 5919 7903 11491 7917
432 0 1 0 5202 11236 11135 8976 6875 7597 613 6477
433 1 0 10469 3625 -2 5140 11409 9335 10397 6485 11019
434 -1 0 6457 -2 3420 7590 1289 5554 3087 4787 9128
435 0 0 4981 -1 7584 -2 3667 7109 8992 7497 615 8655
436 0 1 0 2 2486 5984 709 9323 9806 5488 6760 6063
437 1 0 -2 10800 4451 9052 10347 1057 4450 1327 2187
438 1 0 0 1546 6532 5976 2071 6208 10283 1809 9139
439 -1 0 10050 0 8648 5657 5275 1586 11166 3907 5121
440 1 0 4 10633 0 8816 3926 8122 7845 7347 1167 7773
441 -1 0 0 8730 6347 293 5232 12281 4754 1762 11582
442 1 0 2 0 12239 10323 4288 4500 4871 6784 12192 6461
443 1 0 9297 -2 9950 1977 4775 3819 2378 4233 7946
444 1 0 2 0 1069 209 11331 995 5851 9874 3996 8822
445 -1 0 0 2 7851 3107 6881 3834 6175 5546 5523 9707
446 0 1 0 5388 5636 11215 11094 6671 4672 1421 5276
447 -1 0 12270 -2 10231 5133 2309 5799 4649 5 11911
448 1 -1 -2 6452 0 153 394 9835 1732 5074 5216 3872
449 -2 0 11019 0 11934 764 2437 7339 11818 1006 10907
450 -1 0 8801 -4 11659 8789 48 11348 6297 4922 4827
451 0 1 2 6042 987 890 8243 10106 9098 11786 3678
452 -2 0 10333 1 2 2589 7670 4798 7736 6818 2460 10669
453 -1 0 2 6545 2047 9349 7505 11511 9453 2743 3057
454 0 0 12148 -1 5933 -2 9508 4195 9643 9110 11013 9426
455 0 0 -2 5596 6640 357 11133 3895 9945 2879 7412
456 -1 0 11534 2 6683 11405 44 6504 2290 4180 9071
457 0 1 0 7142 5256 9490 10584 8051 946 316 11380
458 0 0 7200 -2 2149 2479 10389 3622 6976 9014 2480
459 -1 0 0 10512 10125 7165 6279 7039 10762 7156 6329
460 1 0 2 0 8215 4709 7133 10600 6976 1285 7912 6808
461 0 2 -2 11301 10333 6605 7383 769 9934 10200 10093
462 -1 0 949 5004 10864 7882 3139 3698 1300 1544
463 1 -2 10292 3467 0 11040 350 3075 10760 11733 3293
464 1 0 -2 6448 6614 9423 8230 1313 3156 2279 2345
465 0 0 2 692 3877 6812 7182 10115 11440 7583 6050
466 -1 1 0 2357 3635 2232 4184 4764 2733 2711 3816
467 1 0 0 12067 -2 3295 2363 2758 2045 5816 10128 11192
468 0 0 8589 865 9902 2917 8712 11275 2518 6813
469 0 2 0 10938 2772 7970 2928 1902 3650 6641 7019
470 0 1 0 5177 9568 2183 4228 242 7996 8414 5633
471 1 0 0 -2 2196 6874 5792 9197 8865 8729 6794 10300
472 -2 0 0 7827 11526 10909 4075 157 1548 8672 2560
473 0 -2 11766 -4 8236 2110 6451 3629 5159 9461 9122
474 0 2 10634 8707 -2 6140 -2 7148 3412 4091 7245 4018
475 -1 0 613 0 11653 40 1770 4832 8487 5765 10897
476 1 0 2 0 10799 728 4973 1080 10080 8202 9056 10951
477 0 0 11955 4174 2114 2282 3786 873 1699 314
478 -1 -2 10831 993 2 817 10585 6778 8348 8784 10553
479 -1 1 0 5558 3705 12125 5835 8654 7067 4186 5792
480 0 -2 -4 2702 1808 3993 8664 196 6392 6043 4624
481 -1 0 12069 2 1685 5841 1987 1907 4574 7238 7769
482 0 0 -1 8769 -2 10029 9263 9050 6174 10299 6687 676
483 -1 0 0 9883 3412 8157 10233 9123 1321 9517 1111
484 -1 1 2 0 4512 4204 49 11892 7252 6080 699 6011
485 -1 0 11196 0 448 5562 756 3872 5195 11922 2642
486 0 0 651 3388 2142 2386 11462 3834 7782 6611
487 0 1 0 4 8847 11806 10279 7208 10823 2981 6626 12033
488 2 0 4206 -2 9692 8558 10995 11169 7466 3513 2660
489 1 0 2 10165 11806 0 9176 10260 7955 2079 1785 7697
490 0 1 0 1657 11469 12267 30 5565 11081 6935 1449
491 0 0 10457 11636 2 11661 2880 10737 606 319 887
492 1 0 2806 -1 9200 -2 7521 2546 1752 3372 1543 2424
493 0 1 0 1874 1667 10715 5675 11192 6546 7245 11246
494 0 2 0 93 874 456 5094 11842 1273 7809 2563
495 -1 0 760 12102 0 5115 10093 3205 2733 6176 7453
496 -1 1 0 12191 1626 7834 4185 9898 2052 2926 12258
497 0 0 -1 3788 5251 2 11878 935 8847 8718 11044 6085
498 -1 0 952 0 10114 12224 2338 1103 11254 8954 11395
499 1 0 -2 2558 10638 7464 568 3234 5744 3355 7972
500 -1 0 8556 11033 1992 5603 6344 10425 1199 3471
501 -1 0 0 5848 5249 7063 11603 7024 675 6796 3466
502 0 2 7859 8334 2289 3338 1071 1945 7667 4805
503 0 0 7909 8566 837 7745 6796 9517 9120 2416
504 -1 0 0 2 7307 1905 3801 992 3844 4019 2872 1612
505 0 2 377 4268 8680 2937 3718 1290 5459 608
506 0 0 7878 10639 121 12207 1990 7692 10261 6844
507 0 2 -2 5170 9470 9084 10608 8437 10821 3280 4433
508 -1 0 0 11365 8213 3048 11553 9197 7737 8475 3451
509 0 -1 -2 10700 12098 6041 6095 11214 8143 5205 3125
510 -1 0 344 1 5879 -2 1943 1431 2793 2633 10329 5488
511 1 0 10325 7270 -1 3760 -2 2198 3846 4226 8410 4614
</pre>
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
<pre>
S1[374] S1[91] is zero - s1 is not invertible
</pre>
and another trial run is started.

h2. BLISS Root CA Certificate Generation

A self-signed BLISS CA certificate can be generated with the following command
<pre>
pki --self --type bliss --in cakey4.pem --ca --dn "C=CH, O=strongSwan Project, CN=strongSwan BLISS Root CA" --lifetime 3653 --debug 2 --outform pem > cacert4.pem

file content is not binary ASN.1
-----BEGIN BLISS PRIVATE KEY-----
-----END BLISS PRIVATE KEY-----

L0 - BLISSPrivateKey:
L1 - keyType:
'BLISS-IV'
L1 - public:
L1 - secret1:
L1 - secret2:

L0 - subjectPublicKeyInfo:
L1 - algorithm:
L2 - algorithmIdentifier:
L3 - algorithm:
'blissPublicKey'
L3 - parameters:
L4 - blissKeyType:
'BLISS-IV'
L1 - subjectPublicKey:

mgf1 based on sha256 is seeded with 32 octets
y1 = -859..738 (sigma2 = 71786, mean = -6.6)
y2 = -852..644 (sigma2 = 65618, mean = 2.0)
norm2(s1*c) + norm2(s2*c) = 63602, rejected
mgf1 generated 10304 octets

mgf1 based on sha256 is seeded with 32 octets
y1 = -942..726 (sigma2 = 81503, mean = -8.6)
y2 = -876..893 (sigma2 = 69883, mean = 2.4)
norm2(s1*c) + norm2(s2*c) = 66020, accepted
scalar(z1,s1*c) + scalar(z2,s2*c) = 86651, rejected
mgf1 generated 10528 octets

mgf1 based on sha256 is seeded with 32 octets
y1 = -862..785 (sigma2 = 72628, mean = -7.1)
y2 = -782..921 (sigma2 = 74618, mean = 4.1)
norm2(s1*c) + norm2(s2*c) = 64940, accepted
scalar(z1,s1*c) + scalar(z2,s2*c) = -176380, accepted

z1 = -873..780, z2d = -3..4

efficiency of Huffman coder is 3.4121 bits/tuple (1747 bits)
generated BLISS signature (6706 bits encoded in 839 bytes)

signature generation needed 3 rounds
mgf1 generated 10656 octets
</pre>
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*.

A BLISS certificate can be displayed at any time with
<pre>
pki --print --debug 2 --in cacert4.pem

L0 - x509:
L1 - tbsCertificate:
L2 - DEFAULT v1:
L3 - version:
X.509v3
L2 - serialNumber:
L2 - signature: [ Incomplete diff, document too large... ]