HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Sjlver
psst
Python2024–2026
Sjlver / psst

psst

Paper-based Secret Sharing Technique

5Distinct people
6Mentions
0Explicit recommenders
446GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Paper-based Secret Sharing Technique

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month6 dated mentions

Observed mentions: 2024-01-09 00:35:52 UTC to 2026-02-18 19:44:18 UTC.

0123452024-01-01 00:00:00 UTC to 2024-02-01 00:00:00 UTC (exclusive): 5 mentions; 3 submissions, 2 commentsJan 20242024-02-01 00:00:00 UTC to 2024-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-03-01 00:00:00 UTC to 2024-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-04-01 00:00:00 UTC to 2024-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-05-01 00:00:00 UTC to 2024-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-06-01 00:00:00 UTC to 2024-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-07-01 00:00:00 UTC to 2024-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-08-01 00:00:00 UTC to 2024-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-09-01 00:00:00 UTC to 2024-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-10-01 00:00:00 UTC to 2024-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-11-01 00:00:00 UTC to 2024-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-12-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2025-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJan 20252025-02-01 00:00:00 UTC to 2025-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-03-01 00:00:00 UTC to 2025-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-04-01 00:00:00 UTC to 2025-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-05-01 00:00:00 UTC to 2025-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-06-01 00:00:00 UTC to 2025-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-07-01 00:00:00 UTC to 2025-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-08-01 00:00:00 UTC to 2025-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-09-01 00:00:00 UTC to 2025-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-10-01 00:00:00 UTC to 2025-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-01 00:00:00 UTC to 2025-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-12-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2026-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-01 00:00:00 UTC to 2026-03-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 2026

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 20242024-01-01 00:00:00 UTC2024-02-01 00:00:00 UTC532
Feb 20242024-02-01 00:00:00 UTC2024-03-01 00:00:00 UTC000
Mar 20242024-03-01 00:00:00 UTC2024-04-01 00:00:00 UTC000
Apr 20242024-04-01 00:00:00 UTC2024-05-01 00:00:00 UTC000
May 20242024-05-01 00:00:00 UTC2024-06-01 00:00:00 UTC000
Jun 20242024-06-01 00:00:00 UTC2024-07-01 00:00:00 UTC000
Jul 20242024-07-01 00:00:00 UTC2024-08-01 00:00:00 UTC000
Aug 20242024-08-01 00:00:00 UTC2024-09-01 00:00:00 UTC000
Sep 20242024-09-01 00:00:00 UTC2024-10-01 00:00:00 UTC000
Oct 20242024-10-01 00:00:00 UTC2024-11-01 00:00:00 UTC000
Nov 20242024-11-01 00:00:00 UTC2024-12-01 00:00:00 UTC000
Dec 20242024-12-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
Jan 20252025-01-01 00:00:00 UTC2025-02-01 00:00:00 UTC000
Feb 20252025-02-01 00:00:00 UTC2025-03-01 00:00:00 UTC000
Mar 20252025-03-01 00:00:00 UTC2025-04-01 00:00:00 UTC000
Apr 20252025-04-01 00:00:00 UTC2025-05-01 00:00:00 UTC000
May 20252025-05-01 00:00:00 UTC2025-06-01 00:00:00 UTC000
Jun 20252025-06-01 00:00:00 UTC2025-07-01 00:00:00 UTC000
Jul 20252025-07-01 00:00:00 UTC2025-08-01 00:00:00 UTC000
Aug 20252025-08-01 00:00:00 UTC2025-09-01 00:00:00 UTC000
Sep 20252025-09-01 00:00:00 UTC2025-10-01 00:00:00 UTC000
Oct 20252025-10-01 00:00:00 UTC2025-11-01 00:00:00 UTC000
Nov 20252025-11-01 00:00:00 UTC2025-12-01 00:00:00 UTC000
Dec 20252025-12-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
Jan 20262026-01-01 00:00:00 UTC2026-02-01 00:00:00 UTC000
Feb 20262026-02-01 00:00:00 UTC2026-03-01 00:00:00 UTC101

What Hacker News says

6 sources
I've experimented with this using one of the commercial print-on-demand services. Not filament, a binder-jet sintering marine stainless steel type of process, IIRC. Slightly modified Noto Sans Extracondensed font with... Let me check the files... 0.1mm line width, 0.45mm lower-case "m" width, dense letter and line spacing, gets 3KB ASCII per square inch. ...Engrave, don't emboss, or the letters will come off with impact and corrosion! Filling the engraved letters with black wax makes it optically legible under a good handheld magnifying glass. Then rub with vaseline/mineral oil/wax/ACF-50, mount on a brass holder (check relative galvanic corrosion order!), store pressed against aluminium or zinc sheet sacrificial anodes Just In Case(TM), inside polyamide or ABS case. Should last basically forever. I designed it for manual reading, so the
Read the rest
holder doubles as the "reader". Basically just a spindle going through a hole in the disk, holding a margin in the edge and center of the disk. The text is a spiral, so you can spin the disk to help keep the viewed region aligned under a higher-power microscope. For home printing, probably the way to go is Formlabs wax resin (or equivalent), then either learn brass casting yourself or hire a jeweller to do it. Though you won't get as good resolution/density as the metal process I tried. And really, laser engraving'll probably be cheaper and better. Consider if good-quality paper and ink, maybe laminated, inside a Pelican case'll be more practical. I wouldn't personally trust any of the common plastic printing materials to hold up for important data under oxygen, UV, fatigue, heat cycles. Are you sure the resin's not overcured or undercured, the filament fused correctly and won't delaminate, it won't reach the glass transition temperature during summer? And bacteria is already evolving to eat plastics. Maybe SLS/MJF polyamide's okay, but in that case, I'm not sure I'd trust the sintered structure for small details (and they don't have great resolution anyway). > The assumption was that using common 3D printer measurement tools (like for bed-leveling) would provide a way to read back whatever data was encoded onto the surface. > And then, obviously, if that proof of concept exists, I'd wonder about some kind of advanced version that used specialized equipment for the reading (and possibly the writing/printing). At these small amounts of data, specialized read hardware just adds risk IMO. Plain text can be read manually or with OCR. QR codes can automate reading with a standard flatbed scanner or smartphone camera. Consider ideas for encoding: Plain text, B64, hex, Reed-Solomon codes... 1-bit depth structure turns most of 3D printing's storage density into redundancy, but anything truly 3D adds read risk. If you insist on automating reading, QR codes will get you error correction, encode/decode software, and COTS hardware for "free". Personally I think human readability is a big advantage too. Maybe OCR text, and put error codes in a QR beside the text for byte-perfect computer input? Compare: Memory of Mankind uses ceramic tablets in a desert cave. Arch Mission Foundation project uses holographic glass. Long Now Rosetta Disk engraves with electron beam on nickel, IIRC was/is also commercially available for personallized jewellery. M-Disc and Bluray (HTL?) have modern digital storage density, good stability, work with commodity hardware. ...See design considerations of prior art for digital storage in 2D, naïve 3D version is to just use these as a heightmap: - https://github.com/cyphar/paperback - https://github.com/za3k/qr-backup/ - https://github.com/colindean/optar - https://github.com/Sjlver/psst - https://github.com/schroeding/paperstorage - https://github.com/intra2net/paperbackup Also, don't sleep on the centuries of work done by archivists and historians! The top comment is right; acid-free archival paper has very good overall cost, density, stability.
In Ask HN: Are there examples of 3D printing data onto physical surfaces?
The tables are public knowledge. Memorizing them does not give you any extra security. It might hide the fact that you are using psst. This might make you less of a target for attacks (but probably has a very small or zero effect). It also increases the chance that your secret is lost, for example when your shares are accidentally thrown in the trash because they look like random pieces of paper. For your other question: There is no weakness when using psst for long messages. That said, weaknesses can be introduced if you don't follow the protocol properly. For example, if you use the same dice throws for more than one psst instance, the system is no longer secure. This page has further examples for things that could go wrong: https://github.com/Sjlver/psst/blob/main/docs/what-can-go-wr... It can give you a feeling for what kind of use is
Read the rest
safe vs unsafe.
In Psst: Paper-Based Secret Sharing Technique
One can use any finite field. GF(256) is popular, since it allows computers to split one byte at a time. Plus, there are many implementations of GF(256) operations, since the same field is also used in AES. In GF(256), the addition operation is indeed XOR, as you write. If your field size is a prime number, the maths become simpler, since you can use "regular" integer addition and multiplication modulo the field size. For psst, there is some information here about why we chose GF(5): https://github.com/Sjlver/psst/blob/main/docs/design-choices...
In Psst: Paper-Based Secret Sharing Technique

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.