NaCl.xml 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>NaCl</name>
  5. </assembly>
  6. <members>
  7. <member name="T:NaCl.Curve25519">
  8. <summary>
  9. NaCl.net provides an API to multiply a point on the Curve25519 curve.
  10. This can be used as a building block to construct key exchange mechanisms, or more generally to compute a public key from a secret key.
  11. </summary>
  12. </member>
  13. <member name="F:NaCl.Curve25519.ScalarLength">
  14. <summary>
  15. Length of a scalar on curve.
  16. </summary>
  17. <remarks>
  18. 32 bytes length.
  19. </remarks>
  20. </member>
  21. <member name="M:NaCl.Curve25519.ScalarMultiplication(System.Span{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  22. <summary>
  23. This function can be used to compute a shared secret q given a user's secret key and another user's public key.
  24. </summary>
  25. <param name="q">Resulted shared secret</param>
  26. <param name="n">Secret key of alice</param>
  27. <param name="p">Public key of bob</param>
  28. </member>
  29. <member name="M:NaCl.Curve25519.ScalarMultiplication(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  30. <summary>
  31. This function can be used to compute a shared secret q given a user's secret key and another user's public key.
  32. </summary>
  33. <param name="n">Secret key of alice</param>
  34. <param name="p">Public key of bob</param>
  35. <returns>Shared key</returns>
  36. </member>
  37. <member name="M:NaCl.Curve25519.ScalarMultiplication(System.Byte[],System.Byte[])">
  38. <summary>
  39. This function can be used to compute a shared secret q given a user's secret key and another user's public key.
  40. </summary>
  41. <param name="n">Secret key of alice</param>
  42. <param name="p">Public key of bob</param>
  43. <returns>Shared key</returns>
  44. </member>
  45. <member name="M:NaCl.Curve25519.ScalarMultiplication(System.Byte[],System.Byte[],System.Byte[])">
  46. <summary>
  47. This function can be used to compute a shared secret q given a user's secret key and another user's public key.
  48. </summary>
  49. <param name="q">Resulted shared secret</param>
  50. <param name="n">Secret key of alice</param>
  51. <param name="p">Public key of bob</param>
  52. </member>
  53. <member name="M:NaCl.Curve25519.ScalarMultiplication(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Byte[],System.Int32)">
  54. <summary>
  55. This function can be used to compute a shared secret q given a user's secret key and another user's public key.
  56. </summary>
  57. <param name="q">Resulted shared secret</param>
  58. <param name="qOffset">Shared key offset to start write to</param>
  59. <param name="n">Secret key of alice</param>
  60. <param name="nOffset">Secret key offset to start read from</param>
  61. <param name="p">Public key of bob</param>
  62. <param name="pOffset">Public key offset, to start read from</param>
  63. </member>
  64. <member name="M:NaCl.Curve25519.ScalarMultiplicationBase(System.Span{System.Byte},System.Span{System.Byte})">
  65. <summary>
  66. Given a user's secret key n (<see cref="F:NaCl.Curve25519.ScalarLength"/> length), the ScalarMultiplicationBase function computes the user's public key and puts it into q.
  67. </summary>
  68. <param name="q">Public key, result of the multiplication</param>
  69. <param name="n">Secret key, which will be multiplied with base</param>
  70. </member>
  71. <member name="M:NaCl.Curve25519.ScalarMultiplicationBase(System.Byte[],System.Byte[])">
  72. <summary>
  73. Given a user's secret key n (<see cref="F:NaCl.Curve25519.ScalarLength"/> length), the ScalarMultiplicationBase function computes the user's public key and puts it into q.
  74. </summary>
  75. <param name="q">Public key, result of the multiplication</param>
  76. <param name="n">Secret key, which will be multiplied with base</param>
  77. </member>
  78. <member name="M:NaCl.Curve25519.ScalarMultiplicationBase(System.Byte[],System.Int32,System.Byte[],System.Int32)">
  79. <summary>
  80. Given a user's secret key n (<see cref="F:NaCl.Curve25519.ScalarLength"/> length), the ScalarMultiplicationBase function computes the user's public key and puts it into q.
  81. </summary>
  82. <param name="q">Public key, result of the multiplication</param>
  83. <param name="qOffset">Public key offset to start write the in</param>
  84. <param name="n">Secret key, which will be multiplied with base</param>
  85. <param name="nOffset">Secret key offset, to start read from</param>
  86. </member>
  87. <member name="M:NaCl.Curve25519.ScalarMultiplicationBase(System.Span{System.Byte})">
  88. <summary>
  89. Given a user's secret key n (<see cref="F:NaCl.Curve25519.ScalarLength"/> length), the ScalarMultiplicationBase function computes the user's public key and puts it into q.
  90. </summary>
  91. <param name="n">Secret key, which will be multiplied with base</param>
  92. <returns>Returns q, the public key</returns>
  93. </member>
  94. <member name="M:NaCl.Curve25519.ScalarMultiplicationBase(System.Byte[])">
  95. <summary>
  96. Given a user's secret key n (<see cref="F:NaCl.Curve25519.ScalarLength"/> length), the ScalarMultiplicationBase function computes the user's public key and puts it into q.
  97. </summary>
  98. <param name="n">Secret key, which will be multiplied with base</param>
  99. <returns>Returns q, the public key</returns>
  100. </member>
  101. <member name="T:NaCl.Curve25519XSalsa20Poly1305">
  102. <summary>
  103. Public-key authenticated encryption.
  104. </summary>
  105. <remarks>
  106. <para>
  107. Using public-key authenticated encryption, Bob can encrypt a confidential message specifically for Alice,
  108. using Alice's public key.</para>
  109. <para>Using Bob's public key, Alice can compute a shared secret key. Using Alice's public key and his secret key,
  110. Bob can compute the exact same shared secret key.
  111. That shared secret key can be used to verify that the encrypted message was not tampered with,
  112. before eventually decrypting it.</para>
  113. <para>Alice only needs Bob's public key, the nonce and the ciphertext. Bob should never ever share his secret key,
  114. even with Alice.</para>
  115. <para>And in order to send messages to Alice, Bob only needs Alice's public key.
  116. Alice should never ever share her secret key either, even with Bob.</para>
  117. <para>Alice can reply to Bob using the same system, without having to generate a distinct key pair.</para>
  118. <para>The nonce doesn't have to be confidential, but it should be used with just one invocation of <see>
  119. <cref>Curve25519XSalsa20Poly1305.Encrypt</cref>
  120. </see> for a particular pair of public and secret keys.</para>
  121. <para>One easy way to generate a nonce is to use <see cref="T:System.Security.Cryptography.RandomNumberGenerator"/>,
  122. considering the size of the nonces the risk of any random collisions is negligible.
  123. For some applications, if you wish to use nonces to detect missing messages or to ignore replayed messages,
  124. it is also acceptable to use a simple incrementing counter as a nonce.</para>
  125. <para>When doing so you must ensure that the same value can never be re-used
  126. (for example you may have multiple threads or even hosts generating messages using the same key pairs).</para>
  127. <para>As stated above, senders can decrypt their own messages, and compute a valid authentication tag for any
  128. messages encrypted with a given shared secret key. This is generally not an issue for online protocols.
  129. If this is not acceptable, check out the Sealed Boxes section,
  130. as well as the Key Exchange section in this documentation.</para>
  131. </remarks>
  132. </member>
  133. <member name="F:NaCl.Curve25519XSalsa20Poly1305.SecretKeyLength">
  134. <summary>
  135. Length of the secret key, 32.
  136. </summary>
  137. </member>
  138. <member name="F:NaCl.Curve25519XSalsa20Poly1305.PublicKeyLength">
  139. <summary>
  140. Length of the public key, 32.
  141. </summary>
  142. </member>
  143. <member name="M:NaCl.Curve25519XSalsa20Poly1305.#ctor(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  144. <summary>
  145. Create a new Curve25519XSalsa20Poly1305 and pre-calculate the shared secret from secret and public key.
  146. </summary>
  147. <param name="secretKey">SecretKey</param>
  148. <param name="publicKey">PublicKey</param>
  149. </member>
  150. <member name="M:NaCl.Curve25519XSalsa20Poly1305.KeyPair(System.Span{System.Byte},System.Span{System.Byte})">
  151. <summary>
  152. Randomly generates a secret key and a corresponding public key.
  153. </summary>
  154. <param name="secretKey">Buffer the secret key will be written to.</param>
  155. <param name="publicKey">Buffer the public key will be written to.</param>
  156. <exception cref="T:System.ArgumentException">thrown if secretKey or publicKey are not 32 bytes long</exception>
  157. </member>
  158. <member name="M:NaCl.Curve25519XSalsa20Poly1305.KeyPair(System.Byte[],System.Byte[])">
  159. <summary>
  160. Randomly generates a secret key and a corresponding public key.
  161. </summary>
  162. <param name="secretKey">Buffer the secret key will be written to.</param>
  163. <param name="publicKey">Buffer the public key will be written to.</param>
  164. <exception cref="T:System.ArgumentException">thrown if secretKey or publicKey are not 32 bytes long</exception>
  165. </member>
  166. <member name="M:NaCl.Curve25519XSalsa20Poly1305.KeyPair(System.Byte[]@,System.Byte[]@)">
  167. <summary>
  168. Randomly generates a secret key and a corresponding public key.
  169. </summary>
  170. <param name="secretKey">Generated secret-key.</param>
  171. <param name="publicKey">Corresponding public key</param>
  172. </member>
  173. <member name="M:NaCl.Curve25519XSalsa20Poly1305.KeyPair">
  174. <summary>
  175. Randomly generates a secret key and a corresponding public key.
  176. </summary>
  177. <returns>Returns a pair of secret-key and public-key</returns>
  178. </member>
  179. <member name="T:NaCl.Poly1305">
  180. <summary>
  181. One-time authentication using Poly1305.
  182. </summary>
  183. <remarks>
  184. Poly1305 takes a 32-byte, one-time key and a message and produces a 16-byte tag that authenticates
  185. the message such that an attacker has a negligible chance of producing a valid tag for a
  186. inauthentic message.
  187. </remarks>
  188. </member>
  189. <member name="F:NaCl.Poly1305.KeyLength">
  190. <summary>
  191. The length of the key, 32 bytes.
  192. </summary>
  193. </member>
  194. <member name="F:NaCl.Poly1305.TagLength">
  195. <summary>
  196. The length of the produced tag, 16 bytes.
  197. </summary>
  198. </member>
  199. <member name="M:NaCl.Poly1305.#ctor(System.ReadOnlySpan{System.Byte})">
  200. <summary>
  201. Create a new Poly1305 object with the specified key.
  202. </summary>
  203. <param name="key">The key</param>
  204. </member>
  205. <member name="M:NaCl.Poly1305.#ctor">
  206. <summary>
  207. Create a new Poly1305, key must be using <see>
  208. <cref>SetKey</cref>
  209. </see>
  210. before calling <see>
  211. <cref>Update</cref>
  212. </see>
  213. </summary>
  214. </member>
  215. <member name="M:NaCl.Poly1305.Dispose">
  216. <summary>
  217. Dispose the object and clear any sensitive buffers.
  218. </summary>
  219. </member>
  220. <member name="M:NaCl.Poly1305.Reset">
  221. <summary>
  222. Reset the object to the initial state.
  223. </summary>
  224. </member>
  225. <member name="M:NaCl.Poly1305.SetKey(System.ReadOnlySpan{System.Byte})">
  226. <summary>
  227. Set a new key
  228. </summary>
  229. <param name="key">Key</param>
  230. </member>
  231. <member name="M:NaCl.Poly1305.SetKey(System.Byte[],System.Int32)">
  232. <summary>
  233. Set a new key
  234. </summary>
  235. <param name="key">The key</param>
  236. <param name="offset">The key offset</param>
  237. </member>
  238. <member name="M:NaCl.Poly1305.Final(System.Span{System.Byte})">
  239. <summary>
  240. Complete the authentication and produce the tag.
  241. </summary>
  242. <param name="tag">The will be written to the parameter.</param>
  243. </member>
  244. <member name="M:NaCl.Poly1305.Update(System.ReadOnlySpan{System.Byte})">
  245. <summary>
  246. Update the authentication with more bytes.
  247. </summary>
  248. <param name="bytes">Bytes</param>
  249. </member>
  250. <member name="M:NaCl.Poly1305.Update(System.Byte[],System.Int32,System.Int32)">
  251. <summary>
  252. Update the authentication with more bytes.
  253. </summary>
  254. <param name="bytes">Bytes</param>
  255. <param name="offset">Offset to write bytes from</param>
  256. <param name="count">Number of bytes to write</param>
  257. </member>
  258. <member name="M:NaCl.Poly1305.Final">
  259. <summary>
  260. Complete the authentication and produce the tag.
  261. </summary>
  262. <returns>The authentication tag</returns>
  263. </member>
  264. <member name="M:NaCl.Poly1305.Verify(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  265. <summary>
  266. Compute the tag of the input and verify with provided tag.
  267. </summary>
  268. <param name="tag">The provided tag.</param>
  269. <param name="input">The input to compute tag for.</param>
  270. <returns>True if the tag match the input, otherwise false</returns>
  271. </member>
  272. <member name="M:NaCl.Poly1305.Verify(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32)">
  273. <summary>
  274. Compute the tag of the input and verify with provided tag.
  275. </summary>
  276. <param name="tag">The provided tag.</param>
  277. <param name="tagOffset">The offset to start read the tag from</param>
  278. <param name="input">The input to compute tag for.</param>
  279. <param name="inputOffset">The offset to start read input from</param>
  280. <param name="inputCount">The amount of bytes to read from the input</param>
  281. <returns>True if the tag match the input, otherwise false</returns>
  282. </member>
  283. <member name="T:NaCl.XSalsa20">
  284. <summary>
  285. XSalsa20 is a stream cipher based upon Salsa20 but with a much longer nonce: 192 bits instead of 64 bits.
  286. </summary>
  287. <remarks>
  288. <para>XSalsa20 uses a 256-bit key as well as the first 128 bits of the nonce in order to compute a subkey.
  289. This subkey, as well as the remaining 64 bits of the nonce, are the parameters of the Salsa20 function
  290. used to actually generate the stream.
  291. </para>
  292. <para>
  293. Like Salsa20, XSalsa20 is immune to timing attacks and provides its own 64-bit block counter to avoid
  294. incrementing the nonce after each block.
  295. </para>
  296. <para>
  297. But with XSalsa20's longer nonce, it is safe to generate nonces using
  298. <see cref="T:System.Security.Cryptography.RandomNumberGenerator"/> for every message encrypted with the same key without having to
  299. worry about a collision.
  300. </para>
  301. </remarks>
  302. </member>
  303. <member name="F:NaCl.XSalsa20.KeyLength">
  304. <summary>
  305. The key length, 32 bytes.
  306. </summary>
  307. </member>
  308. <member name="F:NaCl.XSalsa20.NonceLength">
  309. <summary>
  310. The nonce length, 24 bytes.
  311. </summary>
  312. </member>
  313. <member name="M:NaCl.XSalsa20.#ctor(System.ReadOnlySpan{System.Byte})">
  314. <summary>
  315. Create a new XSalsa object with the specified key
  316. </summary>
  317. <param name="key">The key</param>
  318. <exception cref="T:System.ArgumentException">Thrown if key length is not 32 bytes</exception>
  319. </member>
  320. <member name="M:NaCl.XSalsa20.#ctor(System.Byte[])">
  321. <summary>
  322. Create a new XSalsa object with the specified key
  323. </summary>
  324. <param name="key">The key</param>
  325. <exception cref="T:System.ArgumentException">Thrown if key length is not 32 bytes</exception>
  326. </member>
  327. <member name="M:NaCl.XSalsa20.Dispose">
  328. <summary>
  329. Dispose the object and clear any sensitive data.
  330. </summary>
  331. </member>
  332. <member name="M:NaCl.XSalsa20.Transform(System.Span{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  333. <summary>
  334. Transform a message using a nonce and a secret key.
  335. </summary>
  336. <param name="output">Output will be written to the parameter.</param>
  337. <param name="input">Input to transform</param>
  338. <param name="nonce">Nonce</param>
  339. </member>
  340. <member name="M:NaCl.XSalsa20.Transform(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
  341. <summary>
  342. Transform a message using a nonce and a secret key.
  343. </summary>
  344. <param name="output">Output will be written to the parameter.</param>
  345. <param name="outputOffset">Offset to start write to</param>
  346. <param name="input">Input to transform</param>
  347. <param name="inputOffset">Offset to start read from</param>
  348. <param name="inputCount">Amount of bytes to read</param>
  349. <param name="nonce">Nonce</param>
  350. <param name="nonceOffset">Nonce offset</param>
  351. </member>
  352. <member name="T:NaCl.XSalsa20Poly1305">
  353. <summary>
  354. Encrypts a message with a key and a nonce to keep it confidential and
  355. Computes an authentication tag. This tag is used to make sure that the message
  356. hasn't been tampered with before decrypting it.
  357. </summary>
  358. <remarks>
  359. <para>
  360. A single key is used both to encrypt/authenticate and verify/decrypt messages.
  361. For this reason, it is critical to keep the key confidential.
  362. </para>
  363. <para>
  364. The nonce doesn't have to be confidential, but it should never ever be reused with the same key.
  365. The easiest way to generate a nonce is to use <see cref="T:System.Security.Cryptography.RandomNumberGenerator"/>.
  366. </para>
  367. <para>
  368. Messages encrypted are assumed to be independent.
  369. If multiple messages are sent using this API and random nonces,
  370. there will be no way to detect if a message has been received twice,
  371. or if messages have been reordered.
  372. </para>
  373. </remarks>
  374. </member>
  375. <member name="F:NaCl.XSalsa20Poly1305.KeyLength">
  376. <summary>
  377. Key length, 32 bytes.
  378. </summary>
  379. </member>
  380. <member name="F:NaCl.XSalsa20Poly1305.TagLength">
  381. <summary>
  382. Tag length, 16 bytes.
  383. </summary>
  384. </member>
  385. <member name="F:NaCl.XSalsa20Poly1305.NonceLength">
  386. <summary>
  387. Nonce length, 24 bytes.
  388. </summary>
  389. </member>
  390. <member name="M:NaCl.XSalsa20Poly1305.#ctor(System.ReadOnlySpan{System.Byte})">
  391. <summary>
  392. Create a new object with the specified shared key
  393. </summary>
  394. <param name="key">Shared key</param>
  395. <exception cref="T:System.ArgumentException">Thrown if key is not 32 bytes long</exception>
  396. </member>
  397. <member name="M:NaCl.XSalsa20Poly1305.#ctor(System.Byte[])">
  398. <summary>
  399. Create a new object with the specified shared key
  400. </summary>
  401. <param name="key">Shared key</param>
  402. <exception cref="T:System.ArgumentException">Thrown if key is not 32 bytes long</exception>
  403. </member>
  404. <member name="M:NaCl.XSalsa20Poly1305.Encrypt(System.Span{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  405. <summary>
  406. Encrypts a message, with the object key and a nonce n.
  407. </summary>
  408. <remarks>
  409. Detached mode, some applications may need to store the authentication tag and
  410. the encrypted message at different locations.
  411. </remarks>
  412. <param name="cipher"></param>
  413. <param name="mac"></param>
  414. <param name="message"></param>
  415. <param name="nonce"></param>
  416. </member>
  417. <member name="M:NaCl.XSalsa20Poly1305.Encrypt(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
  418. <summary>
  419. Encrypts a message, with the object key and a nonce n.
  420. </summary>
  421. <remarks>
  422. Detached mode, some applications may need to store the authentication tag and
  423. the encrypted message at different locations.
  424. </remarks>
  425. </member>
  426. <member name="M:NaCl.XSalsa20Poly1305.Encrypt(System.Span{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  427. <summary>
  428. Encrypts a message, with the object key and a nonce n.
  429. </summary>
  430. <remarks>
  431. Combined mode, the authentication tag and the encrypted message are stored together.
  432. This is usually what you want.
  433. </remarks>
  434. <param name="cipher">Encrypted text will be written to the buffer</param>
  435. <param name="message">Message to encrypt</param>
  436. <param name="nonce">The nonce</param>
  437. </member>
  438. <member name="M:NaCl.XSalsa20Poly1305.Encrypt(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
  439. <summary>
  440. Encrypts a message, with the object key and a nonce n.
  441. </summary>
  442. <remarks>
  443. Combined mode, the authentication tag and the encrypted message are stored together.
  444. This is usually what you want.
  445. </remarks>
  446. <param name="cipher">Encrypted text will be written to the buffer</param>
  447. <param name="cipherOffset">Offset to start write the cipher text to</param>
  448. <param name="message">Message to encrypt</param>
  449. <param name="messageOffset">Offset to start read message from</param>
  450. <param name="messageCount">Number of bytes to read from message</param>
  451. <param name="nonce">The nonce</param>
  452. <param name="nonceOffset">Nonce offset</param>
  453. </member>
  454. <member name="M:NaCl.XSalsa20Poly1305.TryDecrypt(System.Span{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  455. <summary>
  456. Verifies and decrypts a ciphertext produced by <see>
  457. <cref>Encrypt</cref>
  458. </see>
  459. </summary>
  460. <remarks>
  461. Detached mode, some applications may need to store the authentication tag and
  462. the encrypted message at different locations.
  463. </remarks>
  464. <returns>True if successfully verified and decrypted ciphertext.</returns>
  465. </member>
  466. <member name="M:NaCl.XSalsa20Poly1305.TryDecrypt(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Byte[],System.Int32)">
  467. <summary>
  468. Verifies and decrypts a ciphertext produced by <see>
  469. <cref>Encrypt</cref>
  470. </see>
  471. </summary>
  472. <remarks>
  473. Detached mode, some applications may need to store the authentication tag and
  474. the encrypted message at different locations.
  475. </remarks>
  476. </member>
  477. <member name="M:NaCl.XSalsa20Poly1305.TryDecrypt(System.Span{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
  478. <summary>
  479. Verifies and decrypts a ciphertext produced by <see>
  480. <cref>Encrypt</cref>
  481. </see>
  482. </summary>
  483. <remarks>
  484. Combined mode, the authentication tag and the encrypted message are stored together.
  485. This is usually what you want.
  486. </remarks>
  487. <param name="message"></param>
  488. <param name="cipher"></param>
  489. <param name="nonce"></param>
  490. <returns>True if successfully verified and decrypted ciphertext.</returns>
  491. </member>
  492. <member name="M:NaCl.XSalsa20Poly1305.TryDecrypt(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
  493. <summary>
  494. Verifies and decrypts a ciphertext produced by <see>
  495. <cref>Encrypt</cref>
  496. </see>
  497. </summary>
  498. <remarks>
  499. Combined mode, the authentication tag and the encrypted message are stored together.
  500. This is usually what you want.
  501. </remarks>
  502. <param name="message"></param>
  503. <param name="messageOffset"></param>
  504. <param name="cipher"></param>
  505. <param name="cipherOffset"></param>
  506. <param name="cipherCount"></param>
  507. <param name="nonce"></param>
  508. <param name="nonceOffset"></param>
  509. <returns>True if successfully verified and decrypted ciphertext.</returns>
  510. </member>
  511. <member name="M:NaCl.XSalsa20Poly1305.Dispose">
  512. <summary>
  513. Dispose the object and clear any sensitive information
  514. </summary>
  515. </member>
  516. </members>
  517. </doc>