w3myPQ 3.1.0 coming today. Fixes and Noble update to latest 0.7.1

The secure Post Quantum vault for WordPress. Secure file/s sharing
User avatar
axew3
w3all User
w3all User
Posts: 3074
Joined: Fri Jan 22, 2016 5:15 pm
Location: Italy
Contact:

w3myPQ 3.1.0 coming today. Fixes and Noble update to latest 0.7.1

Post by axew3 »

This is actually the 3.1.0 update Changelog.
It will be presumably released today.

Code: Select all

== Changelog ==

= 3.1.0 =
*Release Date - 30 Aug, 2026*
* Update: Upgraded the Noble post-quantum cryptographic library to the latest stable version 0.7.1.
* Compatibility: Old existing ciphered files remain (obviously) fully backward compatible with this update.
* Technical details: https://www.axew3.com/w3/forums/viewtopic.php?t=2189
* Remove: Removed the public function `remove_html_and_js_comments($content)`. This function was previously executed to prevent WordPress `wpautop()` from automatically injecting `<p>` tags into the embedded `w3mypq_body.html` file. This issue is now bypassed by properly wrapping all HTML tags and HTML comments inside container `<div>` elements instead into the `w3mypq_body.html` file.
Noble 0.7.1 (run better):

The technical changes that directly cause this smoother performance include:

1. Synchronous Refactoring (No Event Loop Overhead)
In earlier experimental versions, many cryptographic steps utilized asynchronous promises (async/await) or internal micro-task queuing. In version 0.7.1, core primitives like encapsulate() and decapsulate() execute completely synchronously. By avoiding the JavaScript Event Loop overhead, the browser/worker doesn't pause to schedule promises, resulting in immediate execution loops.

2. Zero-Copy Garbage Collection (Memory Fluidity)
Post-quantum cryptography is mathematically heavy and handles enormous matrices of bytes.
Version 0.7.1 optimized how Uint8Array buffers are recycled internally:
Fewer Array Allocations: The library now reuses memory arrays rather than constantly instantiating new intermediate arrays in RAM.Reduced GC Pauses: Because fewer temporary arrays are created, the browser's Garbage Collector (GC) doesn't have to pause execution to clean up memory junk, preventing micro-stutters during heavy encryption loops.

3. Loop Unrolling and Optimized NTTRef (Number Theoretic Transform)
Both ML-KEM and ML-DSA rely on polynomial multiplications handled via the Number Theoretic Transform (NTT). The math engine in 0.7.1 was tightly optimized:
Loop Unrolling: Critical mathematical loops were unrolled to execute consecutive assembly-like operations rather than running thousands of generic iterations.
Bitwise Efficiency: Core operations leverage native JavaScript 32-bit integer boundaries more efficiently, which modern V8 engines (Chrome, Edge, Node.js) optimize flawlessly.

4. Leaner Tree-ShakingBy modularizing the library paths (@noble/post-quantum/ml-kem.js), the bundle compiled by esbuild strips away all unneeded cryptographic overhead (like Falcon or Sphincs+ parameters). This ensures the CPU cache only deals with the lean, targeted binary instructions of your two specific modules.