@@ -68,29 +68,29 @@ class hash_drbg
6868 compat::uint64_t reseed_counter_ {};
6969 bool initialized_ {};
7070
71- template <compat::size_t ExtentReturn = compat::dynamic_extent ,
72- compat::size_t Extent1 = compat::dynamic_extent ,
73- compat::size_t Extent2 = compat::dynamic_extent ,
74- compat::size_t Extent3 = compat::dynamic_extent ,
75- compat::size_t Extent4 = compat::dynamic_extent >
71+ template <compat::size_t ExtentReturn,
72+ compat::size_t Extent1,
73+ compat::size_t Extent2 = 0U ,
74+ compat::size_t Extent3 = 0U ,
75+ compat::size_t Extent4 = 0U >
7676 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR auto hash_df (compat::uint32_t no_of_bits_to_return,
7777 compat::span<compat::byte, ExtentReturn> return_container,
7878 compat::span<const compat::byte, Extent1> provided_data_1,
7979 compat::span<const compat::byte, Extent2> provided_data_2 = compat::span<const compat::byte, 0U > {},
8080 compat::span<const compat::byte, Extent3> provided_data_3 = compat::span<const compat::byte, 0U > {},
8181 compat::span<const compat::byte, Extent4> provided_data_4 = compat::span<const compat::byte, 0U > {}) noexcept -> state;
8282
83- template <compat::size_t Extent = compat::dynamic_extent >
83+ template <compat::size_t Extent>
8484 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR auto hashgen (compat::span<compat::byte, Extent> returned_bits, compat::size_t requested_number_of_bytes) noexcept -> state;
8585
86- template <compat::size_t Extent1 = compat::dynamic_extent ,
87- compat::size_t Extent2 = compat::dynamic_extent >
86+ template <compat::size_t Extent1,
87+ compat::size_t Extent2 = 0U >
8888 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR auto no_pr_generate_impl (compat::span<compat::byte, Extent1> return_data, compat::size_t requested_bits,
8989 compat::span<const compat::byte, Extent2> additional_data = compat::span<const compat::byte, 0U > {}) noexcept -> state;
9090
91- template <compat::size_t Extent1 = compat::dynamic_extent ,
92- compat::size_t Extent2 = compat::dynamic_extent ,
93- compat::size_t Extent3 = compat::dynamic_extent >
91+ template <compat::size_t Extent1,
92+ compat::size_t Extent2,
93+ compat::size_t Extent3 = 0U >
9494 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR auto pr_generate_impl (compat::span<compat::byte, Extent1> return_data, compat::size_t requested_bits,
9595 compat::span<const compat::byte, Extent2> entropy,
9696 compat::span<const compat::byte, Extent3> additional_data = compat::span<const compat::byte, 0U > {}) noexcept -> state;
@@ -100,43 +100,43 @@ class hash_drbg
100100
101101 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR ~hash_drbg () noexcept ;
102102
103- template <compat::size_t Extent1 = compat::dynamic_extent ,
104- compat::size_t Extent2 = compat::dynamic_extent ,
105- compat::size_t Extent3 = compat::dynamic_extent >
103+ template <compat::size_t Extent1,
104+ compat::size_t Extent2 = 0U ,
105+ compat::size_t Extent3 = 0U >
106106 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR auto init (compat::span<const compat::byte, Extent1> entropy,
107- compat::span<const compat::byte, Extent2> nonce = compat::span<compat::byte, 0 >{},
108- compat::span<const compat::byte, Extent3> personalization = compat::span<compat::byte, 0 >{}) noexcept -> state;
107+ compat::span<const compat::byte, Extent2> nonce = compat::span<const compat::byte, 0 >{},
108+ compat::span<const compat::byte, Extent3> personalization = compat::span<const compat::byte, 0 >{}) noexcept -> state;
109109
110110 template <concepts::sized_range SizedRange1,
111111 concepts::sized_range SizedRange2,
112- concepts::sized_range SizedRange3 = compat::array< compat::byte, 0U >>
112+ concepts::sized_range SizedRange3 = compat::span< const compat::byte, 0U >>
113113 BOOST_CRYPT_GPU_ENABLED auto init (SizedRange1&& entropy,
114- SizedRange2&& nonce = compat::array< compat::byte, 0U > {},
115- SizedRange3&& personalization = compat::array< compat::byte, 0U > {}) noexcept -> state;
114+ SizedRange2&& nonce = compat::span< const compat::byte, 0U > {},
115+ SizedRange3&& personalization = compat::span< const compat::byte, 0U > {}) noexcept -> state;
116116
117- template <compat::size_t Extent1 = compat::dynamic_extent ,
118- compat::size_t Extent2 = compat::dynamic_extent >
117+ template <compat::size_t Extent1,
118+ compat::size_t Extent2 = 0U >
119119 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR auto reseed (compat::span<const compat::byte, Extent1> entropy,
120- compat::span<const compat::byte, Extent2> additional_input = compat::span<compat::byte, 0 >{}) noexcept -> state;
120+ compat::span<const compat::byte, Extent2> additional_input = compat::span<const compat::byte, 0 >{}) noexcept -> state;
121121
122122 template <concepts::sized_range SizedRange1,
123- concepts::sized_range SizedRange2 = compat::array< compat::byte, 0U >>
123+ concepts::sized_range SizedRange2 = compat::span< const compat::byte, 0U >>
124124 BOOST_CRYPT_GPU_ENABLED auto reseed (SizedRange1&& entropy,
125- SizedRange2&& additional_input = compat::array< compat::byte, 0U > {}) noexcept -> state;
125+ SizedRange2&& additional_input = compat::span< const compat::byte, 0U > {}) noexcept -> state;
126126
127127 template <compat::size_t Extent1,
128- compat::size_t Extent2 = compat::dynamic_extent ,
129- compat::size_t Extent3 = compat::dynamic_extent >
128+ compat::size_t Extent2 = 0U ,
129+ compat::size_t Extent3 = 0U >
130130 BOOST_CRYPT_GPU_ENABLED_CONSTEXPR auto generate (compat::span<compat::byte, Extent1> return_data, compat::size_t requested_bits,
131131 compat::span<const compat::byte, Extent2> additional_data1 = compat::span<const compat::byte, 0U > {},
132132 [[maybe_unused]] compat::span<const compat::byte, Extent3> additional_data2 = compat::span<const compat::byte, 0U > {}) noexcept -> state;
133133
134134 template <concepts::sized_range SizedRange1,
135- concepts::sized_range SizedRange2 = compat::array< compat::byte, 0U >,
136- concepts::sized_range SizedRange3 = compat::array< compat::byte, 0U >>
135+ concepts::sized_range SizedRange2 = compat::span< const compat::byte, 0U >,
136+ concepts::sized_range SizedRange3 = compat::span< const compat::byte, 0U >>
137137 BOOST_CRYPT_GPU_ENABLED auto generate (SizedRange1&& return_data, compat::size_t requested_bits,
138- SizedRange2&& additional_data1 = compat::array< compat::byte, 0U >{},
139- [[maybe_unused]] SizedRange3&& additional_data2 = compat::array< compat::byte, 0U >{}) noexcept -> state;
138+ SizedRange2&& additional_data1 = compat::span< const compat::byte, 0U >{},
139+ [[maybe_unused]] SizedRange3&& additional_data2 = compat::span< const compat::byte, 0U >{}) noexcept -> state;
140140};
141141
142142template <typename HasherType, compat::size_t max_hasher_security, compat::size_t outlen, bool prediction_resistance>
@@ -241,7 +241,7 @@ hash_drbg<HasherType, max_hasher_security, outlen, prediction_resistance>::hashg
241241 }
242242
243243 auto data {value_};
244- const auto data_span {compat::span<compat::byte, seedlen_bytes>(data)};
244+ const auto data_span {compat::span<const compat::byte, seedlen_bytes>(data)};
245245 compat::size_t offset {};
246246 HasherType hasher;
247247 while (offset < requested_number_of_bytes)
0 commit comments