RSA w akcji, czyli Parasoft vs Ivanopulo

Algorytm RSA często jest używany w aplikacjach do sprawdzania poprawności danych licencyjnych. Zwykle ma to na celu uniemożliwienie utworzenia generatora kluczy i zwykle to tylko złudne poczucie bezpieczeństwa.

Taki przykład można znaleźć w oprogramowaniu firmy Parasoft C++Test i ich systemie licencyjnym, który opiera się właśnie na bezpieczeństwie kluczy RSA.

Poniżej lista kluczy RSA z niespodzianką na końcu:

package com.parasoft.xtest.lic.client.validator;

public class ParaSoftKeys
{
  private static final ToolKey[] _PUBLIC_KEYS = { 
    new ToolKey(
    0, 6, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMJQQ8H19ab/HxBrnwAoMq3CrpxrA1jwQSAS7CX1LDuYk5pep2HF5UXYPZjyN6UzzsKMJ22LW9vtg04mJ3XKtycCARE="), 
    new ToolKey(
    0, 6, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAPKRujlYE4lfyii9A1Oq4BONJrej3z9//F5OIa20XJXRsu6HA26fpK572r1ttzvtQFIkaBWCeOATsAWPXHBihYkCARE="), 
    new ToolKey(
    0, 7, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALoOD6TbcA6aXSObEzKl9HPWbI2QU5XclIWjFmz4SQpQvbjWMzRzPOqj1+MrNJJz1n0qkIGbNTxluBGLWyTen5ECARE="), 
    new ToolKey(
    0, 7, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKWhmAo0yXMR04/7qxUdVSuwXLc6XNSbahLjo3VFS+4W+KM2eGRBLKHjubUOWFeO80IG5ZsgnPJyUd3jynV4jNUCARE="), 
    new ToolKey(
    2, 4, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALyP3jvS1g6XCevjZULv+eYf9beybHrtffUEQezE577+8CiQUDAV569X4VDO/x5ojwoEmwzlX3Q53vGPaLoaqY0CARE="), 
    new ToolKey(
    2, 4, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL2wKCGElUQ1dTTD/56RSEDPEpM3l+0cgxMvbvmqmU17lkaUt1w/PQmN/Kl3vbFoEWQtR3+6Gd1GUF+pxYcPmH0CARE="), 
    new ToolKey(
    2, 4, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAO6hT4tYSUKYOFui11S1vHmnEu9cryuM3f07bpcgAhkoz9EaheDxTWlpz9DeAuJQrRx/hnP1elLKn+/av51qgQECARE="), 
    new ToolKey(
    2, 4, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANlMqCyUp3uPRSC6yiYTmYvS24gn5Bd2AGdq6tf5QLRpL9AuvMcrSKcZT5g2/j7z38xkO4SOgHyskXBe9qMG+A0CARE="), 
    new ToolKey(
    2, 5, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMbKOHqRoYM8z3tm+XI8P44hXz6rNLZkdeYSXBlePN83YWaj5iw9zbPvcmcNZga60CkS7uBcgaaQNA/zaV09onUCARE="), 
    new ToolKey(
    5, 4, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANmiB/F644aOChvLpofXFOqPSrzlzAs+95AgCl7CQYG2/vaH/lVvDC0l45XIOAMgTNFzf7l+R728DfnCBiMuYH8CARM="), 
    new ToolKey(
    5, 4, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANpZDHe29SAlNOy2SYom1YYDCr782rBYfgQ/AlUUzsdq8RGLck4N6ekNBYtrXSN1TYZgBz1PzD5QD9RKnYEaD2cCARE="), 
    new ToolKey(
    5, 4, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKLNMNXxD5E5UBQaysYv5+Ckx8Re1ug6v6Tm2UFvwOqfd3uxm5aXRTXW44y+DVEk++esL5i5JG+Rth/U2UW8J6cCARE="), 
    new ToolKey(
    5, 4, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAN9NsrWXFDXS98MGbwO8/Zc6DneJXid7ggnz95v8Ghbw4C6923DpbZbm+L2tjEnQ4B92WibiypK+YBzswxG1joECARE="), 
    new ToolKey(
    5, 5, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJ3Eq5F/AL4tADz7nomwDBlmR8durgLR8i3eRKEni4+bWCXXbWdpTxhCop4rc6cXdNLfHX2ACwz5jVzQoEZ4fRsCARE="), 
    new ToolKey(
    5, 6, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALQSoHDsMkZXwswi6zyDuYLHOsDr3i4J4e4nFDo9FdkjcCpiaW/5Hq+zvZcbrfKIfZhh7PdMagsZdL4iZp0NP3cCARE="), 
    new ToolKey(
    5, 7, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMeFZvffVut1GgcWj6L9D4K5qTzGxfClpvcOSBpDDVsXj7kiOY4FH0IFGcFu+/9L2OlAqMK0tOFyqi6JPgO1VIsCARE="), 
    new ToolKey(
    5, 8, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALv7JrpE4VtnnrMcAdyNr5LYJPxqIcnZ47dyGBDLqw7Wbq18OaXJqI5+CJCU9mlJcf6ZpkFyD2Y3RFVGCfhbkpUCARM="), 
    new ToolKey(
    5, 9, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMAxpbAFyBqe/DgkpOS7ZAC5r4sY4iLf+E00lNojvdDr5FysM/CFL+JR3IPiYY33i8aV1PC6TzGiDATCG6Q/1TECARE="), 
    new ToolKey(
    5, 9, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALyJEkCxEiHq5US0EbMqxIRmsx0AlFEgngWgB7CBEUyIyAIUZniKPsatnah2WFGZwLcHu6U0vLgxi6Ju/uO/ofECARE="), 
    new ToolKey(
    5, 9, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANPU4b3yc4X0OQc+vJ+Ts8xD1XqZ1DkNYri3dsP9dK0CZcGqht0ByfYSioW3niUVWRB+2mt7+Y8WitTP+jYntpkCARM="), 
    new ToolKey(
    5, 9, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKaZOYa8Yro27qDKYhpf2d0yA+KmnDJ5sCleEqTEtVoUB3WYlKS+dmfHD5JyhvO/PKgpYN/xCPrfffA/vcxcvisCARE="), 
    new ToolKey(
    5, 9, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALDuF4v/xgxOFjsnJF8jOyiNM3qR55bR7MYUKST6GpQeqxBz3s6Ph9hQ5iL0EKwlLCfEoOQWUajrRHzJb7leTMMCARE="), 
    new ToolKey(
    5, 9, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAI7VLlgmoe1tD86ZV4PcV1PtIPcRwjH5wvtyQJja2cDTYsdr0ys1eSto3HSvgguZkfKX/Ofjqm730mXEJMYtMv8CARE="), 
    new ToolKey(
    11, 1, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMrMrgixndnh4qOil0r28mQF4iXBHUbjVes0QeCM0BBRGfsa8BHi8w1y7RK3/0Hiv9iDE4LcoKbEg8O1NIKml2UCARc="), 
    new ToolKey(
    11, 1, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMN3SUM/k5QVef8t7EvUwJ4aG/uRJLI7t+BaB0+0Czvvw9JUP+XxzCEiQyQfn6kFdcfu9BYVW2ywj+UXuITS1IMCARE="), 
    new ToolKey(
    11, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALyqjq4Wf5LKcjBEbgQ+2NGaVr+Q7kBd55X4N9gQdcAsGYDtRzG+USZy995Yt80uDjzQn/HLSkUJRRT5r/IUN2sCARE="), 
    new ToolKey(
    11, 2, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKSiaksZjmvCr7501qBY6F7VZ3hlc214NztLzhzTh0Ift9kV4j+Yq8Mg78ZrQJG+g8nckOLgFyjaiJWhMoNOdHkCARE="), 
    new ToolKey(
    11, 2, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAK1nnxOGt2zIw3b4ncOpBVRCOJ0MDS5705iGde8nK5N8oLm0EQuoyUscPvivooeDnDJHiMSKcBgbCrp6V4DA7UECARE="), 
    new ToolKey(
    11, 2, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANAt5bLNr/mgsM+F9RMh0Y/tAMHxOjbjTgkxGQ0QFRCuDVwzfqaWf1sxeZ17C+QkgPAtKpG8PQtDaQJ0PSEnmXcCARM="), 
    new ToolKey(
    11, 6, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALWk6+HpO9U7DIYyl74bagemUaTSkRLBFbuHD+RNXfqOkmBv3PzPKKiIAHJl61WB4mPKDVIHtpn2+GRLDHq0LXkCARE="), 
    new ToolKey(
    11, 6, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKnAou/AYD2ASJkwZ1tpxVK5ROX9J69Ljkr4MQV4b2LFmSh3z6Jy35m6e4GPuzFWYZ4zg4jJus1Hl7mu+PkZiT0CARE="), 
    new ToolKey(
    11, 6, 6, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANb+XTzkem0olNX2GXt7BTG0Iu+Gtd+WlNHsXQisYx1H2sC0LTNGeX5QYPr0D4ttCTSrVeniRG8RQ967Kl3DsWECARE="), 
    new ToolKey(
    11, 6, 7, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALKKm2oFqNFTy4zZnhpnFczKp5mHSQuH8hhdfF8dlZck9JdveHRUmR4Cvv1xc+lsd1y6j4TZh7W2tLTRESDuSw0CARE="), 
    new ToolKey(
    11, 7, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALQuvBMZgF2icc4a9hKxtBnmEUgOvDp9UHRkfEf4e9+Tnvpi678/ItMhUmSJf8DgwI9/14jUOPUK4uU9VI89orsCARE="), 
    new ToolKey(
    11, 7, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOKb8cEs9XjZ0l6C0mr7LUx9EiRBW4vJuPMo+ZwchVF1hJ+rTZQp0gHPSJ7AAHZhI3YQ+oYDRBj4AAGPZvOhgTcCARE="), 
    new ToolKey(
    11, 7, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL/7cCC0GsBT74poBrgDKoFZ19PX6INGEi+ynuShyqxMNYQbhJObEvF/QWSoHsEM6MSK4umHXXcqTOqCVnwixn0CARE="), 
    new ToolKey(
    11, 7, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKqi87VUreqP4/qAuFqGbquY9x9Q/43hGZy1wKLM31TYB42JeXOQ+f7qyYCfISBQtz+d2mjCTZjF/eNsMZkFD6sCARE="), 
    new ToolKey(
    11, 9, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAPZ65Xdv/7X1KpNxipcths5P0QxzOHVVG0hDQBOUr4in5nn6ibn49tM9lqjGOwAE7+vDd2GMJs28dnqzUTMLr9ECARE="), 
    new ToolKey(
    11, 9, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJiYZyjQfn+EMaO7f40SNCd3QVJSMVi9bZQlR1cTJH2RtizdJtL2AOhsDMH4li0tq5VlujxqqqxQ66Yp20rihcECARE="), 
    new ToolKey(
    11, 9, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOGg7/ol36cJYAJ8LO3YjuuXJ6Eect/y5ahN/lPaCBo9NAQzzuJHutdckuNcNF7qNDRZvyENPBxhSou+kvqzFy8CARE="), 
    new ToolKey(
    11, 9, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMDYwLrfkcD74qEQ9nMdw3LqTIHXdjarwHbQ7X5xhp73d5IeX+bJm/nOCm2cDNMqvj+4UOmc/oFx1N0t/ehq8FECARE="), 
    new ToolKey(
    11, 9, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAM3Rc3ZgzBPsuE40Wtg1NRpBY4jfYJESeqlIA9DKW7KOAIpm7wrtkMorsxnielAAKviKp55wzLUwxbcBQdeWrFsCARE="), 
    new ToolKey(
    11, 9, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANIMR+UrwtB392P1v92JwDa+++gc6VhxQ/VcGRFrGltypeJBaiQpIZ/wkRHa/6WeHW3m7MXJoxQU8xWYXPAmf2cCARE="), 
    new ToolKey(
    12, 3, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKcebFiEltIbc9YAsC6V+kqRJm3wcfN96jaqDZ4+/1bfdg9Yk/V4AUPdpKpXdE0N6921P+TWIQmBETfQ1xQXhzUCARE="), 
    new ToolKey(
    12, 3, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMgk5AaiOKukuLCPYWQb7Urrjb1nweR0bErFQRc4nRT3A17eE2FnqSy4YjASzCxvjyh585io/wWRZjUw5V4W72MCARM="), 
    new ToolKey(
    12, 3, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAN0p+6lIHhC8L6i7P50lKJED6fHYrFW1JzeOhbNi4jfkId+4a4eOG1SuONA3NCzYOOKT6ej8BXyG+xr3mMI5vbcCARE="), 
    new ToolKey(
    12, 4, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMZanGmry8Wgr6ldiB+wqENoZNJRc+R2Y/h3asbJLJ6NObPOn5/Vf9zFI/ipSqOKCtwiQIa9GbBjaBKtTcxtRIMCARE="), 
    new ToolKey(
    12, 4, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMZBIyAI9ec0EJT14NA0G4ncrSFTvt33S0JUSmRwZ0rTUhnPnGqblystLGJ5gZXjI0PjThDG35O/rmT+GZ6gFykCARE="), 
    new ToolKey(
    12, 5, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALp842Ixsooj7Q4rciPgLUQKePCbQ60UUzTyTe6/HcS/1+pwB4tWVOkXvU78Fwuaj/8ZZ6AHpTBiLtEDQQNE51MCARE="), 
    new ToolKey(
    12, 5, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAIiDRDqFb6FyGMtOcg69/yVhOCuz8wADNMLxgyegFh5PIzKV8Gu5h75mp7WZ2mGqN6MaET2Y2jn4jTTqB5p7ljcCARE="), 
    new ToolKey(
    12, 5, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALF3pqSoX7vMWZBKO6x7LX6K/tuENDSh8RJ6CTIKJoEQY7QxEnOJpP03VCcslX2ICUu3zKfXLUfUx3GvaKA6b0sCARE="), 
    new ToolKey(
    12, 6, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALF8xH9szJpX41aVsU0uGf7GnDEA6c0AEzbHRBuQ+FK4BaGnCHS4CvYwqddUu1ZS3wLipuPFleQL0XEx3KsDeN8CARE="), 
    new ToolKey(
    29, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANBeaUrCo5Bcb4BUFLjrrpqEdT1DG6ezHtxNu9Z5Vn142PaeJ6YqtDBlJXZaRoCgdDxE6q4HMT0/ldnPUl9lHGkCARE="), 
    new ToolKey(
    30, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJ6khsnMPS1q3tEFiDkd7uGCVDAuwk2i3DnjRB6LDaLcZX6CT05FF0D6CH6IcgMGVrDthZw3NIyGUIXo7VTrCJ8CARE="), 
    new ToolKey(
    30, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL3HvzlLuY3TDMgS8UtXe5VljCFLD9Msn1cD1UMuBNx6nuz9V7KyqVP5CUoIzjPWooAtdyKv4NX6x1XkOxa5dTUCARM="), 
    new ToolKey(
    32, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMe2V3maT0KY6uOIY5UV6Nk1C0ZbnL7vPQ3evJWtIqWJBWfq8zW+8lyvwaysXUZVEGZbhxxObHcSgMMfEJyr5fkCARE="), 
    new ToolKey(
    32, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANIODBqKSUDKU4+cJ+YXn4q3heHDbsHPuB3H+XywMJhYdZeuPIlowB8QDSE97eff24wsCbfqhyNwFG0qsSg7qyUCARE="), 
    new ToolKey(
    32, 2, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJpaBZFsDhD+N/DxCF0m+XC24JTab7CGOXZMe+Q1Mgv9CAh7ErMEtTNNzouqQRvqcr6OvTgCvXCzaGppHyeSJW0CARE="), 
    new ToolKey(
    32, 2, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKTV1P9NMWY8PfLPMeMIP8O0bdes3VRv9u0/j/iS5XGItPJpwctyiZ6RzXbDUYOkod6VBaquNtNYqjH+37KTDL0CARE="), 
    new ToolKey(
    32, 2, 6, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALKJx5toYJ/RFIav8CQ+JOHeLVBTgG9QYPzYNCkZF4ei3S5JXeOIX4JjULwEFCrG+g4gamE2lwGm/EXgtv2U5acCARM="), 
    new ToolKey(
    32, 3, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJGggsT7xPi5VyPlcl82XxuyubsnjmSWQKRAQe8SEcg6Y08ghuwR6YR+Ep/Y8xE+ToNMT2RLAYduqNlDp4mn7VECARM="), 
    new ToolKey(
    32, 4, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKHKNDDNdjbjl07C2HtfieAYopZbM5uTe3MxaqwkJBsB2z7oztjGJoDNw8zs2ibbXOL2pKYP6ae6etZDN6XEsXECARE="), 
    new ToolKey(
    44, 4, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMSa7rLyjuBdct0+FEOjR0MIr+m2/z+0sjAy1IRakd+87g4jR4Ee1bYBg7+xdunBDomJRG0c3UZ3kq6cHquEkUcCARE="), 
    new ToolKey(
    45, 4, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOA5BQsR4W04YHplyEHyK6ai1S87rICABquxG97rnGf3DekTIdjggATDdabAj1MRrRfkzMEOIRcu6XaaDQFGX2ECARE="), 
    new ToolKey(
    45, 5, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMqwWfrP3w7+V2nwVZsmSvCEOxFyeayuw7hlukg8RoXSwojTfxH8EWMzkWwDml3E5aooRGyfb5f7IdzfU61PlQ8CARE="), 
    new ToolKey(
    48, 6, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANOLJdqQlEp0hhDbrSNT0Aw/N9f6d86qtaZOX7drNCY9yIi+xlT+P3AtBh7w5XxZQm6C8qebsdLKwXXobYA+RQkCARE="), 
    new ToolKey(
    48, 9, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMPt/1/skb/ZMQ9mzZazzP6jmnUG4Fs/J/DM5fqv/cgw6SDd5n+3zS/NB9PS9VExSFcC1s2KKwBrd+S4cMCqSGsCARE="), 
    new ToolKey(
    48, 9, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOLK44GLrBCQm05q2fKhskyQ97pyw3imYqItlxZIRKj0KM6lzIxA4Xerp+HBPjtBg1C6T0I/ob+N4VK0G6eGNV8CARE="), 
    new ToolKey(
    48, 9, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALRAhOT0is0a3WNOg8PrKdSNKPMzCNwfG2Njda03P+Cxm1SRyIaZypri/A8kHgaSjwGk3jUT3+ClnXzcCBGpxEcCARM="), 
    new ToolKey(
    48, 9, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALAng7wjiDaH8PaSXgk0wUjF+01cp3dVql8n/pm+7M98EGi0x+tQ7Jv9g1AL7CdOUCIXPYT6hWe1ZlrWmSzsNx8CARE="), 
    new ToolKey(
    48, 9, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKgJksCR3r2jvy0sCpb+woJWSWf8a2Bq/kLjUZ4LfsqfBj0DCcsHyLGuAfff47wiqoQnbAGE2urERug4kR0MF7kCARE="), 
    new ToolKey(
    47, 6, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAM0VH2Ek4lJW1+NBpbBcM5YKU9nvQgqxqPdcpi3KBFS4X7mZSN38kQnQZwkwOI1a3V5Wx2yn6gqvl1yu2XS6Y7ECARE="), 
    new ToolKey(
    47, 9, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKycIWUhu38PFthuARc6EoRKfFfC5wIhZwaAtZrEmAPA9hsWtKgCRd3PzAxRlz0zKXGN/VvE4jnXICIxp8dLm1MCARE="), 
    new ToolKey(
    47, 9, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKcitlsxZhIhq2nW3kItJfMgtjWXvVlR7rGZkCGFIPRP7KQcrE4VMLag7KZXtpH0VlPI8lvd1x9F/kAPhSKKE68CARE="), 
    new ToolKey(
    47, 9, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOI+z1vzXF05Srap1GNogRtTut6GDTRAKe3QiQSX4DGpf94j/VLlBK4pL4ZTg3iya9VmInpRWiyQ+2xjaWo0cucCARE="), 
    new ToolKey(
    47, 9, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAK15Qz6kYgEGSjvp9mAwkPwt7h4mGE7RoEMsEXWVNyWdQPYnkcpig35x3nEfHjhZWyqH/uiGsagXe0CNTjG5AQ8CARE="), 
    new ToolKey(
    47, 9, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANjh75LjV5X3h9qSrwhhFYjJqs2XjCtu7AXfdAJd1au6m31xYHh31h+pDy//c2Z35XvqloCd+VO8zmjZ8Jooz80CARE="), 
    new ToolKey(
    33, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJXw+U3r5OMJfPoVYo1xLAHwjxL04r3TVgqLHWKQw40ciGnVrFquFoUzZfHK3iZfSFwLNjllfx02+9K7t2xjl1sCARE="), 
    new ToolKey(
    33, 1, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANLsjeHAqW3pJj8UApujKq/7eQVJ4xqd/mHN+T7qnG7/l9Mmxy5l1WULUToIZL6yeSZHbXDCRsNGb/9HGcxZ2VUCARE="), 
    new ToolKey(
    33, 1, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJ/UnaHukaP9eAWHd4JVwd4KjhwYIbAVxX9Cqvvgz+aaqHor7rg4LWm9vWLhYw0Qz7+JWm2Cx+2slZnfIIJEG8ECARE="), 
    new ToolKey(
    33, 1, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKqO+41WVGlgG1TPtWejBbG4RNJW7iMeeHqoyLtkq3j9qmtl/oE9/b+RLJYo8LJdJhPs9Ttlo8Dwt4Nbus0easECARE="), 
    new ToolKey(
    34, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL6WKTii5fSp9XZ8+YMkfyJBOhjDVFdw3DUXFJtzke4NprHUCFMezPSsQ625GWxg2EKTGb+l42Bg0QJz5fcHrvMCARE="), 
    new ToolKey(
    39, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJTbbUzKzIHc4dG8SPgNA0ILlxP1CB5tCyevd+dHWyPh8H8DTEeBifjhY8ETECrtfq7jmBzcVNWZ4y7Uov0UcH8CARE="), 
    new ToolKey(
    39, 1, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALQC53A2D7mkxVtDtJ8MO5hS+fqhYXdRDvkuvYN0bASvp3PlVH3Czr2DXEGK/fCg5UotpvYgq9f6c6nENH0F6jUCARE="), 
    new ToolKey(
    39, 1, 6, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAK92yCsISge+WfD3rbvNVZlOFQfLkVYFTxQMB8K1DiVWQ0JpV9qqyFEgP+Ayy1qLGCNynR+niADRSf8q9VESwhcCARE="), 
    new ToolKey(
    39, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJ1LujscOv2lrNZQBozmmXOIr7fbOPXe53wtszddJYoUhXS3a2K0ThRJebjwIyE25Nih03BrKlnR8irzgVga3psCARE="), 
    new ToolKey(
    39, 3, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL+iqmKyyIwWHtB/RLMqYeJI11gZYF3MKhU52Swa5GxJXj58IfdAkqvOvzrSZuD9pZLAJKXyjve0u4nH0KW+dukCARE="), 
    new ToolKey(
    39, 3, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOdFjW7znzwyTt31sf+jP5JnCLAdTAYgks9ymZ98uQcIzrgAZvCsAMGnpJRi1H4evbvm2nkRwvsF8kKQ9XWZBxsCARE="), 
    new ToolKey(
    39, 4, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANLod/IZlq9+9HvfhohKZK9T2YAPgdqnUk8S5bSsBjcz3Ve+BXd/HXeq3eQfT5wfiBOsVp4tHZLJ2YvkEnq2cqECARE="), 
    new ToolKey(
    39, 4, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKdOGQxdIpg3AkEbC31/P7LSH9PuWBy/3eFQgliRGprLIu+tqcinbEtckHmDd9TJfDxShRt+S2SCVo0W3Z/f8f8CARE="), 
    new ToolKey(
    39, 5, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALjxvVHwUgxn7pMJJXlLXFlqF/u7KC36PpvancKWedczWOboPmSrdM7PBNI9Kx85dLIOzcUgeOn+P1AIXz5PF2MCARE="), 
    new ToolKey(
    39, 9, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAIsl//kLUsnVDPDD+sRVRsoRISGf4P/oMdDqTV2saIHDBOxJBtsG5fvixoDe8JTCWgbomY7wylujOLXAs1g9Mk8CARE="), 
    new ToolKey(
    39, 9, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAK1j85fnSQOPdibpTNpR74SutS5u1fPBIVJ+loYqrdFAFSsIKFY1snLnf+ACegWZ9qmf5hT8GW+oDrTC7dGRhmMCARc="), 
    new ToolKey(
    39, 9, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJyBzsDQPsVDzG09L0jd7ur0Q6qJLmBMq7NDD92tLab1zt5X8EgCkq8YqRVeStdGRmIWBYfxyBbLYY3s9Bfj5/kCARE="), 
    new ToolKey(
    39, 9, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKpqaT2LqKxAmPhRk9/JodzKCfekhVwRXExcIUoboOH6381mnM212AV2z1kiFGZbmDiMPxXhqN/4eE8QSUpADikCARE="), 
    new ToolKey(
    39, 9, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMpmTS+Hlkt+jvgcuW/7JFQJPrg6dXeFYz7CVxb9f5fd5bniIixjw0bdzxpp5piJGj6JYb84TFfRp/2RJ6Lt07UCARE="), 
    new ToolKey(
    39, 9, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL880Kkeq0zFewVV5nGnYroIzuWkf335HDWoUn0lbNDMSr+4JTqr9G3gBajFPtcEe92yZtE0Au+D5s213R8pRWkCARE="), 
    new ToolKey(
    34, 1, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAN2GF3a7zWvej72OcvIrliBLiI8Bq8edRqtxOxD2x9czCZniQZjEdCyFn8jL10jVj3TBE4iL4rdzb8ATHJtPe/UCARE="), 
    new ToolKey(
    34, 1, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJuzMxfmJqPvrrs7exibcKnuFJPK8E+Czjgi9JO9RF/Oarpv+8OOxCt+uE6LuTRZfjDQDIXIq80e4h3Z1TN1lNsCARE="), 
    new ToolKey(
    40, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOJpcT7ttWh/LeLKh+bowktCRnFyyoj4T7SQLHo8E5qBexcNbPiVZQCKHDOgRTbAblkdF/oV6R04KKde9gamRDUCARE="), 
    new ToolKey(
    41, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKi3wPKQ9iiKweAOwhgeY18b7xT2MU0j+yD6lO3Qu6205f+DU3u4Kstz6zihMxsIx5gB/4+B8FGXBsuKIfZ+Zj8CARE="), 
    new ToolKey(
    41, 1, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALMVgQmlUwAaQU+GmxUxA9jUYsyPj1/Q0ABOas0eUZvKM6Df0yqPneU9RBRBUh5wn4xH37zPuymKJNd3iv9nIf8CARE="), 
    new ToolKey(
    41, 1, 6, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL5O8A+FfDw3rfQBbVt5cVPcQrJUqA0ja7EyaF5B5OPURiwnx0NJnftDdBIkYElKHSEslcgP+h73YlONu1VQTUsCARE="), 
    new ToolKey(
    41, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALhK18hEOecx6+qFFYEYRoYnqAIyvxAy50NwebCwWHthN4zipZd9ukz27IdcvqTKoxSwpllncMj/hTsni2iKiAsCARE="), 
    new ToolKey(
    41, 2, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALnKjf5HOjwPfoMN8JvCGbyNjo/wqCgl88qqEPOFgWVb2Vu8EZ+Y0ZSRH8EUfzPpVQkloia5sLIMW8FDMepHEGECARE="), 
    new ToolKey(
    41, 2, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJBXS6akBzFKLfFf1vvMpRWTpXivABUXCFZPgGw2BVD7S7/itiSNqcW50yqTflhYfncG7kLKm9nEGcx1FOcEPEcCARE="), 
    new ToolKey(
    41, 2, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKMep//W0rYbuBOn7wXy7SqfFURGSyqX3Rn9a1NWqsCRBC2vQ/RCvf7rq0f9taEVsHoQ9RNDlEW+2j8v0JiPua0CARE="), 
    new ToolKey(
    41, 3, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJxXvoyb1IhMccuSdmXDm4rTo1pbQPQqbQ2m5yxJcBHlMshuQgKdjofab9w1k78IOCIX3ewlCt5K9b197ySky4kCARE="), 
    new ToolKey(
    41, 3, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKJTWt1wtBoXb32BkWg29wKoLvmpf9d8Rktjh4F33DdT5MoUooibv3PHQ3cgMqhjipgcM6Gc6lN9Z2GRJ6JdkccCARE="), 
    new ToolKey(
    41, 3, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL0oKswZKjH0ypANfhpmGilriJzMuRHexyHYRlhm3xwjAYtofjKDGqZDwz/BTJqY+EEhuAfVO4FGg8C0vLOf90cCARE="), 
    new ToolKey(
    41, 3, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKIzXhGcdgPo1pefueqtAVltjg6wGgqQ1dsXSuBNsYJD4ytIm7QRFsDz8nMgRQX5fQdH0jIc4QdE3DKgGoOQFJUCARE="), 
    new ToolKey(
    41, 4, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAJd7pYUuYWoAnzUb6oZGzqnoEdjSfYHehxHrytL2qwIX0J+h5uJky4MtPdgNjbGWp3DSDq8+Jgm5pXqmaHQ+YfMCARE="), 
    new ToolKey(
    41, 4, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALuUTsH9UvegFfoLrys0JjBGn07PUCgOTxwcg3VnKII2XJO9AUR61bh5mvx1tj/yqlimtWjwZD6QDDA/j+bSOgcCARE="), 
    new ToolKey(
    41, 5, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALFSxgkNFy6EjtosrUavo8Inotq35Fwy6cqxVzHkhoRF77bH9nwC4hLnhJnqPUDJoIH+IDJQdeY81mnDihKtzZMCARE="), 
    new ToolKey(
    41, 5, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALfKGAEGDUxqVYe2v3xbke27bRkFWDcihJDMCktdOVphaXmmNDIvDovkLCwYhrK3WsRqp0KAV0jBphxFk2pt3gUCARE="), 
    new ToolKey(
    42, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAK8gKbAWHlR5EJtw1hvph5pSnwUifAdg0Bnbs72cyEuMkFQBwoYKU3vhNOcWL7diCBAys6JOmB8uJ4aatYljWWECARE="), 
    new ToolKey(
    42, 1, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAN4pyI1vmDJzU5wwk9DkBe7F6zbLvxy9m+zrRTzqqZx8xpqPNIrtobJHGoATWSZu2uBHzfRyIINuHYgdORFV3lUCARM="), 
    new ToolKey(
    42, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKN1EU/35z7X9XoXp45u2Y7OkFNAdkH2F6kfrtXfPQEVFGkgSF+Y3k5hUBUj4bPHc29JXbBErGTjW+oaaeUo4S0CARE="), 
    new ToolKey(
    43, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKQ4O+YfMjp203WtCvF/KraeIYiS/9myyQvIZehTkRlna7kJNQ9mLaW4FtMViFVs+XwBxZcTkPUt1yJKvXq6TMkCARE="), 
    new ToolKey(
    43, 1, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOd9dxUuBQjgi1GmgGYvZRnFJ+FPAy8mZwGOW4Bq+zmbpMbJFFw1qU3Kqtlwpva9TTwHSHZ3pxDnR3+wYDATN8UCARE="), 
    new ToolKey(
    43, 1, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALeQFVimHynnWNpVPv9tsF9+0o4CXkxBawaPQXCUgoBqmeLrkOqBnyRFxsgGhG4E093eu58B3Dq47PWt0lDzOI8CARE="), 
    new ToolKey(
    43, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAN0bI1/drmZo1N93o04xF9tz/R+Q2n/61dtjdUmaTAmNUuCUOsv1RU8bSSF3wBuH+cvV8onETcuMeu/k2VDv8y0CARc="), 
    new ToolKey(
    46, 2, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAOROo3uM731fGKMhNz7SyqrX3DXA3hXQVK9H4pThgI5e45n5rjzTLXkwhRXABKjiV/ECAuTzmXngJUEOUyTebhkCARE="), 
    new ToolKey(
    46, 2, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMSI1fTmFJAfASvbi+xDNH1vMw3R76IMV6HONMY/X7nddNsSqwnMcu7Q0MF6mxjKmGcefdWtQrMouc/mP0hWFmkCARE="), 
    new ToolKey(
    46, 2, 6, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMgNv3Y3fHsdwnrqINvXR059WVAWzi+xluelZNi5RoDMITaxTYtQ9ApQO/dNmR9RuEXqTigEmLvzMMVN+ev9WPsCARE="), 
    new ToolKey(
    46, 2, 7, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAM7n9uU5wG5M3TDMxI8XKXcHh6YauATIll3aJT9/sjtaHlRa2hI038OFl9gm3sg/D7WNzTK8j8rabb0aJy3q90MCARE="), 
    new ToolKey(
    49, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANLaZWmJh12cYS4ERjBGc8FE8I0gNhMT++DkK8gzWnKOhZxRgwkKvG3O3WqZ0qZqnjOQ3kPGQHisB4xSIB6YkV0CARE="), 
    new ToolKey(
    49, 3, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANLaZWmJh12cYS4ERjBGc8FE8I0gNhMT++DkK8gzWnKOhZxRgwkKvG3O3WqZ0qZqnjOQ3kPGQHisB4xSIB6YkV0CARE="), 
    new ToolKey(
    49, 4, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKJajp1gaGAFx6cNYZqDvirCEzwKyKyp7QUs8J9539FvpcDWPycRbxVGm6xBjpysx2qkCcJYqJ8PdXxaaEbWZukCARE="), 
    new ToolKey(
    49, 4, 8, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAL0+EP73KvXYoJPx+obVb+7a9WbTJMUH+hWpt3bnu/E8KxUenaz8PJ9TAP72/hMMnzmu7GKgkVakq9+S63aKgLkCARE="), 
    new ToolKey(
    50, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAI/vfbYlbNaxN+4uQ2KmhddLKGkaLXyMQEATBLGgnJ6wpQ5XI/VZhPwj+cRyZy7jed7UNaWQswgcgh371l7JtlkCARE="), 
    new ToolKey(
    50, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALEZ5tbTC5AB7fsBfVChTR/cwkQRT1tNmh/ryfSpBas0u7OYD3nhjxMkNf04Uy7SRuf7dGnHPekFYweXv4ria58CARE="), 
    new ToolKey(
    51, 1, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKFH2pmX5NVZov9nIuruT8s/Ykxrr65Ugpb+53kxU2mmlm3mtj7hliyCHl3eIzI/GOR7GpeMK+QXG5OpEoeZzsECARE="), 
    new ToolKey(
    51, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALwhKm44Glc0gMEPW7DTY0DGoLDvLn5xLRxzLWqxrT8DTkHCvDm2x3++eFUrJzBNwkFU4r2kLBCSBVmC9AFFfX0CARE="), 
    new ToolKey(
    52, 9, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAN4yYlKf1gz93Nd5EFH/dO5ONK/Hq/VaW6kV8B1cAZCXGxHc4piudE37vyAv7r3pXVK47R5yU4/wqW2lHk98YN0CARM="), 
    new ToolKey(
    52, 9, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALCqXB1By/pfd/gP/yHYSwqB/LXexHMSdPD0rpRCwMf1hwaJIzMkOGPWI2p7XgRMxnYGfBIMym5VKbl/6eO61SECARE="), 
    new ToolKey(
    52, 9, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALA3gIzeUb+1uSV0V52fu4qv+8z/iwSq5hdeZSk1vE78oH68SZtcGztdIK3stXCKUC+J5pHGDgSineTViDGx8usCARE="), 
    new ToolKey(
    52, 9, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAPOZQl/rdC89KfVNgySJHiGY7Iq1tXeFWzfIVaghNTQgB4oTdbEQLDnNTsi3NNcGoqgFpxpZnhBsS8kf++bYhPkCARE="), 
    new ToolKey(
    52, 9, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMP3WsaXfoY/7uzR4ti1NQjlyLOg+P6kCLmtCvSL8xuh3iG8U70jFs+O8qg/bIzGhzoy5vE2CstaUccCma5REHcCARc="), 
    new ToolKey(
    52, 9, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANEAHQsojFMG+pDKyDoMthnXTvPkUpvYzeA5ANmfnNDfocDvohR8KFwq6a5/8iSiEd9smCyDyYA+Axb/4QBmB80CARE="), 
    new ToolKey(
    53, 9, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALm7BlLwIWbvSWoUNH3+I3wGZzZhWV6lqQQRccLq7gz8XJDrZBLsHY+Fs1Dc8iQ/6bKrsQZUpBWRaKjrJ4hlovsCARE="), 
    new ToolKey(
    53, 9, 2, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALfg6O8TwEjnRrVIiY1jTILZz4YxZFqBdBFeoW9OvJAZbvjbrXvyzsAffOgtiXruDG6Qim7f9XGufe2L8Slo9HcCARM="), 
    new ToolKey(
    53, 9, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALftVxdbGAyL8oqRtqVkxSwuraxDa29cz0tvnlh/Jb1j8yxCnLHJhQ/6r5FOgC1G0ELSHp2xwHnhc2NkPmIfd1UCARE="), 
    new ToolKey(
    53, 9, 4, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKd+Doc43L4qjBWmdBz7vC8ZSBNVFPxRrQWzz+9h9jl7LbhnSgHTh8qR1yHPmXREX78rePLnRvhyxzx7gYnGMG0CARE="), 
    new ToolKey(
    53, 9, 5, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKEbIfKKjMfXzE4LCMTVKdh3Ud++/vCmSHeB6P0iBmVmijKgeDiMHbMvTLrMuPYW7j2pNXGGHpH/QActyKFdEi8CARM="), 
    new ToolKey(
    54, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBALWY9nEPXlbUU5g7hXIv+0b9nGcFUzg8KoE5+HmoFEsiDqIuv68UgmDPqBizmbWqhvBmR8NIpNxKlbSPZkgIYTECARM="), 
    new ToolKey(
    55, 2, 0, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAMDEKgrUGQpa1PBh3ILkxjhExc34HEnvbLEMzwPEeVZmXm1sol6YWENxj+9fy+xqwXKP9E2CLjMXOBV9sEHkCr0CARE="), 
    new ToolKey(
    55, 2, 1, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBAKblRixcvqUIu7mz3IS5GxXedCvMaaJXxjB9vzdCu6cT8O8v5qFlTJ4e+mcQU+2E0pqXJ0G2f2fhkweKweADnjUCARE="), 
    new ToolKey(
    55, 2, 3, 
    "MFowDQYJKoZIhvcNAQEBBQADSQAwRgJBANpfuy1eMIJpwD9mfxl6+WWwZcS4c6LkvWThNnim/IyCgBdrhGdDCg4euiz+i79ixL9d4JiA5lJQSuqWodc6Jl8CARE="), 
    new ToolKey(0, 0, 0, 
    "let's see if [email protected] or 'tHE EGOiSTE :: TMG' can crack this") };

  public static ToolKey getToolKey(Feature license)
  {
    for (int i = 0; i < _PUBLIC_KEYS.length; i++) {
      if ((license.getToolId() == _PUBLIC_KEYS[i].getToolId()) && 
        (license.getMajor() == _PUBLIC_KEYS[i].getMajor()) && 
        (license.getMinor() == _PUBLIC_KEYS[i].getMinor()))
      {
        return _PUBLIC_KEYS[i];
      }
    }
    return null;
  }
}

Ostatni wpis na liście niesie ciekawe przesłanie. Otóż grupa TMG znana była z tworzenia generatorów kluczy w programach chronionych algorytmami szyfrowania takimi jak wspomniany RSA czy DSA (niekoniecznie z silnymi kluczami) oraz jakiś czas temu opublikowała generatory kluczy do oprogramowania firmy Parasoft (zapewne wynikało to z wykorzystania krótkich kluczy).

Jeśli chodzi o mój komentarz, to można powiedzieć, że zwiększanie długości klucza wcale nie sprawia, że oprogramowanie jest "nie do złamania", bo wystarczy, że ktoś podmieni klucze publiczne na swoje, do których posiada klucz prywatny i całe zabezpieczenie bierze w łeb (bez dodatkowych elementów zabezpieczających jak sumy kontrolne, obfuskacja, virtualizacja etc.).

A tak na koniec odnośnie RSA, to niedawno przeczytałem, że współtwórca algorytmu RSA - Adi Shamir nie otrzymał wizy do USA na konferencję 2013 Cryptologic History Symposium, na której miał prezentację ;)

http://blogs.fas.org/secrecy/2013/10/shamir/

Ile eurogąbek wart jest błąd typu persistent xss?

Pytanie jak najbardziej poważne w świetle błędów XSS w NK.pl, nasz zaprzyjaźniony serwis – Zaufana Trzecia Strona właśnie ujawnił kulisy „polskiego bug bounty” i mimo, że nie mam z tym nic wspólnego czuję wstyd, zażenowanie i rzygać mi się chce takim poziomem traktowania poważnych luk w takich dużych serwisach.

eurogabki

Całą historię przeczytacie na:

https://zaufanatrzeciastrona.pl/post/bug-bounty-po-polsku-czyli-proponujemy-pakiet-eurogabek/

I jak poczujecie ten sam poziom cebulactwa NK.pl to kopnijcie tego newsa

http://www.wykop.pl/link/1694340/bug-bounty-po-polsku-czyli-proponujemy-pakiet-eurogabek/

A panu Piotrowi Młynarczykowi z NK.pl (Head of Product w Naszej Klasie Sp. z o.o.), który proponuje eurogąbki w zamian za bugi SecurityNews ofiaruje pakiet wirtualnych eurocebulaków za taki poziom traktowania potencjalnych niebezpieczeństw zagrażających tysiącom użytkowników:

cebulaki