# plus/minus epsilon

Page 3### Certificate Revocation

23 Oct 2019There are two standard protocols for revoking certificates on the Internet: CRLs and OCSP. or are even widely implemented, which can make revocation a difficult task. Chrome and Firefox use proprietary mechanisms instead: Chrome's is called and Firefox's is , though Firefox is also currently experimenting with .

### Monotone Span Programs

16 Oct 2019In Adi Shamir's paper titled *How to Share a Secret*, he quotes this problem
from a combinatorics textbook:

Eleven scientists are working on a secret project. They wish to lock up the documents in a cabinet so that the cabinet can be opened if and only if six or more of the scientists are present. What is the smallest number of locks needed? What is the smallest number of keys to the locks each scientist must carry?

### Blog Re-Introduction

9 Oct 2019I've decided to start writing a regular series of short blog posts about crypto.
The focus will be more on the **social** and **problem-solving** aspects of
crypto rather than the math.

### Notes on the BN256 Pairing

17 Mar 2018I've realized that some design choices in my bn256 implementation don't seem well-motivated to everybody... including myself. So I'd like to document here all of the tricks I find myself forgetting.

### Why is pure-Go crypto so slow?

17 Nov 2016**In short:**

- Because small functions have their runtime dominated by function-call overhead.
- Because data is stored on the heap unnecessarily.
- Because you can't take advantage of the featurefulness of assembly.

### White-Box Cryptography: Introduction

1 Feb 2016White-Box Cryptography is the study of securing symmetric encryption algorithms
in the *white-box attack context (WBAC)*, where an adversary obtains an
implementation of the algorithm and is allowed to observe/alter every step of
its execution (with instantiated cryptographic keys).

### Cryptographic Data Structures

8 Apr 2015We know that a *data structure* is a particular way of organizing data so that
we can efficiently solve a problem with it. Perhaps a *cryptographic data
structure* would just be the same thing, but with a notion of *security*
determined by an adversary's ability to win a certain game.

In a sense, they're minimal cryptosystems that can be glued together into more complex cryptosystems similar to the way that fundamental data structures can be glued together to give solutions to increasingly complicated problems.

### Google's Macaroons in Five Minutes or Less

5 Dec 2014*Macaroons* are a proposed method of distributed (NOT decentralized)
authorization. Their main distinction from a bearer token is that, if I'm given
a Macaroon that authorizes me to perform some action(s) under certain
restrictions, I can non-interactively build a second Macaroon with stricter
restrictions that I can then give to you. For example, if I have a Macaroon
that allows me to `view`

and `delete`

an image on , I
can construct a second Macaroon that only allows the holder to `view`

the image
as long as `time`

≤ `"5/1/13, 1am GMT"`

and give that to all of my friends.