arkenfox / TZP

TorZillaPrint: Firefox & Tor Browser fingerprint testing
https://arkenfox.github.io/TZP
MIT License
189 stars 28 forks source link

math v2.5 results #3

Closed Thorin-Oakenpants closed 1 year ago

Thorin-Oakenpants commented 3 years ago

test: https://arkenfox.github.io/TZP/tests/math.html results: https://arkenfox.github.io/TZP/tests/mathdata.html

Thorin-Oakenpants commented 3 years ago

BROWSER LIST

Windows 7 64bit (machine no.1)

Windows 7 64bit (machine no.2)

Windows 7 32bit (VM on machine no.1)

Windows 10 64bit (machine no.1) vm

Android (aarch64)

macOS

iOS

Linux 64bit (we'll list them as we get them)

Linux 32bit (we'll list them as we get them)

...

Thorin-Oakenpants commented 3 years ago

@abrahamjuliot - I only have a single android result (for 78+: it should be the same since 68) .. but I see you have three android results there: are you holding out on me, bro?

https://github.com/abrahamjuliot/creepjs/commit/37b303bd183d664f0d509bfea90b298880b6d755#diff-471a0a2ce0a9a8cdc24687296beba69bR817-R822

PS: the properly handled link in your readme needs updating

abrahamjuliot commented 3 years ago

Lol, I do have a secret weapon. Actually, I obtained b and c on a trail run at browserstack and by using a custom server to auto collect the hash and userAgent. FF Android results seem to jump around. I narrowed it down to 3. I plan to test more. I might start subbing to browserstacks 1 month/annually to gather in hashes.

[a] - Android 8.1 on Chromebook
[b] - Android 8, 7.1, 10 (browserstacks)
[c] - Android 4.4, 6 and 9 (browserstacks)

Thx. I updated the link. TZP index home page looks really nice.

abrahamjuliot commented 3 years ago

Here are the goods =)

FF Android TZP tests:

[a] - Android 8, 8.1, 9 66b3de14094fec47652f8ad203e6d8e6c9ee418f [F26]

Android 8.1 on Chrome OS ``` 225f4a612fdca4065043a4becff76a87ab324a74 · 1.4645918875615234 · 0.48288235131479357 · 0.15051499783199063 · 1.4474840516030247 · 0.881373587019543 · 1.1071487177940904 engine:[NEW] control: Firefox 78 64bit on Windows 64bit ---------------------------------------------------- hash: 66b3de14094fec47652f8ad203e6d8e6c9ee418f [NEW] func: 9739fb2e9adbeba1c3f5cc9b7a67c5a254391458 poly: 2198a721f499ba07626ef27c36021acec222f24d cbrt: 1p1 cos: 5, 6, 13, 14, 15, 16, 17, 18, 20 sin: 13, 14 tan: 10, 11, 12, 13, 14, 15 control: Firefox 78 64bit on Windows 64bit ---------------------------------------------------- hash: 66b3de14094fec47652f8ad203e6d8e6c9ee418f [NEW] func: 9739fb2e9adbeba1c3f5cc9b7a67c5a254391458 poly: 2198a721f499ba07626ef27c36021acec222f24d cbrt: 1p1 cos: 5, 6, 13, 14, 15, 16, 17, 18, 20 sin: 13, 14 tan: 10, 11, 12, 13, 14, 15 * bigN = 5.860847362277284e+38 ---------------------------------------------------- ACOS 0: 0.123 : 1.4474840516030247, 1: Math.SQRT1_2 : 0.7853981633974483, ---------------------------------------------------- ACOSH 0: 1e300 : 709.889355822726, Infinity [match] 1: Math.PI : 1.811526272460853, 1.8115262724608532 [match] 2: Math.SQRT2 : 0.881373587019543, 0.8813735870195432 [match] ---------------------------------------------------- ASIN 0: 0.123 : 0.12331227519187199, ---------------------------------------------------- ASINH 0: 1e300 : 691.4686750787736, 691.4686750787736 1: Math.PI : 1.8622957433108482, 1.885022066017804 [match] ---------------------------------------------------- ATAN 0: 2 : 1.1071487177940904, 1: Math.PI : 1.2626272556789115, ---------------------------------------------------- ATANH 0: 0.5 : 0.5493061443340548, 0.5493061443340548 ---------------------------------------------------- ATAN2 0: 1e-310, 2 : 5e-311, 1: Math.PI, 2 : 1.0038848218538872, ---------------------------------------------------- CBRT 0: 100 : 4.641588833612779, 4.641588833612778 [match] 1: Math.PI : 1.4645918875615231, 1.4645918875615234 [match] ---------------------------------------------------- COS 0: 1e251 : -0.37419577499634155, 1: 1e140 : -0.7854805190645291, 2: 1e12 : 0.7914463018528902, 3: 1e130 : -0.767224894221913, 4: 1e272 : -0.7415825695514536, 5: 1e0 : 0.5403023058681398, 6: 1e284 : 0.7086865671674247, 7: 1e75 : -0.7482651726250321, 8: 0.123 : 0.9924450321351935, 9: Math.PI : -1, 10: bigN : -0.10868049424995659, 11: -1e308 : -0.8913089376870335, 12: 13*Math.E : -0.7108118501064332, 13: 57*Math.E : -0.536911695749024, 14: 21*Math.LN2 : -0.4067775970251724, 15: 51*Math.LN2 : -0.7017203400855446, 16: 21*Math.LOG2E : 0.4362848063618998, 17: 25*Math.SQRT2 : -0.6982689820462377, 18: 50*Math.SQRT1_2 : -0.6982689820462377, 19: 21*Math.SQRT1_2 : -0.6534063185820198, 20: 17*Math.LOG10E : 0.4537557425982784, 21: 2*Math.LOG10E : 0.6459044007438142, ---------------------------------------------------- COSH 0: 1 : 1.5430806348152437, 1.5430806348152437 1: Math.PI : 11.591953275521519, 11.591953275521519 2: 492*Math.LOG2E : 9.199870313877774e+307, Infinity [match] 3: 502*Math.SQRT2 : 1.046919966902314e+308, Infinity [match] ---------------------------------------------------- EXPM1 0: 1 : 1.718281828459045, 1.718281828459045 1: Math.PI : 22.140692632779267, 22.140692632779267 ---------------------------------------------------- EXP 0: 0.123 : 1.1308844209474893, 1: Math.PI : 23.140692632779267, ---------------------------------------------------- HYPOT 0: 1,2,3,4,5,6 : 9.539392014169456, 9.539392014169458 [match] 1: bigN, bigN : 8.288489826731114e+38, 8.288489826731116e+38 [match] 2: 2*Math.E,-100 : 100.14767208675258, 100.14767208675259 [match] 3: 6*Math.PI,-100 : 101.7610227859332, 101.76102278593319 [match] 4: 2*Math.LN2,-100 : 100.00960859865252, 100.0096085986525 [match] 5: Math.LOG2E,-100 : 100.01040630344927, 100.01040630344929 [match] 6: Math.SQRT2,-100 : 100.00999950005, 100.00999950004999 [match] 7: Math.SQRT1_2,-100 : 100.00249996875078, 100.0024999687508 [match] 8: 2*Math.LOG10E,-100 : 100.00377216279418, 100.00377216279416 [match] ---------------------------------------------------- LOG 0: 0.123 : -2.0955709236097197, 1: Math.PI : 1.1447298858494002, ---------------------------------------------------- LOG1P 0: 0.123 : 0.11600367575630613, 0.11600367575630613 1: Math.PI : 1.4210804127942926, 1.4210804127942926 ---------------------------------------------------- LOG10 0: 0.123 : -0.9100948885606021, -0.9100948885606022 [match] 1: Math.PI : 0.49714987269413385, 0.49714987269413385 2: Math.E : 0.4342944819032518, 0.4342944819032518 3: 34*Math.E : 1.965773398945507, 1.965773398945507 4: Math.LN2 : -0.1591745389548616, -0.1591745389548616 5: 11*Math.LN2 : 0.8822181462033635, 0.8822181462033635 6: Math.LOG2E : 0.15917453895486158, 0.15917453895486158 7: 43*Math.LOG2E : 1.7926429945344482, 1.792642994534448 [match] 8: Math.LOG10E : -0.36221568869946325, -0.3622156886994632 [match] 9: 7*Math.LOG10E : 0.48288235131479357, 0.4828823513147936 [match] 10: Math.SQRT1_2 : -0.15051499783199057, -0.15051499783199057 11: 2*Math.SQRT1_2 : 0.15051499783199063, 0.1505149978319906 [match] 12: Math.SQRT2 : 0.15051499783199063, 0.1505149978319906 [match] ---------------------------------------------------- SIN 0: 1e251 : -0.9273497301314576, 1: 1e140 : -0.6188863822787813, 2: 1e12 : -0.6112387023768895, 3: 1e130 : 0.6413781736901984, 4: 1e272 : 0.6708616046081811, 5: 1e0 : 0.8414709848078965, 6: 1e284 : -0.7055234578073583, 7: 1e75 : 0.66339975236386, 8: bigN : 0.994076732536068, 9: Math.PI : 1.2246467991473532e-16, 10: 39*Math.E : -0.7181630308570678, 11: 35*Math.LN2 : -0.765996413898051, 12: 110*Math.LOG2E : 0.9989410140273757, 13: 7*Math.LOG10E : 0.10135692924965616, 14: 35*Math.SQRT1_2 : -0.3746357547858202, 15: 21*Math.SQRT2 : -0.9892668187780497, ---------------------------------------------------- SINH 0: 1 : 1.1752011936438014, 1.1752011936438014 1: Math.PI : 11.548739357257748, 11.548739357257748 2: Math.E : 7.544137102816975, 7.544137102816975 3: Math.LN2 : 0.75, 0.75 4: Math.LOG2E : 1.9978980091062795, 1.9978980091062797 [match] 5: 492*Math.LOG2E : 9.199870313877774e+307, Infinity [match] 6: Math.LOG10E : 0.44807597941469024, 0.4480759794146903 [match] 7: Math.SQRT1_2 : 0.7675231451261164, 0.7675231451261164 8: Math.SQRT2 : 1.935066822174357, 1.9350668221743568 [match] 9: 502*Math.SQRT2 : 1.046919966902314e+308, Infinity [match] ---------------------------------------------------- SQRT 0: 0.123 : 0.3507135583350036, 1: Math.PI : 1.7724538509055159, ---------------------------------------------------- TAN 0: 1e251 : 2.478247463217681, 1: 1e140 : 0.7879079967710036, 2: 1e12 : -0.7723059681318761, 3: 1e130 : -0.8359715365344825, 4: 1e272 : -0.904635076595654, 5: 1e0 : 1.5574077246549023, 6: 1e284 : -0.9955366596368418, 7: 1e75 : -0.8865837628611647, 8: -1e308 : 0.5086861259107568, 9: Math.PI : -1.2246467991473532e-16, 10: 6*Math.E : 0.6866761546452431, 11: 6*Math.LN2 : 1.6182817135715877, 12: 10*Math.LOG2E : -3.3537128705376014, 13: 17*Math.SQRT2 : -1.9222955461799982, 14: 34*Math.SQRT1_2 : -1.9222955461799982, 15: 10*Math.LOG10E : 2.5824856130712432, ---------------------------------------------------- TANH 0: 0.123 : 0.12238344189440875, 0.12238344189440872 [match] 1: Math.PI : 0.99627207622075, 0.9962720762207501 [match] ---------------------------------------------------- POW 0: 0.123,-100 : 1.0220893335845176e+91, 1: Math.PI,-100 : 1.9275814160560185e-50, 2: Math.E,-100 : 3.720075976020851e-44, 3: Math.LN2,-100 : 8269017203802410, 4: Math.LN10,-100 : 6.003867926738811e-37, 5: Math.LOG2E,-100 : 1.2093335584550061e-16, 6: Math.LOG10E,-100 : 1.665592934758592e+36, 7: Math.SQRT1_2,-100 : 1125899906842611.5, 8: Math.SQRT2,-100 : 8.881784197001154e-16, ```
[b] - Android 6, 7, 7.1, 8, 9 56c05c3f03fb55c3c046ad1b68d05d2392fe0c54 [F21]

[c] - Android 9 da130b6da16b5ddffc42ebf56259c4746d01a3b6 [F22]
[d] - Android 9, 10 d246b2f0103139eb4407a7dfe4dda2af0bcca4e6 [F23]
[e] - Android 10, 11 571b9a318869bd09dab3fd83fd88883a66188011 [F20] already known
[f] - Android 5 a624571a642dbcb468f6d2d8203d0659d351bdc1 [F24]
[g] - Android 4.4 02e1298182c58da58956df1342b525bd5aecfd7e [F25]

Thorin-Oakenpants commented 3 years ago

Q: did the engine test on them hold up? I hope so

I'm not a mobile expert, and of course limited access. I had an android 5 (32bit for sure) until about a year ago, now I have an android 9 (64bit I think - did I say I'm not a mobile expert). - both of those stayed the same with my current math (the eight cos tests) - so super stable from 68 to 83 - but now we're testing more functions

And I'm wondering about the v2.5 tests. Are those browserstack tests from roms/vms or real devices. That said, exploring the results of combos of droid OS versions + droid hardware/devices + droid architecure is just part of the real world results. Nailing down what causes the differences would be interesting

For me it's not about being able to correctly guess the OS. It doesn't affect my tests:

For me, it's getting the full results to see how many buckets it creates, and there may be some equivalency. I guess that will come if and when I can ever get tzp to a state where it can send back a full FP data set to a backend

I'll come back to this to decide what to do with those results. I think I need to only include real devices. I'm wondering how to leverage mozillians

abrahamjuliot commented 3 years ago

Sounds good. BrowserStack uses 2000+ real devices (so they say). There's just 1 new engine on certain devices running Android 5, 6, 7, 7.1, 8, 8.1, 9 and it matches my device running 8.1.

Thorin-Oakenpants commented 3 years ago

There's just 1 new engine on certain devices running Android 5, 6, 7, 7.1, 8, 8.1, 9 and it matches my device running 8.1.

So this is new hash not in my tiny engine code hash check - for Firefox? I don't use this for isFF but I do for blink. And this matches your actual real android device, right - in which case that's a confirmed new FF hash to add to math v2.5 (and the engine for completeness sake). Or am I misinterpreting what you said?

So what is your 8.1 device? 64bit, 32bit, something else .. IDK (not a hardware person) - not essential but may shed some light if/when we get lots of droid hashes

Update: see #13 for you to check - edit it to correct anything or add in your version 8.1 note somewhere - squash and merge it if you want - this will help with your tests to spot NEW ones 👍

Update2: "I think I need to only include real devices." <-- WTF am I thinking - this is research, of course we record all data into the dataset 🤦 edit: and they are real devices according to browserstacks. so yeah 🤦 🤦 🍻 - even if one of them wasn't real world, how the F would we ever know without testing 3 billion devices

abrahamjuliot commented 3 years ago

So this is new hash not in my tiny engine code hash check - for Firefox?

This is correct. Here's the data.

Android 8.1 Android 9 on Chrome OS 32bit (ASUS Chromebook Flip C100PA) correction: TB useragent reports Android 8.1, but it's actually Android 9 on FF 🧐

TB: Mozilla/5.0 (Android 8.1; Mobile; rv:68.0) Gecko/20100101 Firefox/68.0 FF: Mozilla/5.0 (Android 9; Mobile; rv:81.0) Gecko/81.0 Firefox/81.0

225f4a612fdca4065043a4becff76a87ab324a74
 · 1.4645918875615234
 · 0.48288235131479357
 · 0.15051499783199063
 · 1.4474840516030247
 · 0.881373587019543
 · 1.1071487177940904
engine:[NEW]
control: Firefox 78 64bit on Windows 64bit
----------------------------------------------------
 hash: 66b3de14094fec47652f8ad203e6d8e6c9ee418f [NEW]
 func: 9739fb2e9adbeba1c3f5cc9b7a67c5a254391458
 poly: 2198a721f499ba07626ef27c36021acec222f24d
 cbrt: 1p1
  cos: 5, 6, 13, 14, 15, 16, 17, 18, 20
  sin: 13, 14
  tan: 10, 11, 12, 13, 14, 15
control: Firefox 78 64bit on Windows 64bit
----------------------------------------------------
 hash: 66b3de14094fec47652f8ad203e6d8e6c9ee418f [NEW]
 func: 9739fb2e9adbeba1c3f5cc9b7a67c5a254391458
 poly: 2198a721f499ba07626ef27c36021acec222f24d
 cbrt: 1p1
  cos: 5, 6, 13, 14, 15, 16, 17, 18, 20
  sin: 13, 14
  tan: 10, 11, 12, 13, 14, 15

                      * bigN = 5.860847362277284e+38
----------------------------------------------------
ACOS
    0:  0.123              :      1.4474840516030247,                        
    1:  Math.SQRT1_2       :      0.7853981633974483,                        
----------------------------------------------------
ACOSH
    0:  1e300              :        709.889355822726,                Infinity [match]
    1:  Math.PI            :       1.811526272460853,      1.8115262724608532 [match]
    2:  Math.SQRT2         :       0.881373587019543,      0.8813735870195432 [match]
----------------------------------------------------
ASIN
    0:  0.123              :     0.12331227519187199,                        
----------------------------------------------------
ASINH
    0:  1e300              :       691.4686750787736,       691.4686750787736
    1:  Math.PI            :      1.8622957433108482,       1.885022066017804 [match]
----------------------------------------------------
ATAN
    0:  2                  :      1.1071487177940904,                        
    1:  Math.PI            :      1.2626272556789115,                        
----------------------------------------------------
ATANH
    0:  0.5                :      0.5493061443340548,      0.5493061443340548
----------------------------------------------------
ATAN2
    0:  1e-310, 2          :                  5e-311,                        
    1:  Math.PI, 2         :      1.0038848218538872,                        
----------------------------------------------------
CBRT
    0:  100                :       4.641588833612779,       4.641588833612778 [match]
    1:  Math.PI            :      1.4645918875615231,      1.4645918875615234 [match]
----------------------------------------------------
COS
    0:  1e251              :    -0.37419577499634155,                        
    1:  1e140              :     -0.7854805190645291,                        
    2:  1e12               :      0.7914463018528902,                        
    3:  1e130              :      -0.767224894221913,                        
    4:  1e272              :     -0.7415825695514536,                        
    5:  1e0                :      0.5403023058681398,                        
    6:  1e284              :      0.7086865671674247,                        
    7:  1e75               :     -0.7482651726250321,                        
    8:  0.123              :      0.9924450321351935,                        
    9:  Math.PI            :                      -1,                        
   10:  bigN               :    -0.10868049424995659,                        
   11:  -1e308             :     -0.8913089376870335,                        
   12:  13*Math.E          :     -0.7108118501064332,                        
   13:  57*Math.E          :      -0.536911695749024,                        
   14:  21*Math.LN2        :     -0.4067775970251724,                        
   15:  51*Math.LN2        :     -0.7017203400855446,                        
   16:  21*Math.LOG2E      :      0.4362848063618998,                        
   17:  25*Math.SQRT2      :     -0.6982689820462377,                        
   18:  50*Math.SQRT1_2    :     -0.6982689820462377,                        
   19:  21*Math.SQRT1_2    :     -0.6534063185820198,                        
   20:  17*Math.LOG10E     :      0.4537557425982784,                        
   21:  2*Math.LOG10E      :      0.6459044007438142,                        
----------------------------------------------------
COSH
    0:  1                  :      1.5430806348152437,      1.5430806348152437
    1:  Math.PI            :      11.591953275521519,      11.591953275521519
    2:  492*Math.LOG2E     :  9.199870313877774e+307,                Infinity [match]
    3:  502*Math.SQRT2     :  1.046919966902314e+308,                Infinity [match]
----------------------------------------------------
EXPM1
    0:  1                  :       1.718281828459045,       1.718281828459045
    1:  Math.PI            :      22.140692632779267,      22.140692632779267
----------------------------------------------------
EXP
    0:  0.123              :      1.1308844209474893,                        
    1:  Math.PI            :      23.140692632779267,                        
----------------------------------------------------
HYPOT
    0:  1,2,3,4,5,6        :       9.539392014169456,       9.539392014169458 [match]
    1:  bigN, bigN         :   8.288489826731114e+38,   8.288489826731116e+38 [match]
    2:  2*Math.E,-100      :      100.14767208675258,      100.14767208675259 [match]
    3:  6*Math.PI,-100     :       101.7610227859332,      101.76102278593319 [match]
    4:  2*Math.LN2,-100    :      100.00960859865252,       100.0096085986525 [match]
    5:  Math.LOG2E,-100    :      100.01040630344927,      100.01040630344929 [match]
    6:  Math.SQRT2,-100    :         100.00999950005,      100.00999950004999 [match]
    7:  Math.SQRT1_2,-100  :      100.00249996875078,       100.0024999687508 [match]
    8:  2*Math.LOG10E,-100 :      100.00377216279418,      100.00377216279416 [match]
----------------------------------------------------
LOG
    0:  0.123              :     -2.0955709236097197,                        
    1:  Math.PI            :      1.1447298858494002,                        
----------------------------------------------------
LOG1P
    0:  0.123              :     0.11600367575630613,     0.11600367575630613
    1:  Math.PI            :      1.4210804127942926,      1.4210804127942926
----------------------------------------------------
LOG10
    0:  0.123              :     -0.9100948885606021,     -0.9100948885606022 [match]
    1:  Math.PI            :     0.49714987269413385,     0.49714987269413385
    2:  Math.E             :      0.4342944819032518,      0.4342944819032518
    3:  34*Math.E          :       1.965773398945507,       1.965773398945507
    4:  Math.LN2           :     -0.1591745389548616,     -0.1591745389548616
    5:  11*Math.LN2        :      0.8822181462033635,      0.8822181462033635
    6:  Math.LOG2E         :     0.15917453895486158,     0.15917453895486158
    7:  43*Math.LOG2E      :      1.7926429945344482,       1.792642994534448 [match]
    8:  Math.LOG10E        :    -0.36221568869946325,     -0.3622156886994632 [match]
    9:  7*Math.LOG10E      :     0.48288235131479357,      0.4828823513147936 [match]
   10:  Math.SQRT1_2       :    -0.15051499783199057,    -0.15051499783199057
   11:  2*Math.SQRT1_2     :     0.15051499783199063,      0.1505149978319906 [match]
   12:  Math.SQRT2         :     0.15051499783199063,      0.1505149978319906 [match]
----------------------------------------------------
SIN
    0:  1e251              :     -0.9273497301314576,                        
    1:  1e140              :     -0.6188863822787813,                        
    2:  1e12               :     -0.6112387023768895,                        
    3:  1e130              :      0.6413781736901984,                        
    4:  1e272              :      0.6708616046081811,                        
    5:  1e0                :      0.8414709848078965,                        
    6:  1e284              :     -0.7055234578073583,                        
    7:  1e75               :        0.66339975236386,                        
    8:  bigN               :       0.994076732536068,                        
    9:  Math.PI            :  1.2246467991473532e-16,                        
   10:  39*Math.E          :     -0.7181630308570678,                        
   11:  35*Math.LN2        :      -0.765996413898051,                        
   12:  110*Math.LOG2E     :      0.9989410140273757,                        
   13:  7*Math.LOG10E      :     0.10135692924965616,                        
   14:  35*Math.SQRT1_2    :     -0.3746357547858202,                        
   15:  21*Math.SQRT2      :     -0.9892668187780497,                        
----------------------------------------------------
SINH
    0:  1                  :      1.1752011936438014,      1.1752011936438014
    1:  Math.PI            :      11.548739357257748,      11.548739357257748
    2:  Math.E             :       7.544137102816975,       7.544137102816975
    3:  Math.LN2           :                    0.75,                    0.75
    4:  Math.LOG2E         :      1.9978980091062795,      1.9978980091062797 [match]
    5:  492*Math.LOG2E     :  9.199870313877774e+307,                Infinity [match]
    6:  Math.LOG10E        :     0.44807597941469024,      0.4480759794146903 [match]
    7:  Math.SQRT1_2       :      0.7675231451261164,      0.7675231451261164
    8:  Math.SQRT2         :       1.935066822174357,      1.9350668221743568 [match]
    9:  502*Math.SQRT2     :  1.046919966902314e+308,                Infinity [match]
----------------------------------------------------
SQRT
    0:  0.123              :      0.3507135583350036,                        
    1:  Math.PI            :      1.7724538509055159,                        
----------------------------------------------------
TAN
    0:  1e251              :       2.478247463217681,                        
    1:  1e140              :      0.7879079967710036,                        
    2:  1e12               :     -0.7723059681318761,                        
    3:  1e130              :     -0.8359715365344825,                        
    4:  1e272              :      -0.904635076595654,                        
    5:  1e0                :      1.5574077246549023,                        
    6:  1e284              :     -0.9955366596368418,                        
    7:  1e75               :     -0.8865837628611647,                        
    8:  -1e308             :      0.5086861259107568,                        
    9:  Math.PI            : -1.2246467991473532e-16,                        
   10:  6*Math.E           :      0.6866761546452431,                        
   11:  6*Math.LN2         :      1.6182817135715877,                        
   12:  10*Math.LOG2E      :     -3.3537128705376014,                        
   13:  17*Math.SQRT2      :     -1.9222955461799982,                        
   14:  34*Math.SQRT1_2    :     -1.9222955461799982,                        
   15:  10*Math.LOG10E     :      2.5824856130712432,                        
----------------------------------------------------
TANH
    0:  0.123              :     0.12238344189440875,     0.12238344189440872 [match]
    1:  Math.PI            :        0.99627207622075,      0.9962720762207501 [match]
----------------------------------------------------
POW
    0:  0.123,-100         :  1.0220893335845176e+91,                        
    1:  Math.PI,-100       :  1.9275814160560185e-50,                        
    2:  Math.E,-100        :   3.720075976020851e-44,                        
    3:  Math.LN2,-100      :        8269017203802410,                        
    4:  Math.LN10,-100     :   6.003867926738811e-37,                        
    5:  Math.LOG2E,-100    :  1.2093335584550061e-16,                        
    6:  Math.LOG10E,-100   :   1.665592934758592e+36,                        
    7:  Math.SQRT1_2,-100  :      1125899906842611.5,                        
    8:  Math.SQRT2,-100    :   8.881784197001154e-16,
Thorin-Oakenpants commented 3 years ago

OK, added it https://github.com/arkenfox/TZP/commit/804cabec250996443818f6f6848c6238bca8f4a5. Don't worry about too much about the comments - the detailed info is in the first post (and a local spreadsheet). I'll update OP later

Thorin-Oakenpants commented 3 years ago

@abrahamjuliot - I'm yet to finish it, but here you go

This is easier than fucking around with long lists and formatting crap in github comments

all: 110 tests diff from control all firefox: 72 tests differ firefox 68+: 55 tests differ firefox 67-: 61 tests differ

Obviously since the control is FF, it has less diffs. If you want to double check the entries for the five new android ones (I had to go on your screenshots), that would be cool (I edited your post to add the short code). If we ignore obsolete FF's .. we can get away with 55 tests as a maximum - and that can probably be reduced as well. I will build something down the track to programmatically determine the minimum set to maintain entropy

I am yet to finish the webpage: some cosmetic stuff, outputting the unique test numbers for various (FF68+ vs all)

Thorin-Oakenpants commented 3 years ago

android 4.4 must be using v68 .. I assume the others were Fenix (78+) .. right?

Thorin-Oakenpants commented 3 years ago

@abrahamjuliot just a FYI should you need to do anything with creepy - https://github.com/arkenfox/user.js/issues/1234 - RFP math mitigations landed: it doesn't affect our my engine math check. And I've already patched TZP's feature detection math test (used to show OS) - note: I'm using my old small set and only missing out on android polyfill entropy AFAICT, not the large monsta you are: I do plan to upgrade the math test in the future though to catch those extra android results

bugzilla: 531915

Thorin-Oakenpants commented 3 years ago

note:

removing sin/cos/tan from Firefox android results

F21 + F24 cbrt: 1p1 cosh: 0, 0p1 expm1: 0p1 sinh: 0p1

F22 + F23 + F25 cosh: 0, 0p1 expm1: 0p1 sinh: 0p1

F26 cbrt: 1p1



### entropy still exists

polyfills [are here](https://github.com/arkenfox/TZP/blob/d7b77267890483c4e111500fc2c3b7c0a7258c6d/tests/math.html#L321)
- cbrt uses `pow`
- cosh uses `log` + `sqrt`
- expm1 uses `exp`
- sinh uses `exp`

non polyfill
- cosh
Thorin-Oakenpants commented 2 years ago

interesting article calculator forensics

reminds me of how old-timey passports were checked in Russia .. American passports used stainless steel staples, Russian ones didn't ... a check for rust masks could unearth a paradox .. oh noes, it's the gulag for you! I have to admit I'm a bit of a fan of old-timey spycraft, most is still relevant today .. OpSec vs Meatware

Thorin-Oakenpants commented 2 years ago

https://bugzilla.mozilla.org/show_bug.cgi?id=1775254 - @abrahamjuliot keep an eye when this lands to see if it affects your math stuff

Thorin-Oakenpants commented 2 years ago

yup, changes all 9 pow test results in my windows: my windows was F1 the control

https://arkenfox.github.io/TZP/tests/math.html

looking at the math data, pow (all nine) were a factor in FP diffs in FF prior to FF68, but not since. So if this still holds true (same results on all platforms), it doesn't change entropy (in our list of tests), just some values

Thorin-Oakenpants commented 2 years ago

moar_kapow

Thorin-Oakenpants commented 2 years ago

@abrahamjuliot FYI

omg ... https://bugzilla.mozilla.org/show_bug.cgi?id=1784111 ... I've pinged tjr, let's hope they never add any FP webcompat site overrides, let alone go down a slippery slope of specially modifying results like math (which can change for a number of reasons, libraries/compression) - if they do it for bet365, then I bet (pun intended) it happens for other FP scripts using various pow calculations - you know like creep - see above pic :)

abrahamjuliot commented 2 years ago

yikes, fpjs uses math pow pi -100 too. I imagine that throws a monkey wrench in their heuristics.

I went ahead and switched over to error lengths for engine detection (needs improvement though).

Thorin-Oakenpants commented 2 years ago

yeah, I want to move away from math (except as a single FP measure) - a change in compression altered FF68+, a change in libraries (see that Pow change), diff libraries in geckoview vs gecko? ... so I don't want to rely on math to detect global vars

I've always had a pretty robust gecko (and if math failed for gecko I always had it hardened), and gonna has used non-math for a while.

Current state is

So yeah, after the isEngine page, I was wanting to do something more robust for blink/webkit. trident should fail to run on TZP, so I don't know what else is left?

Thorin-Oakenpants commented 2 years ago

so one thing I have observed, is using the console you can check what is valid by typing the first letter

So KeyEvent = function in gecko and undefined/reference-error in blink/webkit. I think we should enumerate these and run a universal script to find unique items per engine. IDK non gecko releases very well, e.g. what can be flipped by settings or when they were added/removed - e.g. older versions

Thorin-Oakenpants commented 1 year ago

I consider this finished: new math is https://github.com/arkenfox/TZP/pull/192/commits/1aa30edf71fbe5f8b4fb5fba4813c3be055529ba

Thorin-Oakenpants commented 1 year ago

interesting read