<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv" -->

---
title: .NET Developer, Personal Blog | daily.dev
description: A performance comparison of signature algorithms available to .NET 11 developers, covering RSASSA-PSS, RSASSA-PKCS1, HMAC-SHA256, ECDSA (P-256/P-384), and the...
canonical: https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: .NET Developer, Personal Blog | daily.dev
og:description: A performance comparison of signature algorithms available to .NET 11 developers, covering RSASSA-PSS, RSASSA-PKCS1, HMAC-SHA256, ECDSA (P-256/P-384), and the...
og:url: https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv
og:image: https://api.daily.dev/og/posts/j7IvF7bBV.png
og:image:alt: .NET Developer, Personal Blog
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# .NET Developer, Personal Blog

**[Laszlo Deak](https://daily.dev/sources/ladeak)** · 18 min read · 0 upvotes · 0 comments

## Summary

A performance comparison of signature algorithms available to .NET 11 developers, covering RSASSA-PSS, RSASSA-PKCS1, HMAC-SHA256, ECDSA (P-256/P-384), and the post-quantum MLDsa44 algorithm. Benchmarks run with BenchmarkDotNet across Windows, Linux, and Android (Samsung S25 and S10 Lite) to measure single-shot versus multi-message signing performance across different message sizes. Key findings show asymmetric signature cost is dominated by algorithm choice rather than message size, single-shot operations carry heavy initialization overhead, post-quantum MLDsa is slower than ECDSA but faster than RSA, and platform (Windows crypto vs OpenSSL on Linux/Android) significantly affects performance while relative algorithm ordering stays mostly stable. Also shares practical API learnings about .NET's cryptography classes, signature buffer sizing, and HKDF usage for HMAC key derivation.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <http://blog.ladeak.net/posts/crypto-signatures>

## Questions this post answers

### How does ML-DSA-44 post-quantum signature performance compare to ECDSA and RSA in .NET 11?

ML-DSA-44 signing is slower than ECDSA but faster than RSA on the same hardware. On Windows, single-shot ML-DSA signing took about 830 microseconds versus roughly 1,560-2,350 microseconds for ECDSA P-256/P-384 and over 43,000 microseconds for RSA-PSS or RSA-PKCS1. In multi-message scenarios on Windows, ML-DSA signing averaged around 290 microseconds, compared to 113-206 microseconds for ECDSA and over 400 microseconds for RSA.

_Developers weighing post-quantum signature adoption can track real benchmark data like this on daily.dev._

### Why would I use HKDF before signing with HMAC-SHA256 instead of using my shared secret directly?

A shared secret should be run through HKDF to derive a pseudo-random key before being expanded into the actual HMAC-SHA256 signing key, because HKDF properly derives cryptographic key material from a secret and some public context information. HKDF itself is deterministic, and unlike asymmetric signatures, symmetric HMAC signatures are not publicly verifiable since both parties must share the same secret.

_Anyone implementing message signing can find practical crypto API guidance like this through daily.dev._

### Does the platform (Windows vs Linux vs Android) affect .NET cryptographic signature performance?

Yes, platform significantly affects signature performance because .NET 11 uses different underlying crypto implementations: Windows uses its built-in crypto service provider while Linux and Android both rely on OpenSSL. Performance differences vary by algorithm and are not uniform; a modern Android phone like a Samsung S25 was surprisingly not far behind a laptop for some algorithms, though the gap depends on which algorithm is used. The relative ranking of algorithms stayed mostly consistent across all three platforms.

_Teams choosing crypto implementations across platforms can compare benchmarks like these on daily.dev._

## Similar posts on daily.dev

- [Post-Quantum Cryptography in .NET](https://daily.dev/posts/post-quantum-cryptography-in-net-9uq2cqj7r) · .NET Blog · 25 upvotes · 0 comments
- [Why we cannot wait for better post-quantum signature algorithms](https://daily.dev/posts/why-we-cannot-wait-for-better-post-quantum-signature-algorithms-3zasaxenh) · Cloudflare · 1 upvotes · 0 comments
- [The Great Certificate Size Explosion – IPsec Series, Part 7](https://daily.dev/posts/the-great-certificate-size-explosion-ipsec-series-part-7-qqoeuqaeo) · Cisco · 1 upvotes · 0 comments
- [\(Post-Quantum\) Cryptographic Right Answers](https://daily.dev/posts/post-quantum-cryptographic-right-answers-ep2mrwipk) · Filippo Valsorda · 0 upvotes · 0 comments

---

Tags: [#.net](https://daily.dev/tags/.net), [#quantum-computing](https://daily.dev/tags/quantum-computing), [#cryptography](https://daily.dev/tags/cryptography)

[View this post on daily.dev](https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":".NET Developer, Personal Blog","url":"https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv"},"datePublished":"2026-10-04T13:07:08.429Z","dateModified":"2026-10-04T13:19:30.416Z","description":"A performance comparison of signature algorithms available to .NET 11 developers, covering RSASSA-PSS, RSASSA-PKCS1, HMAC-SHA256, ECDSA (P-256/P-384), and the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9b0ec3a95676d7dd7e16d628432bd93a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9b0ec3a95676d7dd7e16d628432bd93a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Laszlo Deak","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Laszlo Deak","logo":"https://media.daily.dev/image/upload/s--Uolv4Tlk--/f_auto,q_auto/v1791119054/logos/ladeak?_a=BAMAMicg0","url":"https://daily.dev/sources/ladeak"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":".net,quantum-computing,cryptography","timeRequired":"PT18M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Laszlo Deak","item":"https://daily.dev/sources/ladeak"},{"@type":"ListItem","position":3,"name":".NET Developer, Personal Blog"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/net-developer-personal-blog-j7ivf7bbv#faq","mainEntity":[{"@type":"Question","name":"How does ML-DSA-44 post-quantum signature performance compare to ECDSA and RSA in .NET 11?","acceptedAnswer":{"@type":"Answer","text":"ML-DSA-44 signing is slower than ECDSA but faster than RSA on the same hardware. On Windows, single-shot ML-DSA signing took about 830 microseconds versus roughly 1,560-2,350 microseconds for ECDSA P-256/P-384 and over 43,000 microseconds for RSA-PSS or RSA-PKCS1. In multi-message scenarios on Windows, ML-DSA signing averaged around 290 microseconds, compared to 113-206 microseconds for ECDSA and over 400 microseconds for RSA. Developers weighing post-quantum signature adoption can track real benchmark data like this on daily.dev."}},{"@type":"Question","name":"Why would I use HKDF before signing with HMAC-SHA256 instead of using my shared secret directly?","acceptedAnswer":{"@type":"Answer","text":"A shared secret should be run through HKDF to derive a pseudo-random key before being expanded into the actual HMAC-SHA256 signing key, because HKDF properly derives cryptographic key material from a secret and some public context information. HKDF itself is deterministic, and unlike asymmetric signatures, symmetric HMAC signatures are not publicly verifiable since both parties must share the same secret. Anyone implementing message signing can find practical crypto API guidance like this through daily.dev."}},{"@type":"Question","name":"Does the platform (Windows vs Linux vs Android) affect .NET cryptographic signature performance?","acceptedAnswer":{"@type":"Answer","text":"Yes, platform significantly affects signature performance because .NET 11 uses different underlying crypto implementations: Windows uses its built-in crypto service provider while Linux and Android both rely on OpenSSL. Performance differences vary by algorithm and are not uniform; a modern Android phone like a Samsung S25 was surprisingly not far behind a laptop for some algorithms, though the gap depends on which algorithm is used. The relative ranking of algorithms stayed mostly consistent across all three platforms. Teams choosing crypto implementations across platforms can compare benchmarks like these on daily.dev."}}]}
```

