Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from https://habr.com/ru/post/704750/
- ====
- from scipy.fftpack import dct
- def max_step(D):
- return 1 / np.max(np.sum(np.abs(D), axis=1))
- D_8 = dct(np.identity(8), norm='ortho', axis=0)
- D_8x8 = np.kron(D_8, D_8)
- ID_8x8 = D_8x8.T
- step = max_step(ID_8x8)
- ====
- rounding DCT 8x8 attack
- target [63]
- error[63] = 0.36345122165219323
- x0 =
- [ 3.21570e+04 7.54310e+04 1.90400e+04 -2.65290e+04 -1.41840e+04
- -7.37000e+02 3.42740e+04 2.04780e+04 3.82150e+04 -5.29930e+04
- 5.60780e+04 9.04390e+04 3.95360e+04 2.91800e+04 -2.65180e+04
- -7.12580e+04 -7.40000e+01 -3.43890e+04 6.71220e+04 5.44200e+04
- 2.68740e+04 1.14120e+04 1.35259e+05 -3.38130e+04 4.96000e+03
- 1.03055e+05 2.64600e+04 7.50780e+04 1.09977e+05 3.70680e+04
- 2.06340e+04 3.48570e+04 -1.71090e+04 3.52050e+04 -4.82130e+04
- 9.05500e+03 -1.82850e+04 -1.03090e+04 -8.37100e+03 -2.52420e+04
- 4.60700e+03 -4.47260e+04 3.15630e+04 -1.98000e+02 1.58800e+04
- -9.75700e+03 -1.71800e+04 -1.95440e+04 1.39380e+04 3.54700e+03
- -1.06690e+04 -4.08350e+04 -4.34850e+04 -1.01460e+04 -1.22600e+03
- 2.97860e+04 5.17650e+04 7.53810e+04 5.72220e+04 8.14950e+04
- 8.17560e+04 5.77570e+04 7.52880e+04 5.15530e+04]
- t = np.dot(x0, D_8x8) / step
- x1 = round(t) =
- [ 1074830. 193736. -338415. 13079. -104230. 228263. -233123.
- 111786. -7069. 179245. -290551. 48850. -129995. 285193.
- -30464. 106144. 323421. 98818. 351891. -3202. -75865.
- 91163. 235911. 58042. -1102995. 197193. 526398. -1243.
- 22406. -319711. 231321. -132663. 671694. 75679. 265404.
- -15365. -65723. -702025. -525226. -357070. 107584. -189676.
- 564141. -154626. -199856. -378895. -172348. 74769. 326091.
- -242209. 10389. -79499. -245409. 285278. -122416. 383915.
- -531683. -229808. 525138. -8969. -352765. 292531. -213364.
- -35115.]
- e_round = t - x1 =
- [ 0.40315882 -0.19870145 0.41718635 -0.42159535 0.38378994 -0.30594735
- 0.40698604 -0.11234968 -0.41041095 0.30005438 -0.40203765 0.37411043
- -0.26800671 0.29769347 -0.41567793 0.32678877 0.41745705 -0.14799411
- 0.40002459 -0.45672981 0.38949022 -0.23573711 0.3956908 -0.3833918
- -0.40504443 0.4708772 -0.40249882 0.31336475 -0.47300105 0.43274495
- -0.40203625 0.41120419 0.41016877 -0.33179672 0.4119895 -0.30702097
- 0.20380031 -0.39401525 0.4011217 -0.43956844 -0.40995583 0.30902218
- -0.38539845 0.4304962 -0.40184558 0.34851823 -0.40360952 0.32369982
- 0.40613151 -0.2464837 0.39681631 -0.34720649 0.48494332 -0.48595521
- 0.40075047 -0.14012014 -0.41512128 0.24115339 -0.3938026 0.30064321
- -0.36229381 0.3768861 -0.39986288 0.31031769]
- x2 = np.dot(x1 * step, ID) =
- [ 3.21569872e+04 7.54309918e+04 1.90399839e+04 -2.65290004e+04
- -1.41839966e+04 -7.36987492e+02 3.42740060e+04 2.04780018e+04
- 3.82149912e+04 -5.29929957e+04 5.60779938e+04 9.04389857e+04
- 3.95360043e+04 2.91800080e+04 -2.65179917e+04 -7.12580260e+04
- -7.40024836e+01 -3.43889861e+04 6.71220043e+04 5.44200095e+04
- 2.68739728e+04 1.14120176e+04 1.35259006e+05 -3.38130119e+04
- 4.95999837e+03 1.03054995e+05 2.64600063e+04 7.50780102e+04
- 1.09976997e+05 3.70679774e+04 2.06340072e+04 3.48569589e+04
- -1.71089881e+04 3.52050022e+04 -4.82130075e+04 9.05501063e+03
- -1.82849970e+04 -1.03089961e+04 -8.37101724e+03 -2.52419709e+04
- 4.60697699e+03 -4.47260036e+04 3.15629743e+04 -1.97994123e+02
- 1.58799882e+04 -9.75699193e+03 -1.71799762e+04 -1.95440681e+04
- 1.39380062e+04 3.54701291e+03 -1.06690075e+04 -4.08349967e+04
- -4.34849930e+04 -1.01459724e+04 -1.22603755e+03 2.97861079e+04
- 5.17649577e+04 7.53809684e+04 5.72219754e+04 8.14949617e+04
- 8.17560312e+04 5.77569288e+04 7.52881017e+04 5.15526365e+04]
- err = x2 - x0 =
- [-1.28449759e-02 -8.23246132e-03 -1.60571352e-02 -3.51853178e-04
- 3.42800453e-03 1.25075628e-02 5.97447068e-03 1.76590946e-03
- -8.82740255e-03 4.31740546e-03 -6.15852178e-03 -1.43198912e-02
- 4.28251284e-03 7.99135982e-03 8.34500257e-03 -2.60377127e-02
- -2.48356060e-03 1.38533741e-02 4.26753641e-03 9.52619359e-03
- -2.71559989e-02 1.76128100e-02 5.50283250e-03 -1.19271616e-02
- -1.62669418e-03 -5.40009190e-03 6.28752898e-03 1.02185548e-02
- -2.64928071e-03 -2.26283147e-02 7.20483317e-03 -4.11015357e-02
- 1.18984529e-02 2.21740937e-03 -7.54117729e-03 1.06306715e-02
- 2.98555768e-03 3.88213884e-03 -1.72416884e-02 2.90810125e-02
- -2.30055873e-02 -3.64468511e-03 -2.56953226e-02 5.87741265e-03
- -1.17826517e-02 8.06730004e-03 2.37519297e-02 -6.80733122e-02
- 6.21217017e-03 1.29107373e-02 -7.54647534e-03 3.25416977e-03
- 6.96136436e-03 2.75597265e-02 -3.75484805e-02 1.07930465e-01
- -4.23319545e-02 -3.15960709e-02 -2.45654694e-02 -3.83193861e-02
- 3.12222791e-02 -7.12134693e-02 1.01714730e-01 -3.63451255e-01]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement