PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / trunk
JetBackup – Backup, Restore & Migrate vtrunk
3.1.22.4 3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / src / JetBackup / 3rdparty / phpseclib3 / Crypt / EC / Formats / Signature / IEEE.php
backup / src / JetBackup / 3rdparty / phpseclib3 / Crypt / EC / Formats / Signature Last commit date
.htaccess 1 year ago ASN1.php 1 year ago IEEE.php 1 year ago Raw.php 1 year ago SSH2.php 1 year ago index.html 1 year ago web.config 1 year ago
IEEE.php
65 lines
1 <?php
2
3 /**
4 * IEEE P1363 Signature Handler
5 *
6 * PHP version 5
7 *
8 * Handles signatures in the format described in
9 * https://standards.ieee.org/ieee/1363/2049/ and
10 * https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/sign#ecdsa
11 *
12 * @author Jim Wigginton <terrafrost@php.net>
13 * @copyright 2016 Jim Wigginton
14 * @license http://www.opensource.org/licenses/mit-license.html MIT License
15 * @link http://phpseclib.sourceforge.net
16 */
17
18 declare(strict_types=1);
19
20 namespace phpseclib3\Crypt\EC\Formats\Signature;
21
22 use phpseclib3\Math\BigInteger;
23
24 /**
25 * ASN1 Signature Handler
26 *
27 * @author Jim Wigginton <terrafrost@php.net>
28 */
29 abstract class IEEE
30 {
31 /**
32 * Loads a signature
33 *
34 * @param string $sig
35 * @return array
36 */
37 public static function load($sig)
38 {
39 if (!is_string($sig)) {
40 return false;
41 }
42
43 $len = strlen($sig);
44 if ($len & 1) {
45 return false;
46 }
47
48 $r = new BigInteger(substr($sig, 0, $len >> 1), 256);
49 $s = new BigInteger(substr($sig, $len >> 1), 256);
50
51 return compact('r', 's');
52 }
53
54 /**
55 * Returns a signature in the appropriate format
56 */
57 public static function save(BigInteger $r, BigInteger $s): string
58 {
59 $r = $r->toBytes();
60 $s = $s->toBytes();
61 $len = max(strlen($r), strlen($s));
62 return str_pad($r, $len, "\0", STR_PAD_LEFT) . str_pad($s, $len, "\0", STR_PAD_LEFT);
63 }
64 }
65