Show HN: PunchCard Key Backup

github.com

139 points by ciprian_craciun 2 days ago


im_down_w_otp - 2 days ago

I love this so much. This, this right here is why I still visit Hacker News.

I'm going to use this today and pave a path to my CNC router to make it stupidly easy to generate these plates on-demand.

cypherpunks01 - 2 days ago

Nice! With a denser 256 bit card you could store an entire age secret key, and so encrypt any amount of data directly to metal key asymmetrically, only needing the public key at encryption time (keeps metal key safer).

Then thresholding can be done with "sops" (which uses the Hashicorp vault shamir implementation) against groups of age keys. Making it so M of N metal backups are required to decrypt the nuclear codes you're storing.

rubyfan - 2 days ago

Reminds me of the physical keys we’d in the army. Though they were designed to not be long lasting, I think they were paper strips that could be burned after using mission impossible style.

neilv - 2 days ago

I like the survivability, and the constraint to be doable with common hand tools.

For more information density, and easier readability by a less-technical person who inherits it -- at the cost of requiring special tools -- I wonder about using number&letter stamps with a hammer.

Or, if you permit very special tools, laser-cut alphanumerics (base16, base58, or base64, for arbitrary bits; or alphabetic passphrases). Either engraved, or cut fully through, like an old drafting lettering stencil.

QuadrupleA - 2 days ago

Wouldn't printing a QR code be way easier? If it's just for retro fun / Rube Goldberginess than nevermind, carry on :)

yencabulator - a day ago

You might also enjoy paperback:

https://github.com/cyphar/paperback

https://www.youtube.com/watch?v=GI9rKdM9rB8&list=PLD8dAKx4J2...

throwanem - 2 days ago

Make sure it's stored in an electrochemically inoffensive environment, including considerations like dissimilar-metal contact, etc. Aluminium is a good choice here especially for being both easily worked and self-passivating in air, but it has some more obscure vulnerabilities which can have impact over decades.

kens - 2 days ago

Just 128 bits? I expect punch cards to hold 80 columns of 12 bits :-)

G_o_D - 2 days ago

Plus just place punch card on paper apply a paint with brush of better spray and you printed your holes will be printed on paper share anyone (Softcopy ツ)

alternatively for fun use photographic chemical film paper and dark room, place plate on light source flash and capture holes on film

Steganography ideas Another fun-> divide cut plate into puzzle give pieces to different people only when puzzle combined reveals full datà

Another -> Have two or more plates with extraa binary bits holes and masking plates, when they are superimposed/stacked in proper order or aligment then uncessary bits will be masked revealing useful bits

kristianp - 2 days ago

I enjoyed the brevity of the python snippet required for this:

python -c '_secret = "d74ae47dc6f599d3f9cb847bd77d6b7c" ; print (bin(int(_secret,16))[2:])'

noman-land - a day ago

Surprised no one has mentioned Cryptosteel.

https://cryptosteel.com/

deadbabe - 2 days ago

There really should just be some ui for quickly typing out the stream of 1s and 0s row by row instead of clicking checkboxes.

Mraedis - 2 days ago

It's so stupid, I love it. I wouldn't personally use this format but maybe rather just... Print the text on the slate.

thih9 - 2 days ago

Cool but wouldn’t you forget how to decode it after some time? I.e. wouldn’t engraving regular characters be simpler?

msk-lywenn - 2 days ago

Looks like a new 2d barcode format to me. Why I would want this rather QR or any other that have redundancy built in?

ggm - 2 days ago

Numbered array from 1...