-
Go to docker playground, login and create an instance.
-
Clone the source repository.
$ git clone https://github.com/diptadas/bkz-algorithm.git && cd bkz-algorithm
Cloning into 'bkz-algorithm'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 21 (delta 0), reused 1 (delta 0), pack-reused 18
Unpacking objects: 100% (21/21), done.
- Run the pre-built docker image and mount the source files.
$ docker run -it -v $(pwd):/bkz -w /bkz diptadas/bkz-utils
- Compile and run the source.
/bkz # g++ main.cpp -lntl && ./a.out
1. BKZ Pruned Enumeration
2. RBKZ
3. RBKZ DP
4. BKZ Randomize Input
Option: 4
Dim(n): 59
Blocksize(k): 30
Seed: 1650
Base: 2056.260198
Loop: 1 Norm: 1817.233062
Loop: 2 Norm: 1817.233062
Shortest norm after BKZ: 1817.233062
Shortest vector:
[-195 -85 -396 -269 -37 178 342 146 -195 357 -68 -313 270 -113 75 -42 22 -449 -132 341 -109 675 329 49 -127 -53 -100 -89 69 -167 -182 180 -289 -60 -252 209 -159 53 -485 7 204 -345 104 81 -276 466 142 35 -82 -69 -194 -452 -160 57 42 -128 -212 57 384]
Lattice challenge submissions
Dimension | Seed | Norm |
---|---|---|
94 | 650 | 2473 |
91 | 1203 | 2424 |
80 | 426 | 2163 |
69 | 2675 | 1896 |
69 | 555 | 1972 |
64 | 2793 | 1880 |
59 | 2335 | 1801 |
59 | 1650 | 1817 |