<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/core/crypto, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2026-10-26T16:23:18+00:00</updated>
<entry>
<title>[core] Support block-compressed NSZ and XCZ (#4552)</title>
<updated>2026-10-26T16:23:18+00:00</updated>
<author>
<name>PavelBARABANOV</name>
<email>pavelbarabanov94@gmail.com</email>
</author>
<published>2026-10-26T16:23:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=58968bd1274d8ebb1f159ad31500dde8d74abea6'/>
<id>urn:sha1:58968bd1274d8ebb1f159ad31500dde8d74abea6</id>
<content type='text'>
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md).
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------
- Add NCZBLOCK (nsz -B / .xcz) reader: each read decodes only the covered blocks and re-encrypts CTR sections, no disk output.
- Allow installing solid .nsz to NAND via DecompressNCZForInstall (lazy, incremental decode with frontier, O(n) instead of O(n^2)).
- Accept BKTR updates with thousands of sections (MaxSectionCount = 0x10000).
- Wire .nsz/.xcz into loader, registered cache, scanner, and NAND install (content_manager.h), and reject solid NCZ from the game list.
- Bump the pinned zstd to 33618c8 in cpmfile.json, which includes the upstream AArch64 revert ([33618c89](https://github.com/facebook/zstd/commit/33618c89e511637f8a6ef955b3501766d71feb53)) for a ZSTD_decodeSequence branch optimization that could corrupt data on ARM64; without it, solid NCZ decoding on Android fails with "Data corruption detected".

NCZ format and CTR counter semantics follow the reference nsz tool and its
Rust port:
- https://github.com/nicoboss/nsz (Decompressor.py, BlockDecompressorReader.py)
- https://docs.rs/nsz-rs/0.3.0/src/nsz_rs/decompress.rs.html

The last-block edge case (decompressed size is an exact multiple of block
size) is handled as described in https://github.com/nicoboss/nsz/issues/210

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4552
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Reviewed-by: Shinmegumi &lt;shinmegumi@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[common] rework BitField and BitUtil, use concepts whenever possible (#4076)</title>
<updated>2026-07-09T01:47:04+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-07-09T01:47:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=41762940d6bd6350901f12662248b95b91b51e6c'/>
<id>urn:sha1:41762940d6bd6350901f12662248b95b91b51e6c</id>
<content type='text'>
test no regressions especially on Liiinux

Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4076
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[common/logging] Simplify logging logic and fix issues when logging before system is created (#3688)</title>
<updated>2026-03-12T17:29:15+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-03-12T17:29:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=395613b01f918b559f0a3b1718c78f81987c49d4'/>
<id>urn:sha1:395613b01f918b559f0a3b1718c78f81987c49d4</id>
<content type='text'>
- our logging code was bigger than spdlog itself, why???? just keep it simple
- fix issues when logging before logging system is even started
- removes the "initialized logging twice" issue
- removes uneeded indirection in file logging
- uses direct formatting instead of jumping hoopla-around the fmt::format() ressult
- code duplication and dead code removal as usual

I did explore dup2() but I think it's not worth the hassle
I did try `fwopen()` but it's better if things are just kept as-is.

there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file

now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING

Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-by: DraVee &lt;chimera@dravee.dev&gt;
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-committed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[settings] Add back &amp; properly implement use_dev_keys (#3631)</title>
<updated>2026-03-08T21:37:20+00:00</updated>
<author>
<name>smiRaphi</name>
<email>neogt404@gmail.com</email>
</author>
<published>2026-03-08T21:37:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=361e6209b2a7cbe2aec8119539f93b40f8a06213'/>
<id>urn:sha1:361e6209b2a7cbe2aec8119539f93b40f8a06213</id>
<content type='text'>
Was removed recently but also wasn't really working before, this adds it to the debug UI (under the kiosk option) and also makes it properly reload the keys on launch &amp; setting change.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3631
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-authored-by: smiRaphi &lt;neogt404@gmail.com&gt;
Co-committed-by: smiRaphi &lt;neogt404@gmail.com&gt;
</content>
</entry>
<entry>
<title>[ports] Remove ENABLE_OPENSSL and mbedtls nixos remnants (#3638)</title>
<updated>2026-03-01T00:53:04+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-03-01T00:53:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=281d7a468e3c61706f9687a4bcdd4c2c097f24c9'/>
<id>urn:sha1:281d7a468e3c61706f9687a4bcdd4c2c097f24c9</id>
<content type='text'>
shell.nix still had references to mbedtls

Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3638
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: DraVee &lt;dravee@eden-emu.dev&gt;
Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-committed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[crypto] Atomize all traces of MbedTLS, and require OpenSSL 3+ (#3606)</title>
<updated>2026-02-23T01:50:13+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-02-23T01:50:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=0a687b82d49f5b944379ce2522c8f7778150b034'/>
<id>urn:sha1:0a687b82d49f5b944379ce2522c8f7778150b034</id>
<content type='text'>
Closes #3137
Closes #3465

- Replace all mbedtls usage with OpenSSL
- require OpenSSL
- Up OpenSSL version to 3, cuz that's what we actually need...

CAVEATS:
- httplib also now required
- other ssl backends for svc are unused, maybe remove later
  * To be fair, our CI never used them anyways. And we never tested those

TESTERS PLEASE TEST:
- All games and applets boot
- Boot, load, exit, etc. times

Co-authored-by: crueter &lt;crueter@eden-emu.dev&gt;
Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-authored-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3606
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: DraVee &lt;dravee@eden-emu.dev&gt;
Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-committed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[qt, settings] allow to set custom unit and battery serial (#2813)</title>
<updated>2025-11-24T07:15:57+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2025-11-24T07:15:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=f40025fd9bd29325452535f98705bd3442381fb5'/>
<id>urn:sha1:f40025fd9bd29325452535f98705bd3442381fb5</id>
<content type='text'>
Also removes "use dev keys" option since it's not even present on UI and it's just a file redirection anyways
Signed-off-by: lizzie &lt;lizzie@eden-emu.dev&gt;

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2813
Reviewed-by: Caio Oliveira &lt;caiooliveirafarias0@gmail.com&gt;
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-committed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[crypto] Rework AES CTR/XTS streaming and squash heap churn (#2782)</title>
<updated>2025-10-26T01:12:27+00:00</updated>
<author>
<name>godpow</name>
<email>thesaviorsrule@yahoo.com</email>
</author>
<published>2025-10-26T01:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=41e15e95b19748f4c2da31e3b8263a8626ef306a'/>
<id>urn:sha1:41e15e95b19748f4c2da31e3b8263a8626ef306a</id>
<content type='text'>
AES Updates:
Replaced heap churn with stack scratch buffers tail handling now stays in-place, no more recursive transcode detours.
CTR/XTS modes read in larger, aligned chunks and still handle odd offsets cleanly.
XTS prefetches a few sectors ahead to reduce extra reads.
AesCtrStorage writer now uses the pooled buffer properly one stack slab, chunk forward, bump counter, repeat.
Result: less malloc noise, fewer watchdog spikes at startup (though mbedtls still sets the pace).
This should make the loading speed slightly better than before. Make sure to test.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2782
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Co-authored-by: godpow &lt;thesaviorsrule@yahoo.com&gt;
Co-committed-by: godpow &lt;thesaviorsrule@yahoo.com&gt;
</content>
</entry>
<entry>
<title>[nca] Use better tight loop allocation schemes (none at all) for AES decrypt/encrypt and force MbedTLS to use AES x86_64 instructions (#2750)</title>
<updated>2025-10-17T03:08:51+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2025-10-17T03:08:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=440ee4916dd618cea27040fdb9e1c185ac3494f8'/>
<id>urn:sha1:440ee4916dd618cea27040fdb9e1c185ac3494f8</id>
<content type='text'>
Uses stack instead of allocating stuff haphazardly (16 bytes and 512 bytes respectively) - removes malloc() pollution and all that nasty stuff from tight loops
Original work by Ribbit but edited by me.
Will NOT bring a massive speedup since the main bottleneck is mbedtls itself, but may bring nice oddities to STARTUP TIMES nonetheless.
AES instructions being forced wont affect CPUs without them since there is always a runtime check for them.

Signed-off-by: lizzie lizzie@eden-emu.dev
Co-authored-by: Ribbit &lt;ribbit@placeholder.com&gt;
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2750
Reviewed-by: CamilleLaVey &lt;camillelavey99@gmail.com&gt;
Co-authored-by: lizzie &lt;lizzie@eden-emu.dev&gt;
Co-committed-by: lizzie &lt;lizzie@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>[core] Remove key hashes and hash checks (#2552)</title>
<updated>2025-09-23T03:06:31+00:00</updated>
<author>
<name>Maufeat</name>
<email>sahyno1996@gmail.com</email>
</author>
<published>2025-09-23T03:06:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=d4427d90ea21392cc0d4936912851b19debf48c3'/>
<id>urn:sha1:d4427d90ea21392cc0d4936912851b19debf48c3</id>
<content type='text'>
I've removed all hardcoded key hashes as they are not required and to avoid possible legal issues.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2552
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Co-authored-by: Maufeat &lt;sahyno1996@gmail.com&gt;
Co-committed-by: Maufeat &lt;sahyno1996@gmail.com&gt;
</content>
</entry>
</feed>
