- Anonymous Retrospective Broadcasts
- If we don't assume a centralized party that can be trusted to verify information, what we're left with is not really a contact tracing application but a particular kind of messaging application, where users create tracks through space and time, and can retrospectively broadcast anonymous messages to users whose tracks were spatially nearby to theirs in a particular time range.
- This messaging system should be privacy-preserving, in the sense that:
- Server Privacy: An honest-but-curious server should not learn information about any user's space-time tracks;
- Locality Integrity: A user should not be able to broadcast messages to users who were not nearby to them;
- User Privacy:
- A passive adversary cannot not learn any information about a user's space-time track outside of the segments they have broadcast messages to. This means that users who do not broadcast reveal no information about their movements.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use std::path::PathBuf; | |
use futures::{stream::FuturesUnordered, StreamExt}; | |
use git2::Repository; | |
use serde::Serialize; | |
use structopt::StructOpt; | |
#[derive(Debug, StructOpt)] | |
#[structopt( | |
name = "get-all-crates", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2021-11-24T01:46:37.942537Z INFO get_all_crates: successfully cloned crate name="planner" completion=0.010308388299892945 | |
2021-11-24T01:46:37.942664Z INFO get_all_crates: starting clone name="wasm-bindgen-anyref-xform" repo="https://github.com/rustwasm/wasm-bindgen/tree/master/crates/anyref-xform" clone_path="/home/hdevalence/data/crates.io/repos/wa/sm/wasm-bindgen-anyref-xform" | |
2021-11-24T01:46:38.162363Z INFO get_all_crates: successfully cloned crate name="tinywinstr" completion=0.010325655281969817 | |
2021-11-24T01:46:38.162397Z INFO get_all_crates: starting clone name="keypath" repo="https://github.com/cmyr/keypath" clone_path="/home/hdevalence/data/crates.io/repos/ke/yp/keypath" | |
2021-11-24T01:46:38.211084Z INFO get_all_crates: successfully cloned crate name="frugalos_config" completion=0.01034292226404669 | |
2021-11-24T01:46:38.211251Z INFO get_all_crates: starting clone name="slack-blocks" repo="https://github.com/cakekindel/slack-block-kit-rs" clone_path="/home/hdevalence/data/crates.io/repos/sl/ac/sla |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
curl -s "https://api.github.com/orgs/THE_ORG_NAME/repos?per_page=200" | jq '.[].clone_url' | xargs -L1 git clone |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": "-- Grafana --", | |
"enable": true, | |
"hide": true, | |
"iconColor": "rgba(0, 211, 255, 1)", | |
"name": "Annotations & Alerts", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
encoding edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 4 | |
encoding edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 4 | |
encoding eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 1 | |
encoding eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 1 | |
encoding f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 8p | |
encoding f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 8p | |
encoding f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 8p | |
encoding f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 8p | |
encoding f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f has order 8p | |
encoding f2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff has order 8p |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
TestCase { | |
vk_bytes: "0100000000000000000000000000000000000000000000000000000000000000", | |
sig_bytes: "01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", | |
valid_legacy: false, | |
valid_zip215: true, | |
}, | |
TestCase { | |
vk_bytes: "0100000000000000000000000000000000000000000000000000000000000000", | |
sig_bytes: "c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a0000000000000000000000000000000000000000000000000000000000000000", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[536870912,434873] | |
[536870912,434902] | |
[536870912,434903] | |
[536870912,434904] | |
[536870912,434917] | |
[536870912,434936] | |
[536870912,434978] | |
[536870912,434993] | |
[536870912,435023] | |
[536870912,435040] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Initialize STROBE-128(4d65726c696e2076312e30) # b"Merlin v1.0" | |
meta-AD : 646f6d2d736570 || LE32(24) # b"dom-sep" | |
AD : 4167677265676174656452616e676550726f6f6654657374 # b"AggregatedRangeProofTest" | |
meta-AD : 646f6d2d736570 || LE32(13) # b"dom-sep" | |
AD : 72616e676570726f6f66207631 # b"rangeproof v1" | |
meta-AD : 6e || LE32(8) # b"n" | |
AD : 4000000000000000 # b"@" | |
meta-AD : 6d || LE32(8) # b"m" | |
AD : 0100000000000000 # b"" | |
meta-AD : 56 || LE32(32) # b"V" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
create_nipk!{dleq, (x), (A, B, G, H) : A = (G * x), B = (H * x) } | |
mod dleq { | |
use curve25519_dalek::ristretto::RistrettoPoint; | |
use curve25519_dalek::scalar::Scalar; | |
use curve25519_dalek::traits::{MultiscalarMul, VartimeMultiscalarMul}; | |
use merlin::Transcript; | |
use rand::thread_rng; | |
use std::iter; |