1
+ <?php
2
+ include ('Math/BigInteger.php ' );
3
+ include ('Crypt/RSA.php ' );
4
+ include ('PHP/Compat/Function/str_split.php ' );
5
+ include ('PHP/Compat/Function/bcpowmod.php ' );
6
+
7
+ function microtime_float ()
8
+ {
9
+ list ($ usec , $ sec ) = explode (" " , microtime ());
10
+ return ((float )$ usec + (float )$ sec );
11
+ }
12
+
13
+ define ('MATH_BIGINTEGER_MODE ' , MATH_BIGINTEGER_MODE_INTERNAL );
14
+ define ('MATH_BIGINTEGER_OPENSSL_DISABLE ' , true );
15
+
16
+ $ start = microtime_float ();
17
+
18
+ $ rsa = new Crypt_RSA ();
19
+
20
+ $ plaintext = '... ' ;
21
+
22
+ $ rsa ->loadKey ('-----BEGIN PUBLIC KEY-----
23
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAylq1ZRSREX7DWHUKg4HX
24
+ KGN5C8GQgasXaobkF0J5ok/TfDQnG4WntB/brjQaQRN9phFovHEClj2XywYfL/s9
25
+ syHHioaVOIMZ86cLP7xzJc6dF/bydPLD1p14DkpJLgCSx6CyTlFzOhmm4/YMEh4t
26
+ XR8FHY1f3pgWwEDXkkMKo/2U5FIIH0HBfnXgZeYSw7DalriaiZ+PyxpnqfYA5TT2
27
+ AXCiguSHlo14ZEf/dwNlDmEfjBLrJPltOp69ZlqZYeykuEjg54KbvR2EMjQWj3V6
28
+ 9sh1jPZvEeK8Tw/3E+aC4AoQzOB0VLF56yn1yfMZFvBRYd6RAhtcoU7Lli3/J7c3
29
+ ewIDAQAB
30
+ -----END PUBLIC KEY----- ' ); // public key
31
+
32
+ $ rsa ->setEncryptionMode (CRYPT_RSA_ENCRYPTION_PKCS1 );
33
+ $ ciphertext = $ rsa ->encrypt ($ plaintext );
34
+
35
+ $ rsa ->loadKey ('-----BEGIN RSA PRIVATE KEY-----
36
+ MIIEpQIBAAKCAQEAylq1ZRSREX7DWHUKg4HXKGN5C8GQgasXaobkF0J5ok/TfDQn
37
+ G4WntB/brjQaQRN9phFovHEClj2XywYfL/s9syHHioaVOIMZ86cLP7xzJc6dF/by
38
+ dPLD1p14DkpJLgCSx6CyTlFzOhmm4/YMEh4tXR8FHY1f3pgWwEDXkkMKo/2U5FII
39
+ H0HBfnXgZeYSw7DalriaiZ+PyxpnqfYA5TT2AXCiguSHlo14ZEf/dwNlDmEfjBLr
40
+ JPltOp69ZlqZYeykuEjg54KbvR2EMjQWj3V69sh1jPZvEeK8Tw/3E+aC4AoQzOB0
41
+ VLF56yn1yfMZFvBRYd6RAhtcoU7Lli3/J7c3ewIDAQABAoIBAQDIeuowxRmc/bxI
42
+ TV0nQWKLr1Hj5dhnv7ypXA9rQ/8CYpgi/ACq8dZfTRj3FMPWKZtZBvJ/kG+BrnBP
43
+ Qzdu8DoG2ba6dfAtVyZFEgDBGtHyaSuW7KD2YPbKEKU7cznhi8vgYEOH+IZyz6tb
44
+ OxBmeuNy2SLWTpTnEkOoIhXx4N4P7Y7cTWE3eAnaVNf7moeL12lj6FYp0SwEQbtd
45
+ lLCRN/Sts+6zIrQGwGO/+y7GK8LY6IqGZtf95eoGy5+OSnDSpddC5UXUG+9oIcrT
46
+ 5N3V1o+t1vYGMl93LO+dGYUugF3O3YQGlxGcJM57Cps57f56bhttZF6FVtsK7DJI
47
+ X/vfVMHBAoGBAPHdHZ50HhxgN/yuWPtXTqTeAkVFi1VQAn+BKFiYwyRAiOY68YZX
48
+ LwwqXa9Rc1uCUDKXHLGMPGAgZTfb6z19EAsGG08LQbeClZM0Jm1c83skqN8mnbrn
49
+ nPSiFc09hSHRLmul195xOkpb0IxZ+8oeljXnbz6IJagzHLP40lvHx/rrAoGBANYu
50
+ bwjrRDDWnaQQbPY3Z9fTHx9AD2ErPyVsg+OGvUqDGtTU/32kYR4anUkNaldLcI3k
51
+ /QtYgxwE0zcCn9+fmfwYXvIEfmJG1+NH6Mw0rLt15qO6vhZ/fx6ewV0ZtTUvxj2X
52
+ yGO5gXE26v3Il+KtlIXm3DBFR5/3+wQIbtaT03GxAoGBAN8dtJoc0j4pANznVQyf
53
+ sNvkNcIDcpKD2ZoX4slAOxxxMBj7HR1pxev6FSyK/djX8PWKcxzSmkuu9tC93ld9
54
+ zFPvETgs0TXhj+wYuq4+hhn+ao5YyD7INQFzmJsZ+nuExcbmWapJV5WK92rSA7Wj
55
+ 27vkQLo1zE9Kv1rC2gNy2+d7AoGBAInpFjfg/WSRHKpipTaZEHVpDNYbcou3xA49
56
+ 5GKiBMqwxpsal3R4Xsx6iKJcUAfrnIrRUpp2oN1uwe3e88CTTRyFOMWPXS28vhAr
57
+ 4lty43JFhYARo4prCBhYUtu2zPZ1T6mjTTXhYdbbbM6C1kHwUP0zXL58LZV0oJ3F
58
+ LFFgmDrRAoGAS9i9FLcipuff0n+1e83rRiE78rAYqA345Y5exakEqfW/orTDfYcq
59
+ or0jV1Oh8ZpspoQCEgei9pmP8BoN3j4JCV6sOduXPsRQfIqV7zAFCcIEqxnG1Xhz
60
+ vnGFhUKyff8ObWammbWnYnnzXnXRCL+982W8LoOhTzTv7LuSIMq3eOg=
61
+ -----END RSA PRIVATE KEY----- ' ); // private key
62
+ echo $ rsa ->decrypt ($ ciphertext );
63
+
64
+ $ elapsed = microtime_float () - $ start ;
65
+
66
+ echo "\r\ntook $ elapsed seconds " ;
0 commit comments