Lange Antwort:
Lassen Sie uns den Informationsfluss von Ihrem "versteckten" IIR zu Ihrem beobachtbaren Ausgang als modellierenXY
X⟶Y
Dann nennen wir die Informationsmenge, die Sie pro Beobachtung erhalten, die * gegenseitige Information ; Diese Information ist die Verringerung der Unsicherheit über , die durch Beobachtung von .I(X;Y)XY
Wir nennen die erwartete Unsicherheit von etwas die Entropie , in Ihrem Fall ist die Unsicherheit über seine Entropie und wird typischerweise als .XH(X)
Das Schöne an all dem ist, dass , dh die "Unsicherheit über , die bleibt, wenn Sie kennen ", eigentlich nur die Entropie von abzüglich der Informationen ist, die Sie erhalten, also:H(X|Y)XYX
H(X|Y)=H(X)−I(X;Y).(1)
Das Ziel des Angreifers ist es, die Unsicherheit, die er noch über auf zu reduzieren .X0
Da jedes Signal, das alle Eigenfunktionen eines Systems "anregt", das System vollständig charakterisieren kann, bedeutet dies, dass wir nur den vollständigen Satz von Eigenfunktionen über Ihr IIR senden müssen. Und da Ihr IIR ein LTI-System ist, ist dies zufällig der Vektor, der alle Schwingungen einer darstellbaren Frequenz enthält.
Sie können die Menge an Informationen reduzieren, die ein Angreifer über Ihr System erhalten kann, indem Sie künstlich Rauschen einfügen. Informationstheoretisch erhöht dies Ihre Irrelevanz (selbst wenn Sie , würden Sie nicht zu 100% kennen , da Rauschen hinzugefügt wird).H(Y|X)XY
Die gegenseitige Information wie sie in wird, ist symmetrisch, dh ; daher folgtI(X;Y)(1)I(X;Y)=I(Y;X)
H(Y|X)H(X|Y)=H(Y)−I(X;Y)=(1)H(Y)−(H(X)−H(X|Y))=H(Y)−H(X)+H(X|Y)=H(Y|X)+H(X)−H(Y)(2)
Ihr Ziel war es, einen Reverse Engineer zu stoppen, dh zu maximieren .H(X|Y)
Da fest ist (Sie haben einige Koeffizienten, die einige Werte annehmen können, also eine gewisse Anzahl von Bits), besteht Ihre einzige Möglichkeit, diese Zielfunktion abzustimmen, darin, zu erhöhen . Und der einzige Weg, dies zu tun, besteht darin, wirklich zufällige Variationen in Ihre Ausgabe einzufügen.H(X)H(Y|X)