fsevents 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (360) hide show
  1. package/Readme.md +12 -13
  2. package/node_modules/ansi/package.json +1 -2
  3. package/node_modules/are-we-there-yet/package.json +1 -2
  4. package/node_modules/asn1/.travis.yml +4 -0
  5. package/node_modules/asn1/lib/ber/reader.js +27 -33
  6. package/node_modules/asn1/lib/ber/writer.js +10 -11
  7. package/node_modules/asn1/package.json +21 -19
  8. package/node_modules/asn1/tst/ber/reader.test.js +36 -0
  9. package/node_modules/asn1/tst/ber/writer.test.js +74 -0
  10. package/node_modules/assert-plus/package.json +1 -0
  11. package/node_modules/{ctype → bl/node_modules/readable-stream/node_modules/core-util-is}/LICENSE +1 -6
  12. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +11 -11
  13. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json +17 -12
  14. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/test.js +68 -0
  15. package/node_modules/boom/package.json +1 -1
  16. package/node_modules/commander/package.json +1 -1
  17. package/node_modules/core-util-is/LICENSE +19 -0
  18. package/node_modules/core-util-is/lib/util.js +11 -11
  19. package/node_modules/core-util-is/package.json +17 -12
  20. package/node_modules/core-util-is/test.js +68 -0
  21. package/node_modules/dashdash/README.md +508 -0
  22. package/node_modules/dashdash/lib/dashdash.js +813 -0
  23. package/node_modules/dashdash/package.json +87 -0
  24. package/node_modules/deep-extend/LICENSE +1 -1
  25. package/node_modules/deep-extend/README.md +89 -52
  26. package/node_modules/deep-extend/index.js +1 -90
  27. package/node_modules/deep-extend/lib/deep-extend.js +144 -0
  28. package/node_modules/deep-extend/package.json +47 -16
  29. package/node_modules/deep-extend/test/index.spec.js +168 -5
  30. package/node_modules/delegates/package.json +1 -2
  31. package/node_modules/ecc-jsbn/.npmignore +15 -0
  32. package/node_modules/ecc-jsbn/LICENSE +21 -0
  33. package/node_modules/ecc-jsbn/README.md +8 -0
  34. package/node_modules/ecc-jsbn/index.js +57 -0
  35. package/node_modules/ecc-jsbn/lib/LICENSE-jsbn +40 -0
  36. package/node_modules/ecc-jsbn/lib/ec.js +561 -0
  37. package/node_modules/ecc-jsbn/lib/sec.js +170 -0
  38. package/node_modules/ecc-jsbn/package.json +63 -0
  39. package/node_modules/ecc-jsbn/test.js +14 -0
  40. package/node_modules/extsprintf/.gitmodules +6 -0
  41. package/node_modules/{path-is-absolute/license → extsprintf/LICENSE} +2 -4
  42. package/node_modules/extsprintf/Makefile +23 -0
  43. package/node_modules/extsprintf/Makefile.deps +39 -0
  44. package/node_modules/extsprintf/Makefile.targ +285 -0
  45. package/node_modules/extsprintf/README.md +39 -0
  46. package/node_modules/extsprintf/examples/simple.js +2 -0
  47. package/node_modules/{ctype/tools/jsl.conf → extsprintf/jsl.node.conf} +71 -63
  48. package/node_modules/extsprintf/lib/extsprintf.js +166 -0
  49. package/node_modules/extsprintf/package.json +48 -0
  50. package/node_modules/fstream/package.json +1 -2
  51. package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/package.json +4 -22
  52. package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/package.json +3 -21
  53. package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/package.json +4 -23
  54. package/node_modules/fstream-ignore/node_modules/minimatch/package.json +4 -24
  55. package/node_modules/fstream-ignore/package.json +1 -2
  56. package/node_modules/gauge/package.json +1 -2
  57. package/node_modules/har-validator/package.json +15 -15
  58. package/node_modules/has-unicode/package.json +1 -2
  59. package/node_modules/hawk/dist/client.js +340 -0
  60. package/node_modules/hawk/lib/browser.js +14 -20
  61. package/node_modules/hawk/package.json +10 -10
  62. package/node_modules/hawk/test/browser.js +134 -101
  63. package/node_modules/hawk/test/index.js +61 -61
  64. package/node_modules/hawk/test/server.js +72 -84
  65. package/node_modules/hawk/test/uri.js +52 -63
  66. package/node_modules/http-signature/CHANGES.md +39 -0
  67. package/node_modules/http-signature/http_signing.md +16 -17
  68. package/node_modules/http-signature/lib/index.js +6 -4
  69. package/node_modules/http-signature/lib/parser.js +43 -29
  70. package/node_modules/http-signature/lib/signer.js +290 -74
  71. package/node_modules/http-signature/lib/utils.js +112 -0
  72. package/node_modules/http-signature/lib/verify.js +47 -15
  73. package/node_modules/http-signature/package.json +20 -14
  74. package/node_modules/is-my-json-valid/index.js +16 -14
  75. package/node_modules/is-my-json-valid/package.json +16 -12
  76. package/node_modules/is-typedarray/LICENSE.md +18 -0
  77. package/node_modules/is-typedarray/README.md +16 -0
  78. package/node_modules/is-typedarray/index.js +41 -0
  79. package/node_modules/is-typedarray/package.json +63 -0
  80. package/node_modules/is-typedarray/test.js +34 -0
  81. package/node_modules/jodid25519/.npmignore +11 -0
  82. package/node_modules/jodid25519/.travis.yml +7 -0
  83. package/node_modules/jodid25519/AUTHORS.md +3 -0
  84. package/node_modules/jodid25519/LICENSE +23 -0
  85. package/node_modules/jodid25519/README.md +51 -0
  86. package/node_modules/jodid25519/almond.0 +42 -0
  87. package/node_modules/jodid25519/almond.1 +13 -0
  88. package/node_modules/jodid25519/index.js +35 -0
  89. package/node_modules/jodid25519/jsdoc.json +19 -0
  90. package/node_modules/jodid25519/lib/core.js +481 -0
  91. package/node_modules/jodid25519/lib/curve255.js +221 -0
  92. package/node_modules/jodid25519/lib/dh.js +111 -0
  93. package/node_modules/jodid25519/lib/eddsa.js +573 -0
  94. package/node_modules/jodid25519/lib/utils.js +198 -0
  95. package/node_modules/jodid25519/package.json +77 -0
  96. package/node_modules/jsbn/.npmignore +2 -0
  97. package/node_modules/jsbn/LICENSE +40 -0
  98. package/node_modules/jsbn/README.md +175 -0
  99. package/node_modules/jsbn/example.html +12 -0
  100. package/node_modules/jsbn/example.js +3 -0
  101. package/node_modules/jsbn/index.js +1358 -0
  102. package/node_modules/jsbn/package.json +60 -0
  103. package/node_modules/json-schema/README.md +5 -0
  104. package/node_modules/json-schema/draft-00/hyper-schema +68 -0
  105. package/node_modules/json-schema/draft-00/json-ref +26 -0
  106. package/node_modules/json-schema/draft-00/links +33 -0
  107. package/node_modules/json-schema/draft-00/schema +155 -0
  108. package/node_modules/json-schema/draft-01/hyper-schema +68 -0
  109. package/node_modules/json-schema/draft-01/json-ref +26 -0
  110. package/node_modules/json-schema/draft-01/links +33 -0
  111. package/node_modules/json-schema/draft-01/schema +155 -0
  112. package/node_modules/json-schema/draft-02/hyper-schema +68 -0
  113. package/node_modules/json-schema/draft-02/json-ref +26 -0
  114. package/node_modules/json-schema/draft-02/links +35 -0
  115. package/node_modules/json-schema/draft-02/schema +166 -0
  116. package/node_modules/json-schema/draft-03/examples/address +20 -0
  117. package/node_modules/json-schema/draft-03/examples/calendar +53 -0
  118. package/node_modules/json-schema/draft-03/examples/card +105 -0
  119. package/node_modules/json-schema/draft-03/examples/geo +8 -0
  120. package/node_modules/json-schema/draft-03/examples/interfaces +23 -0
  121. package/node_modules/json-schema/draft-03/hyper-schema +60 -0
  122. package/node_modules/json-schema/draft-03/json-ref +26 -0
  123. package/node_modules/json-schema/draft-03/links +35 -0
  124. package/node_modules/json-schema/draft-03/schema +174 -0
  125. package/node_modules/json-schema/draft-04/hyper-schema +60 -0
  126. package/node_modules/json-schema/draft-04/links +41 -0
  127. package/node_modules/json-schema/draft-04/schema +189 -0
  128. package/node_modules/json-schema/draft-zyp-json-schema-03.xml +1120 -0
  129. package/node_modules/json-schema/draft-zyp-json-schema-04.xml +1072 -0
  130. package/node_modules/json-schema/lib/links.js +52 -0
  131. package/node_modules/json-schema/lib/validate.js +260 -0
  132. package/node_modules/json-schema/package.json +67 -0
  133. package/node_modules/json-schema/test/tests.js +95 -0
  134. package/node_modules/jsprim/CHANGES.md +30 -0
  135. package/node_modules/jsprim/LICENSE +19 -0
  136. package/node_modules/jsprim/README.md +228 -0
  137. package/node_modules/jsprim/lib/jsprim.js +478 -0
  138. package/node_modules/jsprim/package.json +54 -0
  139. package/node_modules/lodash._basetostring/package.json +1 -2
  140. package/node_modules/lodash._createpadding/package.json +1 -2
  141. package/node_modules/lodash.pad/package.json +1 -2
  142. package/node_modules/lodash.padleft/package.json +1 -2
  143. package/node_modules/lodash.padright/package.json +1 -2
  144. package/node_modules/lodash.repeat/package.json +1 -2
  145. package/node_modules/node-pre-gyp/CHANGELOG.md +8 -0
  146. package/node_modules/node-pre-gyp/README.md +570 -0
  147. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +4 -0
  148. package/node_modules/node-pre-gyp/node_modules/nopt/lib/nopt.js +2 -1
  149. package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/package.json +30 -37
  150. package/node_modules/node-pre-gyp/node_modules/nopt/package.json +37 -57
  151. package/node_modules/node-pre-gyp/node_modules/nopt/test/basic.js +22 -0
  152. package/node_modules/node-pre-gyp/package.json +17 -17
  153. package/node_modules/node-uuid/.npmignore +2 -0
  154. package/node_modules/node-uuid/README.md +12 -1
  155. package/node_modules/node-uuid/bower.json +1 -1
  156. package/node_modules/node-uuid/component.json +11 -4
  157. package/node_modules/node-uuid/package.json +25 -12
  158. package/node_modules/node-uuid/test/test.js +3 -0
  159. package/node_modules/node-uuid/uuid.js +70 -45
  160. package/node_modules/npmlog/.travis.yml +14 -0
  161. package/node_modules/npmlog/log.js +3 -0
  162. package/node_modules/npmlog/package.json +23 -20
  163. package/node_modules/npmlog/test/basic.js +8 -1
  164. package/node_modules/once/package.json +2 -3
  165. package/node_modules/pinkie/index.js +23 -7
  166. package/node_modules/pinkie/package.json +22 -15
  167. package/node_modules/pinkie/readme.md +17 -9
  168. package/node_modules/pinkie-promise/package.json +16 -14
  169. package/node_modules/pinkie-promise/readme.md +5 -3
  170. package/node_modules/rc/README.md +1 -1
  171. package/node_modules/rc/index.js +1 -1
  172. package/node_modules/rc/node_modules/minimist/package.json +1 -1
  173. package/node_modules/rc/package.json +12 -12
  174. package/node_modules/request/.eslintrc +1 -1
  175. package/node_modules/request/.travis.yml +4 -4
  176. package/node_modules/request/CHANGELOG.md +25 -0
  177. package/node_modules/request/README.md +12 -13
  178. package/node_modules/request/lib/har.js +84 -75
  179. package/node_modules/request/lib/redirect.js +2 -3
  180. package/node_modules/request/lib/tunnel.js +13 -18
  181. package/node_modules/request/package.json +17 -16
  182. package/node_modules/request/request.js +16 -59
  183. package/node_modules/rimraf/README.md +7 -2
  184. package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/package.json +5 -25
  185. package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/package.json +5 -25
  186. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  187. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/README.md +42 -0
  188. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  189. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  190. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/package.json +58 -0
  191. package/node_modules/rimraf/node_modules/glob/node_modules/inherits/test.js +25 -0
  192. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +3 -0
  193. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +122 -0
  194. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  195. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  196. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  197. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +3 -0
  198. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md +21 -0
  199. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  200. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  201. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  202. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  203. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +79 -0
  204. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  205. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  206. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
  207. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
  208. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  209. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
  210. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +90 -0
  211. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  212. package/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +81 -0
  213. package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/package.json +3 -21
  214. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  215. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +58 -0
  216. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  217. package/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  218. package/node_modules/rimraf/node_modules/glob/node_modules/once/package.json +70 -0
  219. package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/package.json +4 -22
  220. package/node_modules/rimraf/node_modules/glob/package.json +2 -20
  221. package/node_modules/rimraf/package.json +10 -10
  222. package/node_modules/semver/README.md +25 -1
  223. package/node_modules/semver/package.json +10 -10
  224. package/node_modules/semver/range.bnf +16 -0
  225. package/node_modules/semver/semver.js +0 -12
  226. package/node_modules/sshpk/.npmignore +8 -0
  227. package/node_modules/sshpk/.travis.yml +11 -0
  228. package/node_modules/sshpk/LICENSE +18 -0
  229. package/node_modules/sshpk/README.md +436 -0
  230. package/node_modules/sshpk/bin/sshpk-conv +183 -0
  231. package/node_modules/sshpk/lib/algs.js +168 -0
  232. package/node_modules/sshpk/lib/dhe.js +312 -0
  233. package/node_modules/sshpk/lib/ed-compat.js +94 -0
  234. package/node_modules/sshpk/lib/errors.js +58 -0
  235. package/node_modules/sshpk/lib/fingerprint.js +140 -0
  236. package/node_modules/sshpk/lib/formats/auto.js +73 -0
  237. package/node_modules/sshpk/lib/formats/pem.js +152 -0
  238. package/node_modules/sshpk/lib/formats/pkcs1.js +320 -0
  239. package/node_modules/sshpk/lib/formats/pkcs8.js +510 -0
  240. package/node_modules/sshpk/lib/formats/rfc4253.js +145 -0
  241. package/node_modules/sshpk/lib/formats/ssh-private.js +138 -0
  242. package/node_modules/sshpk/lib/formats/ssh.js +114 -0
  243. package/node_modules/sshpk/lib/index.js +25 -0
  244. package/node_modules/sshpk/lib/key.js +260 -0
  245. package/node_modules/sshpk/lib/private-key.js +224 -0
  246. package/node_modules/sshpk/lib/signature.js +237 -0
  247. package/node_modules/sshpk/lib/ssh-buffer.js +123 -0
  248. package/node_modules/sshpk/lib/utils.js +207 -0
  249. package/node_modules/sshpk/node_modules/assert-plus/AUTHORS +6 -0
  250. package/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +8 -0
  251. package/node_modules/sshpk/node_modules/assert-plus/README.md +155 -0
  252. package/node_modules/sshpk/node_modules/assert-plus/assert.js +206 -0
  253. package/node_modules/sshpk/node_modules/assert-plus/package.json +88 -0
  254. package/node_modules/sshpk/package.json +92 -0
  255. package/node_modules/strip-json-comments/cli.js +2 -2
  256. package/node_modules/strip-json-comments/package.json +13 -12
  257. package/node_modules/strip-json-comments/readme.md +11 -5
  258. package/node_modules/strip-json-comments/strip-json-comments.js +16 -7
  259. package/node_modules/tar/package.json +1 -2
  260. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/LICENSE +19 -0
  261. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/lib/util.js +11 -11
  262. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/package.json +17 -12
  263. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/test.js +68 -0
  264. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/inherits/package.json +1 -1
  265. package/node_modules/tar-pack/node_modules/rimraf/package.json +1 -2
  266. package/node_modules/tar-pack/package.json +1 -2
  267. package/node_modules/tough-cookie/lib/cookie.js +1 -1
  268. package/node_modules/tough-cookie/package.json +7 -7
  269. package/node_modules/tweetnacl/.npmignore +4 -0
  270. package/node_modules/tweetnacl/CHANGELOG.md +128 -0
  271. package/node_modules/tweetnacl/README.md +463 -0
  272. package/node_modules/tweetnacl/nacl-fast.js +2418 -0
  273. package/node_modules/tweetnacl/nacl-fast.min.js +2 -0
  274. package/node_modules/tweetnacl/nacl.js +1205 -0
  275. package/node_modules/tweetnacl/nacl.min.js +1 -0
  276. package/node_modules/tweetnacl/package.json +101 -0
  277. package/node_modules/uid-number/package.json +2 -3
  278. package/node_modules/verror/.gitmodules +0 -0
  279. package/node_modules/verror/LICENSE +19 -0
  280. package/node_modules/verror/Makefile +35 -0
  281. package/node_modules/verror/Makefile.targ +285 -0
  282. package/node_modules/verror/README.md +120 -0
  283. package/node_modules/verror/examples/levels-verror.js +36 -0
  284. package/node_modules/verror/examples/levels-werror.js +34 -0
  285. package/node_modules/verror/examples/varargs.js +6 -0
  286. package/node_modules/verror/examples/verror.js +13 -0
  287. package/node_modules/verror/examples/werror.js +14 -0
  288. package/node_modules/verror/jsl.node.conf +139 -0
  289. package/node_modules/verror/lib/verror.js +157 -0
  290. package/node_modules/verror/package.json +51 -0
  291. package/node_modules/verror/tests/tst.inherit.js +100 -0
  292. package/node_modules/verror/tests/tst.verror.js +156 -0
  293. package/node_modules/verror/tests/tst.werror.js +179 -0
  294. package/package.json +3 -3
  295. package/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js +0 -106
  296. package/node_modules/core-util-is/util.js +0 -106
  297. package/node_modules/ctype/.npmignore +0 -1
  298. package/node_modules/ctype/CHANGELOG +0 -78
  299. package/node_modules/ctype/README +0 -82
  300. package/node_modules/ctype/README.old +0 -298
  301. package/node_modules/ctype/ctf.js +0 -245
  302. package/node_modules/ctype/ctio.js +0 -1485
  303. package/node_modules/ctype/ctype.js +0 -944
  304. package/node_modules/ctype/man/man3ctype/ctio.3ctype +0 -241
  305. package/node_modules/ctype/package.json +0 -51
  306. package/node_modules/ctype/tools/jsstyle +0 -839
  307. package/node_modules/http-signature/lib/util.js +0 -306
  308. package/node_modules/inflight/node_modules/once/package.json +0 -86
  309. package/node_modules/inflight/node_modules/once/test/once.js +0 -23
  310. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -15
  311. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  312. package/node_modules/rimraf/node_modules/once/LICENSE +0 -15
  313. package/node_modules/rimraf/node_modules/once/README.md +0 -51
  314. package/node_modules/rimraf/node_modules/once/once.js +0 -21
  315. package/node_modules/rimraf/node_modules/once/package.json +0 -84
  316. package/node_modules/rimraf/node_modules/once/test/once.js +0 -23
  317. package/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/util.js +0 -106
  318. package/node_modules/wrappy/LICENSE +0 -15
  319. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/.npmignore +0 -0
  320. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/README.md +0 -0
  321. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/example.js +0 -0
  322. /package/node_modules/{brace-expansion → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion}/index.js +0 -0
  323. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/.npmignore +0 -0
  324. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/.travis.yml +0 -0
  325. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/LICENSE.md +0 -0
  326. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/Makefile +0 -0
  327. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/README.md +0 -0
  328. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/example.js +0 -0
  329. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/index.js +0 -0
  330. /package/node_modules/{balanced-match → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match}/test/balanced.js +0 -0
  331. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/.travis.yml +0 -0
  332. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/LICENSE +0 -0
  333. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/README.markdown +0 -0
  334. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/example/map.js +0 -0
  335. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/index.js +0 -0
  336. /package/node_modules/{concat-map → fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map}/test/map.js +0 -0
  337. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/.npmignore +0 -0
  338. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/.travis.yml +0 -0
  339. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/CONTRIBUTING.md +0 -0
  340. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/LICENSE +0 -0
  341. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/README.md +0 -0
  342. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/abbrev.js +0 -0
  343. /package/node_modules/{abbrev → node-pre-gyp/node_modules/nopt/node_modules/abbrev}/test.js +0 -0
  344. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/.eslintrc +0 -0
  345. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/LICENSE +0 -0
  346. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/README.md +0 -0
  347. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/inflight.js +0 -0
  348. /package/node_modules/{fstream-ignore/node_modules/minimatch → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/LICENSE +0 -0
  349. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/README.md +0 -0
  350. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/test/basic.js +0 -0
  351. /package/node_modules/{wrappy → rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy}/wrappy.js +0 -0
  352. /package/node_modules/{inflight → rimraf/node_modules/glob/node_modules/inflight}/test.js +0 -0
  353. /package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/README.md +0 -0
  354. /package/node_modules/rimraf/node_modules/{minimatch → glob/node_modules/minimatch}/minimatch.js +0 -0
  355. /package/node_modules/{inflight → rimraf/node_modules/glob}/node_modules/once/README.md +0 -0
  356. /package/node_modules/{inflight/node_modules/once → rimraf/node_modules/glob/node_modules/once/node_modules/wrappy}/LICENSE +0 -0
  357. /package/node_modules/{inflight → rimraf/node_modules/glob}/node_modules/once/once.js +0 -0
  358. /package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/index.js +0 -0
  359. /package/node_modules/{path-is-absolute → rimraf/node_modules/glob/node_modules/path-is-absolute}/readme.md +0 -0
  360. /package/node_modules/{deep-extend → verror}/.npmignore +0 -0
@@ -0,0 +1,481 @@
1
+ "use strict";
2
+ /**
3
+ * @fileOverview
4
+ * Core operations on curve 25519 required for the higher level modules.
5
+ */
6
+
7
+ /*
8
+ * Copyright (c) 2007, 2013, 2014 Michele Bini
9
+ * Copyright (c) 2014 Mega Limited
10
+ * under the MIT License.
11
+ *
12
+ * Authors: Guy K. Kloss, Michele Bini
13
+ *
14
+ * You should have received a copy of the license along with this program.
15
+ */
16
+
17
+ var crypto = require('crypto');
18
+
19
+ /**
20
+ * @exports jodid25519/core
21
+ * Core operations on curve 25519 required for the higher level modules.
22
+ *
23
+ * @description
24
+ * Core operations on curve 25519 required for the higher level modules.
25
+ *
26
+ * <p>
27
+ * This core code is extracted from Michele Bini's curve255.js implementation,
28
+ * which is used as a base for Curve25519 ECDH and Ed25519 EdDSA operations.
29
+ * </p>
30
+ */
31
+ var ns = {};
32
+
33
+ function _setbit(n, c, v) {
34
+ var i = c >> 4;
35
+ var a = n[i];
36
+ a = a + (1 << (c & 0xf)) * v;
37
+ n[i] = a;
38
+ }
39
+
40
+ function _getbit(n, c) {
41
+ return (n[c >> 4] >> (c & 0xf)) & 1;
42
+ }
43
+
44
+ function _ZERO() {
45
+ return [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
46
+ }
47
+
48
+ function _ONE() {
49
+ return [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
50
+ }
51
+
52
+ // Basepoint.
53
+ function _BASE() {
54
+ return [9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
55
+ }
56
+
57
+ // return -1, 0, +1 when a is less than, equal, or greater than b
58
+ function _bigintcmp(a, b) {
59
+ // The following code is a bit tricky to avoid code branching
60
+ var c, abs_r, mask;
61
+ var r = 0;
62
+ for (c = 15; c >= 0; c--) {
63
+ var x = a[c];
64
+ var y = b[c];
65
+ r = r + (x - y) * (1 - r * r);
66
+ // http://graphics.stanford.edu/~seander/bithacks.html#IntegerAbs
67
+ // correct for [-294967295, 294967295]
68
+ mask = r >> 31;
69
+ abs_r = (r + mask) ^ mask;
70
+ // http://stackoverflow.com/questions/596467/how-do-i-convert-a-number-to-an-integer-in-javascript
71
+ // this rounds towards zero
72
+ r = ~~((r << 1) / (abs_r + 1));
73
+ }
74
+ return r;
75
+ }
76
+
77
+ function _bigintadd(a, b) {
78
+ var r = [];
79
+ var v;
80
+ r[0] = (v = a[0] + b[0]) & 0xffff;
81
+ r[1] = (v = (v >>> 16) + a[1] + b[1]) & 0xffff;
82
+ r[2] = (v = (v >>> 16) + a[2] + b[2]) & 0xffff;
83
+ r[3] = (v = (v >>> 16) + a[3] + b[3]) & 0xffff;
84
+ r[4] = (v = (v >>> 16) + a[4] + b[4]) & 0xffff;
85
+ r[5] = (v = (v >>> 16) + a[5] + b[5]) & 0xffff;
86
+ r[6] = (v = (v >>> 16) + a[6] + b[6]) & 0xffff;
87
+ r[7] = (v = (v >>> 16) + a[7] + b[7]) & 0xffff;
88
+ r[8] = (v = (v >>> 16) + a[8] + b[8]) & 0xffff;
89
+ r[9] = (v = (v >>> 16) + a[9] + b[9]) & 0xffff;
90
+ r[10] = (v = (v >>> 16) + a[10] + b[10]) & 0xffff;
91
+ r[11] = (v = (v >>> 16) + a[11] + b[11]) & 0xffff;
92
+ r[12] = (v = (v >>> 16) + a[12] + b[12]) & 0xffff;
93
+ r[13] = (v = (v >>> 16) + a[13] + b[13]) & 0xffff;
94
+ r[14] = (v = (v >>> 16) + a[14] + b[14]) & 0xffff;
95
+ r[15] = (v >>> 16) + a[15] + b[15];
96
+ return r;
97
+ }
98
+
99
+ function _bigintsub(a, b) {
100
+ var r = [];
101
+ var v;
102
+ r[0] = (v = 0x80000 + a[0] - b[0]) & 0xffff;
103
+ r[1] = (v = (v >>> 16) + 0x7fff8 + a[1] - b[1]) & 0xffff;
104
+ r[2] = (v = (v >>> 16) + 0x7fff8 + a[2] - b[2]) & 0xffff;
105
+ r[3] = (v = (v >>> 16) + 0x7fff8 + a[3] - b[3]) & 0xffff;
106
+ r[4] = (v = (v >>> 16) + 0x7fff8 + a[4] - b[4]) & 0xffff;
107
+ r[5] = (v = (v >>> 16) + 0x7fff8 + a[5] - b[5]) & 0xffff;
108
+ r[6] = (v = (v >>> 16) + 0x7fff8 + a[6] - b[6]) & 0xffff;
109
+ r[7] = (v = (v >>> 16) + 0x7fff8 + a[7] - b[7]) & 0xffff;
110
+ r[8] = (v = (v >>> 16) + 0x7fff8 + a[8] - b[8]) & 0xffff;
111
+ r[9] = (v = (v >>> 16) + 0x7fff8 + a[9] - b[9]) & 0xffff;
112
+ r[10] = (v = (v >>> 16) + 0x7fff8 + a[10] - b[10]) & 0xffff;
113
+ r[11] = (v = (v >>> 16) + 0x7fff8 + a[11] - b[11]) & 0xffff;
114
+ r[12] = (v = (v >>> 16) + 0x7fff8 + a[12] - b[12]) & 0xffff;
115
+ r[13] = (v = (v >>> 16) + 0x7fff8 + a[13] - b[13]) & 0xffff;
116
+ r[14] = (v = (v >>> 16) + 0x7fff8 + a[14] - b[14]) & 0xffff;
117
+ r[15] = (v >>> 16) - 8 + a[15] - b[15];
118
+ return r;
119
+ }
120
+
121
+ function _sqr8h(a7, a6, a5, a4, a3, a2, a1, a0) {
122
+ // 'division by 0x10000' can not be replaced by '>> 16' because
123
+ // more than 32 bits of precision are needed similarly
124
+ // 'multiplication by 2' cannot be replaced by '<< 1'
125
+ var r = [];
126
+ var v;
127
+ r[0] = (v = a0 * a0) & 0xffff;
128
+ r[1] = (v = (0 | (v / 0x10000)) + 2 * a0 * a1) & 0xffff;
129
+ r[2] = (v = (0 | (v / 0x10000)) + 2 * a0 * a2 + a1 * a1) & 0xffff;
130
+ r[3] = (v = (0 | (v / 0x10000)) + 2 * a0 * a3 + 2 * a1 * a2) & 0xffff;
131
+ r[4] = (v = (0 | (v / 0x10000)) + 2 * a0 * a4 + 2 * a1 * a3 + a2
132
+ * a2) & 0xffff;
133
+ r[5] = (v = (0 | (v / 0x10000)) + 2 * a0 * a5 + 2 * a1 * a4 + 2
134
+ * a2 * a3) & 0xffff;
135
+ r[6] = (v = (0 | (v / 0x10000)) + 2 * a0 * a6 + 2 * a1 * a5 + 2
136
+ * a2 * a4 + a3 * a3) & 0xffff;
137
+ r[7] = (v = (0 | (v / 0x10000)) + 2 * a0 * a7 + 2 * a1 * a6 + 2
138
+ * a2 * a5 + 2 * a3 * a4) & 0xffff;
139
+ r[8] = (v = (0 | (v / 0x10000)) + 2 * a1 * a7 + 2 * a2 * a6 + 2
140
+ * a3 * a5 + a4 * a4) & 0xffff;
141
+ r[9] = (v = (0 | (v / 0x10000)) + 2 * a2 * a7 + 2 * a3 * a6 + 2
142
+ * a4 * a5) & 0xffff;
143
+ r[10] = (v = (0 | (v / 0x10000)) + 2 * a3 * a7 + 2 * a4 * a6
144
+ + a5 * a5) & 0xffff;
145
+ r[11] = (v = (0 | (v / 0x10000)) + 2 * a4 * a7 + 2 * a5 * a6) & 0xffff;
146
+ r[12] = (v = (0 | (v / 0x10000)) + 2 * a5 * a7 + a6 * a6) & 0xffff;
147
+ r[13] = (v = (0 | (v / 0x10000)) + 2 * a6 * a7) & 0xffff;
148
+ r[14] = (v = (0 | (v / 0x10000)) + a7 * a7) & 0xffff;
149
+ r[15] = 0 | (v / 0x10000);
150
+ return r;
151
+ }
152
+
153
+ function _sqrmodp(a) {
154
+ var x = _sqr8h(a[15], a[14], a[13], a[12], a[11], a[10], a[9],
155
+ a[8]);
156
+ var z = _sqr8h(a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0]);
157
+ var y = _sqr8h(a[15] + a[7], a[14] + a[6], a[13] + a[5], a[12]
158
+ + a[4],
159
+ a[11] + a[3], a[10] + a[2], a[9] + a[1], a[8]
160
+ + a[0]);
161
+ var r = [];
162
+ var v;
163
+ r[0] = (v = 0x800000 + z[0] + (y[8] - x[8] - z[8] + x[0] - 0x80)
164
+ * 38) & 0xffff;
165
+ r[1] = (v = 0x7fff80 + (v >>> 16) + z[1]
166
+ + (y[9] - x[9] - z[9] + x[1]) * 38) & 0xffff;
167
+ r[2] = (v = 0x7fff80 + (v >>> 16) + z[2]
168
+ + (y[10] - x[10] - z[10] + x[2]) * 38) & 0xffff;
169
+ r[3] = (v = 0x7fff80 + (v >>> 16) + z[3]
170
+ + (y[11] - x[11] - z[11] + x[3]) * 38) & 0xffff;
171
+ r[4] = (v = 0x7fff80 + (v >>> 16) + z[4]
172
+ + (y[12] - x[12] - z[12] + x[4]) * 38) & 0xffff;
173
+ r[5] = (v = 0x7fff80 + (v >>> 16) + z[5]
174
+ + (y[13] - x[13] - z[13] + x[5]) * 38) & 0xffff;
175
+ r[6] = (v = 0x7fff80 + (v >>> 16) + z[6]
176
+ + (y[14] - x[14] - z[14] + x[6]) * 38) & 0xffff;
177
+ r[7] = (v = 0x7fff80 + (v >>> 16) + z[7]
178
+ + (y[15] - x[15] - z[15] + x[7]) * 38) & 0xffff;
179
+ r[8] = (v = 0x7fff80 + (v >>> 16) + z[8] + y[0] - x[0] - z[0]
180
+ + x[8] * 38) & 0xffff;
181
+ r[9] = (v = 0x7fff80 + (v >>> 16) + z[9] + y[1] - x[1] - z[1]
182
+ + x[9] * 38) & 0xffff;
183
+ r[10] = (v = 0x7fff80 + (v >>> 16) + z[10] + y[2] - x[2] - z[2]
184
+ + x[10] * 38) & 0xffff;
185
+ r[11] = (v = 0x7fff80 + (v >>> 16) + z[11] + y[3] - x[3] - z[3]
186
+ + x[11] * 38) & 0xffff;
187
+ r[12] = (v = 0x7fff80 + (v >>> 16) + z[12] + y[4] - x[4] - z[4]
188
+ + x[12] * 38) & 0xffff;
189
+ r[13] = (v = 0x7fff80 + (v >>> 16) + z[13] + y[5] - x[5] - z[5]
190
+ + x[13] * 38) & 0xffff;
191
+ r[14] = (v = 0x7fff80 + (v >>> 16) + z[14] + y[6] - x[6] - z[6]
192
+ + x[14] * 38) & 0xffff;
193
+ r[15] = 0x7fff80 + (v >>> 16) + z[15] + y[7] - x[7] - z[7]
194
+ + x[15] * 38;
195
+ _reduce(r);
196
+ return r;
197
+ }
198
+
199
+ function _mul8h(a7, a6, a5, a4, a3, a2, a1, a0, b7, b6, b5, b4, b3,
200
+ b2, b1, b0) {
201
+ // 'division by 0x10000' can not be replaced by '>> 16' because
202
+ // more than 32 bits of precision are needed
203
+ var r = [];
204
+ var v;
205
+ r[0] = (v = a0 * b0) & 0xffff;
206
+ r[1] = (v = (0 | (v / 0x10000)) + a0 * b1 + a1 * b0) & 0xffff;
207
+ r[2] = (v = (0 | (v / 0x10000)) + a0 * b2 + a1 * b1 + a2 * b0) & 0xffff;
208
+ r[3] = (v = (0 | (v / 0x10000)) + a0 * b3 + a1 * b2 + a2 * b1
209
+ + a3 * b0) & 0xffff;
210
+ r[4] = (v = (0 | (v / 0x10000)) + a0 * b4 + a1 * b3 + a2 * b2
211
+ + a3 * b1 + a4 * b0) & 0xffff;
212
+ r[5] = (v = (0 | (v / 0x10000)) + a0 * b5 + a1 * b4 + a2 * b3
213
+ + a3 * b2 + a4 * b1 + a5 * b0) & 0xffff;
214
+ r[6] = (v = (0 | (v / 0x10000)) + a0 * b6 + a1 * b5 + a2 * b4
215
+ + a3 * b3 + a4 * b2 + a5 * b1 + a6 * b0) & 0xffff;
216
+ r[7] = (v = (0 | (v / 0x10000)) + a0 * b7 + a1 * b6 + a2 * b5
217
+ + a3 * b4 + a4 * b3 + a5 * b2 + a6 * b1 + a7 * b0) & 0xffff;
218
+ r[8] = (v = (0 | (v / 0x10000)) + a1 * b7 + a2 * b6 + a3 * b5
219
+ + a4 * b4 + a5 * b3 + a6 * b2 + a7 * b1) & 0xffff;
220
+ r[9] = (v = (0 | (v / 0x10000)) + a2 * b7 + a3 * b6 + a4 * b5
221
+ + a5 * b4 + a6 * b3 + a7 * b2) & 0xffff;
222
+ r[10] = (v = (0 | (v / 0x10000)) + a3 * b7 + a4 * b6 + a5 * b5
223
+ + a6 * b4 + a7 * b3) & 0xffff;
224
+ r[11] = (v = (0 | (v / 0x10000)) + a4 * b7 + a5 * b6 + a6 * b5
225
+ + a7 * b4) & 0xffff;
226
+ r[12] = (v = (0 | (v / 0x10000)) + a5 * b7 + a6 * b6 + a7 * b5) & 0xffff;
227
+ r[13] = (v = (0 | (v / 0x10000)) + a6 * b7 + a7 * b6) & 0xffff;
228
+ r[14] = (v = (0 | (v / 0x10000)) + a7 * b7) & 0xffff;
229
+ r[15] = (0 | (v / 0x10000));
230
+ return r;
231
+ }
232
+
233
+ function _mulmodp(a, b) {
234
+ // Karatsuba multiplication scheme: x*y = (b^2+b)*x1*y1 -
235
+ // b*(x1-x0)*(y1-y0) + (b+1)*x0*y0
236
+ var x = _mul8h(a[15], a[14], a[13], a[12], a[11], a[10], a[9],
237
+ a[8], b[15], b[14], b[13], b[12], b[11], b[10],
238
+ b[9], b[8]);
239
+ var z = _mul8h(a[7], a[6], a[5], a[4], a[3], a[2], a[1], a[0],
240
+ b[7], b[6], b[5], b[4], b[3], b[2], b[1], b[0]);
241
+ var y = _mul8h(a[15] + a[7], a[14] + a[6], a[13] + a[5], a[12]
242
+ + a[4],
243
+ a[11] + a[3], a[10] + a[2], a[9] + a[1], a[8]
244
+ + a[0],
245
+ b[15] + b[7], b[14] + b[6], b[13] + b[5], b[12]
246
+ + b[4],
247
+ b[11] + b[3], b[10] + b[2], b[9] + b[1], b[8]
248
+ + b[0]);
249
+ var r = [];
250
+ var v;
251
+ r[0] = (v = 0x800000 + z[0] + (y[8] - x[8] - z[8] + x[0] - 0x80)
252
+ * 38) & 0xffff;
253
+ r[1] = (v = 0x7fff80 + (v >>> 16) + z[1]
254
+ + (y[9] - x[9] - z[9] + x[1]) * 38) & 0xffff;
255
+ r[2] = (v = 0x7fff80 + (v >>> 16) + z[2]
256
+ + (y[10] - x[10] - z[10] + x[2]) * 38) & 0xffff;
257
+ r[3] = (v = 0x7fff80 + (v >>> 16) + z[3]
258
+ + (y[11] - x[11] - z[11] + x[3]) * 38) & 0xffff;
259
+ r[4] = (v = 0x7fff80 + (v >>> 16) + z[4]
260
+ + (y[12] - x[12] - z[12] + x[4]) * 38) & 0xffff;
261
+ r[5] = (v = 0x7fff80 + (v >>> 16) + z[5]
262
+ + (y[13] - x[13] - z[13] + x[5]) * 38) & 0xffff;
263
+ r[6] = (v = 0x7fff80 + (v >>> 16) + z[6]
264
+ + (y[14] - x[14] - z[14] + x[6]) * 38) & 0xffff;
265
+ r[7] = (v = 0x7fff80 + (v >>> 16) + z[7]
266
+ + (y[15] - x[15] - z[15] + x[7]) * 38) & 0xffff;
267
+ r[8] = (v = 0x7fff80 + (v >>> 16) + z[8] + y[0] - x[0] - z[0]
268
+ + x[8] * 38) & 0xffff;
269
+ r[9] = (v = 0x7fff80 + (v >>> 16) + z[9] + y[1] - x[1] - z[1]
270
+ + x[9] * 38) & 0xffff;
271
+ r[10] = (v = 0x7fff80 + (v >>> 16) + z[10] + y[2] - x[2] - z[2]
272
+ + x[10] * 38) & 0xffff;
273
+ r[11] = (v = 0x7fff80 + (v >>> 16) + z[11] + y[3] - x[3] - z[3]
274
+ + x[11] * 38) & 0xffff;
275
+ r[12] = (v = 0x7fff80 + (v >>> 16) + z[12] + y[4] - x[4] - z[4]
276
+ + x[12] * 38) & 0xffff;
277
+ r[13] = (v = 0x7fff80 + (v >>> 16) + z[13] + y[5] - x[5] - z[5]
278
+ + x[13] * 38) & 0xffff;
279
+ r[14] = (v = 0x7fff80 + (v >>> 16) + z[14] + y[6] - x[6] - z[6]
280
+ + x[14] * 38) & 0xffff;
281
+ r[15] = 0x7fff80 + (v >>> 16) + z[15] + y[7] - x[7] - z[7]
282
+ + x[15] * 38;
283
+ _reduce(r);
284
+ return r;
285
+ }
286
+
287
+ function _reduce(arr) {
288
+ var aCopy = arr.slice(0);
289
+ var choice = [arr, aCopy];
290
+ var v = arr[15];
291
+ // Use the dummy copy instead of just returning to be more constant time.
292
+ var a = choice[(v < 0x8000) & 1];
293
+ a[15] = v & 0x7fff;
294
+ // >32-bits of precision are required here so '/ 0x8000' can not be
295
+ // replaced by the arithmetic equivalent '>>> 15'
296
+ v = (0 | (v / 0x8000)) * 19;
297
+ a[0] = (v += a[0]) & 0xffff;
298
+ v = v >>> 16;
299
+ a[1] = (v += a[1]) & 0xffff;
300
+ v = v >>> 16;
301
+ a[2] = (v += a[2]) & 0xffff;
302
+ v = v >>> 16;
303
+ a[3] = (v += a[3]) & 0xffff;
304
+ v = v >>> 16;
305
+ a[4] = (v += a[4]) & 0xffff;
306
+ v = v >>> 16;
307
+ a[5] = (v += a[5]) & 0xffff;
308
+ v = v >>> 16;
309
+ a[6] = (v += a[6]) & 0xffff;
310
+ v = v >>> 16;
311
+ a[7] = (v += a[7]) & 0xffff;
312
+ v = v >>> 16;
313
+ a[8] = (v += a[8]) & 0xffff;
314
+ v = v >>> 16;
315
+ a[9] = (v += a[9]) & 0xffff;
316
+ v = v >>> 16;
317
+ a[10] = (v += a[10]) & 0xffff;
318
+ v = v >>> 16;
319
+ a[11] = (v += a[11]) & 0xffff;
320
+ v = v >>> 16;
321
+ a[12] = (v += a[12]) & 0xffff;
322
+ v = v >>> 16;
323
+ a[13] = (v += a[13]) & 0xffff;
324
+ v = v >>> 16;
325
+ a[14] = (v += a[14]) & 0xffff;
326
+ v = v >>> 16;
327
+ a[15] += v;
328
+ }
329
+
330
+ function _addmodp(a, b) {
331
+ var r = [];
332
+ var v;
333
+ r[0] = (v = ((0 | (a[15] >>> 15)) + (0 | (b[15] >>> 15))) * 19
334
+ + a[0] + b[0]) & 0xffff;
335
+ r[1] = (v = (v >>> 16) + a[1] + b[1]) & 0xffff;
336
+ r[2] = (v = (v >>> 16) + a[2] + b[2]) & 0xffff;
337
+ r[3] = (v = (v >>> 16) + a[3] + b[3]) & 0xffff;
338
+ r[4] = (v = (v >>> 16) + a[4] + b[4]) & 0xffff;
339
+ r[5] = (v = (v >>> 16) + a[5] + b[5]) & 0xffff;
340
+ r[6] = (v = (v >>> 16) + a[6] + b[6]) & 0xffff;
341
+ r[7] = (v = (v >>> 16) + a[7] + b[7]) & 0xffff;
342
+ r[8] = (v = (v >>> 16) + a[8] + b[8]) & 0xffff;
343
+ r[9] = (v = (v >>> 16) + a[9] + b[9]) & 0xffff;
344
+ r[10] = (v = (v >>> 16) + a[10] + b[10]) & 0xffff;
345
+ r[11] = (v = (v >>> 16) + a[11] + b[11]) & 0xffff;
346
+ r[12] = (v = (v >>> 16) + a[12] + b[12]) & 0xffff;
347
+ r[13] = (v = (v >>> 16) + a[13] + b[13]) & 0xffff;
348
+ r[14] = (v = (v >>> 16) + a[14] + b[14]) & 0xffff;
349
+ r[15] = (v >>> 16) + (a[15] & 0x7fff) + (b[15] & 0x7fff);
350
+ return r;
351
+ }
352
+
353
+ function _submodp(a, b) {
354
+ var r = [];
355
+ var v;
356
+ r[0] = (v = 0x80000
357
+ + ((0 | (a[15] >>> 15)) - (0 | (b[15] >>> 15)) - 1)
358
+ * 19 + a[0] - b[0]) & 0xffff;
359
+ r[1] = (v = (v >>> 16) + 0x7fff8 + a[1] - b[1]) & 0xffff;
360
+ r[2] = (v = (v >>> 16) + 0x7fff8 + a[2] - b[2]) & 0xffff;
361
+ r[3] = (v = (v >>> 16) + 0x7fff8 + a[3] - b[3]) & 0xffff;
362
+ r[4] = (v = (v >>> 16) + 0x7fff8 + a[4] - b[4]) & 0xffff;
363
+ r[5] = (v = (v >>> 16) + 0x7fff8 + a[5] - b[5]) & 0xffff;
364
+ r[6] = (v = (v >>> 16) + 0x7fff8 + a[6] - b[6]) & 0xffff;
365
+ r[7] = (v = (v >>> 16) + 0x7fff8 + a[7] - b[7]) & 0xffff;
366
+ r[8] = (v = (v >>> 16) + 0x7fff8 + a[8] - b[8]) & 0xffff;
367
+ r[9] = (v = (v >>> 16) + 0x7fff8 + a[9] - b[9]) & 0xffff;
368
+ r[10] = (v = (v >>> 16) + 0x7fff8 + a[10] - b[10]) & 0xffff;
369
+ r[11] = (v = (v >>> 16) + 0x7fff8 + a[11] - b[11]) & 0xffff;
370
+ r[12] = (v = (v >>> 16) + 0x7fff8 + a[12] - b[12]) & 0xffff;
371
+ r[13] = (v = (v >>> 16) + 0x7fff8 + a[13] - b[13]) & 0xffff;
372
+ r[14] = (v = (v >>> 16) + 0x7fff8 + a[14] - b[14]) & 0xffff;
373
+ r[15] = (v >>> 16) + 0x7ff8 + (a[15] & 0x7fff)
374
+ - (b[15] & 0x7fff);
375
+ return r;
376
+ }
377
+
378
+ function _invmodp(a) {
379
+ var c = a;
380
+ var i = 250;
381
+ while (--i) {
382
+ a = _sqrmodp(a);
383
+ a = _mulmodp(a, c);
384
+ }
385
+ a = _sqrmodp(a);
386
+ a = _sqrmodp(a);
387
+ a = _mulmodp(a, c);
388
+ a = _sqrmodp(a);
389
+ a = _sqrmodp(a);
390
+ a = _mulmodp(a, c);
391
+ a = _sqrmodp(a);
392
+ a = _mulmodp(a, c);
393
+ return a;
394
+ }
395
+
396
+ function _mulasmall(a) {
397
+ // 'division by 0x10000' can not be replaced by '>> 16' because
398
+ // more than 32 bits of precision are needed
399
+ var m = 121665;
400
+ var r = [];
401
+ var v;
402
+ r[0] = (v = a[0] * m) & 0xffff;
403
+ r[1] = (v = (0 | (v / 0x10000)) + a[1] * m) & 0xffff;
404
+ r[2] = (v = (0 | (v / 0x10000)) + a[2] * m) & 0xffff;
405
+ r[3] = (v = (0 | (v / 0x10000)) + a[3] * m) & 0xffff;
406
+ r[4] = (v = (0 | (v / 0x10000)) + a[4] * m) & 0xffff;
407
+ r[5] = (v = (0 | (v / 0x10000)) + a[5] * m) & 0xffff;
408
+ r[6] = (v = (0 | (v / 0x10000)) + a[6] * m) & 0xffff;
409
+ r[7] = (v = (0 | (v / 0x10000)) + a[7] * m) & 0xffff;
410
+ r[8] = (v = (0 | (v / 0x10000)) + a[8] * m) & 0xffff;
411
+ r[9] = (v = (0 | (v / 0x10000)) + a[9] * m) & 0xffff;
412
+ r[10] = (v = (0 | (v / 0x10000)) + a[10] * m) & 0xffff;
413
+ r[11] = (v = (0 | (v / 0x10000)) + a[11] * m) & 0xffff;
414
+ r[12] = (v = (0 | (v / 0x10000)) + a[12] * m) & 0xffff;
415
+ r[13] = (v = (0 | (v / 0x10000)) + a[13] * m) & 0xffff;
416
+ r[14] = (v = (0 | (v / 0x10000)) + a[14] * m) & 0xffff;
417
+ r[15] = (0 | (v / 0x10000)) + a[15] * m;
418
+ _reduce(r);
419
+ return r;
420
+ }
421
+
422
+ function _dbl(x, z) {
423
+ var x_2, z_2, m, n, o;
424
+ m = _sqrmodp(_addmodp(x, z));
425
+ n = _sqrmodp(_submodp(x, z));
426
+ o = _submodp(m, n);
427
+ x_2 = _mulmodp(n, m);
428
+ z_2 = _mulmodp(_addmodp(_mulasmall(o), m), o);
429
+ return [x_2, z_2];
430
+ }
431
+
432
+ function _sum(x, z, x_p, z_p, x_1) {
433
+ var x_3, z_3, p, q;
434
+ p = _mulmodp(_submodp(x, z), _addmodp(x_p, z_p));
435
+ q = _mulmodp(_addmodp(x, z), _submodp(x_p, z_p));
436
+ x_3 = _sqrmodp(_addmodp(p, q));
437
+ z_3 = _mulmodp(_sqrmodp(_submodp(p, q)), x_1);
438
+ return [x_3, z_3];
439
+ }
440
+
441
+ function _generateKey(curve25519) {
442
+ var buffer = crypto.randomBytes(32);
443
+
444
+ // For Curve25519 DH keys, we need to apply some bit mask on generated
445
+ // keys:
446
+ // * clear bit 0, 1, 2 of first byte
447
+ // * clear bit 7 of last byte
448
+ // * set bit 6 of last byte
449
+ if (curve25519 === true) {
450
+ buffer[0] &= 0xf8;
451
+ buffer[31] = (buffer[31] & 0x7f) | 0x40;
452
+ }
453
+ var result = [];
454
+ for (var i = 0; i < buffer.length; i++) {
455
+ result.push(String.fromCharCode(buffer[i]));
456
+ }
457
+ return result.join('');
458
+ }
459
+
460
+ // Expose some functions to the outside through this name space.
461
+ // Note: This is not part of the public API.
462
+ ns.getbit = _getbit;
463
+ ns.setbit = _setbit;
464
+ ns.addmodp = _addmodp;
465
+ ns.invmodp = _invmodp;
466
+ ns.mulmodp = _mulmodp;
467
+ ns.reduce = _reduce;
468
+ ns.dbl = _dbl;
469
+ ns.sum = _sum;
470
+ ns.ZERO = _ZERO;
471
+ ns.ONE = _ONE;
472
+ ns.BASE = _BASE;
473
+ ns.bigintadd = _bigintadd;
474
+ ns.bigintsub = _bigintsub;
475
+ ns.bigintcmp = _bigintcmp;
476
+ ns.mulmodp = _mulmodp;
477
+ ns.sqrmodp = _sqrmodp;
478
+ ns.generateKey = _generateKey;
479
+
480
+
481
+ module.exports = ns;
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ /**
3
+ * @fileOverview
4
+ * Core operations on curve 25519 required for the higher level modules.
5
+ */
6
+
7
+ /*
8
+ * Copyright (c) 2007, 2013, 2014 Michele Bini
9
+ * Copyright (c) 2014 Mega Limited
10
+ * under the MIT License.
11
+ *
12
+ * Authors: Guy K. Kloss, Michele Bini
13
+ *
14
+ * You should have received a copy of the license along with this program.
15
+ */
16
+
17
+ var core = require('./core');
18
+ var utils = require('./utils');
19
+
20
+ /**
21
+ * @exports jodid25519/curve255
22
+ * Legacy compatibility module for Michele Bini's previous curve255.js.
23
+ *
24
+ * @description
25
+ * Legacy compatibility module for Michele Bini's previous curve255.js.
26
+ *
27
+ * <p>
28
+ * This code presents an API with all key formats as previously available
29
+ * from Michele Bini's curve255.js implementation.
30
+ * </p>
31
+ */
32
+ var ns = {};
33
+
34
+ function curve25519_raw(f, c) {
35
+ var a, x_1, q;
36
+
37
+ x_1 = c;
38
+ a = core.dbl(x_1, core.ONE());
39
+ q = [x_1, core.ONE()];
40
+
41
+ var n = 255;
42
+
43
+ while (core.getbit(f, n) == 0) {
44
+ n--;
45
+ // For correct constant-time operation, bit 255 should always be
46
+ // set to 1 so the following 'while' loop is never entered.
47
+ if (n < 0) {
48
+ return core.ZERO();
49
+ }
50
+ }
51
+ n--;
52
+
53
+ var aq = [a, q];
54
+
55
+ while (n >= 0) {
56
+ var r, s;
57
+ var b = core.getbit(f, n);
58
+ r = core.sum(aq[0][0], aq[0][1], aq[1][0], aq[1][1], x_1);
59
+ s = core.dbl(aq[1 - b][0], aq[1 - b][1]);
60
+ aq[1 - b] = s;
61
+ aq[b] = r;
62
+ n--;
63
+ }
64
+ q = aq[1];
65
+
66
+ q[1] = core.invmodp(q[1]);
67
+ q[0] = core.mulmodp(q[0], q[1]);
68
+ core.reduce(q[0]);
69
+ return q[0];
70
+ }
71
+
72
+ function curve25519b32(a, b) {
73
+ return _base32encode(curve25519(_base32decode(a),
74
+ _base32decode(b)));
75
+ }
76
+
77
+ function curve25519(f, c) {
78
+ if (!c) {
79
+ c = core.BASE();
80
+ }
81
+ f[0] &= 0xFFF8;
82
+ f[15] = (f[15] & 0x7FFF) | 0x4000;
83
+ return curve25519_raw(f, c);
84
+ }
85
+
86
+ function _hexEncodeVector(k) {
87
+ var hexKey = utils.hexEncode(k);
88
+ // Pad with '0' at the front.
89
+ hexKey = new Array(64 + 1 - hexKey.length).join('0') + hexKey;
90
+ // Invert bytes.
91
+ return hexKey.split(/(..)/).reverse().join('');
92
+ }
93
+
94
+ function _hexDecodeVector(v) {
95
+ // assert(length(x) == 64);
96
+ // Invert bytes.
97
+ var hexKey = v.split(/(..)/).reverse().join('');
98
+ return utils.hexDecode(hexKey);
99
+ }
100
+
101
+
102
+ // Expose some functions to the outside through this name space.
103
+
104
+ /**
105
+ * Computes the scalar product of a point on the curve 25519.
106
+ *
107
+ * This function is used for the DH key-exchange protocol.
108
+ *
109
+ * Before multiplication, some bit operations are applied to the
110
+ * private key to ensure it is a valid Curve25519 secret key.
111
+ * It is the user's responsibility to make sure that the private
112
+ * key is a uniformly random, secret value.
113
+ *
114
+ * @function
115
+ * @param f {array}
116
+ * Private key.
117
+ * @param c {array}
118
+ * Public point on the curve. If not given, the curve's base point is used.
119
+ * @returns {array}
120
+ * Key point resulting from scalar product.
121
+ */
122
+ ns.curve25519 = curve25519;
123
+
124
+ /**
125
+ * Computes the scalar product of a point on the curve 25519.
126
+ *
127
+ * This variant does not make sure that the private key is valid.
128
+ * The user has the responsibility to ensure the private key is
129
+ * valid or that this results in a safe protocol. Unless you know
130
+ * exactly what you are doing, you should not use this variant,
131
+ * please use 'curve25519' instead.
132
+ *
133
+ * @function
134
+ * @param f {array}
135
+ * Private key.
136
+ * @param c {array}
137
+ * Public point on the curve. If not given, the curve's base point is used.
138
+ * @returns {array}
139
+ * Key point resulting from scalar product.
140
+ */
141
+ ns.curve25519_raw = curve25519_raw;
142
+
143
+ /**
144
+ * Encodes the internal representation of a key to a canonical hex
145
+ * representation.
146
+ *
147
+ * This is the format commonly used in other libraries and for
148
+ * test vectors, and is equivalent to the hex dump of the key in
149
+ * little-endian binary format.
150
+ *
151
+ * @function
152
+ * @param n {array}
153
+ * Array representation of key.
154
+ * @returns {string}
155
+ * Hexadecimal string representation of key.
156
+ */
157
+ ns.hexEncodeVector = _hexEncodeVector;
158
+
159
+ /**
160
+ * Decodes a canonical hex representation of a key
161
+ * to an internally compatible array representation.
162
+ *
163
+ * @function
164
+ * @param n {string}
165
+ * Hexadecimal string representation of key.
166
+ * @returns {array}
167
+ * Array representation of key.
168
+ */
169
+ ns.hexDecodeVector = _hexDecodeVector;
170
+
171
+ /**
172
+ * Encodes the internal representation of a key into a
173
+ * hexadecimal representation.
174
+ *
175
+ * This is a strict positional notation, most significant digit first.
176
+ *
177
+ * @function
178
+ * @param n {array}
179
+ * Array representation of key.
180
+ * @returns {string}
181
+ * Hexadecimal string representation of key.
182
+ */
183
+ ns.hexencode = utils.hexEncode;
184
+
185
+ /**
186
+ * Decodes a hex representation of a key to an internally
187
+ * compatible array representation.
188
+ *
189
+ * @function
190
+ * @param n {string}
191
+ * Hexadecimal string representation of key.
192
+ * @returns {array}
193
+ * Array representation of key.
194
+ */
195
+ ns.hexdecode = utils.hexDecode;
196
+
197
+ /**
198
+ * Encodes the internal representation of a key to a base32
199
+ * representation.
200
+ *
201
+ * @function
202
+ * @param n {array}
203
+ * Array representation of key.
204
+ * @returns {string}
205
+ * Base32 string representation of key.
206
+ */
207
+ ns.base32encode = utils.base32encode;
208
+
209
+ /**
210
+ * Decodes a base32 representation of a key to an internally
211
+ * compatible array representation.
212
+ *
213
+ * @function
214
+ * @param n {string}
215
+ * Base32 string representation of key.
216
+ * @returns {array}
217
+ * Array representation of key.
218
+ */
219
+ ns.base32decode = utils.base32decode;
220
+
221
+ module.exports = ns;