2012-07-02 3 views
-1

Когда некоторые данные зашифрованы с помощью PGP, пароль не предоставляется. Каков пароль, используемый в части симметричных алгоритмов PGP?Открытый ключ Шифрование/дешифрование данных

это выход из небольшой строки зашифрованы с AES 256.

-----BEGIN PGP MESSAGE----- 
Version: BCPG v1.39 

hI4D+UDEMBpnd50QAf9bWG97E9FfnSKB/WpVcBtLJqk5f/Ih9YZTUDULDZpSE0TP 
ObJnCs91okOv6/BtDRDZ84ChF5pOZezb5+aL3TW5AfwK3gJ7nPTlmZOm5Kf7qOfB 
n307xpn0qRw395y1mfOm10TsMpaCkbSvwjhqPi8hRMM17y29OsqGLstZdeAaNTGt 
0mwB7EiZti4jOUF3/SCNnn2vA9hVc6o6c0l0h5vQOF0L+eL1Pmhg8RcFT4kHRnI/ 
A+Ad4hsbOxD1vvzZHx2iETkt1JmNTHmOOY5Cw/n+sFlU9JzZpzAtqwUjjnyN8NjQ 
6NbpwL6gebTJCVTNW2c= 
=kI32 
-----END PGP MESSAGE----- 

Old: Public-Key Encrypted Session Key Packet(tag 1)(142 bytes) 
     New version(3) 
     Key ID - 0xF940C4301A67779D 
     Pub alg - ElGamal Encrypt-Only(pub 16) 
     ElGamal g^k mod p(511 bits) - 5b 58 6f 7b 13 d1 5f 9d 22 81 fd 6a 55 70 1b 4b 26 a9 39 7f f2 21 f5 86 53 50 35 0b 0d 9a 52 13 44 cf 39 b2 67 0a cf 75 a2 43 af eb f0 6d 0d 10 d9 f3 80 a1 17 9a 4e 65 ec db e7 e6 8b dd 35 b9 
     ElGamal m * y^k mod p(508 bits) - 0a de 02 7b 9c f4 e5 99 93 a6 e4 a7 fb a8 e7 c1 9f 7d 3b c6 99 f4 a9 1c 37 f7 9c b5 99 f3 a6 d7 44 ec 32 96 82 91 b4 af c2 38 6a 3e 2f 21 44 c3 35 ef 2d bd 3a ca 86 2e cb 59 75 e0 1a 35 31 ad 
       -> m = sym alg(1 byte) + checksum(2 bytes) + PKCS-1 block type 02 

New: Symmetrically Encrypted and MDC Packet(tag 18)(108 bytes) 
     Ver 1 
     Encrypted data [sym alg is specified in pub-key encrypted session key] 
       (plain text + MDC SHA1(20 bytes)) 

Я знаю, что 256 значение AES 9 скрыт в первом пакете (метки 1), но где ключ? Поскольку открытый ключ используется для шифрования, не было ключа, скрытого в открытом ключе, с которым нужно шифровать. Кроме того, я считаю, что RFC 4880 никогда не указывает, где получить ключ.

Я пропустил какой-то важный момент в отношении криптографии с открытым ключом?

+0

Вы можете посмотреть на http://www.imc.org/ietf-openpgp/mail-archive/ msg00010.html, особенно раздел 5.1 и читать дальше. –

+0

Если у вас нет необходимых ответов, http://cryptography.stackexchange.com может быть хорошим местом для посещения. –

ответ

0

Я просто понял, что я неправильно session key в инструкции, как пакет, а не секретный ключ

0

Случайно сгенерированный ключ сеанса хранится в первом пакете:

... Public-Key Encrypted Session Key Packet ... 

Сырые данные не шифруются непосредственно с открытым ключом алгоритмами; вместо этого используется случайный сгенерированный ключ сеанса. Если вы шифруете несколько получателей, один и тот же ключ сеанса будет зашифрован каждому получателю индивидуально.

+0

Что глупо о 'm'? – sarnold

+0

Предположительно, ваш получатель широко не делится своим личным ключом ... – sarnold

+0

Потому что есть два способа легко получить 'm' - присутствовать, когда шифр шифрует его или присутствует, когда дешифр расшифровывает его .... – sarnold

2

Вам не нужен ключ, потому что любой может использовать открытый ключ. Открытый ключ используется для шифрования (в данном случае случайного ключа AES, который используется для шифрования остальной части данных). Только при расшифровке вам понадобится секретный ключ для извлечения зашифрованного ключа AES и, конечно же, данных. Это, конечно, пара открытого/закрытого ключа , принимающая участника (ов).

+0

Где я его извлекаю? Я не вижу его в любом пакете, если его 'm' или' k' – calccrypto

+0

Обычно общий ключ генерируется одной из сторон (назовем их Алисой) и зашифрован с использованием открытого ключа другой стороны (Bob). Чтобы получить пароль сеанса, вам понадобится секретный ключ другой стороны (Боба) и дешифровать общий ключ сеанса –

+0

Алиса шифрует данные для боба и ей нужен его секретный ключ ?????? – calccrypto

Смежные вопросы