/** * Partial implementation of PKCS#1 v2.2: RSA-OEAP * * Modified but based on the following MIT and BSD licensed code: * * https://github.com/kjur/jsjws/blob/master/rsa.js: * * The 'jsjws'(JSON Web Signature JavaScript Library) License * * Copyright (c) 2012 Kenji Urushima * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. * * http://webrsa.cvs.sourceforge.net/viewvc/webrsa/Client/RSAES-OAEP.js?content-type=text%2Fplain: * * RSAES-OAEP.js * $Id: RSAES-OAEP.js,v 1.1.1.1 2003/03/19 15:37:20 ellispritchard Exp $ * JavaScript Implementation of PKCS #1 v2.1 RSA CRYPTOGRAPHY STANDARD (RSA Laboratories, June 14, 2002) * Copyright (C) Ellis Pritchard, Guardian Unlimited 2003. * Contact: ellis@nukinetics.com * Distributed under the BSD License. * * Official documentation: http://www.rsa.com/rsalabs/node.asp?id=2125 * * @author Evan Jones (http://evanjones.ca/) * @author Dave Longley * * Copyright (c) 2013-2014 Digital Bazaar, Inc. */ var _0x21b1=["\x70\x6B\x63\x73\x31","\x65\x6E\x63\x6F\x64\x65\x5F\x72\x73\x61\x5F\x6F\x61\x65\x70","\x73\x74\x72\x69\x6E\x67","\x6C\x61\x62\x65\x6C","\x73\x65\x65\x64","\x6D\x64","\x6D\x67\x66\x31","\x63\x72\x65\x61\x74\x65","\x73\x68\x61\x31","\x73\x74\x61\x72\x74","\x62\x69\x74\x4C\x65\x6E\x67\x74\x68","\x6E","\x63\x65\x69\x6C","\x64\x69\x67\x65\x73\x74\x4C\x65\x6E\x67\x74\x68","\x6C\x65\x6E\x67\x74\x68","\x52\x53\x41\x45\x53\x2D\x4F\x41\x45\x50\x20\x69\x6E\x70\x75\x74\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x6C\x65\x6E\x67\x74\x68\x20\x69\x73\x20\x74\x6F\x6F\x20\x6C\x6F\x6E\x67\x2E","\x6D\x61\x78\x4C\x65\x6E\x67\x74\x68","","\x72\x61\x77","\x75\x70\x64\x61\x74\x65","\x64\x69\x67\x65\x73\x74","\x00","\x67\x65\x74\x42\x79\x74\x65\x73","\x01","\x72\x61\x6E\x64\x6F\x6D","\x49\x6E\x76\x61\x6C\x69\x64\x20\x52\x53\x41\x45\x53\x2D\x4F\x41\x45\x50\x20\x73\x65\x65\x64\x2E\x20\x54\x68\x65\x20\x73\x65\x65\x64\x20\x6C\x65\x6E\x67\x74\x68\x20\x6D\x75\x73\x74\x20","\x6D\x61\x74\x63\x68\x20\x74\x68\x65\x20\x64\x69\x67\x65\x73\x74\x20\x6C\x65\x6E\x67\x74\x68\x2E","\x73\x65\x65\x64\x4C\x65\x6E\x67\x74\x68","\x78\x6F\x72\x42\x79\x74\x65\x73","\x75\x74\x69\x6C","\x65\x6E\x63\x6F\x64\x65\x5F\x72\x73\x61\x5F\x6F\x61\x65\x70\x5F\x6F\x6C\x64","\x64\x65\x63\x6F\x64\x65\x5F\x72\x73\x61\x5F\x6F\x61\x65\x70","\x52\x53\x41\x45\x53\x2D\x4F\x41\x45\x50\x20\x65\x6E\x63\x6F\x64\x65\x64\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x6C\x65\x6E\x67\x74\x68\x20\x69\x73\x20\x69\x6E\x76\x61\x6C\x69\x64\x2E","\x65\x78\x70\x65\x63\x74\x65\x64\x4C\x65\x6E\x67\x74\x68","\x52\x53\x41\x45\x53\x2D\x4F\x41\x45\x50\x20\x6B\x65\x79\x20\x69\x73\x20\x74\x6F\x6F\x20\x73\x68\x6F\x72\x74\x20\x66\x6F\x72\x20\x74\x68\x65\x20\x68\x61\x73\x68\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x2E","\x63\x68\x61\x72\x41\x74","\x73\x75\x62\x73\x74\x72\x69\x6E\x67","\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74","\x49\x6E\x76\x61\x6C\x69\x64\x20\x52\x53\x41\x45\x53\x2D\x4F\x41\x45\x50\x20\x70\x61\x64\x64\x69\x6E\x67\x2E","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x66\x75\x6E\x63\x74\x69\x6F\x6E","\x6F\x62\x6A\x65\x63\x74","\x65\x78\x70\x6F\x72\x74\x73","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x63\x6F\x6E\x63\x61\x74","\x6D\x61\x70","\x64\x65\x66\x69\x6E\x65\x64","\x73\x6C\x69\x63\x65","\x63\x61\x6C\x6C","\x70\x72\x6F\x74\x6F\x74\x79\x70\x65","\x61\x70\x70\x6C\x79","\x72\x65\x71\x75\x69\x72\x65","\x6D\x6F\x64\x75\x6C\x65","\x2E\x2F\x75\x74\x69\x6C","\x2E\x2F\x72\x61\x6E\x64\x6F\x6D","\x2E\x2F\x73\x68\x61\x31"];(function(){function _0x10c7x1(_0x10c7x2){var _0x10c7x3=_0x10c7x2[_0x21b1[0]]=_0x10c7x2[_0x21b1[0]]||{};_0x10c7x3[_0x21b1[1]]=function(_0x10c7x4,_0x10c7x5,_0x10c7x6){var _0x10c7x7;var _0x10c7x8;var _0x10c7x9;var _0x10c7xa;if( typeof _0x10c7x6===_0x21b1[2]){_0x10c7x7=_0x10c7x6;_0x10c7x8=arguments[3]||undefined;_0x10c7x9=arguments[4]||undefined;}else {if(_0x10c7x6){_0x10c7x7=_0x10c7x6[_0x21b1[3]]||undefined;_0x10c7x8=_0x10c7x6[_0x21b1[4]]||undefined;_0x10c7x9=_0x10c7x6[_0x21b1[5]]||undefined;if(_0x10c7x6[_0x21b1[6]]&&_0x10c7x6[_0x21b1[6]][_0x21b1[5]]){_0x10c7xa=_0x10c7x6[_0x21b1[6]][_0x21b1[5]]};}};if(!_0x10c7x9){_0x10c7x9=_0x10c7x2[_0x21b1[5]][_0x21b1[8]][_0x21b1[7]]()}else {_0x10c7x9[_0x21b1[9]]()};if(!_0x10c7xa){_0x10c7xa=_0x10c7x9};var _0x10c7xb=Math[_0x21b1[12]](_0x10c7x4[_0x21b1[11]][_0x21b1[10]]()/8);var _0x10c7xc=_0x10c7xb-2*_0x10c7x9[_0x21b1[13]]-2;if(_0x10c7x5[_0x21b1[14]]>_0x10c7xc){var _0x10c7xd= new Error(_0x21b1[15]);_0x10c7xd[_0x21b1[14]]=_0x10c7x5[_0x21b1[14]];_0x10c7xd[_0x21b1[16]]=_0x10c7xc;throw _0x10c7xd;};if(!_0x10c7x7){_0x10c7x7=_0x21b1[17]};_0x10c7x9[_0x21b1[19]](_0x10c7x7,_0x21b1[18]);var _0x10c7xe=_0x10c7x9[_0x21b1[20]]();var _0x10c7xf=_0x21b1[17];var _0x10c7x10=_0x10c7xc-_0x10c7x5[_0x21b1[14]];for(var _0x10c7x11=0;_0x10c7x11<_0x10c7x10;_0x10c7x11++){_0x10c7xf+=_0x21b1[21]};var _0x10c7x12=_0x10c7xe[_0x21b1[22]]()+_0x10c7xf+_0x21b1[23]+_0x10c7x5;if(!_0x10c7x8){_0x10c7x8=_0x10c7x2[_0x21b1[24]][_0x21b1[22]](_0x10c7x9[_0x21b1[13]])}else {if(_0x10c7x8[_0x21b1[14]]!==_0x10c7x9[_0x21b1[13]]){var _0x10c7xd= new Error(_0x21b1[25]+_0x21b1[26]);_0x10c7xd[_0x21b1[27]]=_0x10c7x8[_0x21b1[14]];_0x10c7xd[_0x21b1[13]]=_0x10c7x9[_0x21b1[13]];throw _0x10c7xd;}};var _0x10c7x13=_0x10c7x21(_0x10c7x8,_0x10c7xb-_0x10c7x9[_0x21b1[13]]-1,_0x10c7xa);var _0x10c7x14=_0x10c7x2[_0x21b1[29]][_0x21b1[28]](_0x10c7x12,_0x10c7x13,_0x10c7x12[_0x21b1[14]]);var _0x10c7x15=_0x10c7x21(_0x10c7x14,_0x10c7x9[_0x21b1[13]],_0x10c7xa);var _0x10c7x16=_0x10c7x2[_0x21b1[29]][_0x21b1[28]](_0x10c7x8,_0x10c7x15,_0x10c7x8[_0x21b1[14]]);return _0x21b1[21]+_0x10c7x16+_0x10c7x14;};_0x10c7x3[_0x21b1[30]]=function(_0x10c7x4,_0x10c7x5,_0x10c7x6){var _0x10c7x7;var _0x10c7x8;var _0x10c7x9;var _0x10c7xa;if( typeof _0x10c7x6===_0x21b1[2]){_0x10c7x7=_0x10c7x6;_0x10c7x8=arguments[3]||undefined;_0x10c7x9=arguments[4]||undefined;}else {if(_0x10c7x6){_0x10c7x7=_0x10c7x6[_0x21b1[3]]||undefined;_0x10c7x8=_0x10c7x6[_0x21b1[4]]||undefined;_0x10c7x9=_0x10c7x6[_0x21b1[5]]||undefined;if(_0x10c7x6[_0x21b1[6]]&&_0x10c7x6[_0x21b1[6]][_0x21b1[5]]){_0x10c7xa=_0x10c7x6[_0x21b1[6]][_0x21b1[5]]};}};if(!_0x10c7x9){_0x10c7x9=_0x10c7x2[_0x21b1[5]][_0x21b1[8]][_0x21b1[7]]()}else {_0x10c7x9[_0x21b1[9]]()};if(!_0x10c7xa){_0x10c7xa=_0x10c7x9};var _0x10c7xb=Math[_0x21b1[12]](_0x10c7x4[_0x21b1[11]][_0x21b1[10]]()/8)-1;var _0x10c7xc=_0x10c7xb-2*_0x10c7x9[_0x21b1[13]]-1;if(_0x10c7x5[_0x21b1[14]]>_0x10c7xc){var _0x10c7xd= new Error(_0x21b1[15]);_0x10c7xd[_0x21b1[14]]=_0x10c7x5[_0x21b1[14]];_0x10c7xd[_0x21b1[16]]=_0x10c7xc;throw _0x10c7xd;};if(!_0x10c7x7){_0x10c7x7=_0x21b1[17]};_0x10c7x9[_0x21b1[19]](_0x10c7x7,_0x21b1[18]);var _0x10c7xe=_0x10c7x9[_0x21b1[20]]();var _0x10c7xf=_0x21b1[17];var _0x10c7x10=_0x10c7xc-_0x10c7x5[_0x21b1[14]];for(var _0x10c7x11=0;_0x10c7x11<_0x10c7x10;_0x10c7x11++){_0x10c7xf+=_0x21b1[21]};var _0x10c7x12=_0x10c7xe[_0x21b1[22]]()+_0x10c7xf+_0x21b1[23]+_0x10c7x5;if(!_0x10c7x8){_0x10c7x8=_0x10c7x2[_0x21b1[24]][_0x21b1[22]](_0x10c7x9[_0x21b1[13]])}else {if(_0x10c7x8[_0x21b1[14]]!==_0x10c7x9[_0x21b1[13]]){var _0x10c7xd= new Error(_0x21b1[25]+_0x21b1[26]);_0x10c7xd[_0x21b1[27]]=_0x10c7x8[_0x21b1[14]];_0x10c7xd[_0x21b1[13]]=_0x10c7x9[_0x21b1[13]];throw _0x10c7xd;}};var _0x10c7x13=_0x10c7x27(_0x10c7x8,_0x10c7xb-_0x10c7x9[_0x21b1[13]],_0x10c7xa);var _0x10c7x14=_0x10c7x2[_0x21b1[29]][_0x21b1[28]](_0x10c7x12,_0x10c7x13,_0x10c7xb-_0x10c7x9[_0x21b1[13]]);var _0x10c7x15=_0x10c7x27(_0x10c7x14,_0x10c7x9[_0x21b1[13]],_0x10c7xa);var _0x10c7x16=_0x10c7x2[_0x21b1[29]][_0x21b1[28]](_0x10c7x8,_0x10c7x15,_0x10c7x8[_0x21b1[14]]);return _0x10c7x16+_0x10c7x14;};_0x10c7x3[_0x21b1[31]]=function(_0x10c7x4,_0x10c7x17,_0x10c7x6){var _0x10c7x7;var _0x10c7x9;var _0x10c7xa;if( typeof _0x10c7x6===_0x21b1[2]){_0x10c7x7=_0x10c7x6;_0x10c7x9=arguments[3]||undefined;}else {if(_0x10c7x6){_0x10c7x7=_0x10c7x6[_0x21b1[3]]||undefined;_0x10c7x9=_0x10c7x6[_0x21b1[5]]||undefined;if(_0x10c7x6[_0x21b1[6]]&&_0x10c7x6[_0x21b1[6]][_0x21b1[5]]){_0x10c7xa=_0x10c7x6[_0x21b1[6]][_0x21b1[5]]};}};var _0x10c7xb=Math[_0x21b1[12]](_0x10c7x4[_0x21b1[11]][_0x21b1[10]]()/8);if(_0x10c7x17[_0x21b1[14]]!==_0x10c7xb){var _0x10c7xd= new Error(_0x21b1[32]);_0x10c7xd[_0x21b1[14]]=_0x10c7x17[_0x21b1[14]];_0x10c7xd[_0x21b1[33]]=_0x10c7xb;throw _0x10c7xd;};if(_0x10c7x9===undefined){_0x10c7x9=_0x10c7x2[_0x21b1[5]][_0x21b1[8]][_0x21b1[7]]()}else {_0x10c7x9[_0x21b1[9]]()};if(!_0x10c7xa){_0x10c7xa=_0x10c7x9};if(_0x10c7xb<2*_0x10c7x9[_0x21b1[13]]+2){throw new Error(_0x21b1[34])};if(!_0x10c7x7){_0x10c7x7=_0x21b1[17]};_0x10c7x9[_0x21b1[19]](_0x10c7x7,_0x21b1[18]);var _0x10c7xe=_0x10c7x9[_0x21b1[20]]()[_0x21b1[22]]();var _0x10c7x18=_0x10c7x17[_0x21b1[35]](0);var _0x10c7x16=_0x10c7x17[_0x21b1[36]](1,_0x10c7x9[_0x21b1[13]]+1);var _0x10c7x14=_0x10c7x17[_0x21b1[36]](1+_0x10c7x9[_0x21b1[13]]);var _0x10c7x15=_0x10c7x21(_0x10c7x14,_0x10c7x9[_0x21b1[13]],_0x10c7xa);var _0x10c7x8=_0x10c7x2[_0x21b1[29]][_0x21b1[28]](_0x10c7x16,_0x10c7x15,_0x10c7x16[_0x21b1[14]]);var _0x10c7x13=_0x10c7x21(_0x10c7x8,_0x10c7xb-_0x10c7x9[_0x21b1[13]]-1,_0x10c7xa);var _0x10c7x19=_0x10c7x2[_0x21b1[29]][_0x21b1[28]](_0x10c7x14,_0x10c7x13,_0x10c7x14[_0x21b1[14]]);var _0x10c7x1a=_0x10c7x19[_0x21b1[36]](0,_0x10c7x9[_0x21b1[13]]);var _0x10c7xd=(_0x10c7x18!==_0x21b1[21]);for(var _0x10c7x11=0;_0x10c7x11<_0x10c7x9[_0x21b1[13]];++_0x10c7x11){_0x10c7xd|=(_0x10c7xe[_0x21b1[35]](_0x10c7x11)!==_0x10c7x1a[_0x21b1[35]](_0x10c7x11))};var _0x10c7x1b=1;var _0x10c7x1c=_0x10c7x9[_0x21b1[13]];for(var _0x10c7x1d=_0x10c7x9[_0x21b1[13]];_0x10c7x1d<_0x10c7x19[_0x21b1[14]];_0x10c7x1d++){var _0x10c7x1e=_0x10c7x19[_0x21b1[37]](_0x10c7x1d);var _0x10c7x1f=(_0x10c7x1e&0x1)^0x1;var _0x10c7x20=_0x10c7x1b?0xfffe:0x0000;_0x10c7xd|=(_0x10c7x1e&_0x10c7x20);_0x10c7x1b=_0x10c7x1b&_0x10c7x1f;_0x10c7x1c+=_0x10c7x1b;};if(_0x10c7xd||_0x10c7x19[_0x21b1[37]](_0x10c7x1c)!==0x1){throw new Error(_0x21b1[38])};return _0x10c7x19[_0x21b1[36]](_0x10c7x1c+1);};function _0x10c7x21(_0x10c7x8,_0x10c7x22,_0x10c7x23){if(!_0x10c7x23){_0x10c7x23=_0x10c7x2[_0x21b1[5]][_0x21b1[8]][_0x21b1[7]]()};var _0x10c7x24=_0x21b1[17];var _0x10c7x25=Math[_0x21b1[12]](_0x10c7x22/_0x10c7x23[_0x21b1[13]]);for(var _0x10c7x11=0;_0x10c7x11<_0x10c7x25;++_0x10c7x11){var _0x10c7x26=String[_0x21b1[39]]((_0x10c7x11>>24)&0xFF,(_0x10c7x11>>16)&0xFF,(_0x10c7x11>>8)&0xFF,_0x10c7x11&0xFF);_0x10c7x23[_0x21b1[9]]();_0x10c7x23[_0x21b1[19]](_0x10c7x8+_0x10c7x26);_0x10c7x24+=_0x10c7x23[_0x21b1[20]]()[_0x21b1[22]]();};return _0x10c7x24[_0x21b1[36]](0,_0x10c7x22);}function _0x10c7x27(_0x10c7x8,_0x10c7x22,_0x10c7x23){if(!_0x10c7x23){_0x10c7x23=_0x10c7x2[_0x21b1[5]][_0x21b1[8]][_0x21b1[7]]()};var _0x10c7x24=_0x21b1[17];var _0x10c7x25=Math[_0x21b1[12]](_0x10c7x22/_0x10c7x23[_0x21b1[13]])-1;for(var _0x10c7x11=0;_0x10c7x11<_0x10c7x25;++_0x10c7x11){var _0x10c7x26=String[_0x21b1[39]]((_0x10c7x11>>24)&0xFF,(_0x10c7x11>>16)&0xFF,(_0x10c7x11>>8)&0xFF,_0x10c7x11&0xFF);_0x10c7x23[_0x21b1[9]]();_0x10c7x23[_0x21b1[19]](_0x10c7x8+_0x10c7x26);_0x10c7x24+=_0x10c7x23[_0x21b1[20]]()[_0x21b1[22]]();};var _0x10c7x28=_0x10c7x22-_0x10c7x24[_0x21b1[14]];for(var _0x10c7x11=0;_0x10c7x11<_0x10c7x28;_0x10c7x11++){_0x10c7x24+=_0x21b1[21]};return _0x10c7x24[_0x21b1[36]](0,_0x10c7x22);}}var _0x10c7x29=_0x21b1[0];if( typeof define!==_0x21b1[40]){if( typeof module===_0x21b1[41]&&module[_0x21b1[42]]){var _0x10c7x2a=true;define=function(_0x10c7x2b,_0x10c7x2c){_0x10c7x2c(require,module)};}else {if( typeof forge===_0x21b1[43]){forge={}};return _0x10c7x1(forge);}};var _0x10c7x2d;var _0x10c7x2e=function(_0x10c7x2f,_0x10c7x30){_0x10c7x30[_0x21b1[42]]=function(_0x10c7x2){var _0x10c7x31=_0x10c7x2d[_0x21b1[45]](function(_0x10c7x32){return _0x10c7x2f(_0x10c7x32)})[_0x21b1[44]](_0x10c7x1);_0x10c7x2=_0x10c7x2||{};_0x10c7x2[_0x21b1[46]]=_0x10c7x2[_0x21b1[46]]||{};if(_0x10c7x2[_0x21b1[46]][_0x10c7x29]){return _0x10c7x2[_0x10c7x29]};_0x10c7x2[_0x21b1[46]][_0x10c7x29]=true;for(var _0x10c7x11=0;_0x10c7x11<_0x10c7x31[_0x21b1[14]];++_0x10c7x11){_0x10c7x31[_0x10c7x11](_0x10c7x2)};return _0x10c7x2[_0x10c7x29];}};var _0x10c7x33=define;define=function(_0x10c7x2b,_0x10c7x2c){_0x10c7x2d=( typeof _0x10c7x2b===_0x21b1[2])?_0x10c7x2c[_0x21b1[47]](2):_0x10c7x2b[_0x21b1[47]](2);if(_0x10c7x2a){delete define;return _0x10c7x33[_0x21b1[50]](null,Array[_0x21b1[49]][_0x21b1[47]][_0x21b1[48]](arguments,0));};define=_0x10c7x33;return define[_0x21b1[50]](null,Array[_0x21b1[49]][_0x21b1[47]][_0x21b1[48]](arguments,0));};define([_0x21b1[51],_0x21b1[52],_0x21b1[53],_0x21b1[54],_0x21b1[55]],function(){_0x10c7x2e[_0x21b1[50]](null,Array[_0x21b1[49]][_0x21b1[47]][_0x21b1[48]](arguments,0))});})();