counterReset example

# randombytes_buf(out, crypto_secretstream_xchacha20poly1305_HEADERBYTES);         $out = random_bytes(24);

        # crypto_core_hchacha20(state->k, out, k, NULL);         $subkey = ParagonIE_Sodium_Core_HChaCha20::hChaCha20($out$key);
        $state = new ParagonIE_Sodium_Core_SecretStream_State(
            $subkey,
            ParagonIE_Sodium_Core_Util::substr($out, 16, 8) . str_repeat("\0", 4)
        );

        # _crypto_secretstream_xchacha20poly1305_counter_reset(state);         $state->counterReset();

        # memcpy(STATE_INONCE(state), out + crypto_core_hchacha20_INPUTBYTES,         # crypto_secretstream_xchacha20poly1305_INONCEBYTES);         # memset(state->_pad, 0, sizeof state->_pad);         return array(
            $state->toString(),
            $out
        );
    }

    /** * @param string $key * @param string $header * @return string Returns a state. * @throws Exception */
# randombytes_buf(out, crypto_secretstream_xchacha20poly1305_HEADERBYTES);         $out = random_bytes(24);

        # crypto_core_hchacha20(state->k, out, k, NULL);         $subkey = ParagonIE_Sodium_Core32_HChaCha20::hChaCha20($out$key);
        $state = new ParagonIE_Sodium_Core32_SecretStream_State(
            $subkey,
            ParagonIE_Sodium_Core32_Util::substr($out, 16, 8) . str_repeat("\0", 4)
        );

        # _crypto_secretstream_xchacha20poly1305_counter_reset(state);         $state->counterReset();

        # memcpy(STATE_INONCE(state), out + crypto_core_hchacha20_INPUTBYTES,         # crypto_secretstream_xchacha20poly1305_INONCEBYTES);         # memset(state->_pad, 0, sizeof state->_pad);         return array(
            $state->toString(),
            $out
        );
    }

    /** * @param string $key * @param string $header * @return string Returns a state. * @throws Exception */
Home | Imprint | This part of the site doesn't use cookies.