$ docker run --rm --name validator-libsodium-usage-ruby-rbnacl-box-alice-bob-2732 -t --mount type=bind,src=/tmp/validator-status-libsodium-usage-ruby-rbnacl-box-alice-bob,dst=/validator/status validator-libsodium-shared bash -lc 'set -euo pipefail /validator/tests/_shared/install_override_debs.sh exec /validator/tests/_shared/run_library_tests.sh "$@"' validator-testcase libsodium usage-ruby-rbnacl-box-alice-bob -- bash -c 'PS4=$1; shift; set -x; source "$@"' validator-xtrace '__VALIDATOR_XTRACE__ ' /validator/tests/libsodium/tests/cases/usage/usage-ruby-rbnacl-box-alice-bob.sh no override packages found; continuing with apt originals alice_sk = RbNaCl::PrivateKey.new("\x55".b * 32) bob_sk = RbNaCl::PrivateKey.new("\x66".b * 32) alice_box = RbNaCl::Box.new(bob_sk.public_key, alice_sk) bob_box = RbNaCl::Box.new(alice_sk.public_key, bob_sk) nonce = "\x00".b * RbNaCl::Box.nonce_bytes plaintext = "alice -> bob via curve25519xsalsa20poly1305" ciphertext = alice_box.encrypt(nonce, plaintext) raise "ciphertext same as plaintext" if ciphertext == plaintext recovered = bob_box.decrypt(nonce, ciphertext) raise "roundtrip mismatch" unless recovered == plaintext raise "ciphertext too short" unless ciphertext.bytesize == plaintext.bytesize + 16 puts "ok #{recovered.bytesize}" ' ok 43