Code Duplication    Length = 34-34 lines in 2 locations

src/library/sodium_compat/src/Crypto.php 1 location

@@ 433-466 (lines=34) @@
430
     * @param string $publicKey
431
     * @return string
432
     */
433
    public static function box_seal($message, $publicKey)
434
    {
435
        /** @var string $ephemeralKeypair */
436
        $ephemeralKeypair = self::box_keypair();
437
438
        /** @var string $ephemeralSK */
439
        $ephemeralSK = self::box_secretkey($ephemeralKeypair);
440
441
        /** @var string $ephemeralPK */
442
        $ephemeralPK = self::box_publickey($ephemeralKeypair);
443
444
        /** @var string $nonce */
445
        $nonce = self::generichash(
446
            $ephemeralPK . $publicKey,
447
            '',
448
            24
449
        );
450
451
        /** @var string $keypair - The combined keypair used in crypto_box() */
452
        $keypair = self::box_keypair_from_secretkey_and_publickey($ephemeralSK, $publicKey);
453
454
        /** @var string $ciphertext Ciphertext + MAC from crypto_box */
455
        $ciphertext = self::box($message, $nonce, $keypair);
456
        try {
457
            ParagonIE_Sodium_Compat::memzero($ephemeralKeypair);
458
            ParagonIE_Sodium_Compat::memzero($ephemeralSK);
459
            ParagonIE_Sodium_Compat::memzero($nonce);
460
        } catch (Error $ex) {
461
            $ephemeralKeypair = null;
462
            $ephemeralSK = null;
463
            $nonce = null;
464
        }
465
        return $ephemeralPK . $ciphertext;
466
    }
467
468
    /**
469
     * Opens a message encrypted via box_seal().

src/library/sodium_compat/src/Crypto32.php 1 location

@@ 433-466 (lines=34) @@
430
     * @param string $publicKey
431
     * @return string
432
     */
433
    public static function box_seal($message, $publicKey)
434
    {
435
        /** @var string $ephemeralKeypair */
436
        $ephemeralKeypair = self::box_keypair();
437
438
        /** @var string $ephemeralSK */
439
        $ephemeralSK = self::box_secretkey($ephemeralKeypair);
440
441
        /** @var string $ephemeralPK */
442
        $ephemeralPK = self::box_publickey($ephemeralKeypair);
443
444
        /** @var string $nonce */
445
        $nonce = self::generichash(
446
            $ephemeralPK . $publicKey,
447
            '',
448
            24
449
        );
450
451
        /** @var string $keypair - The combined keypair used in crypto_box() */
452
        $keypair = self::box_keypair_from_secretkey_and_publickey($ephemeralSK, $publicKey);
453
454
        /** @var string $ciphertext Ciphertext + MAC from crypto_box */
455
        $ciphertext = self::box($message, $nonce, $keypair);
456
        try {
457
            ParagonIE_Sodium_Compat::memzero($ephemeralKeypair);
458
            ParagonIE_Sodium_Compat::memzero($ephemeralSK);
459
            ParagonIE_Sodium_Compat::memzero($nonce);
460
        } catch (Error $ex) {
461
            $ephemeralKeypair = null;
462
            $ephemeralSK = null;
463
            $nonce = null;
464
        }
465
        return $ephemeralPK . $ciphertext;
466
    }
467
468
    /**
469
     * Opens a message encrypted via box_seal().