ristretto255.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <?php
  2. if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES')) {
  3. define(
  4. 'SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES',
  5. ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_BYTES
  6. );
  7. define('SODIUM_COMPAT_POLYFILLED_RISTRETTO255', true);
  8. }
  9. if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES')) {
  10. define(
  11. 'SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES',
  12. ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_HASHBYTES
  13. );
  14. }
  15. if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES')) {
  16. define(
  17. 'SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES',
  18. ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_SCALARBYTES
  19. );
  20. }
  21. if (!defined('SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES')) {
  22. define(
  23. 'SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES',
  24. ParagonIE_Sodium_Compat::CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES
  25. );
  26. }
  27. if (!defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES')) {
  28. define(
  29. 'SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES',
  30. ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES
  31. );
  32. }
  33. if (!defined('SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES')) {
  34. define(
  35. 'SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES',
  36. ParagonIE_Sodium_Compat::CRYPTO_SCALARMULT_RISTRETTO255_BYTES
  37. );
  38. }
  39. if (!is_callable('sodium_crypto_core_ristretto255_add')) {
  40. /**
  41. * @see ParagonIE_Sodium_Compat::ristretto255_add()
  42. *
  43. * @param string $p
  44. * @param string $q
  45. * @return string
  46. * @throws SodiumException
  47. */
  48. function sodium_crypto_core_ristretto255_add($p, $q)
  49. {
  50. return ParagonIE_Sodium_Compat::ristretto255_add($p, $q, true);
  51. }
  52. }
  53. if (!is_callable('sodium_crypto_core_ristretto255_from_hash')) {
  54. /**
  55. * @see ParagonIE_Sodium_Compat::ristretto255_from_hash()
  56. *
  57. * @param string $s
  58. * @return string
  59. * @throws SodiumException
  60. */
  61. function sodium_crypto_core_ristretto255_from_hash($s)
  62. {
  63. return ParagonIE_Sodium_Compat::ristretto255_from_hash($s, true);
  64. }
  65. }
  66. if (!is_callable('sodium_crypto_core_ristretto255_is_valid_point')) {
  67. /**
  68. * @see ParagonIE_Sodium_Compat::ristretto255_is_valid_point()
  69. *
  70. * @param string $s
  71. * @return bool
  72. * @throws SodiumException
  73. */
  74. function sodium_crypto_core_ristretto255_is_valid_point($s)
  75. {
  76. return ParagonIE_Sodium_Compat::ristretto255_is_valid_point($s, true);
  77. }
  78. }
  79. if (!is_callable('sodium_crypto_core_ristretto255_random')) {
  80. /**
  81. * @see ParagonIE_Sodium_Compat::ristretto255_random()
  82. *
  83. * @return string
  84. * @throws SodiumException
  85. */
  86. function sodium_crypto_core_ristretto255_random()
  87. {
  88. return ParagonIE_Sodium_Compat::ristretto255_random(true);
  89. }
  90. }
  91. if (!is_callable('sodium_crypto_core_ristretto255_scalar_add')) {
  92. /**
  93. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_add()
  94. *
  95. * @param string $x
  96. * @param string $y
  97. * @return string
  98. * @throws SodiumException
  99. */
  100. function sodium_crypto_core_ristretto255_scalar_add($x, $y)
  101. {
  102. return ParagonIE_Sodium_Compat::ristretto255_scalar_add($x, $y, true);
  103. }
  104. }
  105. if (!is_callable('sodium_crypto_core_ristretto255_scalar_complement')) {
  106. /**
  107. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_complement()
  108. *
  109. * @param string $s
  110. * @return string
  111. * @throws SodiumException
  112. */
  113. function sodium_crypto_core_ristretto255_scalar_complement($s)
  114. {
  115. return ParagonIE_Sodium_Compat::ristretto255_scalar_complement($s, true);
  116. }
  117. }
  118. if (!is_callable('sodium_crypto_core_ristretto255_scalar_invert')) {
  119. /**
  120. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_invert()
  121. *
  122. * @param string $p
  123. * @return string
  124. * @throws SodiumException
  125. */
  126. function sodium_crypto_core_ristretto255_scalar_invert($p)
  127. {
  128. return ParagonIE_Sodium_Compat::ristretto255_scalar_invert($p, true);
  129. }
  130. }
  131. if (!is_callable('sodium_crypto_core_ristretto255_scalar_mul')) {
  132. /**
  133. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_mul()
  134. *
  135. * @param string $x
  136. * @param string $y
  137. * @return string
  138. * @throws SodiumException
  139. */
  140. function sodium_crypto_core_ristretto255_scalar_mul($x, $y)
  141. {
  142. return ParagonIE_Sodium_Compat::ristretto255_scalar_mul($x, $y, true);
  143. }
  144. }
  145. if (!is_callable('sodium_crypto_core_ristretto255_scalar_negate')) {
  146. /**
  147. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_negate()
  148. *
  149. * @param string $s
  150. * @return string
  151. * @throws SodiumException
  152. */
  153. function sodium_crypto_core_ristretto255_scalar_negate($s)
  154. {
  155. return ParagonIE_Sodium_Compat::ristretto255_scalar_negate($s, true);
  156. }
  157. }
  158. if (!is_callable('sodium_crypto_core_ristretto255_scalar_random')) {
  159. /**
  160. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_random()
  161. *
  162. * @return string
  163. * @throws SodiumException
  164. */
  165. function sodium_crypto_core_ristretto255_scalar_random()
  166. {
  167. return ParagonIE_Sodium_Compat::ristretto255_scalar_random(true);
  168. }
  169. }
  170. if (!is_callable('sodium_crypto_core_ristretto255_scalar_reduce')) {
  171. /**
  172. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_reduce()
  173. *
  174. * @param string $s
  175. * @return string
  176. * @throws SodiumException
  177. */
  178. function sodium_crypto_core_ristretto255_scalar_reduce($s)
  179. {
  180. return ParagonIE_Sodium_Compat::ristretto255_scalar_reduce($s, true);
  181. }
  182. }
  183. if (!is_callable('sodium_crypto_core_ristretto255_scalar_sub')) {
  184. /**
  185. * @see ParagonIE_Sodium_Compat::ristretto255_scalar_sub()
  186. *
  187. * @param string $x
  188. * @param string $y
  189. * @return string
  190. * @throws SodiumException
  191. */
  192. function sodium_crypto_core_ristretto255_scalar_sub($x, $y)
  193. {
  194. return ParagonIE_Sodium_Compat::ristretto255_scalar_sub($x, $y, true);
  195. }
  196. }
  197. if (!is_callable('sodium_crypto_core_ristretto255_sub')) {
  198. /**
  199. * @see ParagonIE_Sodium_Compat::ristretto255_sub()
  200. *
  201. * @param string $p
  202. * @param string $q
  203. * @return string
  204. * @throws SodiumException
  205. */
  206. function sodium_crypto_core_ristretto255_sub($p, $q)
  207. {
  208. return ParagonIE_Sodium_Compat::ristretto255_sub($p, $q, true);
  209. }
  210. }
  211. if (!is_callable('sodium_crypto_scalarmult_ristretto255')) {
  212. /**
  213. * @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255()
  214. * @param string $n
  215. * @param string $p
  216. * @return string
  217. * @throws SodiumException
  218. * @throws TypeError
  219. */
  220. function sodium_crypto_scalarmult_ristretto255($n, $p)
  221. {
  222. return ParagonIE_Sodium_Compat::scalarmult_ristretto255($n, $p, true);
  223. }
  224. }
  225. if (!is_callable('sodium_crypto_scalarmult_ristretto255_base')) {
  226. /**
  227. * @see ParagonIE_Sodium_Compat::crypto_scalarmult_ristretto255_base()
  228. * @param string $n
  229. * @return string
  230. * @throws SodiumException
  231. * @throws TypeError
  232. */
  233. function sodium_crypto_scalarmult_ristretto255_base($n)
  234. {
  235. return ParagonIE_Sodium_Compat::scalarmult_ristretto255_base($n, true);
  236. }
  237. }