Gérald Doussot

@gerald_doussot
89 Followers
480 Following
42 Posts
I break and build stuff. (Re)current incursions in information security, cryptography and development. @ NCC Group Cryptography Services.
NCC Group Cryptography Services Researchhttps://research.nccgroup.com/category/cryptography/
#rakulang goes post-quantum! I added a *toy* implementation of the ML-DSA digital signature algorithm to the Obscure #cryptography library https://github.com/gdncc/Obscure

My team, NCC Group's Cryptography Services, and I, together with colleagues in Hardware and Embedded Systems and AI/ML, conducted a series of security assessments involving selected aspects of Google's Private AI Compute in the cloud.

Read the public overview report on NCC Group's research web site.

https://www.nccgroup.com/research-blog/public-report-google-private-ai-compute-review/

#cryptography #ai #research

Public Report: Google Private AI Compute Review

Public Report: Google Private AI Compute Review

My team, NCC Group's Cryptography Services, and I, together with colleagues in Hardware and Embedded Systems and AI/ML, conducted a series of security assessments involving selected aspects of Google's Private AI Compute in the cloud.

Read the public overview report on NCC Group's research web site.

https://www.nccgroup.com/research-blog/public-report-google-private-ai-compute-review/

#cryptography #ai #research

Public Report: Google Private AI Compute Review

Public Report: Google Private AI Compute Review

I am very happy to report that physical copies of our Tamarin book are now available from Springer Nature. Order your hardcopy here:
https://link.springer.com/book/9783031909351

or read the PDF and the accompanying files for free here:
https://tamarin-prover.com/book/index.html

big thanks to my co-authors David Basin, Jannik Dreier, and Ralf Sasse!

2025.23/24 Vibe codified - Rakudo Weekly News

https://programming.dev/post/32311744

2025.23/24 Vibe codified - Rakudo Weekly News - programming.dev

Lemmy

It is not well-documented, but it turns out that if you try to run crypto benchmark code on a STM32F407 ("discovery") board (with an ARM Cortex M4 CPU) with instructions in SRAM (instead of Flash), then you get extra delays, unless you set SYSCFG_MEMRMP accordingly. After a week-end of dabbling, I can now run my benchmarks (for Falcon/FN-DSA) at 168 MHz with no wait states or cache issues. Details here: https://github.com/pornin/c-fn-dsa/tree/main/bench_cm4

(As a side-note, I have done some more assembly optimization work, so signing cost is now 19.7 mcycles at n=512, down from 22.0 previously.)

c-fn-dsa/bench_cm4 at main · pornin/c-fn-dsa

Contribute to pornin/c-fn-dsa development by creating an account on GitHub.

GitHub

This week I implemented the velusqrt algorithms for the rust library im working on: https://github.com/GiacomoPope/isogeny_rs

Good news is that it works generally and is pretty fast (~100s of microseconds for an isogeny in CSIDH compared to 10s of milliseconds in Sage) but it's definitely not standing up to the state of the art. There's a few reasons for this:

1. I am not using the scaled remainder tree for multipoint evaluation. A proper implementation of this needs a handful of specialised polynomial arithmetic functions to compute the low, inverse and middle elements of the product of two polynomials f and g.

2. I probably have made some silly mistakes in Rust itself and I'm wasting time with clones and allocation when I could be borrowing more or using scratch buffers

3. My estimates about inversion costs and multiplications through sets is slightly off and I should invert less and use projective things more. This is a little harder to guesstimate in a general setting without picking a precise prime.

If anyone wants to collaborate on optimising this please let me know. I’m sure there’s loads I could be doing better!

GitHub - GiacomoPope/isogeny_rs: Rust library for isogeny-based cryptography

Rust library for isogeny-based cryptography. Contribute to GiacomoPope/isogeny_rs development by creating an account on GitHub.

GitHub
Since I wrote a SHA-3 implementation in Raku while also writing one in Lean 4, I thought I might as well share the Raku version too. Raku is a fun language. You can find it here: https://github.com/gdncc/Obscure
#rakulang #cryptography
GitHub - gdncc/Obscure: Raku Cryptography Playground

Raku Cryptography Playground. Contribute to gdncc/Obscure development by creating an account on GitHub.

GitHub

This week I had some research time and developed a rust library for isogeny based-cryptography. The main feature is that I have an implementation of SQIsign following the NIST round 2 spec with 4.5ms verification time using pure Rust (no assembly for my finite field arithmetic).

There's still a lot to improve, clean up, document etc, but I thought some people might be interested: https://github.com/GiacomoPope/isogeny_rs

Super interested to collaborate to expand this library further and to improve performance and readability of the code.

GitHub - GiacomoPope/isogeny_rs: Rust library for isogeny-based cryptography

Rust library for isogeny-based cryptography. Contribute to GiacomoPope/isogeny_rs development by creating an account on GitHub.

GitHub

New paper on computing pairings using cubical arithmetic with applications to isogeny based cryptography.

https://eprint.iacr.org/2025/672

Summary:

If you are careful with the projective factors of a point (X : Z) after computing scalar multiplication then you can compute the Tate pairing e_n(P, Q) directly from the values P, [n]P and [n]P + Q using only the x-only Montgomery ladder. The Tate pairing naturally also gives the Weil pairing. The end result is more efficient and easier to implement pairings for any curve with a Montgomery model.

SageMath implementation for E/Fq and Rust implementation for E/Fp^2 available too

http://github.com/GiacomoPope/cubical-pairings

Simpler and Faster Pairings from the Montgomery Ladder

We show that Montgomery ladders compute pairings as a by-product, and explain how a small adjustment to the ladder results in simple and efficient algorithms for the Weil and Tate pairing on elliptic curves using cubical arithmetic. We demonstrate the efficiency of the resulting cubical pairings in several applications from isogeny-based cryptography. Cubical pairings are simpler and more performant than pairings computed using Miller's algorithm: we get a speed-up of over 40% for use-cases in SQIsign, and a speed-up of about 7% for use-cases in CSIDH. While these results arise from a deep connection to biextensions and cubical arithmetic, in this article we keep things as concrete (and digestible) as possible. We provide a concise and complete introduction to cubical arithmetic as an appendix.

IACR Cryptology ePrint Archive