<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zears, branch master</title>
<subtitle>AEZ v5 implementation in Rust</subtitle>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/'/>
<entry>
<title>adjust types of e()</title>
<updated>2025-09-04T20:36:33+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-09-04T20:24:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=7218598a96022ad4b7d98ad08f83795ec95d68c5'/>
<id>7218598a96022ad4b7d98ad08f83795ec95d68c5</id>
<content type='text'>
Taking j as i32 was a weird choice (only for the -1), and technically
caused issues for invocations with more than u16::MAX tweaks (not that
people might use that many tweaks, but just in case...)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Taking j as i32 was a weird choice (only for the -1), and technically
caused issues for invocations with more than u16::MAX tweaks (not that
people might use that many tweaks, but just in case...)
</pre>
</div>
</content>
</entry>
<entry>
<title>inline pad_to_blocks</title>
<updated>2025-09-04T20:04:48+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-09-04T20:04:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=bf5a408e852c79f3373da59c7675c13e53434ff6'/>
<id>bf5a408e852c79f3373da59c7675c13e53434ff6</id>
<content type='text'>
I like the way with chunks_exact more, as we get the remainder for free
and we don't have to do the chunk.len() dance
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I like the way with chunks_exact more, as we get the remainder for free
and we don't have to do the chunk.len() dance
</pre>
</div>
</content>
</entry>
<entry>
<title>add benchmarks for primitives</title>
<updated>2025-09-04T19:47:55+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-09-04T19:47:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=4b83bfcad25c8d8e36fe210a76faa5797f9c5aaf'/>
<id>4b83bfcad25c8d8e36fe210a76faa5797f9c5aaf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add CI</title>
<updated>2025-08-20T21:57:33+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-08-20T21:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=7d8c9ab2be2e72038692a96b10427ab6ed914259'/>
<id>7d8c9ab2be2e72038692a96b10427ab6ed914259</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>disable std feature for dependencies</title>
<updated>2025-08-16T19:03:12+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-08-16T19:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=df8f33baedc7ed0fc14d2041736cb8695a5e5af4'/>
<id>df8f33baedc7ed0fc14d2041736cb8695a5e5af4</id>
<content type='text'>
makes little sense to be no_std if the dependencies use std
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
makes little sense to be no_std if the dependencies use std
</pre>
</div>
</content>
</entry>
<entry>
<title>disable tests in no_std build</title>
<updated>2025-08-16T18:56:11+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-08-16T18:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=48c6cebb87b23eb3f34b59da0dcced9f4d4af1c2'/>
<id>48c6cebb87b23eb3f34b59da0dcced9f4d4af1c2</id>
<content type='text'>
We should test there, but for convenience, the tests currently rely on
std being there (mostly because of Vec allocations, also transitively
via hex).

Since the actual code doesn't change between std and no_std, I guess
we're fine for now with not testing the no_std version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should test there, but for convenience, the tests currently rely on
std being there (mostly because of Vec allocations, also transitively
via hex).

Since the actual code doesn't change between std and no_std, I guess
we're fine for now with not testing the no_std version.
</pre>
</div>
</content>
</entry>
<entry>
<title>rework encrypt to take IntoIterator&lt;AsRef&lt;[u8]&gt;&gt;</title>
<updated>2025-08-16T18:54:53+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-08-16T18:54:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=6bd93d13bf6fcc64c8671c938d0e719f8c83e673'/>
<id>6bd93d13bf6fcc64c8671c938d0e719f8c83e673</id>
<content type='text'>
The trick is to use an intermediate enum which can either contain a
slice (the local tau block/nonce) or the passed in AsRef. This way, we
unify the two types.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The trick is to use an intermediate enum which can either contain a
slice (the local tau block/nonce) or the passed in AsRef. This way, we
unify the two types.
</pre>
</div>
</content>
</entry>
<entry>
<title>make std optional</title>
<updated>2025-08-15T16:26:48+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-08-15T16:26:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=180f4b3817ee841391ccd83a9a9701e950833dfa'/>
<id>180f4b3817ee841391ccd83a9a9701e950833dfa</id>
<content type='text'>
turns out, we're not using much of it anyway
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
turns out, we're not using much of it anyway
</pre>
</div>
</content>
</entry>
<entry>
<title>don't allocate a vec if there are multiple ad</title>
<updated>2025-08-13T21:41:41+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-08-13T21:41:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=620540b2f974aaa25b30b92ac02ab718e55bd0df'/>
<id>620540b2f974aaa25b30b92ac02ab718e55bd0df</id>
<content type='text'>
It turns out that we only really iterate over those items once, in
aez_hash. We're perfectly fine just accepting an iterator, and to make
it even more generic, we use AsRef to not limit ourselves to byte
slices.

Most of this commit is just changing the function signatures of all
functions that pass a Tweak downstream.

In the next step, we could update the Aez::encrypt function to take
generic arguments. That could for example allow to pass a slice of
slices, or a vec of vecs. However, simply changing to generics is
unergonomic, as callers might have to specify generic arguments. That
sucks, so we need to figure out something else first.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turns out that we only really iterate over those items once, in
aez_hash. We're perfectly fine just accepting an iterator, and to make
it even more generic, we use AsRef to not limit ourselves to byte
slices.

Most of this commit is just changing the function signatures of all
functions that pass a Tweak downstream.

In the next step, we could update the Aez::encrypt function to take
generic arguments. That could for example allow to pass a slice of
slices, or a vec of vecs. However, simply changing to generics is
unergonomic, as callers might have to specify generic arguments. That
sucks, so we need to figure out something else first.
</pre>
</div>
</content>
</entry>
<entry>
<title>update docs</title>
<updated>2025-08-13T17:41:45+00:00</updated>
<author>
<name>Daniel Schadt</name>
<email>kingdread@gmx.de</email>
</author>
<published>2025-08-13T17:41:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.kingdread.de/cgit.cgi/zears/commit/?id=9c563b51b88b942d9d201f8c7e2fb6fec32c4d30'/>
<id>9c563b51b88b942d9d201f8c7e2fb6fec32c4d30</id>
<content type='text'>
there are no vectorized instructions in this code
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
there are no vectorized instructions in this code
</pre>
</div>
</content>
</entry>
</feed>
