sjlver / psst Goto Github PK
View Code? Open in Web Editor NEWPaper-based Secret Sharing Technique
License: MIT License
Paper-based Secret Sharing Technique
License: MIT License
Currently, psst
only has an A4 worksheet.
After 15 minutes of reading the documentation, I am 50% sure that each blank for the secret should contain a single letter out of the alphabet of 25 distinct tokens (with X and J merged together), although the gap is large enough for a short word.
I understand that for the author this is super-obvious, but me, as a causal visitor who is not familiar with Shamir's secret sharing (and uses this work to try to familiarize oneself with the concept), this piece of information is missing with no place even to deduce it.
If the ambiguity is there on purpose because e.g. there are several operating modes the psst can operate - e.g. a secret comprised from 25-level tokens, or just digits, or maybe some other type of data - please provide an example. That can be in a form of a photo of the filled in form. Even better yet would be an accompanying video of the process of filling in the form and then recovering the secret.
And thank you for sharing this! :-)
Description here: https://www.vice.com/en/article/jp5xwy/itll-take-more-than-glitter-nail-polish-to-stop-snooping
Essentially, glitter nail polish is a "physically unclonable function". To use it:
Before secret recovery, compare the share to its picture to check whether the nail polish has been tampered with.
The current page (under /docs/index.html
) just redirects to GitHub. It would be a bit nicer to put some content there.
Something like this (from https://news.ycombinator.com/item?id=38963197)
The 25 rows of the table correspond to the 25 linear polynomials in GF(5), evaluated at x=0, 1, 2, 3, and 4.
GF(5) is the "field" that psst uses. It just means that all math is performed using only digits 0 to 4, and we take the remainder modulo 5 after each operation. A linear polynomial has the formax + b
. There are 25 of them becausea
andb
can each take one of the five values.For example, consider the polynomial
3x + 0
. If you evaluate it at x=0, the result is 0. At x=1, it's 3. At x=2, it's 6, which corresponds to 1 in GF(5). At x=3, the result is 4, and at x=4, the result is 2. These values (0 3 1 4 2) form the fourth line in the table above.The table on the first page of the worksheet and the table on each share all have the same rows. They are just sorted differently, to make it easier to lookup a given row.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.