public class CompositionalEstimate
extends java.lang.Object
Constructor and Description |
---|
CompositionalEstimate() |
Modifier and Type | Method and Description |
---|---|
static double[] |
estimateParallelGLeakWithSharedInput(ProbDist jpd,
ProbDist apd,
Channel[] channels,
GainFunction gf,
java.util.Set<java.lang.String> guessDomain)
Returns an upper bound on the g-leakage of
the channel composed in parallel in the case input
is shared among the channels.
|
static double[] |
estimateParallelMinCapacityWithSharedInput(Channel[] channels)
Returns an upper bound on the min-capacity of
the channel composed in parallel in the case input
is shared among the channels.
|
static double[] |
estimateParallelMinEntropyLeak(ProbDist jpd,
ProbDist apd,
Channel[] channels)
Returns a lower and an upper bound on the min-entropy leakage of
the channel composed in parallel where inputs to different channels
are drawn independently.
|
static double[] |
estimateParallelMinEntropyLeakWithSharedInput(ProbDist jpd,
ProbDist apd,
Channel[] channels)
Returns an upper bound on the min-entropy leakage of
the channel composed in parallel in the case input
is shared among the channels.
|
static double |
exactParallelMinEntropyLeak(ProbDist jpd,
Channel[] channels) |
static double |
exactParallelMinEntropyLeakWithSharedInput(ProbDist jpd,
Channel[] channels) |
static double |
HgMin(ProbDist pd,
GainFunction gf,
java.util.Set<java.lang.String> guessDomain)
Returns Hg^min(pd) = - log min { pd[x] g(w, x) | x in X, w in W, pd[x] g(w, x) != 0 }.
|
static double |
HMinInf(ProbDist pd)
Returns H^min(pd) = - log min { pd[x] | x in support(pd) }.
|
static double[] |
MInf(ProbDist jpd,
int numChannels)
Returns MInf defined in our compositionality paper.
|
static void |
printEstimatedMeasure(int taskType,
ProbDist[] pds,
Channel[] channels,
int numChannels,
int sampleSize,
boolean priorShared,
GainFunction gf,
java.util.Set<java.lang.String> guessDomain,
boolean compositionalEstimate,
double approxPriorLevel,
boolean approxDoNotKnowChannels)
Chooses to estimate and print one of leakage measures
by compositional reasoning in the case of discrete inputs.
|
static void |
printExactDiscreteMinEntropyLeakOnly(ProbDist[] pds,
Channel[] channels,
boolean priorShared) |
public static double[] estimateParallelGLeakWithSharedInput(ProbDist jpd, ProbDist apd, Channel[] channels, GainFunction gf, java.util.Set<java.lang.String> guessDomain)
jpd
- joint input probability distributionapd
- approximate joint input probability distributionchannels
- array of channelsgf
- gain functionguessDomain
- the set of all guessespublic static double[] estimateParallelMinCapacityWithSharedInput(Channel[] channels)
channels
- array of channelspublic static double[] estimateParallelMinEntropyLeak(ProbDist jpd, ProbDist apd, Channel[] channels)
jpd
- joint input probability distributionapd
- approximate joint input probability distributionchannels
- array of channelspublic static double[] estimateParallelMinEntropyLeakWithSharedInput(ProbDist jpd, ProbDist apd, Channel[] channels)
jpd
- joint input probability distributionapd
- approximate joint input probability distributionchannels
- array of channelspublic static double exactParallelMinEntropyLeak(ProbDist jpd, Channel[] channels)
jpd
- joint input probability distributionchannels
- array of channelspublic static double exactParallelMinEntropyLeakWithSharedInput(ProbDist jpd, Channel[] channels)
jpd
- joint input probability distributionchannels
- array of channelspublic static double HgMin(ProbDist pd, GainFunction gf, java.util.Set<java.lang.String> guessDomain)
pd
- input probability distributiongf
- gain functionguessDomain
- the set of all guessespublic static double HMinInf(ProbDist pd)
pd
- input probability distributionpublic static double[] MInf(ProbDist jpd, int numChannels)
jpd
- joint input probability distributionnumChannels
- the number of channel compositionspublic static void printEstimatedMeasure(int taskType, ProbDist[] pds, Channel[] channels, int numChannels, int sampleSize, boolean priorShared, GainFunction gf, java.util.Set<java.lang.String> guessDomain, boolean compositionalEstimate, double approxPriorLevel, boolean approxDoNotKnowChannels)
taskType
- type of calculation of a leakage measurepds
- array of probability distributionschannels
- array of channelsnumChannels
- the number of channelssampleSize
- the number of samplesgf
- gain functionguessDomain
- the set of all guessespriorShared
- whether a (prior) input value is shared
among all channelscompositionalEstimate
- whether we use the compositional reasoningapproxPriorLevel
- the summation of all probabilities removed from the input distributionapproxDoNotKnowChannels
- whether the analyzer has no knowledge on channel matrices or not