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 [0]
- error[0] = 0.4903774985577911
- x0 =
- [ 45042. 49802. -388. 3762. -3316. 34708. -6698. 27018.
- -41219. -17662. -118901. 1831. 9137. -42023. -13850. -10845.
- 23379. -27018. 23699. 13219. -1786. 52937. -58440. 19318.
- -18008. 75903. -48954. -7870. 114001. -19152. 10159. -13026.
- 60418. 45511. 36168. 100336. -35948. 22835. 96077. 1730.
- -15922. -133054. -3460. -6655. -48379. -80695. -72022. 37555.
- -1090. 64528. 41440. 43964. -23915. -182. 23294. 27462.
- 103482. 94889. 32304. 30749. 53892. 40881. 100513. 81184.]
- t = np.dot(x0, D_8x8) / step
- x1 = round(t) =
- [ 674073. 53800. 218225. -54378. 319611. 8035. -257778. -242650.
- -693212. -54434. -255213. 410709. 132596. -361181. -8871. -200692.
- 408618. -6658. 413722. 80224. -103591. -173971. 24160. -99300.
- -584331. 17660. 102992. -427463. 81361. 486706. 250154. -86881.
- 1259213. 226041. 202529. 363315. -356449. -71335. -550168. 77964.
- 77467. 207701. -172874. -78605. -198860. -544405. 103635. 84479.
- -123598. -4467. 126910. -77316. 291086. 86719. 929863. 170559.
- 847692. 297807. 90397. -134541. -518376. 516347. 363414. -418244.]
- e_round = t - x1 =
- [0.49617557 0.47420052 0.48957082 0.47507862 0.49163128 0.4865168
- 0.49642385 0.49678944 0.4972423 0.49134182 0.49103339 0.49237629
- 0.49355259 0.49590319 0.49743268 0.49390482 0.49467272 0.47830408
- 0.49497682 0.49301821 0.49058334 0.48763356 0.49502501 0.47314813
- 0.49245933 0.49161419 0.48935522 0.49125884 0.48733352 0.49666805
- 0.4999157 0.49382924 0.4945706 0.48928885 0.49132343 0.48228909
- 0.49789887 0.48620763 0.49494931 0.49609369 0.49152199 0.48262616
- 0.49165072 0.48969459 0.48877153 0.48997834 0.49213162 0.48938426
- 0.49217561 0.48163395 0.48898808 0.47947837 0.49790445 0.49805074
- 0.49200448 0.48096602 0.48670205 0.4960902 0.49680454 0.49715593
- 0.49264483 0.49256263 0.49677621 0.49464604]
- x2 = np.dot(x1 * step, ID) =
- [ 45041.5096225 49802.13522281 -388.10707774 3762.03674973
- -3316.0570494 34708.0042799 -6698.03350853 27017.98267656
- -41218.86612965 -17662.03685572 -118900.9713595 1830.99014012
- 9137.01518245 -42023.0020703 -13849.99124395 -10844.99594931
- 23378.89421016 -27017.97033732 23698.97709904 13219.00762467
- -1786.01218981 52937.00162524 -58440.00750826 19317.99592986
- -18007.96146653 75902.98979536 -48953.99311838 -7870.00269811
- 114001.00305218 -19151.99931936 10159.0021093 -13025.99984388
- 60417.94194243 45511.01631003 36167.98584339 100336.00548459
- -35948.00755141 22835.00203295 96076.9964938 1729.99856434
- -15921.99294015 -133054.00089018 -3459.99951989 -6655.0014809
- -48378.99893657 -80694.99998904 -72022.00021801 37554.99950295
- -1090.03262392 64528.00892361 41439.99307846 43964.00387872
- -23915.00376437 -182.00040394 23293.99741379 27461.99888187
- 103481.98701999 94889.00365117 32303.99753426 30749.00040944
- 53891.99837031 40881.0001226 100512.99927998 81183.99725001]
- err = x2 - x0 =
- [-4.90377499e-01 1.35222810e-01 -1.07077738e-01 3.67497334e-02
- -5.70493978e-02 4.27989701e-03 -3.35085314e-02 -1.73234385e-02
- 1.33870350e-01 -3.68557240e-02 2.86404973e-02 -9.85987891e-03
- 1.51824467e-02 -2.07030145e-03 8.75605502e-03 4.05068910e-03
- -1.05789839e-01 2.96626757e-02 -2.29009568e-02 7.62467133e-03
- -1.21898092e-02 1.62524448e-03 -7.50826287e-03 -4.07013805e-03
- 3.85334747e-02 -1.02046371e-02 6.88161718e-03 -2.69810834e-03
- 3.05217662e-03 6.80637568e-04 2.10929855e-03 1.56116002e-04
- -5.80575706e-02 1.63100295e-02 -1.41566088e-02 5.48459390e-03
- -7.55141320e-03 2.03295266e-03 -3.50620023e-03 -1.43566074e-03
- 7.05985346e-03 -8.90180905e-04 4.80108527e-04 -1.48090259e-03
- 1.06342707e-03 1.09610264e-05 -2.18004890e-04 -4.97053588e-04
- -3.26239171e-02 8.92361134e-03 -6.92153634e-03 3.87872399e-03
- -3.76437412e-03 -4.03936477e-04 -2.58620775e-03 -1.11813122e-03
- -1.29800120e-02 3.65116999e-03 -2.46574024e-03 4.09439737e-04
- -1.62969298e-03 1.22601778e-04 -7.20019074e-04 -2.74998696e-03]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement