decentralized-identity / decentralized-identity/fuzzy-encryption

Other metaphors besides picking random words out of an ordered corpus...

Open
#9 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
52
Forks
5
PR merge metrics
No merged PRs in 30d

Description

Daniel, based on your explanation (on one of the DIF calls this week) about how keys are generated from picking n random words out of an ordered corpus (where the corpus words are numbered from 1..N), here's some additional metaphors that should also work:

1. Drawing n random straws from my hand holding N straws (large N) with each straw having a measurably different length from the others.

2. Driving n golf balls at a driving range and measuring the distance from the tee to the first bounce of the golf ball. The measurement system has to be precise enough that every distance is unique. You also need to assume a poor golfer like myself who will have wildly varying range of distances from a couple feet to hundreds of yards. Alternatively, you could use the difference in the distance from the first bounce to the distance of the second bounce of the golf ball.

3. Click n different points (pixels) in a square grid with N pixels = 1024 (32 pixels on each side) where each pixel is numbered from 0...1023 using the Morton Matrix (that is, alternatively interleaving of the bits of the x-coordinate with the bits of the y-coordinate to produce an index for each pixel).
![image](https://user-images.githubusercontent.com/6101736/107602928-6968e980-6be8-11eb-9fc0-bba2ca849fdf.png)
p.s. Note that you can randomly increase the size of the grid because each smaller grid is a proper subset of the next larger grid: the grid 0..3 is the upper-left quadrant of the grid 0...15 (see above).

Morton Matrix example: https://epcced.github.io/2019-04-16-ModernCpp/exercises/morton-order/instructions.html.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.