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

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

18 statements  

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_aegis128l_ABYTES, 

18 crypto_aead_aegis128l_KEYBYTES, 

19 crypto_aead_aegis128l_MESSAGEBYTES_MAX, 

20 crypto_aead_aegis128l_NPUBBYTES, 

21 crypto_aead_aegis128l_NSECBYTES, 

22 crypto_aead_aegis128l_decrypt, 

23 crypto_aead_aegis128l_encrypt, 

24 crypto_aead_aegis256_ABYTES, 

25 crypto_aead_aegis256_KEYBYTES, 

26 crypto_aead_aegis256_MESSAGEBYTES_MAX, 

27 crypto_aead_aegis256_NPUBBYTES, 

28 crypto_aead_aegis256_NSECBYTES, 

29 crypto_aead_aegis256_decrypt, 

30 crypto_aead_aegis256_encrypt, 

31 crypto_aead_aes256gcm_ABYTES, 

32 crypto_aead_aes256gcm_KEYBYTES, 

33 crypto_aead_aes256gcm_MESSAGEBYTES_MAX, 

34 crypto_aead_aes256gcm_NPUBBYTES, 

35 crypto_aead_aes256gcm_NSECBYTES, 

36 crypto_aead_aes256gcm_decrypt, 

37 crypto_aead_aes256gcm_encrypt, 

38 crypto_aead_chacha20poly1305_ABYTES, 

39 crypto_aead_chacha20poly1305_KEYBYTES, 

40 crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX, 

41 crypto_aead_chacha20poly1305_NPUBBYTES, 

42 crypto_aead_chacha20poly1305_NSECBYTES, 

43 crypto_aead_chacha20poly1305_decrypt, 

44 crypto_aead_chacha20poly1305_encrypt, 

45 crypto_aead_chacha20poly1305_ietf_ABYTES, 

46 crypto_aead_chacha20poly1305_ietf_KEYBYTES, 

47 crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX, 

48 crypto_aead_chacha20poly1305_ietf_NPUBBYTES, 

49 crypto_aead_chacha20poly1305_ietf_NSECBYTES, 

50 crypto_aead_chacha20poly1305_ietf_decrypt, 

51 crypto_aead_chacha20poly1305_ietf_encrypt, 

52 crypto_aead_xchacha20poly1305_ietf_ABYTES, 

53 crypto_aead_xchacha20poly1305_ietf_KEYBYTES, 

54 crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX, 

55 crypto_aead_xchacha20poly1305_ietf_NPUBBYTES, 

56 crypto_aead_xchacha20poly1305_ietf_NSECBYTES, 

57 crypto_aead_xchacha20poly1305_ietf_decrypt, 

58 crypto_aead_xchacha20poly1305_ietf_encrypt, 

59) 

60from nacl.bindings.crypto_box import ( 

61 crypto_box, 

62 crypto_box_BEFORENMBYTES, 

63 crypto_box_BOXZEROBYTES, 

64 crypto_box_NONCEBYTES, 

65 crypto_box_PUBLICKEYBYTES, 

66 crypto_box_SEALBYTES, 

67 crypto_box_SECRETKEYBYTES, 

68 crypto_box_SEEDBYTES, 

69 crypto_box_ZEROBYTES, 

70 crypto_box_afternm, 

71 crypto_box_beforenm, 

72 crypto_box_easy, 

73 crypto_box_easy_afternm, 

74 crypto_box_keypair, 

75 crypto_box_open, 

76 crypto_box_open_afternm, 

77 crypto_box_open_easy, 

78 crypto_box_open_easy_afternm, 

79 crypto_box_seal, 

80 crypto_box_seal_open, 

81 crypto_box_seed_keypair, 

82) 

83from nacl.bindings.crypto_core import ( 

84 crypto_core_ed25519_BYTES, 

85 crypto_core_ed25519_NONREDUCEDSCALARBYTES, 

86 crypto_core_ed25519_SCALARBYTES, 

87 crypto_core_ed25519_add, 

88 crypto_core_ed25519_from_uniform, 

89 crypto_core_ed25519_is_valid_point, 

90 crypto_core_ed25519_scalar_add, 

91 crypto_core_ed25519_scalar_complement, 

92 crypto_core_ed25519_scalar_invert, 

93 crypto_core_ed25519_scalar_mul, 

94 crypto_core_ed25519_scalar_negate, 

95 crypto_core_ed25519_scalar_reduce, 

96 crypto_core_ed25519_scalar_sub, 

97 crypto_core_ed25519_sub, 

98 has_crypto_core_ed25519, 

99) 

100from nacl.bindings.crypto_generichash import ( 

101 crypto_generichash_BYTES, 

102 crypto_generichash_BYTES_MAX, 

103 crypto_generichash_BYTES_MIN, 

104 crypto_generichash_KEYBYTES, 

105 crypto_generichash_KEYBYTES_MAX, 

106 crypto_generichash_KEYBYTES_MIN, 

107 crypto_generichash_PERSONALBYTES, 

108 crypto_generichash_SALTBYTES, 

109 crypto_generichash_STATEBYTES, 

110 generichash_blake2b_final as crypto_generichash_blake2b_final, 

111 generichash_blake2b_init as crypto_generichash_blake2b_init, 

112 generichash_blake2b_salt_personal as crypto_generichash_blake2b_salt_personal, 

113 generichash_blake2b_update as crypto_generichash_blake2b_update, 

114) 

115from nacl.bindings.crypto_hash import ( 

116 crypto_hash, 

117 crypto_hash_BYTES, 

118 crypto_hash_sha256, 

119 crypto_hash_sha256_BYTES, 

120 crypto_hash_sha512, 

121 crypto_hash_sha512_BYTES, 

122) 

123from nacl.bindings.crypto_kx import ( 

124 crypto_kx_PUBLIC_KEY_BYTES, 

125 crypto_kx_SECRET_KEY_BYTES, 

126 crypto_kx_SEED_BYTES, 

127 crypto_kx_SESSION_KEY_BYTES, 

128 crypto_kx_client_session_keys, 

129 crypto_kx_keypair, 

130 crypto_kx_seed_keypair, 

131 crypto_kx_server_session_keys, 

132) 

133from nacl.bindings.crypto_pwhash import ( 

134 crypto_pwhash_ALG_ARGON2I13, 

135 crypto_pwhash_ALG_ARGON2ID13, 

136 crypto_pwhash_ALG_DEFAULT, 

137 crypto_pwhash_BYTES_MAX, 

138 crypto_pwhash_BYTES_MIN, 

139 crypto_pwhash_PASSWD_MAX, 

140 crypto_pwhash_PASSWD_MIN, 

141 crypto_pwhash_SALTBYTES, 

142 crypto_pwhash_STRBYTES, 

143 crypto_pwhash_alg, 

144 crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE, 

145 crypto_pwhash_argon2i_MEMLIMIT_MAX, 

146 crypto_pwhash_argon2i_MEMLIMIT_MIN, 

147 crypto_pwhash_argon2i_MEMLIMIT_MODERATE, 

148 crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE, 

149 crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE, 

150 crypto_pwhash_argon2i_OPSLIMIT_MAX, 

151 crypto_pwhash_argon2i_OPSLIMIT_MIN, 

152 crypto_pwhash_argon2i_OPSLIMIT_MODERATE, 

153 crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE, 

154 crypto_pwhash_argon2i_STRPREFIX, 

155 crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE, 

156 crypto_pwhash_argon2id_MEMLIMIT_MAX, 

157 crypto_pwhash_argon2id_MEMLIMIT_MIN, 

158 crypto_pwhash_argon2id_MEMLIMIT_MODERATE, 

159 crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE, 

160 crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE, 

161 crypto_pwhash_argon2id_OPSLIMIT_MAX, 

162 crypto_pwhash_argon2id_OPSLIMIT_MIN, 

163 crypto_pwhash_argon2id_OPSLIMIT_MODERATE, 

164 crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE, 

165 crypto_pwhash_argon2id_STRPREFIX, 

166 crypto_pwhash_scryptsalsa208sha256_BYTES_MAX, 

167 crypto_pwhash_scryptsalsa208sha256_BYTES_MIN, 

168 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE, 

169 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX, 

170 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN, 

171 crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE, 

172 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE, 

173 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX, 

174 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN, 

175 crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE, 

176 crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX, 

177 crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN, 

178 crypto_pwhash_scryptsalsa208sha256_SALTBYTES, 

179 crypto_pwhash_scryptsalsa208sha256_STRBYTES, 

180 crypto_pwhash_scryptsalsa208sha256_STRPREFIX, 

181 crypto_pwhash_scryptsalsa208sha256_ll, 

182 crypto_pwhash_scryptsalsa208sha256_str, 

183 crypto_pwhash_scryptsalsa208sha256_str_verify, 

184 crypto_pwhash_str_alg, 

185 crypto_pwhash_str_verify, 

186 has_crypto_pwhash_scryptsalsa208sha256, 

187 nacl_bindings_pick_scrypt_params, 

188) 

189from nacl.bindings.crypto_scalarmult import ( 

190 crypto_scalarmult, 

191 crypto_scalarmult_BYTES, 

192 crypto_scalarmult_SCALARBYTES, 

193 crypto_scalarmult_base, 

194 crypto_scalarmult_ed25519, 

195 crypto_scalarmult_ed25519_BYTES, 

196 crypto_scalarmult_ed25519_SCALARBYTES, 

197 crypto_scalarmult_ed25519_base, 

198 crypto_scalarmult_ed25519_base_noclamp, 

199 crypto_scalarmult_ed25519_noclamp, 

200 has_crypto_scalarmult_ed25519, 

201) 

202from nacl.bindings.crypto_secretbox import ( 

203 crypto_secretbox, 

204 crypto_secretbox_BOXZEROBYTES, 

205 crypto_secretbox_KEYBYTES, 

206 crypto_secretbox_MACBYTES, 

207 crypto_secretbox_MESSAGEBYTES_MAX, 

208 crypto_secretbox_NONCEBYTES, 

209 crypto_secretbox_ZEROBYTES, 

210 crypto_secretbox_easy, 

211 crypto_secretbox_open, 

212 crypto_secretbox_open_easy, 

213) 

214from nacl.bindings.crypto_secretstream import ( 

215 crypto_secretstream_xchacha20poly1305_ABYTES, 

216 crypto_secretstream_xchacha20poly1305_HEADERBYTES, 

217 crypto_secretstream_xchacha20poly1305_KEYBYTES, 

218 crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX, 

219 crypto_secretstream_xchacha20poly1305_STATEBYTES, 

220 crypto_secretstream_xchacha20poly1305_TAG_FINAL, 

221 crypto_secretstream_xchacha20poly1305_TAG_MESSAGE, 

222 crypto_secretstream_xchacha20poly1305_TAG_PUSH, 

223 crypto_secretstream_xchacha20poly1305_TAG_REKEY, 

224 crypto_secretstream_xchacha20poly1305_init_pull, 

225 crypto_secretstream_xchacha20poly1305_init_push, 

226 crypto_secretstream_xchacha20poly1305_keygen, 

227 crypto_secretstream_xchacha20poly1305_pull, 

228 crypto_secretstream_xchacha20poly1305_push, 

229 crypto_secretstream_xchacha20poly1305_rekey, 

230 crypto_secretstream_xchacha20poly1305_state, 

231) 

232from nacl.bindings.crypto_shorthash import ( 

233 BYTES as crypto_shorthash_siphash24_BYTES, 

234 KEYBYTES as crypto_shorthash_siphash24_KEYBYTES, 

235 XBYTES as crypto_shorthash_siphashx24_BYTES, 

236 XKEYBYTES as crypto_shorthash_siphashx24_KEYBYTES, 

237 crypto_shorthash_siphash24, 

238 crypto_shorthash_siphashx24, 

239 has_crypto_shorthash_siphashx24, 

240) 

241from nacl.bindings.crypto_sign import ( 

242 crypto_sign, 

243 crypto_sign_BYTES, 

244 crypto_sign_PUBLICKEYBYTES, 

245 crypto_sign_SECRETKEYBYTES, 

246 crypto_sign_SEEDBYTES, 

247 crypto_sign_ed25519_pk_to_curve25519, 

248 crypto_sign_ed25519_sk_to_curve25519, 

249 crypto_sign_ed25519_sk_to_pk, 

250 crypto_sign_ed25519_sk_to_seed, 

251 crypto_sign_ed25519ph_STATEBYTES, 

252 crypto_sign_ed25519ph_final_create, 

253 crypto_sign_ed25519ph_final_verify, 

254 crypto_sign_ed25519ph_state, 

255 crypto_sign_ed25519ph_update, 

256 crypto_sign_keypair, 

257 crypto_sign_open, 

258 crypto_sign_seed_keypair, 

259) 

260from nacl.bindings.randombytes import ( 

261 randombytes, 

262 randombytes_buf_deterministic, 

263) 

264from nacl.bindings.sodium_core import sodium_init 

265from nacl.bindings.utils import ( 

266 sodium_add, 

267 sodium_increment, 

268 sodium_memcmp, 

269 sodium_pad, 

270 sodium_unpad, 

271) 

272 

273 

274__all__ = [ 

275 "crypto_aead_aegis128l_ABYTES", 

276 "crypto_aead_aegis128l_KEYBYTES", 

277 "crypto_aead_aegis128l_MESSAGEBYTES_MAX", 

278 "crypto_aead_aegis128l_NPUBBYTES", 

279 "crypto_aead_aegis128l_NSECBYTES", 

280 "crypto_aead_aegis128l_decrypt", 

281 "crypto_aead_aegis128l_encrypt", 

282 "crypto_aead_aegis256_ABYTES", 

283 "crypto_aead_aegis256_KEYBYTES", 

284 "crypto_aead_aegis256_MESSAGEBYTES_MAX", 

285 "crypto_aead_aegis256_NPUBBYTES", 

286 "crypto_aead_aegis256_NSECBYTES", 

287 "crypto_aead_aegis256_decrypt", 

288 "crypto_aead_aegis256_encrypt", 

289 "crypto_aead_aes256gcm_ABYTES", 

290 "crypto_aead_aes256gcm_KEYBYTES", 

291 "crypto_aead_aes256gcm_MESSAGEBYTES_MAX", 

292 "crypto_aead_aes256gcm_NPUBBYTES", 

293 "crypto_aead_aes256gcm_NSECBYTES", 

294 "crypto_aead_aes256gcm_decrypt", 

295 "crypto_aead_aes256gcm_encrypt", 

296 "crypto_aead_chacha20poly1305_ABYTES", 

297 "crypto_aead_chacha20poly1305_KEYBYTES", 

298 "crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX", 

299 "crypto_aead_chacha20poly1305_NPUBBYTES", 

300 "crypto_aead_chacha20poly1305_NSECBYTES", 

301 "crypto_aead_chacha20poly1305_decrypt", 

302 "crypto_aead_chacha20poly1305_encrypt", 

303 "crypto_aead_chacha20poly1305_ietf_ABYTES", 

304 "crypto_aead_chacha20poly1305_ietf_KEYBYTES", 

305 "crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX", 

306 "crypto_aead_chacha20poly1305_ietf_NPUBBYTES", 

307 "crypto_aead_chacha20poly1305_ietf_NSECBYTES", 

308 "crypto_aead_chacha20poly1305_ietf_decrypt", 

309 "crypto_aead_chacha20poly1305_ietf_encrypt", 

310 "crypto_aead_xchacha20poly1305_ietf_ABYTES", 

311 "crypto_aead_xchacha20poly1305_ietf_KEYBYTES", 

312 "crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX", 

313 "crypto_aead_xchacha20poly1305_ietf_NPUBBYTES", 

314 "crypto_aead_xchacha20poly1305_ietf_NSECBYTES", 

315 "crypto_aead_xchacha20poly1305_ietf_decrypt", 

316 "crypto_aead_xchacha20poly1305_ietf_encrypt", 

317 "crypto_box_SECRETKEYBYTES", 

318 "crypto_box_PUBLICKEYBYTES", 

319 "crypto_box_SEEDBYTES", 

320 "crypto_box_NONCEBYTES", 

321 "crypto_box_ZEROBYTES", 

322 "crypto_box_BOXZEROBYTES", 

323 "crypto_box_BEFORENMBYTES", 

324 "crypto_box_SEALBYTES", 

325 "crypto_box_keypair", 

326 "crypto_box", 

327 "crypto_box_open", 

328 "crypto_box_beforenm", 

329 "crypto_box_afternm", 

330 "crypto_box_open_afternm", 

331 "crypto_box_easy", 

332 "crypto_box_easy_afternm", 

333 "crypto_box_open_easy", 

334 "crypto_box_open_easy_afternm", 

335 "crypto_box_seal", 

336 "crypto_box_seal_open", 

337 "crypto_box_seed_keypair", 

338 "has_crypto_core_ed25519", 

339 "crypto_core_ed25519_BYTES", 

340 "crypto_core_ed25519_UNIFORMBYTES", 

341 "crypto_core_ed25519_SCALARBYTES", 

342 "crypto_core_ed25519_NONREDUCEDSCALARBYTES", 

343 "crypto_core_ed25519_add", 

344 "crypto_core_ed25519_from_uniform", 

345 "crypto_core_ed25519_is_valid_point", 

346 "crypto_core_ed25519_sub", 

347 "crypto_core_ed25519_scalar_invert", 

348 "crypto_core_ed25519_scalar_negate", 

349 "crypto_core_ed25519_scalar_complement", 

350 "crypto_core_ed25519_scalar_add", 

351 "crypto_core_ed25519_scalar_sub", 

352 "crypto_core_ed25519_scalar_mul", 

353 "crypto_core_ed25519_scalar_reduce", 

354 "crypto_hash_BYTES", 

355 "crypto_hash_sha256_BYTES", 

356 "crypto_hash_sha512_BYTES", 

357 "crypto_hash", 

358 "crypto_hash_sha256", 

359 "crypto_hash_sha512", 

360 "crypto_generichash_BYTES", 

361 "crypto_generichash_BYTES_MIN", 

362 "crypto_generichash_BYTES_MAX", 

363 "crypto_generichash_KEYBYTES", 

364 "crypto_generichash_KEYBYTES_MIN", 

365 "crypto_generichash_KEYBYTES_MAX", 

366 "crypto_generichash_SALTBYTES", 

367 "crypto_generichash_PERSONALBYTES", 

368 "crypto_generichash_STATEBYTES", 

369 "crypto_generichash_blake2b_salt_personal", 

370 "crypto_generichash_blake2b_init", 

371 "crypto_generichash_blake2b_update", 

372 "crypto_generichash_blake2b_final", 

373 "crypto_kx_keypair", 

374 "crypto_kx_seed_keypair", 

375 "crypto_kx_client_session_keys", 

376 "crypto_kx_server_session_keys", 

377 "crypto_kx_PUBLIC_KEY_BYTES", 

378 "crypto_kx_SECRET_KEY_BYTES", 

379 "crypto_kx_SEED_BYTES", 

380 "crypto_kx_SESSION_KEY_BYTES", 

381 "has_crypto_scalarmult_ed25519", 

382 "crypto_scalarmult_BYTES", 

383 "crypto_scalarmult_SCALARBYTES", 

384 "crypto_scalarmult", 

385 "crypto_scalarmult_base", 

386 "crypto_scalarmult_ed25519_BYTES", 

387 "crypto_scalarmult_ed25519_SCALARBYTES", 

388 "crypto_scalarmult_ed25519", 

389 "crypto_scalarmult_ed25519_base", 

390 "crypto_scalarmult_ed25519_noclamp", 

391 "crypto_scalarmult_ed25519_base_noclamp", 

392 "crypto_secretbox_KEYBYTES", 

393 "crypto_secretbox_NONCEBYTES", 

394 "crypto_secretbox_ZEROBYTES", 

395 "crypto_secretbox_BOXZEROBYTES", 

396 "crypto_secretbox_MACBYTES", 

397 "crypto_secretbox_MESSAGEBYTES_MAX", 

398 "crypto_secretbox", 

399 "crypto_secretbox_easy", 

400 "crypto_secretbox_open", 

401 "crypto_secretbox_open_easy", 

402 "crypto_secretstream_xchacha20poly1305_ABYTES", 

403 "crypto_secretstream_xchacha20poly1305_HEADERBYTES", 

404 "crypto_secretstream_xchacha20poly1305_KEYBYTES", 

405 "crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX", 

406 "crypto_secretstream_xchacha20poly1305_STATEBYTES", 

407 "crypto_secretstream_xchacha20poly1305_TAG_FINAL", 

408 "crypto_secretstream_xchacha20poly1305_TAG_MESSAGE", 

409 "crypto_secretstream_xchacha20poly1305_TAG_PUSH", 

410 "crypto_secretstream_xchacha20poly1305_TAG_REKEY", 

411 "crypto_secretstream_xchacha20poly1305_init_pull", 

412 "crypto_secretstream_xchacha20poly1305_init_push", 

413 "crypto_secretstream_xchacha20poly1305_keygen", 

414 "crypto_secretstream_xchacha20poly1305_pull", 

415 "crypto_secretstream_xchacha20poly1305_push", 

416 "crypto_secretstream_xchacha20poly1305_rekey", 

417 "crypto_secretstream_xchacha20poly1305_state", 

418 "has_crypto_shorthash_siphashx24", 

419 "crypto_shorthash_siphash24_BYTES", 

420 "crypto_shorthash_siphash24_KEYBYTES", 

421 "crypto_shorthash_siphash24", 

422 "crypto_shorthash_siphashx24_BYTES", 

423 "crypto_shorthash_siphashx24_KEYBYTES", 

424 "crypto_shorthash_siphashx24", 

425 "crypto_sign_BYTES", 

426 "crypto_sign_SEEDBYTES", 

427 "crypto_sign_PUBLICKEYBYTES", 

428 "crypto_sign_SECRETKEYBYTES", 

429 "crypto_sign_keypair", 

430 "crypto_sign_seed_keypair", 

431 "crypto_sign", 

432 "crypto_sign_open", 

433 "crypto_sign_ed25519_pk_to_curve25519", 

434 "crypto_sign_ed25519_sk_to_curve25519", 

435 "crypto_sign_ed25519_sk_to_pk", 

436 "crypto_sign_ed25519_sk_to_seed", 

437 "crypto_sign_ed25519ph_STATEBYTES", 

438 "crypto_sign_ed25519ph_final_create", 

439 "crypto_sign_ed25519ph_final_verify", 

440 "crypto_sign_ed25519ph_state", 

441 "crypto_sign_ed25519ph_update", 

442 "crypto_pwhash_ALG_ARGON2I13", 

443 "crypto_pwhash_ALG_ARGON2ID13", 

444 "crypto_pwhash_ALG_DEFAULT", 

445 "crypto_pwhash_BYTES_MAX", 

446 "crypto_pwhash_BYTES_MIN", 

447 "crypto_pwhash_PASSWD_MAX", 

448 "crypto_pwhash_PASSWD_MIN", 

449 "crypto_pwhash_SALTBYTES", 

450 "crypto_pwhash_STRBYTES", 

451 "crypto_pwhash_alg", 

452 "crypto_pwhash_argon2i_MEMLIMIT_MIN", 

453 "crypto_pwhash_argon2i_MEMLIMIT_MAX", 

454 "crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE", 

455 "crypto_pwhash_argon2i_MEMLIMIT_MODERATE", 

456 "crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE", 

457 "crypto_pwhash_argon2i_OPSLIMIT_MIN", 

458 "crypto_pwhash_argon2i_OPSLIMIT_MAX", 

459 "crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE", 

460 "crypto_pwhash_argon2i_OPSLIMIT_MODERATE", 

461 "crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE", 

462 "crypto_pwhash_argon2i_STRPREFIX", 

463 "crypto_pwhash_argon2id_MEMLIMIT_MIN", 

464 "crypto_pwhash_argon2id_MEMLIMIT_MAX", 

465 "crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE", 

466 "crypto_pwhash_argon2id_MEMLIMIT_MODERATE", 

467 "crypto_pwhash_argon2id_OPSLIMIT_MIN", 

468 "crypto_pwhash_argon2id_OPSLIMIT_MAX", 

469 "crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE", 

470 "crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE", 

471 "crypto_pwhash_argon2id_OPSLIMIT_MODERATE", 

472 "crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE", 

473 "crypto_pwhash_argon2id_STRPREFIX", 

474 "crypto_pwhash_str_alg", 

475 "crypto_pwhash_str_verify", 

476 "has_crypto_pwhash_scryptsalsa208sha256", 

477 "crypto_pwhash_scryptsalsa208sha256_BYTES_MAX", 

478 "crypto_pwhash_scryptsalsa208sha256_BYTES_MIN", 

479 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE", 

480 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX", 

481 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN", 

482 "crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE", 

483 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE", 

484 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX", 

485 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN", 

486 "crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE", 

487 "crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX", 

488 "crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN", 

489 "crypto_pwhash_scryptsalsa208sha256_SALTBYTES", 

490 "crypto_pwhash_scryptsalsa208sha256_STRBYTES", 

491 "crypto_pwhash_scryptsalsa208sha256_STRPREFIX", 

492 "crypto_pwhash_scryptsalsa208sha256_ll", 

493 "crypto_pwhash_scryptsalsa208sha256_str", 

494 "crypto_pwhash_scryptsalsa208sha256_str_verify", 

495 "nacl_bindings_pick_scrypt_params", 

496 "randombytes", 

497 "randombytes_buf_deterministic", 

498 "sodium_init", 

499 "sodium_add", 

500 "sodium_increment", 

501 "sodium_memcmp", 

502 "sodium_pad", 

503 "sodium_unpad", 

504] 

505 

506 

507# Initialize Sodium 

508sodium_init()