# Finale Technik Pallier ## Instanzen **Arzt:** Patientendaten **KrankheitsDB:** Krankheitenliste **Hilfsserver:** PallierPrivate, PallierPublic ## 1. Wandle Patientendaten Variablen auf Skala zwischen $0$ und $1$ und mit PallierPublic verschlüssele die Daten. **P:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 120 | Anginal | True | **PScale:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 0.7 | 0.5 | 1 | **PScalePallier:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | xxxx | xxxx | xxxx | ## 2. **Arzt** schickt **PScalePallier** an **KrankheitsDB**, dort wird erste Krankheit gewünschter Art mit gleicher Skala wie Patientendaten umgeformt und von **PScalePallier** subtrahiert. **K:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 100 | Typisch Anginal | False | **KScale:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 0.5 | 0.75 | 0 | **PScalePallier:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | xxxx-0.5 = a | xxxx-0.75 = b | xxxx-0 = c | ## 3. **KrankheitsDB** erzeugt ein zufälliges **r** und addiert dies zu $a,b,c$ als $a_r,b_r,c_r$ und berechnet stets $\alpha = -(2xr-r^2) | x \in \{a,b,c\}$ Notiz: $a = 0.2$ $a_r = 0.3$ $b = -0.25$ $b_r = - 0.15$ ## 4. **KrankheitsDB** lässt **HilfsDB** $x_r^2$ berechnen und zurückschicken und zieht danach $-(2xr+r^2)$ ab, und speichert dies als $a_+$ Notiz: $a_r^2 = 0.09$ $a_+ = 0.09 -(2*0.2*0.1+0.1^2) =0.04$ $b_r^2 = 0.0225.$ $a_+ = 0.0225 -(2*-0.25*0.1+0.1^2) =0.0625$ ## 5. **KrankheitsDB** berechnet $a_+*b_+*...$ als $\beta_+$ Notiz: $\beta_+ = a_+*b_+ = 0.04 + 0.0625 = 0.1025$ ## 6. **KrankheitsDB** schickt $\beta_+$ and **HilfsDB** und wiederholt Schritte 3. - 6. für nächste Krankheit. **HilfsDB** speicher Krankheit mit kleinstem $\beta$ und gibt diese am Ende des Vorganges an Arzt zurück. ## Beispiel **P:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 100 | Anginal | True | **PScale:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 0.5 | 0.5 | 1 | **PScalePallier:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | xxxx | xxxx | xxxx | **K1:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 90 | Typisch Anginal | False | **K1Scale:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 0.4 | 0.75 | 0 | **K1:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 120 | Nein | True | **K1Scale:** | Int/Double | Enum | Boolean | | -------- | -------- | -------- | | 0.7 | 0 | 1 | **PScalePallier1:** $a = 0.1, b =-0.25, c = 1$ $r_1 = 1.38, r_2 = 0.79, r_3 = -1.45$ $a_{r_1} = 1.48, b_{r_2} =0.54, c_{r_3} = -0.45$ $a_{r_1}^2 = 2.1904, b_{r_2}^2 = 0.2916, c_{r_3}^2 = -0.2025$ $a_+ = 2.1904 -(2*0.1*1.38+1.38^2) =0.01$ $b_+ = 0.0625$ $c_+ = 1$ $\beta_1 = 1.0725$ **PScalePallier2:** $d = -0.2, e =0.5, f = 0$ $r_4 = 4.18, r_5 = -46.79, r_6 = -0.3$ $d_{r_4} = 3.98, e_{r_5} =-46.29, f_{r_6} = -0.3$ $d_{r_4}^2 = 15.8404, e_{r_5}^2 = -2142.7641, f_{r_6}^2 = -0.09$ $d_+ = 0.04$ $e_+ = 0.25$ $f_+ = 0$ $\beta_2 = 0.29$ $\sum^{v \in V}v^2 = \alpha$