Fork of the official github repository of the framework Leaky-LWE-Estimator, a Sage Toolkit to attack and estimate the hardness of LWE with Side Information. https://github.com/lducas/leaky-LWE-Estimator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

simulation_distribution_NIST2.sage 8.2KB

  1. Dguess = {}
  2. Dguess[0] = {}
  3. Dguess[0][0] = 13205
  4. Dguess[0][1] = 0
  5. Dguess[0][2] = 3
  6. Dguess[0][3] = 0
  7. Dguess[0][4] = 0
  8. Dguess[0][5] = 0
  9. Dguess[0][6] = 0
  10. Dguess[0][7] = 0
  11. Dguess[0][8] = 0
  12. Dguess[0][9] = 0
  13. Dguess[0][10] = 0
  14. Dguess[0][-10] = 0
  15. Dguess[0][-9] = 0
  16. Dguess[0][-8] = 0
  17. Dguess[0][-7] = 0
  18. Dguess[0][-6] = 0
  19. Dguess[0][-5] = 0
  20. Dguess[0][-4] = 0
  21. Dguess[0][-3] = 0
  22. Dguess[0][-2] = 0
  23. Dguess[0][-1] = 0
  24. Dguess[1] = {}
  25. Dguess[1][0] = 0
  26. Dguess[1][1] = 10781
  27. Dguess[1][2] = 1396
  28. Dguess[1][3] = 2
  29. Dguess[1][4] = 0
  30. Dguess[1][5] = 0
  31. Dguess[1][6] = 0
  32. Dguess[1][7] = 0
  33. Dguess[1][8] = 0
  34. Dguess[1][9] = 0
  35. Dguess[1][10] = 0
  36. Dguess[1][-10] = 0
  37. Dguess[1][-9] = 0
  38. Dguess[1][-8] = 0
  39. Dguess[1][-7] = 0
  40. Dguess[1][-6] = 0
  41. Dguess[1][-5] = 0
  42. Dguess[1][-4] = 0
  43. Dguess[1][-3] = 0
  44. Dguess[1][-2] = 0
  45. Dguess[1][-1] = 0
  46. Dguess[2] = {}
  47. Dguess[2][0] = 0
  48. Dguess[2][1] = 4418
  49. Dguess[2][2] = 4931
  50. Dguess[2][3] = 0
  51. Dguess[2][4] = 0
  52. Dguess[2][5] = 0
  53. Dguess[2][6] = 0
  54. Dguess[2][7] = 0
  55. Dguess[2][8] = 0
  56. Dguess[2][9] = 0
  57. Dguess[2][10] = 0
  58. Dguess[2][-10] = 0
  59. Dguess[2][-9] = 0
  60. Dguess[2][-8] = 0
  61. Dguess[2][-7] = 0
  62. Dguess[2][-6] = 0
  63. Dguess[2][-5] = 0
  64. Dguess[2][-4] = 0
  65. Dguess[2][-3] = 0
  66. Dguess[2][-2] = 0
  67. Dguess[2][-1] = 0
  68. Dguess[3] = {}
  69. Dguess[3][0] = 0
  70. Dguess[3][1] = 0
  71. Dguess[3][2] = 0
  72. Dguess[3][3] = 5884
  73. Dguess[3][4] = 0
  74. Dguess[3][5] = 0
  75. Dguess[3][6] = 0
  76. Dguess[3][7] = 0
  77. Dguess[3][8] = 0
  78. Dguess[3][9] = 0
  79. Dguess[3][10] = 0
  80. Dguess[3][-10] = 0
  81. Dguess[3][-9] = 0
  82. Dguess[3][-8] = 0
  83. Dguess[3][-7] = 0
  84. Dguess[3][-6] = 0
  85. Dguess[3][-5] = 0
  86. Dguess[3][-4] = 0
  87. Dguess[3][-3] = 0
  88. Dguess[3][-2] = 0
  89. Dguess[3][-1] = 0
  90. Dguess[4] = {}
  91. Dguess[4][0] = 0
  92. Dguess[4][1] = 0
  93. Dguess[4][2] = 0
  94. Dguess[4][3] = 0
  95. Dguess[4][4] = 3038
  96. Dguess[4][5] = 0
  97. Dguess[4][6] = 24
  98. Dguess[4][7] = 0
  99. Dguess[4][8] = 0
  100. Dguess[4][9] = 0
  101. Dguess[4][10] = 0
  102. Dguess[4][-10] = 0
  103. Dguess[4][-9] = 0
  104. Dguess[4][-8] = 0
  105. Dguess[4][-7] = 0
  106. Dguess[4][-6] = 0
  107. Dguess[4][-5] = 0
  108. Dguess[4][-4] = 0
  109. Dguess[4][-3] = 0
  110. Dguess[4][-2] = 0
  111. Dguess[4][-1] = 0
  112. Dguess[5] = {}
  113. Dguess[5][0] = 0
  114. Dguess[5][1] = 0
  115. Dguess[5][2] = 0
  116. Dguess[5][3] = 0
  117. Dguess[5][4] = 1
  118. Dguess[5][5] = 1086
  119. Dguess[5][6] = 260
  120. Dguess[5][7] = 2
  121. Dguess[5][8] = 0
  122. Dguess[5][9] = 0
  123. Dguess[5][10] = 0
  124. Dguess[5][-10] = 0
  125. Dguess[5][-9] = 0
  126. Dguess[5][-8] = 0
  127. Dguess[5][-7] = 0
  128. Dguess[5][-6] = 0
  129. Dguess[5][-5] = 0
  130. Dguess[5][-4] = 0
  131. Dguess[5][-3] = 0
  132. Dguess[5][-2] = 0
  133. Dguess[5][-1] = 0
  134. Dguess[6] = {}
  135. Dguess[6][0] = 0
  136. Dguess[6][1] = 0
  137. Dguess[6][2] = 0
  138. Dguess[6][3] = 0
  139. Dguess[6][4] = 21
  140. Dguess[6][5] = 235
  141. Dguess[6][6] = 240
  142. Dguess[6][7] = 0
  143. Dguess[6][8] = 0
  144. Dguess[6][9] = 0
  145. Dguess[6][10] = 0
  146. Dguess[6][-10] = 0
  147. Dguess[6][-9] = 0
  148. Dguess[6][-8] = 0
  149. Dguess[6][-7] = 0
  150. Dguess[6][-6] = 0
  151. Dguess[6][-5] = 0
  152. Dguess[6][-4] = 0
  153. Dguess[6][-3] = 0
  154. Dguess[6][-2] = 0
  155. Dguess[6][-1] = 0
  156. Dguess[7] = {}
  157. Dguess[7][0] = 0
  158. Dguess[7][1] = 0
  159. Dguess[7][2] = 0
  160. Dguess[7][3] = 0
  161. Dguess[7][4] = 0
  162. Dguess[7][5] = 43
  163. Dguess[7][6] = 0
  164. Dguess[7][7] = 99
  165. Dguess[7][8] = 0
  166. Dguess[7][9] = 0
  167. Dguess[7][10] = 0
  168. Dguess[7][-10] = 0
  169. Dguess[7][-9] = 0
  170. Dguess[7][-8] = 0
  171. Dguess[7][-7] = 0
  172. Dguess[7][-6] = 0
  173. Dguess[7][-5] = 0
  174. Dguess[7][-4] = 0
  175. Dguess[7][-3] = 0
  176. Dguess[7][-2] = 0
  177. Dguess[7][-1] = 0
  178. Dguess[8] = {}
  179. Dguess[8][0] = 0
  180. Dguess[8][1] = 4
  181. Dguess[8][2] = 22
  182. Dguess[8][3] = 0
  183. Dguess[8][4] = 0
  184. Dguess[8][5] = 0
  185. Dguess[8][6] = 0
  186. Dguess[8][7] = 0
  187. Dguess[8][8] = 0
  188. Dguess[8][9] = 0
  189. Dguess[8][10] = 0
  190. Dguess[8][-10] = 0
  191. Dguess[8][-9] = 0
  192. Dguess[8][-8] = 0
  193. Dguess[8][-7] = 0
  194. Dguess[8][-6] = 0
  195. Dguess[8][-5] = 0
  196. Dguess[8][-4] = 0
  197. Dguess[8][-3] = 0
  198. Dguess[8][-2] = 0
  199. Dguess[8][-1] = 0
  200. Dguess[9] = {}
  201. Dguess[9][0] = 0
  202. Dguess[9][1] = 0
  203. Dguess[9][2] = 0
  204. Dguess[9][3] = 14
  205. Dguess[9][4] = 0
  206. Dguess[9][5] = 0
  207. Dguess[9][6] = 0
  208. Dguess[9][7] = 0
  209. Dguess[9][8] = 0
  210. Dguess[9][9] = 0
  211. Dguess[9][10] = 0
  212. Dguess[9][-10] = 0
  213. Dguess[9][-9] = 0
  214. Dguess[9][-8] = 0
  215. Dguess[9][-7] = 0
  216. Dguess[9][-6] = 0
  217. Dguess[9][-5] = 0
  218. Dguess[9][-4] = 0
  219. Dguess[9][-3] = 0
  220. Dguess[9][-2] = 0
  221. Dguess[9][-1] = 0
  222. Dguess[10] = {}
  223. Dguess[10][0] = 0
  224. Dguess[10][1] = 0
  225. Dguess[10][2] = 0
  226. Dguess[10][3] = 10
  227. Dguess[10][4] = 0
  228. Dguess[10][5] = 0
  229. Dguess[10][6] = 0
  230. Dguess[10][7] = 0
  231. Dguess[10][8] = 0
  232. Dguess[10][9] = 0
  233. Dguess[10][10] = 0
  234. Dguess[10][-10] = 0
  235. Dguess[10][-9] = 0
  236. Dguess[10][-8] = 0
  237. Dguess[10][-7] = 0
  238. Dguess[10][-6] = 0
  239. Dguess[10][-5] = 0
  240. Dguess[10][-4] = 0
  241. Dguess[10][-3] = 0
  242. Dguess[10][-2] = 0
  243. Dguess[10][-1] = 0
  244. Dguess[-10] = {}
  245. Dguess[-10][0] = 0
  246. Dguess[-10][1] = 0
  247. Dguess[-10][2] = 0
  248. Dguess[-10][3] = 0
  249. Dguess[-10][4] = 0
  250. Dguess[-10][5] = 0
  251. Dguess[-10][6] = 0
  252. Dguess[-10][7] = 0
  253. Dguess[-10][8] = 0
  254. Dguess[-10][9] = 0
  255. Dguess[-10][10] = 0
  256. Dguess[-10][-10] = 0
  257. Dguess[-10][-9] = 0
  258. Dguess[-10][-8] = 0
  259. Dguess[-10][-7] = 0
  260. Dguess[-10][-6] = 0
  261. Dguess[-10][-5] = 0
  262. Dguess[-10][-4] = 0
  263. Dguess[-10][-3] = 0
  264. Dguess[-10][-2] = 0
  265. Dguess[-10][-1] = 10
  266. Dguess[-9] = {}
  267. Dguess[-9][0] = 0
  268. Dguess[-9][1] = 0
  269. Dguess[-9][2] = 0
  270. Dguess[-9][3] = 0
  271. Dguess[-9][4] = 0
  272. Dguess[-9][5] = 0
  273. Dguess[-9][6] = 0
  274. Dguess[-9][7] = 0
  275. Dguess[-9][8] = 0
  276. Dguess[-9][9] = 0
  277. Dguess[-9][10] = 0
  278. Dguess[-9][-10] = 0
  279. Dguess[-9][-9] = 12
  280. Dguess[-9][-8] = 0
  281. Dguess[-9][-7] = 0
  282. Dguess[-9][-6] = 0
  283. Dguess[-9][-5] = 0
  284. Dguess[-9][-4] = 0
  285. Dguess[-9][-3] = 0
  286. Dguess[-9][-2] = 0
  287. Dguess[-9][-1] = 2
  288. Dguess[-8] = {}
  289. Dguess[-8][0] = 0
  290. Dguess[-8][1] = 0
  291. Dguess[-8][2] = 0
  292. Dguess[-8][3] = 0
  293. Dguess[-8][4] = 0
  294. Dguess[-8][5] = 0
  295. Dguess[-8][6] = 0
  296. Dguess[-8][7] = 0
  297. Dguess[-8][8] = 0
  298. Dguess[-8][9] = 0
  299. Dguess[-8][10] = 0
  300. Dguess[-8][-10] = 0
  301. Dguess[-8][-9] = 0
  302. Dguess[-8][-8] = 43
  303. Dguess[-8][-7] = 0
  304. Dguess[-8][-6] = 0
  305. Dguess[-8][-5] = 0
  306. Dguess[-8][-4] = 0
  307. Dguess[-8][-3] = 0
  308. Dguess[-8][-2] = 0
  309. Dguess[-8][-1] = 0
  310. Dguess[-7] = {}
  311. Dguess[-7][0] = 0
  312. Dguess[-7][1] = 0
  313. Dguess[-7][2] = 0
  314. Dguess[-7][3] = 0
  315. Dguess[-7][4] = 0
  316. Dguess[-7][5] = 0
  317. Dguess[-7][6] = 0
  318. Dguess[-7][7] = 0
  319. Dguess[-7][8] = 0
  320. Dguess[-7][9] = 0
  321. Dguess[-7][10] = 0
  322. Dguess[-7][-10] = 0
  323. Dguess[-7][-9] = 0
  324. Dguess[-7][-8] = 0
  325. Dguess[-7][-7] = 0
  326. Dguess[-7][-6] = 0
  327. Dguess[-7][-5] = 0
  328. Dguess[-7][-4] = 100
  329. Dguess[-7][-3] = 0
  330. Dguess[-7][-2] = 0
  331. Dguess[-7][-1] = 0
  332. Dguess[-6] = {}
  333. Dguess[-6][0] = 0
  334. Dguess[-6][1] = 0
  335. Dguess[-6][2] = 0
  336. Dguess[-6][3] = 0
  337. Dguess[-6][4] = 0
  338. Dguess[-6][5] = 0
  339. Dguess[-6][6] = 0
  340. Dguess[-6][7] = 0
  341. Dguess[-6][8] = 0
  342. Dguess[-6][9] = 0
  343. Dguess[-6][10] = 0
  344. Dguess[-6][-10] = 0
  345. Dguess[-6][-9] = 0
  346. Dguess[-6][-8] = 0
  347. Dguess[-6][-7] = 0
  348. Dguess[-6][-6] = 0
  349. Dguess[-6][-5] = 0
  350. Dguess[-6][-4] = 462
  351. Dguess[-6][-3] = 0
  352. Dguess[-6][-2] = 1
  353. Dguess[-6][-1] = 0
  354. Dguess[-5] = {}
  355. Dguess[-5][0] = 0
  356. Dguess[-5][1] = 0
  357. Dguess[-5][2] = 0
  358. Dguess[-5][3] = 0
  359. Dguess[-5][4] = 0
  360. Dguess[-5][5] = 0
  361. Dguess[-5][6] = 0
  362. Dguess[-5][7] = 0
  363. Dguess[-5][8] = 0
  364. Dguess[-5][9] = 0
  365. Dguess[-5][10] = 0
  366. Dguess[-5][-10] = 0
  367. Dguess[-5][-9] = 0
  368. Dguess[-5][-8] = 0
  369. Dguess[-5][-7] = 0
  370. Dguess[-5][-6] = 0
  371. Dguess[-5][-5] = 619
  372. Dguess[-5][-4] = 0
  373. Dguess[-5][-3] = 0
  374. Dguess[-5][-2] = 371
  375. Dguess[-5][-1] = 236
  376. Dguess[-4] = {}
  377. Dguess[-4][0] = 0
  378. Dguess[-4][1] = 0
  379. Dguess[-4][2] = 0
  380. Dguess[-4][3] = 0
  381. Dguess[-4][4] = 0
  382. Dguess[-4][5] = 0
  383. Dguess[-4][6] = 0
  384. Dguess[-4][7] = 0
  385. Dguess[-4][8] = 0
  386. Dguess[-4][9] = 0
  387. Dguess[-4][10] = 0
  388. Dguess[-4][-10] = 0
  389. Dguess[-4][-9] = 0
  390. Dguess[-4][-8] = 0
  391. Dguess[-4][-7] = 0
  392. Dguess[-4][-6] = 2
  393. Dguess[-4][-5] = 0
  394. Dguess[-4][-4] = 3019
  395. Dguess[-4][-3] = 0
  396. Dguess[-4][-2] = 1
  397. Dguess[-4][-1] = 0
  398. Dguess[-3] = {}
  399. Dguess[-3][0] = 0
  400. Dguess[-3][1] = 0
  401. Dguess[-3][2] = 0
  402. Dguess[-3][3] = 0
  403. Dguess[-3][4] = 0
  404. Dguess[-3][5] = 0
  405. Dguess[-3][6] = 0
  406. Dguess[-3][7] = 0
  407. Dguess[-3][8] = 0
  408. Dguess[-3][9] = 0
  409. Dguess[-3][10] = 0
  410. Dguess[-3][-10] = 0
  411. Dguess[-3][-9] = 0
  412. Dguess[-3][-8] = 0
  413. Dguess[-3][-7] = 0
  414. Dguess[-3][-6] = 0
  415. Dguess[-3][-5] = 12
  416. Dguess[-3][-4] = 15
  417. Dguess[-3][-3] = 0
  418. Dguess[-3][-2] = 5757
  419. Dguess[-3][-1] = 0
  420. Dguess[-2] = {}
  421. Dguess[-2][0] = 0
  422. Dguess[-2][1] = 0
  423. Dguess[-2][2] = 0
  424. Dguess[-2][3] = 0
  425. Dguess[-2][4] = 0
  426. Dguess[-2][5] = 0
  427. Dguess[-2][6] = 0
  428. Dguess[-2][7] = 0
  429. Dguess[-2][8] = 0
  430. Dguess[-2][9] = 0
  431. Dguess[-2][10] = 0
  432. Dguess[-2][-10] = 0
  433. Dguess[-2][-9] = 0
  434. Dguess[-2][-8] = 0
  435. Dguess[-2][-7] = 0
  436. Dguess[-2][-6] = 0
  437. Dguess[-2][-5] = 141
  438. Dguess[-2][-4] = 2
  439. Dguess[-2][-3] = 0
  440. Dguess[-2][-2] = 9126
  441. Dguess[-2][-1] = 3
  442. Dguess[-1] = {}
  443. Dguess[-1][0] = 0
  444. Dguess[-1][1] = 0
  445. Dguess[-1][2] = 0
  446. Dguess[-1][3] = 0
  447. Dguess[-1][4] = 0
  448. Dguess[-1][5] = 0
  449. Dguess[-1][6] = 0
  450. Dguess[-1][7] = 0
  451. Dguess[-1][8] = 0
  452. Dguess[-1][9] = 0
  453. Dguess[-1][10] = 0
  454. Dguess[-1][-10] = 0
  455. Dguess[-1][-9] = 0
  456. Dguess[-1][-8] = 0
  457. Dguess[-1][-7] = 0
  458. Dguess[-1][-6] = 0
  459. Dguess[-1][-5] = 867
  460. Dguess[-1][-4] = 0
  461. Dguess[-1][-3] = 0
  462. Dguess[-1][-2] = 33
  463. Dguess[-1][-1] = 11527