# R&D : Hybrid Post-Quantum solutions

**URL:** <https://forum.dfinity.org/t/r-d-hybrid-post-quantum-solutions/57287>\
**Category:** Developers\
**Created:** [September 10, 2025, 4:14pm UTC](https://forum.dfinity.org/t/r-d-hybrid-post-quantum-solutions/57287 "2025-09-10T16:14:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZxFae33](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/zxfae33/32/30552_2.png) [@ZxFae33](https://forum.dfinity.org/u/ZxFae33)\
**Post date:** [September 10, 2025, 4:15pm UTC](https://forum.dfinity.org/t/r-d-hybrid-post-quantum-solutions/57287/1 "2025-09-10T16:15:00Z")

</div>

Hi everyone,

This topics specifies the Qubex Protocol, **Hybrid Post-Quantum Cryptographic** Layer 2, a **new approach** for blockchain transition to quantum-resistant cryptographic. We are following the Europe’s **ANSSI**  **recommendations** to ensure the transition with current system. **We use**  **ICP in layer 1** , which allows us to benefit from the basic speed of this layer.

**Read this post, share your feedback. Also we can open our repository for further review under certain conditions.**

_I apologize for this lengthy topic; I am currently finishing my white paper on our solution and am attempting to make it as straightforward as possible._

**Vision**

**On**  **our approach** we **implements NIST-standardized**  **post-quantum algorithms**  **in a hybrid**  **configuration** with classical cryptographic schemes to ensure backward compatibility and progressive migration. Respectively, given the uncertainty surrounding the official implementations chosen by blockchains, **we have built an abstraction** around the **ECDSA** and **Schnorr** for classical algorithm then **ML-DSA-44** (Dilithium-2) and **SLH-DSA-SHA2-128f** (SPHINCS+) **for** post quantum algorithms **to manage signature** schemes, and **we use**  **ML-KEM-768** (Kyber-768) **for datas encryption**.

I’m going to tell you about signatures; so we’re not going to talk about **ML-KEM-768.**

**Challenges**

Of course, there are **many significant challenges to consider** , some of which can be resolved; others require more in-depth work on the ICP protocol. (_More deeply challenges (private key management (no custodial system), canister communications..) must be implemented on the layer 1_)

For example for the _post-quantum_ transition we have the size challenge, **for a ECDSA signature the size is 64 bytes** , while **ML-DSA-44 is 2,420 bytes** or **SLH-DSA-SHA2-128f 17kb**. For that we have implemented a compression mechanism to reduce the size; we compress by **approximately 60%** using zstd. An another way, the compression/decompression must be assure the integrity.

Verification system →

**Phase 1**

```rust
// generate a signature
let signature = create_hybryd_signature(...);

// compress signature
let compressed = CompressedHybridSignature(...);

```

**Phase 2**

```rust
fn verify_compressed_hybrid_signature(&self, message: [&u8], compressed_signature: &CompressedHybridSignature)-> Result<...>{
// I validation before decompression
SecureDecompressionValidator::...
// II Secure decompression with limits
let decompressed_data = safe_decompress_with_validation(...)
// III Deserialization
let signature = HybridSignature::deserialize_from_bytes(...)
// IV Verification cryptographic
self.verify..
}

```

 ![Untitled Diagram.drawio](https://us1.discourse-cdn.com/flex023/uploads/dfn/original/3X/b/5/b55db7211301acf0735ed732358e73b25427aafd.png)

That’s so one example among others examples we try to solve;

**Hybridation**

Today we have make many progress on this R&D, **the hybridation system is the BETTER way to ensure the compatibility with the current system** , and be ready to the quantum era;

**Why ?**

Let me explain the concept: imagine that **a transaction is represented by a color** , this color being a signature. **This color is vulnerable**. _When? We don’t know\*_, but it can happen very quickly. **The principle is to protect current transactions using a dual signature system** , i.e., two colors: **the first color guarantees compatibility(ecdsa, schnorr**…**)** with current protocols, while **the second signature guarantees a future validation** system that is already active. Why? Because **by creating a hybrid system, we can link two signatures and impose double verification**

(\*_Yesterday’s advice has become recommendations, which have become obligations. Sensitive sectors such as finance, telecommunications, and energy are required to find a quick solution within a specific deadline-USA_)

**So in concret term what is happening ?**

(I truncated the generation so that it would be sufficiently readable)

You can see many parameters on a hybrid generation

```candid
dfx canister call qubex_crypto generate_hybrid_keypair '(record { require_both_signatures = false; 
    fallback_to_classical = true; 
    minimum_security_level = variant { Standard }; 
    auto_upgrade_signatures = true; 
    quantum_readiness_threshold = 0.9 
  })'
(
  variant {
    Ok = record {
      key_id = "hybrid_1757446383536423918";
      classical_algorithm = variant { ECDSA };
      derived_address = "hybrid_9d78b5a1b885bb21b34346e10650c2eb8a4d3e55";
      quantum_public_key = blob "\37\e8\65\7d\9a\40\ca\c8\6f\8c\6a\8f\57\dd\ba\5f\91\89\41\a5\3a\02\79\05\f0\3a\31\94\02\94\21\67\fa\83\b5\ae\a7\c3\ed\1d\22\f1\ec\39\20\0d\e8\50\19\e4\5d\e3\19\c4\3e\2f\7a\1b\c2\3d\8c\3c\8c\0d\c9\75\ec\9c\95\39\58\30\91\53\58\a6\d1\7e\71\95\67\8e\fc\fa\77\7c\59\01\39\85\a5\dd\0e\92\85\78\9c\76\cd\56\64\e7\b6\04\e0\b1\5e\e4\81\02\b9\1e\66\5a\f4\78\01\fe\33\1a\5f\55\9b\c7\18\ad\6a\f8\d6\08\01\87\0e\25\8d\1c\e4\f3\1a\2d\1e\1b\07\a2\a4\53\98\f2\da\20\9a\c0\d1\37\3d\c5\16\cc\69\31\c0\a7\ff\04\34\68\6f\ae\bb\79\d4\40\6c\d4\31\76\6c\10\53\f0\3d\4e\6f\43\e4\64\e8\06\e4\5f\d9\dc\64\16\8f\36\b7\d2\71\8a\76\c8\cd\04\4d\c2\52\d2\c7\06\de\e6\d4\85\82\ba\ee\57\d5\8b\2a\39\6f\bb\41\28\c1\26\1a\55\87\a9\1f\1a\83\7c\05\8c\cb\25\c9\4f\7e\a8\80\6a\30\71\84\fc\a7\e2\ab\eb\29\66\47\23\58\3b\f1\d4\70\de\22\a5\bb\50\1f\64\53\54\db\44\cc\dd\7c\9b\12\e8\36\6a\b0\15\0b\81\f4\13\c3\37\10\66\ed\e0\a7\d6\09\c7\fa\8d\a4\24\a2\5a\e8\d6\74\5d\8b\b2\c4\10\9b\35\91\b6\72\b0\62\50\d9\9d\05\54\6a\5d\b3\64\9b\ea\b0\6d\4c\c2\94\39\9a\a6\32\a0\b9\e5\ab\75\b6\f7\e7\4b\c3\eb\ad\8f\3b\8c\df\53\5f\85\56\c2\5d\4d\e0\d7\07\ad\20\18\cb\65\0e\ff\13\cf\3e\1d\e0\f7\7a\de\71\ea\3e\60\58\de\1e\ad\41\09\8c\fc\aa\1b\bc\e3\ee\7d\9f\c4\b5\78\c8\9e\ed\45\2d\3b\5f\41\d0\bd\fb\f2\d0\30\9f\1d\00\bd\ef\a3\f1\30\61\f6\b4\4e\5c\33\bb\84\21\fa\f8\c7\0c\ab\f7\4e\6c\8b\6a\78\2a\77\7d\bc\fb\34\9b\e1\b9\6f\cd\3a\42\85\bd\77\5f\41\aa\28\a2\b6\0c\18\16\d8\a1\7d\59\8c\03\70\fc\06\02\fb\aa\fc\3e\43\7e\63\e8\8a\aa\05\dd\3d\32\40\d8\06\48\fc\2d\50\cd\0e\50\11\12\71\16\ce\13\35\49\e4\69\35\c3\07\9a\07\60\71\34\54\98\fa\ce\a5\7b\c5\0d\9d\80\aa\a2\6d\35\a4\4c\32\5b\ed\1c\a4\c1\e3\91\ae\0b\93\8e\1a\f7\89\88\91\e8\e0\7c\be\91\18\b4\51\74\d3\30\3d\b7\7d\82\bb\a4\60\09\a1\0b\0a\d8\ea\8c\21\6e\00\c3\05\c9\7c\53\db\e0\c0\1e\e4\19\af\98\f5\60\4b\74\25\1f\0a\a1\8e\39\ed\1e\2b\8b\cb\37\e5\c8\87\7a\b3\17\19\b5\dd\b9\2a\ff\6a\c8\15\4c\e8\53\55\72\f5\61\41\a2\9c\3d\9a\48\b5\81\23\41\30\c8\66\9e\d6\57\92\5b\e7\64\1e\71\fe\25\00\1f\d0\f3\0a\df\3d\8e\9c\a4\07\9c\39\e6\06\79\fa\77\b5\8b\f0\8e\33\ed\52\65\0e\6f\57\8c\f3\c0\34\c9\6b\28\32\2a\a4\dc\e1\c8\77\31\37\8a\77\f3\8c\d9\2d\23\df\8c\10\32\e6\07\0f\9b\f0\c5\9d\d9\c8\94\b3\b8\ed\c8\79\fc\70\b3\98\d4\e2\f1\f6\de\04\6e\35\dc\95\05\46\38\54\3d\15\3a\4f\61\56\b8\e1\59\96\13\59\d3\bb\35\81\25\e7\60\85\70\2b\90\99\7d\43\6f\fb\41\bb\59\c0\fb\0d\3e\1d\08\a7\3f\cc\9e\cf\7c\34\d6\59\f2\34\48\52\8f\d9\b6\21\d9\94\77\58\11\fe\73\66\0f\4a\1e\3a\12\a3\15\9d\fa\f1\62\69\78\a8\87\ee\c0\fb\fc\3f\1e\ff\f0\0a\9d\95\fe\81\17\66\3e\0c\31\2f\27\3c\14\ff\78\eb\aa\f1\ed\3a\34\06\67\48\1b\ab\8e\46\fd\34\b6\89\65\f9\41\9c\8d\39\4b\09\56\3e\fc\2e\62\71\39\b3\89\21\4c\06\f5\c9\40\fc\40\74\46\e7\d8\04\fe\c4\50\82\2b\eb\bd\ab\d9\ee\1c\e0\60\49\53\d2\06\63\77\06\fa\ca\57\ca\67\f8\6d\58\78\05\c1\73\6f\b0\35\f5\96\27\cd\1e\7c\b3\b1\e9\b4\d1\48\d4\45\ba\e9\d6\f1\5c\6c\d9\58\24\65\33\f3\2f\5c\c4\79\49\52\3a\46\1b\f2\83\f3\88\84\62\c2\ca\07\39\f8\31\ac\01\86\88\fb\64\be\11\bb\bc\8d\5b\70\e1\eb\1c\7e\1d\d1\e7\51\6a\d9\8c\2c\3d\8b\86\d1\5b\a4\b4\db\b2\b5\94\43\3d\31\c3\4f\88\c2\96\0e\78\87\a7\5d\34\38\bf\ec\91\09\35\25\a7\f2\eb\42\c9\7f\da\20\7a\ab\bf\23\8e\a4\c8\18\28\eb\37\af\98\01\02\1c\55\62\92\31\bf\e2\87\a2\2c\d6\08\44\f1\be\ab\fe\d5\ee\87\e5\80\c3\90\6f\49\4b\ae\ad\35\f3\a5\7a\fe\12\09\70\58\d8\cc\00\0a\fb\3d\38\12\e5\7c\97\6f\3e\3e\ac\dc\ec\1e\04\c9\74\1f\2b\ad\61\cd\78\a8\db\db\f3\6b\ec\aa\91\f7\d8\1b\c2\02\bd\3d\0a\85\7d\18\8a\dc\25\10\1c\aa\e6\f6\45\30\a9\61\a0\6b\dc\ef\5b\b1\78\e3\48\11\a9\61\f9\88\37\3f\3b\30\9e\16\35\3f\84\08\7d\f4\23\8b\00\93\81\20\90\cb\ec\98\2e\d6\1b\a6\6a\fd\cc\23\1c\ba\72\d0\7d\db\e0\bc\85\d9\ce\6b\75\67\a2\6a\97\b2\b3\c5\fd\26\b0\a2\67\7c\13\b8\c2\8c\1d\7a\98\e1\97\f9\f0\32\2c\98\bb\1f\84\52\8c\95\53\97\d5\6c\78\7f\96\dc\77\b2\8a\fd\07\fc\ab\26\c4\9d\2c\fb\51\25\66\0f\ad\ee\9b\8b\8e\89\73\15\8e\4a\6b\fb\10\14\3a\e8\34\90\78\8f\c9\36\25\4d\05\aa\fe\21\0c\e2\ed\13\4c\83\31\d8\6b\3a\ec\26\bb\65\e9\9d\ea\d9";
      classical_public_key = blob "\03\d4\25\ae\ee\11\a0\bf\08\8f\f7\ed\ae\80\4c\9d\59\ba\47\80\e8\fa\51\ca\45\07\6c\58\a8\88\98\2d\7c";
      quantum_algorithm = variant { MlDsa44 };
    }
  },
)

```

Now we can sign the transaction :

```candid
dfx canister call qubex_crypto create_hybrid_signature "(record {
    message = blob \"516265782048796272696420536967207465737421\";
    key_id = \"hybrid_1757442545037856490\";
    transition_mode = variant { HybridRequired };
    policy = null;
  })" 
(
  variant {
    Ok = record {
      metadata = record {
        security_level = variant { Quantum };
        version = 1 : nat8;
        timestamp = 1_757_442_849 : nat64;
        transition_mode = variant { HybridRequired };
        compatibility_level = variant { Modern };
      };
      quantum_resistant = record {
        algorithm = variant { MlDsa44 };
        signature = blob "\a0\b6\fe\e4\f1\8e\86\4b\4b\a6\8f\19\50\8d\ab\ab\5f\56\0f\af\f5\d8\3a\89\5c\87\d5\ef\89\a6\c1\29\7a\45\65\70\16\14\a7\41\be\a9\f0\68\b6\9f\74\86\80\0a\a2\25\cb\6e\08\2b\80\de\0c\89\96\0e\56\83\07\c1\b9\94\c9\4f\17\6c\77\08\dd\97\38\59\ad\26\4a\6d\93\82\b8\a8\e7\c5\28\d9\94\4f\02\35\58\ba\d6\82\46\35\95\ef\9e\50\dc\9f\4a\44\a0\3d\60\22\69\ac\50\94\53\a6\1d\e7\31\49\43\1a\04\c9\bb\cb\8c\72\1e\44\67\31\8f\c4\12\57\dd\30\8f\b5\b0\34\3c\63\85\d5\9a\aa\5e\7e\64\e8\10\d6\52\c7\a4\39\4a\31\01\17\5a\90\18\2c\25\6c\a8\ad\be\c9\4f\d6\85\99\6d\d3\d9\9f\80\0b\47\e9\52\1b\dc\d8\5b\01\2c\b7\65\68\63\8b\ad\8a\42\c3\d4\58\0d\8a\c1\19\29\39\db\1a\4e\e9\5b\ae\87\d3\10\7b\fa\19\96\d0\b7\42\35\d4\05\b0\37\b2\79\d8\d3\44\90\21\0c\b6\38\b6\b0\b5\b2\d5\d7\79\b4\bc\33\27\5e\2b\16\...5e\4c\94\99\ef\f1\d9\b5\8a\10\f8\5c\5d\9d\ab\32\4e\98\ed\82\58\9b\18\9c\ee\16\5a\1e\fc\19\ac\4d\73\56\c7\1a\81\57\d8\b5\1a\34\51\40\50\d5\8e\89\80\18\e4\19\5c\88\66\32\0e\08\ca\91\ed\50\f1\12\4e\d7\77\fb\60\e9\97\bd\c3\6b\3a\74\cb\62\af\fa\af\20\0a\4b\b0\b1\9e\4e\97\80\10\c2\0f\15\4f\b1\f6\ad\63\a6\59\23\6a\97\d4\6d\0a\e9\65\7f\4f\2b\82\6e\8e\5f\8b\69\72\c8\90\05\88\1d\6f\ee\fa\f2\ae\07\88\f6\a3\1a\09\cb\8d\7e\15\44\37\ec\29\5e\f7\67\dc\89\5c\51\97\75\d2\c9\36\e5\99\aa\b6\41\7d\25\b2\f7\e2\88\66\94\20\68\f5\b4\a5\b2\a7\3b\62\a2\ea\2c\17\bf\d6\14\a0\e6\e7\c4\de\0e\56\0d\4f\e7\1f\25\3e\d7\86\a2\e3\0c\82\7c\42\3a\44\7d\19\f3\ae\28\b8\6b\df\39\b4\f6\53\81\ce\83\8c\0a\20\3b\aa\47\e0\01\8e\e9\d3\0d\df\c9\47\87\7d\06\6a\c7\7b\cf\3a\49\ad\e2\a7\a2\75\fc\a6\cf\b7\ba\d1\c2\5d\70\c2\b2\ac\2e\53\cf\15\62\3c\1c\2c\9a\6d\4e\91\58\bd\cd\57\3b\f7\91\5b\22\fb\98\fa\30\5c\c9\d2\c8\d7\1c\e9\84\a3\6d\8d\4e\c4\d4\52\26\c0\c3\02\46\99\ed\97\45\ed\87\82\98\5b\b7\5e\c7\2b\fa\76\0b\76......35\91\84\4b\c1\dd\c0\fa\c1\f2\dc\91\65\5c\41\70\f2\4b\bd\b3\ae\7b\8e\23\9b\33\6a\b2\6e\fb\c7\70\0c\d4\86\eb\85\2e\90\27\23\30\77\0f\a5\92\d8\62\42\f9\e9\67\e3\2b\bc\ca\89\78\03\07\f4\bd\d0\45\61\63\19\6d\c2\92\46\6a\db\15\6f\b6\52\2d\15\e2\85\d9\b1\13\0a\08\0e\13\31\55\97\d3\d8\78\2c\84\03\cb\57\fa\67\f5\00\d5\bf\f1\28\fa\28\b3\8e\8f\d9\77\fb\34\62\c1\6b\45\5d\8e\ff\a4\7e\43\0e\52\98\3e\96\d3\8f\43\27\f4\42\77\63\50\66\48\52\01\63\46\b3\8f\44\64\3f\fe\41\8f\86\c4\19\35\5b\1b\90\ff\61\24\49\57\bc\3b\65\cf\18\89\44\11\92\e2\70\10\e5\f5\79\40\3a\5e\49\db\b2\15\29\ff\b6\f8\e4\7f\d1\d5\63\b4\34\c8\a4\e2\70\07\65\eb\35\d7\5e\2c\5f\b8\e6\32\f6\b9\08\6f......09\c9\ab\dc\e9\8c\3f\c1\28\78\a2\0f\67\1d\2b\0c\c8\79\d0\1b\6b\78\89\4f\be\3d\e0\db\8d\3f\c0\68\0f\c2\86\a9\6d\6c\3a\9b\8b\c2\82\c3\f4\ad\70\fb\f4\b1\5b\9d\ed\86\e1\af\d5\c3\6f\cc\df\57\c1\32\b0\cf\e2\9b\f4\08\52\26\de\ca\13\4d\68\64\60\25\cd\36\54\cb\e3\68\87\8f\2e\80\65\d7\99\76\42\a4\98\50\f1\e8\c5\60\09\fb\69\97\18\22\5a\c3\36\c9\9a\a9\3b\64\0c\28\5c\4d\63\5a\d7\8a\7b\bb\35\b1\df\d4\b7\3d\bb\f0\4f\1b\de\9c\8f\93\66\2a\6c\fa\47\66\50\a2\4c\0c\7b\c3\5b\3e\73\a8\b6\77\9a\84\f6\6d\00\2d\6e\5a\2b\62\82\63\3a\4c\ce\11\58\f6\69\87\19\53\cf\67\9b\91\d0\66\16\ba\5c\c0\fe\f6\c0\75\3b\7d\26\a7\cd\38\cd\a5\94\95\c5\1f\43\87\9f\05\f1\21\49\f9\62\f1\6d\a2\de\6b\6e\0d\96\7d\b7\b9\10\4a\4e\59\49\b9\6b\f2\3e\4c\74\dc\a9\c1\b2\11\26\c0\01\21\47\03\bf\f3\24\1a\71\29\2e\5f\90\d4\e1\93\33\78\3f\f6\66\d6\44\d2\a3\dd\91\37\6c\7f\67\04\42\2b\c9\05\13\14\17\19\1b\51\57\5b\84\8b\a1\a2\ab\b0\b1\b3\d0\d1\d4\d8\e2\ec\fb\00\06\08\0d\10\20\27\4c\63\83\bd\cf\d6\e4\f9\00\24\29\2c\37\4d\61\8c\97\a1\d7\e4\ed\f3\06\2d\31\3b\53\57\76\c2\c9\ca\df\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\27\35\40";
        public_key = blob "\33\d8\a2\7c\92\56\73\c5\5a\5b\e8\31\31\6b\df\70\c1\7f\3c\26\ad\77\dc\67\f6\ab\00\7d\05\f1\10\09\09\ad\b4\56\d7\bd\e6\1d\f7\f5\8f\fc\cc\54\de\a5\91\2e\83\9e\a2\1e\b1\b0\70\f4\ce\a4\7f\69\5b\ba\7c\1b\9e\bd\b2\12\a9\05\db\eb\65\8e\7c\17\fa\c2\f7\b6\48\6c\1b\ee\de\d0\bc\21\57\63......55\81\0e\18\46\b5\ea\0f\30\b0\8f\4d\d6\e5\7f\70\d2\b9\f1\81\9e\80\ba\fc\e1\be\84\0b\4c\dd\7a\b3\a6\91\fe\1a\e3\a2\41\16\d9\b5\52\76\5f\72\64\70\90\bd\36\d7\34\c8\4e\ac\cc\ab\08\4d\20\b7\9a\0b\a5\81\16\0f\56\e4\e9\6a\a2\da\d3\ec\71\cb\74\14\85\f3\51\b3\3a\22\92\d6\2c\19\db\d5\ec\1f\a6\94\e7\c1\31\65\4c\71\b3\e2\07\96\50\a1\57\4e\7b\ed\8b\d9\fd\d5\2e\dd\16\8f\67\d5\aa\8e\f0\35\5f...f6\27\b9\4d\68\93\c0\c4\b0\5d\9e\29\87\cb\df\29\fb\f6\e6\1b\f9\80\9a\d0\7e\27\c5\81\0e\bc\14\49\04\1d\39\07\d5\bf\5c\b4\bf\42\89\1d\61\61\0a\86\4f\b7\77\58\cf\a8\44\dc\3e\ff\32\ed\75\34\04\00\11\43\6c\1f\f3\00\9a\39\69\d0\9b\06\17\b6\31\39\92\df\e2\cf\51\1a\fa\3e\4d\d6\06\fb\1b\27\99\1b\00\1d\62\10\86\7d\6b\ed\73\fb\17\0d\51\8a\d6\11\87\d5\b0\cb\ba\e5\34\c3\04\ce\b6\11\22\7e\ef\63\62\de\e8\9c\4e\b8\a2\9f\ab\f8\a0\ce\9f\d1\9e\52\e1\4a\dc\9c\68\73\cf\63\d8\9e\c9\17\70\52\e4\f1\27\71\4b\21\56\c5\d0\25\a3\28\82\7e\af\7f\ed\29\df\15\8a\f1\ae\53\f0\9a\78\a3\a1\e1\f0\86\ce\39\7d\63\ce\f6\1b\af\29\1a\0c\48\37\f4\4f\ba\bb\95";
      };
      classical = record {
        algorithm = variant { ECDSA };
        signature = blob "\81\f4\1f\48\ce\7d\54\82\71\a7\52...51\2d\4c\fc\36\2b\aa\b2\b0\64\1e\ce\6a\3a\57\bd\c4\c0";
        public_key = blob "\02\f6\84\a9\68\0c\d2\...21\c7\81\a7\00\71\5f\68\1f\67\44\84\8c\4f\a8\b0\fe\82\f3\74\0d";
      };
    }
  },
)

```

Signature with compress algorithm

```candid
dfx canister call qubex_crypto create_compressed_hybrid_signature '(blob "ICP Forum - Post Quantum Cryptography", "hybrid_1757446383536423918", variant { HybridRequired 
  })' 
(
  variant {
    Ok = record {
      metadata = record {
        security_level = variant { Quantum };
        version = 1 : nat8;
        timestamp = 1_757_446_496 : nat64;
        transition_mode = variant { HybridRequired };
        compatibility_level = variant { Modern };
      };
      compression_level = 22 : nat8;
      compressed_data = blob "\28\b5\2f\fd\00\88\4d\a9\00\6a\88\8d\2b\23\20\6f\8b\9a\03\03\3d\34\ff\63\84\f6\07\3b\dc\2a\c0\87\28\58\05\20\2e\2d\2d\d9\d2\6a\85\0a\09\00\09\0e\02\c3\02\8d\02\92\02\57\2c\81\cf\13\ce\e6\78\77\18\6f\f4\09\5e\33\6e\65\1c\a2\4b\74\d2\54\fa\62\bb\60\9b\6d\c1\43\f4\a6\9d\1a\f8\c4\14\df\34\50\78\d1\33\72\b1\8c\45\24\93\4d\ed\41\9f\7d\c3\b8\c0\c5\0e\3b\e2\d7\2d\7a\85\c0\59\3c\c4\6d\dd\7a\f4\c2\d0\41\78\09\a7\1e\fa\dc\26\93\3c\55\b9\02\a5\93\bd\ae\aa\9c\7a\d1\12\e8\e1\36\07\7d\c5\43\88\e8\ac\39\0f\4d\94\1e\c6\e9\60\bc\66\3b\5e\81\17\ec\0d\99\4e\42\c4\49\3a\89\f0\92\4e\75\1d\1f\f9\02\6f\0f\d4\3e\b5\05\33\46\d1\5c\3b\3a\d9\21\1e\fa\7a\c4\15\38\c9\c2\5e\e4\43\57\7b\79\28\27\fb\89\b1\5b\bf\72\....57\df\cd\e9\2d\bf\e0\14\9d\0b\f1\3b\6e\e4\75\f7\21\3f\e2\62\87\60\bc\c4\25\da\1e\76\08\71\dc\e8\98\47\7a\b8\89\f8\09\6f\e1\9d\65\f8\45\27\79\d9\8b\f8\d1\12\7c\a4\57\ba\1d\9f\e9\81\b8\94\d3\f1\28\3f\8a\71\93\6f\2e\e1\43\93\f8\1c\8f\cf\c8\a5\4b\3b\e5\30\37\f8\b4\d7\56\c6\63\e1\25\8b\53\71\de\a4\83\1c\ce\6e\ba\ad\9d\d8\29\47\5c\73\0c\37\11\05\0e\04\e0\40\01\1e\38\60\e0\60\41\83\05\3c\10\c1\03\08\14\44\30\81\04\5f\40\01\52\3e\72\87\53\70\23\6e\b6\05\5e\1f\dd\d0\69\87\e9\8d\6e\e5\ac\c9\f8\d9\35\9c\6a\2b\7b\c9\3c\1e\88\97\14\7b\54\60\01\04\16\d0\00\03\07\18\10\81\04\12\ac\00\33\3e\e5\6c\0f\c2\27\0e\c3\43\7a\09\e7\f0\11\6e\36\45\9f\e1\57\53\7b\89\37\78\c5\2d\37\f6\20\bd\26\70\21\af\74\12\6e\77\d9\e1\f8\f1\a8\2b\fa\d8\a1\1b\fb\05\ce\3b\08\6f\e8\21\dc\a2\47\e0\43\5b\bb\f5\0a\7e\c3\4b\96\e1\61\9c\d1\83\7c\77\63\1a\8f\e9\37\07\1f\e2\77\d8\14\8f\30\01\0c\24\58\d0\20\82\07\0a\20\70\00\03\07\09\4e\00\00\04\08\20\00\03\48\c0\40\82\07\1e\f0\80\41\83\08\38\c0\01\05\09\2c\c0\40\02\07\14\34\c0\c0\81\03\05\0e\34\90\c0\02\01\33\d6\72\93\e9\d0\ce\d8\ae\93\0e\d3\49\c6\a4\43\4e\a9\30\5d\64\5c\d1\9b\8a\3b\57\f4\e0\c4\3e\33\36\85\bd\45\3f\a3\70\0b\5e\69\51\a6\b0\69\d4\e7\e2\c3\a5\c7\74\9a\a3\78\98\f4\d2\81\ae\5a\6a\76\eb\24\3c\62\2a\a7\1d\62\3c\64\06\67\02\0f\4f\79\38\99\ec\e1\2b\d9\24\47\e8\e4\3c\06\a5\d3\2c\15\ba\dc\62\bc\ca\79\9c\36\6d\61\0f\e4\0d\a9\54\59\d3\44\18\e3\64\37\1e\3a\a2\53\39\dd\b5\36\e3\41\25\de\de\e2\62\bc\35\87\59\64\3a\f1\bb\5b\84\d3\1d\5d\42\08\13\0b\3d\71\65\db\1d\62\92\0d\8d\6b\a2\8e\c0\eb\16\86\7e\87\d0\85\6e\9f\8b\0b\46\3c\d0\a1\0e\35\87\cb\cc\d6\f0\40\4b\fb\c5\7d\b3\d8\32\27\9d\54\b1\ea\53\38\f1\70\35\47\56\8e\9b\0d\6e\57\8c\aa\f6\ca\32\45\3a\22\ac\0e\3d\a2\bd\19\7a\e7\a8\7a\48\e6\ca\c0\db\4e\56\0b\66\42\9a\66\e9\b5\60\83\17\66\b9\af\1b\43\98\8e\f4\ab\ad\68\61\71\0e\76\a8\1b\9d\72\ab\76\44\2f\b2\1e\b6\57\69\a1\5b\8d\d5\70\99\e2\c1\ae\fd\64\2e\89\bb\9c\b1\d5\14\38\6d\f4\c5\bc\a2\b6\1a\e2\d4\ef\78\b8\e7\36\ba\89\aa\cb\cc\0a\21\e6\c0\4d\......ad\78\f4\aa\cf\ea\68\af\04\8b\06\27\fa\6e\0a\3c\d8\72\d4\25\74\b1\d7\f0\f6\ec\b2\0b\8d\10\e3\50\bc\81\b3\7c\62\e9\81\84\17\b9\d9\77\11\42\27\ce\98\5e\c5\ed\cc\ea\e9\58\60\3f\7b\ba\cd\51\de\ec\56\97\71\99\2e\53\4d\73\60\1f\72\0a\e5\c6\85\aa\9d\74\ef\a4\b3\0e\fb\88\93\f0\10\9d\a6\15\ab\16\06\79\42\0f\72\05\1e\e8\d6\41\ce\5a\82\47\e7\2d\c3\2d\36\b9\ee\d0\6f\0e\f6\91\47\0f\1d\ca\d3\0b\db\8a\07\9a\75\90\2e\e4\77\c4\c3\4d\e3\c5\4e\e2\9c\89\b8\f1\06\3b\cd\37\5f\b5\9c\e2\a9\4b\76\6f\1a\1e\74\11\8f\4b\2f\ec\32\59\8e\01\77\8d\dc\6a\d2\41\7a\d8\46\7e\12\b8\d0\2d\63\67\79\a6\17\9d\3c\81\a5\67\ae\b1\b1\c3\c3\16\aa\ab\32\f5\b0\06\e7\b6\b0\a1\d3\39\d2\c3\dd\c0\43\3c\c6\ad\5d\ee\2a\de\43\e0\64\4f\e8\c6\ce\36\78\cd\65\e5\a4\13\71\b3\c3\1e\e1\26\9b\5d\34\c5\08\44\cb\f1\ea\2d\2f\b9\d3\ab\7d\7a\b0\1b\d7\4c\21\51\44\9b\46\54\b6\39\0f\c5\5c\7b\19\c9\30\73\b3\c9\11\1b\83\58\1d\45\03\eb\84\97\fc\ee\b2\6d\66\28\e2\81\38\85\78\b6\d4\21\96\86\2a\89\09\3c\82\cd\b8\fa\3d\c1\4e\25\0f\43\19\99\b8\9a\61\3c\29\6f\dd\f6\68\cb\f6\92\6d\92\10\ea\b3\a9\26\76\ba\82\05\bf\76\8a\7c\8a\b7\ee\1c\ba\f4\09\bc\ea\ce\0c\dd\e2\96\09\a7\cd\46\89\38\04\f2\b1\ab\bc\68\3b\86\7e\bd\6a\da\e0\75\7c\ba\88\88\30\74\32\2a\4e\a1\37\c5\71\57\78\8f\8a\cb\04\4d\e2\23\fd\e2\50\fc\68\ba\d2\d9\24\9d\2a\a4\56\2f\30\3a\23\a6\49\7d\b5\6c\a1\e4\41\97\bc\8c\33\66\2c\42\76\ce\a1\3d\c8\52\87\3c\77\75\c9\26\75\a5\4b\31\8a\4f\47\ec\ca\3e\43\23\1f\3e\fc\ea\0b\c4\e9\11\48\1e\77\05\b5\07\3f\c6\16\0c\9d\1b\6e\99\ce\c8\22\3c\1c\a7\20\24\31\9b\aa\09\7d\28\73\c9\bc\43\8c\c2\48\08\1e\f3\71\de\26\63\77\15\a7\f8\2a\d0\17\b5\a1\6d\1a\57\f0\38\84\88\ca\34\f0\b0\50\96\85\8e\46\bb\84\b2\4b\1d\b7\b6\31\87\d4\0d\8c\b0\2b\7a\cc\14\7c\e8\da\74\07\9b\66\d6\db\27\18\33\a4\4f\b0\bd\ec\95\6b\cb\7c\3c\2e\ed\5d\14\7b\cd\a4\f1\19\b3\1b\e2\47\eb\3c\d0\25\e1\a2\db\b5\4b\8b\cd\6d\95\98\5e\77\7c\88\df\45\73\b8\54\34\66\f1\93\69\f8\cc\42\7c\ec\70\1f\1d\6c\09\5c\6c\89\1e\c8\78\42\97\c5\26\e3\d5\8b\36\36\58\8d\c2\6f\38\9f\d3\85\1e\b6\44\21\26\dd\72\a2\43\b0\36\4f\48\67\08\fc\8c\cf\09\f9\0c\b7\ba\7c\e6\6a\a7\59\5b\62\7a\f5\de\54\a0\89\c0\29\e8\be\ea\55\b1\93\4b\b0\0c\13\07\f6\60\d2\b6\78\dc\8a\77\3e\e1\2c\1b\c4\8f\8b\5d\f5\1c\6f\90\1d\81\df\c9\65\9c\f6\b8\b1\c2\e0\e1\da\a5\62\66\1d\35\d1\0d\76\6b\a7\87\60\19\e5\88\a3\26\d1\17\53\3b\cd\15\7a\c9\54\33\3a\4d\f4\b0\b6\3d\62\9a\6e\93\d6\26\df\55\09\11\2e\a1\87\d0\8b\10\1b\ce\05\e1\75\87\a1\ce\3d\c4\43\a6\85\bd\34\59\a5\24\ad\3b\1b\bb\58\50\4a\e8\60\93\ea\3a\4e\d9\da\47\fa\54\85\53\5c\e9\5d\21\0e\69\9c\24\17\b8\40\02\03\34\88\a0\81\05\0e\20\68\50\00\07\16\50\60\81\03\0b\a8\c0\03\06\0e\30\60\00\83\07\0a\24\f0\40\04\1a\48\70\82\06\2c\68\c0\20\82\09\2c\38\40\03\18\34\60\40\05\08\90\a0\01\11\78\60\01\0f\18\38\80\40\41\03\3a\21\91\9a\92\c0\03\0b\1e\60\f0\20\c1\64\20\01\04\11\60\e0\a0\c1\02\0a\28\78\a0\a0\01\0a\1e\2c\78\a0\d8\25\22\8c\9b\0d\fb\c9\0c\5e\d1\23\96\99\ab\66\08\ed\1c\3a\71\8e\f4\a1\70\a2\78\c5\b4\39\5d\e4\9a\98\5e\c7\84\e1\55\0b\3c\18\16\26\1d\ce\f5......9e\eb\60\db\71\66\38\71\ba\de\25\4e\21\77\fc\16\b6\0d\9c\f8\cc\8b\90\33\70\19\96\d3\e8\b3\43\e0\8c\c3\10\97\b8\ed\25\c5\9e\98\52\9c\3a\bd\9b\4c\81\6a\86\5e\71\cc\52\ea\8c\e0\63\53\b7\10\ab\b9\f2\05\cd\22\04\7d\57\ab\c5\22\b0\87\71\99\43\78\43\27\84\d4\a8\83\41\44\3b\28\0e\84\24\cc\94\31\35\45\da\a4\d0\01\23\20\20\30\50\80\90\88\84\5e\4a\9c\0f\33\20\70\d0\ac\07\29\4c\fb\7f\07\de\f4\0a\98\c6\97\c4\01\14\1b\40\b2\6a\07\20\33\7a\01\9c\0e\c0\e9\0b\60\60\00\1d\1b\ed\00\ec\14\d5\19\29\17\4d\bc\a0\72\24\c4\dc\c0\d6\02\4b\a7\fd\21\43\1e\37\16\dc\84\6e\d2\03\87\c9\92\dc\e9\7f\33\55\34\61\ef\50\93\38\d4\e2\85\36\d0\e5\ed\de\b1\97\b4\a0\84\fa\96\75\54\75\2c\94\2e\e4\3e\12\6a\f6\44\0d\85\ec\f8\9e\d8\b3\36\ea\8f\e5\d3\b6\29\d6\f1\82\0d\14\0f\63\99\16\43\fc\8e\c8\6d\1c\7d\25\6f\2c\db\d4\95\15\50\12\ba\a0\61\05\65\27\75\43\68\87\81\d2\a9\b4\d2\14\3e\cc\23\2d\e2\1f\46\4a\34\52\53\fb\72\03\19\0a\21......8d\12\ad\75\8b\27\9c\50\5a\d0\a8\be\4d\e6\e5\f7\27\d9\fe\71\4d\77\86\59\ff\e6\9d\0d\ea\df\53\64\0a\db\db\0c\b5\9d\4a\7f\71\1b\dc\6f\86\95\da\46\9f\ba\d0\37\02\08\f8\92\68\42\9d\02\90\39\b9\0c\f0\b3\c6\7c\00\e7\b1\8b\c2\47\70\37\76\24\fd\5e\b7\04\86\6c\09\77\7b\48\94\f4\8f\40\c9\d4\33\7f\75\ab\35\8f\9b\2a\cd\58\9b\16\6a\2b\3a\b8\da\75\e2\00\66\cd\75\8c\37\13\77\b5\c3\b6\30\d4\d5\06\94\3d\06\24\c1\32\14\04\69\25\89\27\4f\c1\a1\2e\3f\82\18\c2\94\d9\4a\35\b1\26\0d\e0\9e\6d\c6\fc\2d\ad\ca\d9\a1\9b\1a\ce\b3\0e\e1\73\f4\68\21\d1\f5\b4\38\73\1d\0c\a6\cb\b9\ad\a9\35\8c\a7\cf\75\0c\0a\96\a0\81\58\58\95\ff\05\78\34\f4\5a\8d\d4\5a\64\f7\86\1b\45\a8\73\87\3e\d5\bd\f4\81\27\ed\2d\51\66\22\c8\cf\1a\74\c1\87\a6\a8\5c\24\9c\69\16\50\56\04\79\e1\ce\eb\0f\86\7b\e9\17\cc\4f\37\31\d8\88\b2\6a\66\03\3f\65\1c\cf\5c\85\23\65\df\cb\20\c0\a1\07\86\d8\9d\87\e3\1a\8d\06\a2\e5\cd\04\e5\b8\d2\a2\f1\73\5e\0e\95\53\e2\ec\ac\97\67\08\fa\dd\25\b0\5a\cc\51\f1\8e\e4\47\2e\e1\f7\16\1f\1a\dc\48\f3\5f\d9\cf\be\cd\23\04\4e\3e\71\a1\bb\d4\1e\17\8e\6e\68\77\32\de\f9\f0\4b\8d\10\df\e7\1a\53\52\be\51\a0\be\40\1b\ca\d2\20\cf\3a\36\fd\3a\3a\04\f0\f8\54\b5\02\1d\c2\7f\68\ec\b4\9f\c8\85\11\f8\a1\81\93\81\45\eb\66\35\ff\fd\be\5f\55\89\04\44\c3\aa\3b\7f\69\7b\ab\58\35\7e\10\93\8c\f4\d4\a1\ae\be\39\a4\31\05\9d\7d\8c\65\69\9c\1f\40\b4\0b\2e\01\d5\95\23\e7\4b\d0\c9\10\f0\68\ef\9b\9f\14\25\fb\13\8b\83\7e\e5\9a\8f\a2\c3\7d\5d\0f\ac\54\30\4f\a2\47\bd\91\e1\2e\3f\51\79\7b\78\2c\10\90\ce\e9\40\34\68\83\cf\ce\d4\dd\14\3b\71\1b\80\77\71\b9\c1\36\cf\2f\06\3d\50\f8\ba\97\e1\c1\cc\05\5f\bc\42\80\24\c9\30\c1\b3\a3\e0\d3\cb\dd\c3\fc\0a\e4\4a\c1\8d\b5\a2\ed\23\7f\72\......59\d0\4b\f7\e8\34\2b\0d\bd\b2\72\f1\dc\de\21\8d\39\66\00\81\95\d3\76\73\bc\8e\29\1f\8e\b4\a1\4e\b3\23\a3\10\9f\b7\16\d8\15\31\b8\30\f0\3b\c1\21\99\af\4a\28\09\e2\6d\53\e4\fc\3b\23\62\b1\0c\fe\62\ef\37\99\c1\94\06\de\79\ba\4c\e1\d5\20\83\3f\8b\14\cc\4b\51\5e\9c\d1\29\5e\e4\29\a4\20\f3\29\2e\d7\39\cf\bc\c3\9a\63\8a\0e\42\f1\a1\f4\4b\08\63\97\c4\3f\a7\81\ca\0a\7b\0f\9e\de\e4\57\1f\61\69\76\b1\0b\e8\bf\d7\85\8b\57\47\5a\d4\4b\34\fd\af\79\cc\26\4b\e6\ba\4b\5c\8a\79\fb\77\e2\88\84\97\cf\1f\89\39\3d\6f\ba\21\28\7c\9b\5a\28\40\93\0d\92\ad\fe\8c\bf\ab\59\bf\b2\3c\ab\37\eb\c5\......e2\ea\a4\33\0c\d8\f0\f2\0c\20\9b\a3\e2\33\b3\b9\c4\69\ee\22\93\27\1a\77\b8\b3\ac\04\2e\58\9b\88\71\f7\ca\cd\a9\c7\19\8a\b3\75\ce\bf\48\fd\1e\d0\1e\02\4e\2f\89\7c\a4\55\da\50\8c\f5\7c\66\b2\88\ca\ec\b2\53\12\ec\38\bc\ad\8c\7c\74\6b\f7\23\d2\22\7d\fe\3d\16\dc\2a\f1\f4\66\fe\93\94\52\23\cc\f4\e3\c9\e1\5c\00\94\72\ec\d9\92\38\4e\d0\05\87\9e\c9\5f\aa\e0\56\bc\98\da\3b\0b\66\2d\85\9b\99\50\29\c9\d0\24\e2\bf\4b\f1\ac\8c\ac\e2\8e\21\f2\87\4c\71\80\a4\1f\58\2a\b0\fb\4d\b4\22\50\c2\ea\4a\19\7d\7c\c1\14\03\48\4b\0b\76\74\30\6d\3c\bd\9a\74\30\59\95\7d\34\e8\6c\86\ad\31\2d\aa\d2\2a\f9\ff\ed\c2\ec\b6\45\f4\c5\04\a6\00\33\2c\5b\7c\d2\1f\38\1b\a2\2a\f2\06\1a\fe\......5c\7f\90\ee\40\56\d0\78\95\56\9c\69\de\a2\1d\db\40\6d\d1\13\87\5b\1d\97\2a\51\7f\49\8a\1e\d1\22\b4\77\45\cb\b8\9e\91\0c\fa\f7\29\4c\38\4c\6f\6d\fb\fd\90\2d\8f\3a\97\ef\9d\45\a8\56\28\ad\f0\e0\70\4d\e4\9c\36\d7\d2\40\1f\41\7c\f0\ec\8c\07\10\8a\ca\78\66\28\40\a0\25\dc\5c\f8\94\a2\a2\00\68\08\04\02\71\ec\02\50\44\76\40\9a\40\8c\28\a5\09\04\10\1e\a5\42\57\a7\10\5d\1d\f6\74\4a\22\16\39\d9\0d\e1\e4\5d\e2\e9\87\ee\cf\6f\12\e8\0a";
      compressed_size = 5_426 : nat64;
      original_size = 13_955 : nat64;
      compression_ratio = 61.11787889645288 : float64;
    }
  },
)

```

We gain ratio : 61%.

**Terminal view**

 ![screenshot_09092025_215330](https://us1.discourse-cdn.com/flex023/uploads/dfn/original/3X/7/3/736c11c9b4beece517d8211b7e3ec529ab33c265.png)

For this demonstration, I created a message with a simple string, but in reality, we use it for transactions, whether batch transactions or simple transactions.

**Now we know we can create an hybrid signature, so what’s the next ?**

**Part II** : Wallet Quantum Safe

Philippe.

---

<div class="post-metadata">

**Author:** ![baolongt](https://avatars.discourse-cdn.com/v4/letter/b/4491bb/32.png) [@baolongt](https://forum.dfinity.org/u/baolongt)\
**Post date:** [September 12, 2025, 10:45am UTC](https://forum.dfinity.org/t/r-d-hybrid-post-quantum-solutions/57287/2 "2025-09-12T10:45:05Z")

</div>

Hi! I’m not understand much on this cryptographic topic but good luck
