QH

quipnetwork/hashsigs-solidity

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

11,2 тыс. stars Качество 66 Тренд 89AGPL-3.0

Контракты на твердость, реализующие постквантовые подписи на основе хеширования

Обзор

Реализации Solidity на основе хеш-схем подписи: схема одноразовой подписи WOTS + и гибридная конструкция SHRINCS Stateful / Stateless. Производственные контракты в контрактах / охватывают только проверку по цепочке. Состояние восстановления на стороне подписчика, логика восстановления семян и управление жизненным циклом кошелька выходят за рамки; помощники подписчика Solidity живут под тестом / помощниками / и не могут быть развернуты. Ключи цитирования следуют CODINGSTANDARDS.md §1. — (contracts/WOTSPlus.sol) — схема разовой подписи Winternitz [WOTSPLUS] (A. Hülsing, W-OTS+: Shorter Signatures for Hash-Based Signature Schemes, AFRICACRYPT 2013; https://eprint.iacr.org/2017/965). Keccak-256, 32-байтовые хэши и сообщения, параметр Winternitz w = 16, 67 цепей (64 сообщения + 3 контрольная сумма). Самостоятельно, без зависимости от SHRINCS.

Обзор (машинный перевод)

Верификаторы-ориентированные реализации Solidity на основе хеш-подписи Схемы: схема одноразовой подписи WOTS+ и гибрид SHRINCS государственное/негосударственное строительство.

Производственные контракты в contracts/ покрытии по цепочке Только проверка. Состояние восстановления на стороне сигнера, логика восстановления семян и Управление жизненным циклом кошелька выходит за рамки; только для тестирования Помощники живут под [[Т1]] и не Развиваемый.

Реализация

Ключи цитирования следуют CODINGSTANDARDS.md §1.

  • WOTS+ (контракты/WOTSPlus.sol) Схема единовременной подписи Винтерница [[Т2]] (А. Хюльсинг, W-OTS+: более короткие подписи для схем подписи на основе хэша AFRICACRYPT 2013; . Keccak-256, 32-байтовые хэши и сообщения, параметр Винтерница w = 16, 67 цепей (64 сообщения + 3 контрольной суммы). Самостоятельно, без зависимости от SHRINCS. verify, verifyWithRandomizationElements, sign, verifyWithRandomizationElements, sign, [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]], [[T]] [7], [8], [9] и [[9]]. публичные константы) являются стабильными и векторно-испытанными; сторона подписи Помощники — это ссылочный код, задокументированный «не используйте on-chain».
  • SHRINCS (контракты/SHRINCS.sol и его

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Hash-Based Solidity Verifier Implementations

Verifier-oriented Solidity implementations of hash-based signature schemes: the WOTS+ one-time signature scheme and the SHRINCS hybrid stateful/stateless construction.

The production contracts in contracts/ cover on-chain verification only. Signer-side recovery state, seed restore logic, and wallet lifecycle management are out of scope; test-only Solidity signer helpers live under test/helpers/ and are not deployable.

Implementations

Citation keys follow CODINGSTANDARDS.md §1.

  • WOTS+ (contracts/WOTSPlus.sol) — the Winternitz one-time signature scheme [WOTSPLUS] (A. Hülsing, W-OTS+: Shorter Signatures for Hash-Based Signature Schemes, AFRICACRYPT 2013; ). Keccak-256, 32-byte hashes and messages, Winternitz parameter w = 16, 67 chains (64 message + 3 checksum). Standalone, with no SHRINCS dependency. The public API (verify, verifyWithRandomizationElements, sign, generateKeyPair, generateRandomizationElements, chain, and the public constants) is stable and vector-tested; the signer-side helpers are reference code, documented “do not use on-chain.”
  • SHRINCS (contracts/SHRINCS.sol and its component libraries) — the hybrid stateful/stateless hash-based construction by Kudinov and Nick [SHRINCS], specified in the appendix of Hash-based Signature Schemes for Bitcoin, Cryptology ePrint Archive 2025/2203 (). Compiled per profile (see Profiles):
    • 256s (default) — keccak-256, 32-byte hashes, h = 64, d = 8, a = 14, k = 22, 64 WOTS-C chains, 2^20 stateless budget. Reviewed and anchored to Rust-generated signature vectors.
    • 128s-q18 (experimental) — 16-byte truncated hashes, single-layer h = 18 hypertree, a = 24, k = 6, 32 WOTS-C chains, 2^18 stateless budget. Anchored to Rust-generated signature vectors; the stateless path is verified against them by SHRINCSSphincs128sVectors.
    • 128s-q20 (experimental) — as 128s-q18 with a 2^20 stateless budget; shares the 128s vectors except the profile-bound commitment.
  • SPHINCS+C (contracts/SPHINCSPlusC.sol) — the stateless SPHINCS+C construction [SPHINCSPLUSC] (M. Kudinov, A. Hülsing, E. Ronen, E. Yogev, SPHINCS+C: Compressing SPHINCS+ With (Almost) No Cost, Cryptology ePrint Archive 2022/778, IEEE S&P 2023; ). SHRINCS uses it as the stateless recovery path: a FORS-C few-time signature carried up a hypertree of WOTS-C layers to the public root. Deployed per profile as SPHINCSPlusC256sKeccak, SPHINCSPlusC128sQ18Keccak, and SPHINCSPlusC128sQ20Keccak; each SHRINCS verifier delegates its stateless path to the matching profile sibling.

What SHRINCS Is

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add quipnetwork/hashsigs-solidity
Новичок в MCP? Начните с руководства на mcpskill.org →