Skip to content

Instantly share code, notes, and snippets.

View NikhilPeri's full-sized avatar

Nikhil Peri NikhilPeri

  • Toronto
View GitHub Profile

Anonymous Verifiable Database

This document outlines solutions to building the database for a voting system with the following features:

  • Anonymous means that it is not possible to associate a vote back to a single citizen, but a citizen can log back in and review their ballot was cast correctly.
  • Personally Verifiable means that we can automatically detect their vote was counted as they cast it this is something that is not possible in the current voting system
  • Publicly Verifiable__ means that we can automatically go through the database and independently count the votes and ensure they have not been altered
@NikhilPeri
NikhilPeri / README.md
Created July 5, 2018 00:54
Joe Rogan - Youtube Popularity Bias .md

Youtube I DONT watch JOE ROGAN!

My Joe Rogan

@NikhilPeri
NikhilPeri / ELG4125_Assignment_1.py
Created September 17, 2018 13:30
script so I dont have to do the first linear systems assignment
import numpy as np
print "Question 1"
a = np.array([
[1, 2, 3, 4],
[1, 1, 1, 1],
[1, 2, 1, 2],
[1, 2, 1, 1]
])
@NikhilPeri
NikhilPeri / obfuscator.py
Last active September 30, 2019 21:11
fast, irreversible obfuscation that preserves structure
# PS this would make a great interview question
def map_int(i, state):
i = ord('0') + ( i + state ) % 9
state += i
return i, state
def map_lower(c, state):
x = ord('a') + (c + state ) % 25
state += x
@NikhilPeri
NikhilPeri / Cypher Syntax.md
Last active May 26, 2022 23:45
Notes from the workshop on Neo4j Cypher Syntax

Overview

Cypher is declarative

MATCH // define graph shape
(A)-[HAS]->(B)

WHERE // filter graph 
A.status = 'Active'