Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/PyNaCl-1.6.0.dev1-py3.8-linux-x86_64.egg/nacl/bindings/__init__.py: 100%

17 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-06-06 06:06 +0000

1# Copyright 2013-2019 Donald Stufft and individual contributors 

2# 

3# Licensed under the Apache License, Version 2.0 (the "License"); 

4# you may not use this file except in compliance with the License. 

5# You may obtain a copy of the License at 

6# 

7# http://www.apache.org/licenses/LICENSE-2.0 

8# 

9# Unless required by applicable law or agreed to in writing, software 

10# distributed under the License is distributed on an "AS IS" BASIS, 

11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 

12# See the License for the specific language governing permissions and 

13# limitations under the License. 

14 

15 

16from nacl.bindings.crypto_aead import ( 

17 crypto_aead_chacha20poly1305_ABYTES, 

18 crypto_aead_chacha20poly1305_KEYBYTES, 

19 crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX, 

20 crypto_aead_chacha20poly1305_NPUBBYTES, 

21 crypto_aead_chacha20poly1305_NSECBYTES, 

22 crypto_aead_chacha20poly1305_decrypt, 

23 crypto_aead_chacha20poly1305_encrypt, 

24 crypto_aead_chacha20poly1305_ietf_ABYTES, 

25 crypto_aead_chacha20poly1305_ietf_KEYBYTES, 

26 crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX, 

27 crypto_aead_chacha20poly1305_ietf_NPUBBYTES, 

28 crypto_aead_chacha20poly1305_ietf_NSECBYTES, 

29 crypto_aead_chacha20poly1305_ietf_decrypt, 

30 crypto_aead_chacha20poly1305_ietf_encrypt, 

31 crypto_aead_xchacha20poly1305_ietf_ABYTES, 

32 crypto_aead_xchacha20poly1305_ietf_KEYBYTES, 

33 crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX, 

34 crypto_aead_xchacha20poly1305_ietf_NPUBBYTES, 

35 crypto_aead_xchacha20poly1305_ietf_NSECBYTES, 

36 crypto_aead_xchacha20poly1305_ietf_decrypt, 

37 crypto_aead_xchacha20poly1305_ietf_encrypt, 

38) 

39from nacl.bindings.crypto_box import ( 

40 crypto_box, 

41 crypto_box_BEFORENMBYTES, 

42 crypto_box_BOXZEROBYTES, 

43 crypto_box_NONCEBYTES, 

44 crypto_box_PUBLICKEYBYTES, 

45 crypto_box_SEALBYTES, 

46 crypto_box_SECRETKEYBYTES, 

47 crypto_box_SEEDBYTES, 

48 crypto_box_ZEROBYTES, 

49 crypto_box_afternm, 

50 crypto_box_beforenm, 

51 crypto_box_keypair, 

52 crypto_box_open, 

53 crypto_box_open_afternm, 

54 crypto_box_seal, 

55 crypto_box_seal_open, 

56 crypto_box_seed_keypair, 

57) 

58from nacl.bindings.crypto_core import ( 

59 crypto_core_ed25519_BYTES, 

60 crypto_core_ed25519_NONREDUCEDSCALARBYTES, 

61 crypto_core_ed25519_SCALARBYTES, 

62 crypto_core_ed25519_add, 

63 crypto_core_ed25519_from_uniform, 

64 crypto_core_ed25519_is_valid_point, 

65 crypto_core_ed25519_scalar_add, 

66 crypto_core_ed25519_scalar_complement, 

67 crypto_core_ed25519_scalar_invert, 

68 crypto_core_ed25519_scalar_mul, 

69 crypto_core_ed25519_scalar_negate, 

70 crypto_core_ed25519_scalar_reduce, 

71 crypto_core_ed25519_scalar_sub, 

72 crypto_core_ed25519_sub, 

73 has_crypto_core_ed25519, 

74) 

75from nacl.bindings.crypto_generichash import ( 

76 crypto_generichash_BYTES, 

77 crypto_generichash_BYTES_MAX, 

78 crypto_generichash_BYTES_MIN, 

79 crypto_generichash_KEYBYTES, 

80 crypto_generichash_KEYBYTES_MAX, 

81 crypto_generichash_KEYBYTES_MIN, 

82 crypto_generichash_PERSONALBYTES, 

83 crypto_generichash_SALTBYTES, 

84 crypto_generichash_STATEBYTES, 

85 generichash_blake2b_final as crypto_generichash_blake2b_final, 

86 generichash_blake2b_init as crypto_generichash_blake2b_init, 

87 generichash_blake2b_salt_personal as crypto_generichash_blake2b_salt_personal, 

88 generichash_blake2b_update as crypto_generichash_blake2b_update, 

89) 

90from nacl.bindings.crypto_hash import ( 

91 crypto_hash, 

92 crypto_hash_BYTES, 

93 crypto_hash_sha256, 

94 crypto_hash_sha256_BYTES, 

95 crypto_hash_sha512, 

96 crypto_hash_sha512_BYTES, 

97) 

98from nacl.bindings.crypto_kx import ( 

99 crypto_kx_PUBLIC_KEY_BYTES, 

100 crypto_kx_SECRET_KEY_BYTES, 

101 crypto_kx_SEED_BYTES, 

102 crypto_kx_SESSION_KEY_BYTES, 

103 crypto_kx_client_session_keys, 

104 crypto_kx_keypair, 

105 crypto_kx_seed_keypair, 

106 crypto_kx_server_session_keys, 

107) 

108from nacl.bindings.crypto_pwhash import ( 

109 crypto_pwhash_ALG_ARGON2I13, 

110 crypto_pwhash_ALG_ARGON2ID13, 

111 crypto_pwhash_ALG_DEFAULT, 

112 crypto_pwhash_BYTES_MAX, 

113 crypto_pwhash_BYTES_MIN, 

114 crypto_pwhash_PASSWD_MAX, 

115 crypto_pwhash_PASSWD_MIN, 

116 crypto_pwhash_SALTBYTES, 

117 crypto_pwhash_STRBYTES, 

118 crypto_pwhash_alg, 

119 crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE, 

120 crypto_pwhash_argon2i_MEMLIMIT_MAX, 

121 crypto_pwhash_argon2i_MEMLIMIT_MIN, 

122 crypto_pwhash_argon2i_MEMLIMIT_MODERATE, 

123 crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE, 

124 crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE, 

125 crypto_pwhash_argon2i_OPSLIMIT_MAX, 

126 crypto_pwhash_argon2i_OPSLIMIT_MIN, 

127 crypto_pwhash_argon2i_OPSLIMIT_MODERATE, 

128 crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE, 

129 crypto_pwhash_argon2i_STRPREFIX, 

130 crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE, 

131 crypto_pwhash_argon2id_MEMLIMIT_MAX, 

132 crypto_pwhash_argon2id_MEMLIMIT_MIN, 

133 crypto_pwhash_argon2id_MEMLIMIT_MODERATE, 

134 crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE, 

135 crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE, 

136 crypto_pwhash_argon2id_OPSLIMIT_MAX, 

137 crypto_pwhash_argon2id_OPSLIMIT_MIN, 

138 crypto_pwhash_argon2id_OPSLIMIT_MODERATE, 

139 crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE, 

140 crypto_pwhash_argon2id_STRPREFIX, 

141 crypto_pwhash_scryptsalsa208sha256_BYTES_MAX, 

142 crypto_pwhash_scryptsalsa208sha256_BYTES_MIN, 

143 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE, 

144 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX, 

145 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN, 

146 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE, 

147 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE, 

148 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX, 

149 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN, 

150 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE, 

151 crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX, 

152 crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN, 

153 crypto_pwhash_scryptsalsa208sha256_SALTBYTES, 

154 crypto_pwhash_scryptsalsa208sha256_STRBYTES, 

155 crypto_pwhash_scryptsalsa208sha256_STRPREFIX, 

156 crypto_pwhash_scryptsalsa208sha256_ll, 

157 crypto_pwhash_scryptsalsa208sha256_str, 

158 crypto_pwhash_scryptsalsa208sha256_str_verify, 

159 crypto_pwhash_str_alg, 

160 crypto_pwhash_str_verify, 

161 has_crypto_pwhash_scryptsalsa208sha256, 

162 nacl_bindings_pick_scrypt_params, 

163) 

164from nacl.bindings.crypto_scalarmult import ( 

165 crypto_scalarmult, 

166 crypto_scalarmult_BYTES, 

167 crypto_scalarmult_SCALARBYTES, 

168 crypto_scalarmult_base, 

169 crypto_scalarmult_ed25519, 

170 crypto_scalarmult_ed25519_BYTES, 

171 crypto_scalarmult_ed25519_SCALARBYTES, 

172 crypto_scalarmult_ed25519_base, 

173 crypto_scalarmult_ed25519_base_noclamp, 

174 crypto_scalarmult_ed25519_noclamp, 

175 has_crypto_scalarmult_ed25519, 

176) 

177from nacl.bindings.crypto_secretbox import ( 

178 crypto_secretbox, 

179 crypto_secretbox_BOXZEROBYTES, 

180 crypto_secretbox_KEYBYTES, 

181 crypto_secretbox_MACBYTES, 

182 crypto_secretbox_MESSAGEBYTES_MAX, 

183 crypto_secretbox_NONCEBYTES, 

184 crypto_secretbox_ZEROBYTES, 

185 crypto_secretbox_open, 

186) 

187from nacl.bindings.crypto_secretstream import ( 

188 crypto_secretstream_xchacha20poly1305_ABYTES, 

189 crypto_secretstream_xchacha20poly1305_HEADERBYTES, 

190 crypto_secretstream_xchacha20poly1305_KEYBYTES, 

191 crypto_secretstream_xchacha20poly1305_STATEBYTES, 

192 crypto_secretstream_xchacha20poly1305_TAG_FINAL, 

193 crypto_secretstream_xchacha20poly1305_TAG_MESSAGE, 

194 crypto_secretstream_xchacha20poly1305_TAG_PUSH, 

195 crypto_secretstream_xchacha20poly1305_TAG_REKEY, 

196 crypto_secretstream_xchacha20poly1305_init_pull, 

197 crypto_secretstream_xchacha20poly1305_init_push, 

198 crypto_secretstream_xchacha20poly1305_keygen, 

199 crypto_secretstream_xchacha20poly1305_pull, 

200 crypto_secretstream_xchacha20poly1305_push, 

201 crypto_secretstream_xchacha20poly1305_rekey, 

202 crypto_secretstream_xchacha20poly1305_state, 

203) 

204from nacl.bindings.crypto_shorthash import ( 

205 BYTES as crypto_shorthash_siphash24_BYTES, 

206 KEYBYTES as crypto_shorthash_siphash24_KEYBYTES, 

207 XBYTES as crypto_shorthash_siphashx24_BYTES, 

208 XKEYBYTES as crypto_shorthash_siphashx24_KEYBYTES, 

209 crypto_shorthash_siphash24, 

210 crypto_shorthash_siphashx24, 

211 has_crypto_shorthash_siphashx24, 

212) 

213from nacl.bindings.crypto_sign import ( 

214 crypto_sign, 

215 crypto_sign_BYTES, 

216 crypto_sign_PUBLICKEYBYTES, 

217 crypto_sign_SECRETKEYBYTES, 

218 crypto_sign_SEEDBYTES, 

219 crypto_sign_ed25519_pk_to_curve25519, 

220 crypto_sign_ed25519_sk_to_curve25519, 

221 crypto_sign_ed25519_sk_to_pk, 

222 crypto_sign_ed25519_sk_to_seed, 

223 crypto_sign_ed25519ph_STATEBYTES, 

224 crypto_sign_ed25519ph_final_create, 

225 crypto_sign_ed25519ph_final_verify, 

226 crypto_sign_ed25519ph_state, 

227 crypto_sign_ed25519ph_update, 

228 crypto_sign_keypair, 

229 crypto_sign_open, 

230 crypto_sign_seed_keypair, 

231) 

232from nacl.bindings.randombytes import ( 

233 randombytes, 

234 randombytes_buf_deterministic, 

235) 

236from nacl.bindings.sodium_core import sodium_init 

237from nacl.bindings.utils import ( 

238 sodium_add, 

239 sodium_increment, 

240 sodium_memcmp, 

241 sodium_pad, 

242 sodium_unpad, 

243) 

244 

245 

246__all__ = [ 

247 "crypto_aead_chacha20poly1305_ABYTES", 

248 "crypto_aead_chacha20poly1305_KEYBYTES", 

249 "crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX", 

250 "crypto_aead_chacha20poly1305_NPUBBYTES", 

251 "crypto_aead_chacha20poly1305_NSECBYTES", 

252 "crypto_aead_chacha20poly1305_decrypt", 

253 "crypto_aead_chacha20poly1305_encrypt", 

254 "crypto_aead_chacha20poly1305_ietf_ABYTES", 

255 "crypto_aead_chacha20poly1305_ietf_KEYBYTES", 

256 "crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX", 

257 "crypto_aead_chacha20poly1305_ietf_NPUBBYTES", 

258 "crypto_aead_chacha20poly1305_ietf_NSECBYTES", 

259 "crypto_aead_chacha20poly1305_ietf_decrypt", 

260 "crypto_aead_chacha20poly1305_ietf_encrypt", 

261 "crypto_aead_xchacha20poly1305_ietf_ABYTES", 

262 "crypto_aead_xchacha20poly1305_ietf_KEYBYTES", 

263 "crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX", 

264 "crypto_aead_xchacha20poly1305_ietf_NPUBBYTES", 

265 "crypto_aead_xchacha20poly1305_ietf_NSECBYTES", 

266 "crypto_aead_xchacha20poly1305_ietf_decrypt", 

267 "crypto_aead_xchacha20poly1305_ietf_encrypt", 

268 "crypto_box_SECRETKEYBYTES", 

269 "crypto_box_PUBLICKEYBYTES", 

270 "crypto_box_SEEDBYTES", 

271 "crypto_box_NONCEBYTES", 

272 "crypto_box_ZEROBYTES", 

273 "crypto_box_BOXZEROBYTES", 

274 "crypto_box_BEFORENMBYTES", 

275 "crypto_box_SEALBYTES", 

276 "crypto_box_keypair", 

277 "crypto_box", 

278 "crypto_box_open", 

279 "crypto_box_beforenm", 

280 "crypto_box_afternm", 

281 "crypto_box_open_afternm", 

282 "crypto_box_seal", 

283 "crypto_box_seal_open", 

284 "crypto_box_seed_keypair", 

285 "has_crypto_core_ed25519", 

286 "crypto_core_ed25519_BYTES", 

287 "crypto_core_ed25519_UNIFORMBYTES", 

288 "crypto_core_ed25519_SCALARBYTES", 

289 "crypto_core_ed25519_NONREDUCEDSCALARBYTES", 

290 "crypto_core_ed25519_add", 

291 "crypto_core_ed25519_from_uniform", 

292 "crypto_core_ed25519_is_valid_point", 

293 "crypto_core_ed25519_sub", 

294 "crypto_core_ed25519_scalar_invert", 

295 "crypto_core_ed25519_scalar_negate", 

296 "crypto_core_ed25519_scalar_complement", 

297 "crypto_core_ed25519_scalar_add", 

298 "crypto_core_ed25519_scalar_sub", 

299 "crypto_core_ed25519_scalar_mul", 

300 "crypto_core_ed25519_scalar_reduce", 

301 "crypto_hash_BYTES", 

302 "crypto_hash_sha256_BYTES", 

303 "crypto_hash_sha512_BYTES", 

304 "crypto_hash", 

305 "crypto_hash_sha256", 

306 "crypto_hash_sha512", 

307 "crypto_generichash_BYTES", 

308 "crypto_generichash_BYTES_MIN", 

309 "crypto_generichash_BYTES_MAX", 

310 "crypto_generichash_KEYBYTES", 

311 "crypto_generichash_KEYBYTES_MIN", 

312 "crypto_generichash_KEYBYTES_MAX", 

313 "crypto_generichash_SALTBYTES", 

314 "crypto_generichash_PERSONALBYTES", 

315 "crypto_generichash_STATEBYTES", 

316 "crypto_generichash_blake2b_salt_personal", 

317 "crypto_generichash_blake2b_init", 

318 "crypto_generichash_blake2b_update", 

319 "crypto_generichash_blake2b_final", 

320 "crypto_kx_keypair", 

321 "crypto_kx_seed_keypair", 

322 "crypto_kx_client_session_keys", 

323 "crypto_kx_server_session_keys", 

324 "crypto_kx_PUBLIC_KEY_BYTES", 

325 "crypto_kx_SECRET_KEY_BYTES", 

326 "crypto_kx_SEED_BYTES", 

327 "crypto_kx_SESSION_KEY_BYTES", 

328 "has_crypto_scalarmult_ed25519", 

329 "crypto_scalarmult_BYTES", 

330 "crypto_scalarmult_SCALARBYTES", 

331 "crypto_scalarmult", 

332 "crypto_scalarmult_base", 

333 "crypto_scalarmult_ed25519_BYTES", 

334 "crypto_scalarmult_ed25519_SCALARBYTES", 

335 "crypto_scalarmult_ed25519", 

336 "crypto_scalarmult_ed25519_base", 

337 "crypto_scalarmult_ed25519_noclamp", 

338 "crypto_scalarmult_ed25519_base_noclamp", 

339 "crypto_secretbox_KEYBYTES", 

340 "crypto_secretbox_NONCEBYTES", 

341 "crypto_secretbox_ZEROBYTES", 

342 "crypto_secretbox_BOXZEROBYTES", 

343 "crypto_secretbox_MACBYTES", 

344 "crypto_secretbox_MESSAGEBYTES_MAX", 

345 "crypto_secretbox", 

346 "crypto_secretbox_open", 

347 "crypto_secretstream_xchacha20poly1305_ABYTES", 

348 "crypto_secretstream_xchacha20poly1305_HEADERBYTES", 

349 "crypto_secretstream_xchacha20poly1305_KEYBYTES", 

350 "crypto_secretstream_xchacha20poly1305_STATEBYTES", 

351 "crypto_secretstream_xchacha20poly1305_TAG_FINAL", 

352 "crypto_secretstream_xchacha20poly1305_TAG_MESSAGE", 

353 "crypto_secretstream_xchacha20poly1305_TAG_PUSH", 

354 "crypto_secretstream_xchacha20poly1305_TAG_REKEY", 

355 "crypto_secretstream_xchacha20poly1305_init_pull", 

356 "crypto_secretstream_xchacha20poly1305_init_push", 

357 "crypto_secretstream_xchacha20poly1305_keygen", 

358 "crypto_secretstream_xchacha20poly1305_pull", 

359 "crypto_secretstream_xchacha20poly1305_push", 

360 "crypto_secretstream_xchacha20poly1305_rekey", 

361 "crypto_secretstream_xchacha20poly1305_state", 

362 "has_crypto_shorthash_siphashx24", 

363 "crypto_shorthash_siphash24_BYTES", 

364 "crypto_shorthash_siphash24_KEYBYTES", 

365 "crypto_shorthash_siphash24", 

366 "crypto_shorthash_siphashx24_BYTES", 

367 "crypto_shorthash_siphashx24_KEYBYTES", 

368 "crypto_shorthash_siphashx24", 

369 "crypto_sign_BYTES", 

370 "crypto_sign_SEEDBYTES", 

371 "crypto_sign_PUBLICKEYBYTES", 

372 "crypto_sign_SECRETKEYBYTES", 

373 "crypto_sign_keypair", 

374 "crypto_sign_seed_keypair", 

375 "crypto_sign", 

376 "crypto_sign_open", 

377 "crypto_sign_ed25519_pk_to_curve25519", 

378 "crypto_sign_ed25519_sk_to_curve25519", 

379 "crypto_sign_ed25519_sk_to_pk", 

380 "crypto_sign_ed25519_sk_to_seed", 

381 "crypto_sign_ed25519ph_STATEBYTES", 

382 "crypto_sign_ed25519ph_final_create", 

383 "crypto_sign_ed25519ph_final_verify", 

384 "crypto_sign_ed25519ph_state", 

385 "crypto_sign_ed25519ph_update", 

386 "crypto_pwhash_ALG_ARGON2I13", 

387 "crypto_pwhash_ALG_ARGON2ID13", 

388 "crypto_pwhash_ALG_DEFAULT", 

389 "crypto_pwhash_BYTES_MAX", 

390 "crypto_pwhash_BYTES_MIN", 

391 "crypto_pwhash_PASSWD_MAX", 

392 "crypto_pwhash_PASSWD_MIN", 

393 "crypto_pwhash_SALTBYTES", 

394 "crypto_pwhash_STRBYTES", 

395 "crypto_pwhash_alg", 

396 "crypto_pwhash_argon2i_MEMLIMIT_MIN", 

397 "crypto_pwhash_argon2i_MEMLIMIT_MAX", 

398 "crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE", 

399 "crypto_pwhash_argon2i_MEMLIMIT_MODERATE", 

400 "crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE", 

401 "crypto_pwhash_argon2i_OPSLIMIT_MIN", 

402 "crypto_pwhash_argon2i_OPSLIMIT_MAX", 

403 "crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE", 

404 "crypto_pwhash_argon2i_OPSLIMIT_MODERATE", 

405 "crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE", 

406 "crypto_pwhash_argon2i_STRPREFIX", 

407 "crypto_pwhash_argon2id_MEMLIMIT_MIN", 

408 "crypto_pwhash_argon2id_MEMLIMIT_MAX", 

409 "crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE", 

410 "crypto_pwhash_argon2id_MEMLIMIT_MODERATE", 

411 "crypto_pwhash_argon2id_OPSLIMIT_MIN", 

412 "crypto_pwhash_argon2id_OPSLIMIT_MAX", 

413 "crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE", 

414 "crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE", 

415 "crypto_pwhash_argon2id_OPSLIMIT_MODERATE", 

416 "crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE", 

417 "crypto_pwhash_argon2id_STRPREFIX", 

418 "crypto_pwhash_str_alg", 

419 "crypto_pwhash_str_verify", 

420 "has_crypto_pwhash_scryptsalsa208sha256", 

421 "crypto_pwhash_scryptsalsa208sha256_BYTES_MAX", 

422 "crypto_pwhash_scryptsalsa208sha256_BYTES_MIN", 

423 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE", 

424 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX", 

425 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN", 

426 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE", 

427 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE", 

428 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX", 

429 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN", 

430 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE", 

431 "crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX", 

432 "crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN", 

433 "crypto_pwhash_scryptsalsa208sha256_SALTBYTES", 

434 "crypto_pwhash_scryptsalsa208sha256_STRBYTES", 

435 "crypto_pwhash_scryptsalsa208sha256_STRPREFIX", 

436 "crypto_pwhash_scryptsalsa208sha256_ll", 

437 "crypto_pwhash_scryptsalsa208sha256_str", 

438 "crypto_pwhash_scryptsalsa208sha256_str_verify", 

439 "nacl_bindings_pick_scrypt_params", 

440 "randombytes", 

441 "randombytes_buf_deterministic", 

442 "sodium_init", 

443 "sodium_add", 

444 "sodium_increment", 

445 "sodium_memcmp", 

446 "sodium_pad", 

447 "sodium_unpad", 

448] 

449 

450 

451# Initialize Sodium 

452sodium_init()