Esempio n. 1
0
 /**
  * @expectedException \LengthException
  */
 public function testSmallModulo()
 {
     $plaintext = 'x';
     $n = new BigInteger(base64_decode('272435F22706FA96DE26E980D22DFF67'), 256);
     $e = new BigInteger(base64_decode('158753FF2AF4D1E5BBAB574D5AE6B54D'), 256);
     $rsa = new RSA();
     $rsa->load(array('n' => $n, 'e' => $e));
     $rsa->encrypt($plaintext);
 }
Esempio n. 2
0
 public function testPrivateMSBlob()
 {
     $key = 'BwIAAACkAABSU0EyAAQAAAEAAQAnh6FFs6kYe/gmb9dzqsQKmtjFE9mxNAe9mEU3OwOEEfyI' . 'wkAx0/8dwh12fuP4wzNbdZAq4mmqCE6Lo8wTNNIJVNYEhKq5chHg1+hPDgfETFgtEO54JZSg' . '3cBZWEV/Tq3LHEX8CaLvHZxMEfFXbTfliFYMLoJ+YK1mpg9GYcmbrVmMAKSoOgETkkiJJzYm' . 'XftO3KOveBtvkAzjHxxSS1yP/Ba10BzeIleH96SbTuQtQRLXwRykdX9uazK+YsiSud9/PyLb' . 'gy5TI+o28OHq5P+0y5+a9IaAQ/92UwlrkHUYfhN/xTVlUIxKlTEdUQTIf+iHif8d4ABb3OdY' . 'JXZOW6fGeUP10jMyvbnrEoPDsYy9qfNk++0/8UP2NeO1IATszuZYg1nEXOW/5jmUxMCdiFyd' . 'p9ES211kpEZ4XcvjGaDlaQ+bLWj05i2m/9aHYcBrfcxxvlMa/9ZvrX4DfPWeydUDDDQ4+ntp' . 'T50BunSvmyf7cUk76Bf2sPgLXUQFoufEQ5g1Qo/v1uyhWBJzh6OSUO/DDXN/s8ec/tN05RQQ' . 'FZQ0na+v0hOCrV9IuRqtBuj4WAj1I/A1JjwyyP9Y/6yWFPM6EcS/6lyPy30lJPoULh7G29zk' . 'n7NVdTEkDtthdDjtX7Qhgd9qWvm5ADlmnvsS9A5m7ToOgQyOxtJoSlLitLbf/09LRycl/cdI' . 'zoMOCEdPe3DQcyEKqUPsghAq+DKw3uZpXwHzwTdfqlHSWAnHDggFKV1HZuWc1c4rV4k4b513TqE=';
     $plaintext = 'zzz';
     $privKey = new RSA();
     $privKey->load($key);
     $this->assertSame($privKey->getLoadedFormat(), 'MSBLOB');
     $this->assertGreaterThanOrEqual(1, strlen("{$privKey}"));
     $pubKey = new RSA();
     $pubKey->load($privKey->getPublicKey('msblob'));
     $this->assertGreaterThanOrEqual(1, strlen("{$pubKey}"));
     $ciphertext = $pubKey->encrypt($plaintext);
     $this->assertSame($privKey->decrypt($ciphertext), $plaintext);
 }