<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/tor-llcrypto/tests/misc.rs, branch main</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=main</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2026-05-12T20:55:43Z</updated>
<entry>
<title>Upgrade rand crates to 0.10.</title>
<updated>2026-05-12T20:55:43Z</updated>
<author>
<name>Wesley Aptekar-Cassels</name>
<email>me@wesleyac.com</email>
</author>
<published>2026-05-07T20:06:21Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=a18167928901d8c88cd1cdd87346de8ad1ee42a2'/>
<id>urn:sha1:a18167928901d8c88cd1cdd87346de8ad1ee42a2</id>
<content type='text'>
When the circ-padding feature is enabled, we use maybenot, which does
not yet support rand 0.10. In the meantime, enabling this feature pulls
in rand 0.9. This is not ideal, but should be okay as a temporary
situation.

This also replaces the use of ReseedingRng (which was removed in 0.10)
with the reseeding_rng crate. This is somewhat less performant, but it
should be okay.
</content>
</entry>
<entry>
<title>tor-llcrypto: Add `RsaIdentity::as_hex_upper`</title>
<updated>2026-01-15T10:48:22Z</updated>
<author>
<name>Clara Engler</name>
<email>cve@cve.cx</email>
</author>
<published>2025-12-15T13:39:20Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0c641bfa2f05c264a78b9465279d948843c4dccd'/>
<id>urn:sha1:0c641bfa2f05c264a78b9465279d948843c4dccd</id>
<content type='text'>
This commit adds the method `as_hex_upper(&amp;self) -&gt; String` to
`RsaIdentity`, which returns the `RsaIdentity` as a hexadecimal string
in uppercase.

Although this type already implements `ToString`, this result is
unsuitable for working with consensuses because they neither contain a
`$` prefix, nor are encoded in lowercase.
</content>
</entry>
<entry>
<title>Switch Cargo.toml files to edition 2024.</title>
<updated>2025-08-07T15:28:36Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2025-08-06T01:19:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=77b0de43b8c67cdb81befe0680a3df43b6ad37bc'/>
<id>urn:sha1:77b0de43b8c67cdb81befe0680a3df43b6ad37bc</id>
<content type='text'>
First, run

```
git grep -l "^edition =" |
    xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```

Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.

Third, run cargo fmt again.
</content>
</entry>
<entry>
<title>Remove RngCompatExt.</title>
<updated>2023-11-29T15:55:04Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-29T15:49:26Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7fb24cb69da537ac04ab2dae80997c6d481622ef'/>
<id>urn:sha1:7fb24cb69da537ac04ab2dae80997c6d481622ef</id>
<content type='text'>
This code was needed with the old version of dalek-cryptography,
which wasn't compatible with up-to-date versions of the `rand`
crate(s).  But now that we've upgraded, we can drop this.

(We could have left it around and deprecated it, but we are already
making a breaking change to tor-llcrypto by upgrading
dalek-cryptography.)
</content>
</entry>
<entry>
<title>Convert to the latest versions of dalek-cryptography</title>
<updated>2023-11-29T15:34:58Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-11-21T15:58:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=98037a2c788bd901679139178d25f855324637f3'/>
<id>urn:sha1:98037a2c788bd901679139178d25f855324637f3</id>
<content type='text'>
The main changes that we have to adjust for are as follows:

* In x25519-dalek:
  * `StaticSecret` is now behind a feature.
  * `StaticSecret::new` is deprecated in favor of
    `StaticSecret::random_from_rng`.
  * StaticSecret no longer does its own clamping.

* In ed25519-dalek:
  * `SecretKey` has (in effect) been renamed to `SigningKey`. The name
    `SecretKey` is now an alias for `[u8; 32]`.
  * `SigningKey` is effectively a keypair, since it contains a
     public key as well.
  * `PublicKey` has been renamed to `VerifyingKey`.
  * The functions to extract a signing key and verifying key have
    been renamed as you might expect.
  * `ExpandedSecretKey` has been moved to `hasmat` and no longer
    implements `sign`.
  * `ExpanededSecretKey` now has as its elements a scalar and a hash
    prefix.
  * Various functions that took `&amp;[u8]` now take `&amp;[u8; N]`.
  * We no longer need a wrapper for older versions of rand.

There is a single test in tor-keymgr that does not pass.  I've
marked it as ignore for now, in hopes that @gabi-250 can help me
figure it out.

This closes #808.  There are several changes I want to make before
we merge, however. They are marked with TODO DALEK.
</content>
</entry>
<entry>
<title>Disable clippy::unlinlined-format-args</title>
<updated>2023-01-27T13:27:47Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-01-27T12:49:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=bf04641c6818cb2c87c6ed9cf463a5710f8919d2'/>
<id>urn:sha1:bf04641c6818cb2c87c6ed9cf463a5710f8919d2</id>
<content type='text'>
This warning kind of snuck up on us! (See #748)  For now, let's
disable it.  (I've cleaned it up in a couple of examples, since
those are meant to be more idiomatic and user-facing.)

Closes #748.
</content>
</entry>
<entry>
<title>Add a new constant-time is_zero() check for RsaIdentity</title>
<updated>2022-09-20T13:13:31Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-09-20T13:13:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=657914f7787a0ac5bdaad8c15d41a91425e1c8cf'/>
<id>urn:sha1:657914f7787a0ac5bdaad8c15d41a91425e1c8cf</id>
<content type='text'>
There are some places in the protocol where we have an all-zero RSA
identity that does not truly represent a key, but rather represents
an absent or unknown key.  For these, it's better to use
`RsaIdentity::is_zero` instead of manually checking for a set of
zero bytes: it expresses the intent better, and ensures that the
operation is constant-time.

I am deliberately not introducing a more general IsZero trait here,
or implementing is_zero for anything else: This is the only one we
seem to need right now.  We can generalize it later if we have to.
</content>
</entry>
<entry>
<title>Use testing_rng() in tests throughout our crates.</title>
<updated>2022-06-02T18:56:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-06-02T17:31:43Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=967ea67b7dfc158f29cf449eb09bac89acdee46b'/>
<id>urn:sha1:967ea67b7dfc158f29cf449eb09bac89acdee46b</id>
<content type='text'>
This only affects uses of thread_rng(), and affects them all more or
less indiscriminately.  One test does not work with
ARTI_TEST_PRNG=deterministic; the next commit will fix it.
</content>
</entry>
<entry>
<title>squash! Bump every crate's edition to 2021.</title>
<updated>2022-04-25T17:06:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-04-25T16:40:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=2f6bc6bdc431fa36de70a167eea777dcf3f60bf2'/>
<id>urn:sha1:2f6bc6bdc431fa36de70a167eea777dcf3f60bf2</id>
<content type='text'>
Remove all `use` statements for `TryFrom` and `TryInto`.  These are
now redundant in Rust 2021.
</content>
</entry>
<entry>
<title>Add a from_hex method for RsaIdentity.</title>
<updated>2022-03-04T13:55:34Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2022-03-04T13:55:34Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=b6452b481215ce0963123630234b01be0c440092'/>
<id>urn:sha1:b6452b481215ce0963123630234b01be0c440092</id>
<content type='text'>
We perform this operation in a bunch of places, and most of them
use hex::decode().  That's not great, since hex::decode() has to do
heap allocation.  This implementation uses hex::decode_to_slice(),
which should be faster.

(In the future we might choose to use one of the faster hex
implementations, but I'm hoping that this change will be sufficient
to get hex decoding out of our profiles.)

Part of #377.
</content>
</entry>
</feed>
