Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/build_and_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ jobs:
if: steps.cache.outputs.cache-hit != 'true'
run: |
apt-get update -qq && apt-get install -y -qq make
# running as root: mark the checkout safe so the data.json commit stamp works
git config --global --add safe.directory "$GITHUB_WORKSPACE"
sage -pip install --quiet --no-cache-dir pandas seaborn
make sweeps derived data figures PYTHON="sage -python"

Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ data:
$(SAGE) export_site_data.sage

figures:
mkdir -p $(IMAGES) # holds only generated files, so fresh checkouts lack it
cd $(IMAGES) && $(PYTHON) ../../../$(UTILS)/sieve_search_draw.py \
--input ../../../$(CSV_UNBOUND) --weights 1,1,1,1,1 --suffix _1
cd $(IMAGES) && $(PYTHON) ../../../$(UTILS)/sieve_search_draw.py \
Expand Down
2 changes: 1 addition & 1 deletion document/content/3-search.tex
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ \subsubsection{Case 1: Best in Class}
%---
Smallest Signature & $(50, 2, 6, 20, 256)$ & \textcolor{green}{$3408$} & \textcolor{green}{$-56.6\%$} & \textcolor{red}{$1.55 \times 10^{11}$} & \textcolor{red}{$5.30 \times 10^5$} & \textcolor{red}{$3.10 \times 10^{11}$} & \textcolor{red}{$1.40 \times 10^5$} & \textcolor{red}{$4780$} & \textcolor{red}{$2.22$} & \textcolor{red}{$1.40$} \\
%---
Fastest Keygen & $(40, 10, 9, 17, 32)$ & \textcolor{red}{$7728$} & \textcolor{red}{$-1.6\%$} & \textcolor{green}{$1.45 \times 10^4$} & \textcolor{green}{$0.05$} & \textcolor{orange}{$3.68 \times 10^6$} & \textcolor{orange}{$1.66$} & \textcolor{orange}{$4627$} & \textcolor{orange}{$2.15$} & \textcolor{orange}{$0.60$} \\
Fastest Keygen & $(40, 10, 7, 20, 32)$ & \textcolor{red}{$7488$} & \textcolor{red}{$-4.7\%$} & \textcolor{green}{$1.45 \times 10^4$} & \textcolor{green}{$0.05$} & \textcolor{red}{$2.22 \times 10^7$} & \textcolor{red}{$9.99$} & \textcolor{orange}{$4612$} & \textcolor{orange}{$2.14$} & \textcolor{orange}{$0.62$} \\
%---
Fastest Signing & $(40, 8, 23, 8, 32)$ & \textcolor{red}{$7552$} & \textcolor{red}{$-3.9\%$} & \textcolor{green}{$2.90 \times 10^4$} & \textcolor{green}{$0.10$} & \textcolor{green}{$2.49 \times 10^5$} & \textcolor{green}{$0.11$} & \textcolor{orange}{$3792$} & \textcolor{orange}{$1.76$} & \textcolor{orange}{$0.50$} \\
%---
Expand Down
2 changes: 1 addition & 1 deletion stateful.sage
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ signature-count targets: 2^20 and 2^40.

3. SHRINCS/UXMSS: Left-leaning unbalanced Merkle tree (SHRINCS stateful)
- Tree of height hsf with hsf+1 leaves; capacity = hsf + 1 signature.
- The signature with index i \in (1...hsf+1) carries min(i, hsf) auth nodes.
- The signature with index i in 1..hsf+1 carries min(i, hsf) auth nodes.
- Signature size grows linearly with the index (XMSS-MT: constant).
- Target is strictly isolated to 2^40 signatures, hardcoded to use (5,712 bytes) as the reference bound.
- hsf is additionally capped at 255.
Expand Down
2 changes: 1 addition & 1 deletion utils/extremes_summary.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def main():

rows = [std.to_dict() | {'cat1_award': ''}]
for col, award in EXTREMES:
winner = custom.sort_values(col).iloc[0]
winner = custom.sort_values([col, 'size', 'h', 'd', 'k', 'a', 'w']).iloc[0]
rows.append(winner.to_dict() | {'cat1_award': award})
print(f' {award}: ({winner.h:.0f},{winner.d:.0f},{winner.k:.0f},'
f'{winner.a:.0f},{winner.w:.0f}) {col} = {winner[col]}')
Expand Down
Loading