Автор GnuPG основал LibrePGP, Ρ„ΠΎΡ€ΠΊ стандарта OpenPGP

Π’Π΅Ρ€Π½Π΅Ρ€ ΠšΠΎΡ… (Werner Koch), основной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GnuPG (GNU Privacy Guard), основал ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ LibrePGP, сосрСдоточСнный Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΉ спСцификации, Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ стандарту OpenPGP. Π€ΠΎΡ€ΠΊ Π±Ρ‹Π» создан Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° измСнСния, Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ IETF для внСсСния Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ спСцификации OpenPGP (RFC-4880) ΠΈ воспринятыС ΠšΠΎΡ…ΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния сохранСния совмСстимости ΠΈ обСспСчСния бСзопасности. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π²ΡˆΠΈΠ΅ Ρ„ΠΎΡ€ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² GnuPG, RNP (рСализация OpenPGP ΠΎΡ‚ Thunderbird) ΠΈ Gpg4win ΠΎΠΏΠ°ΡΠ°ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ измСнСния окаТутся Π³ΡƒΠ±ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ OpenPGP, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ спСцификации Π² Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ пСрспСктивС ΠΈ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ с измСнСниями, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΌΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ.

LibrePGP Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, послСдниС Π³ΠΎΠ΄Ρ‹ Ρ€Π°Π·Π²ΠΈΠ²Π°Π²ΡˆΠΈΠ΅ΡΡ для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° спСцификации OpenPGP, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ измСнСния, Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° обСспСчСниС совмСстимости. НапримСр, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ стандартом RFC-4880 Π² LibrePGP приняты Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, ΠΊΠ°ΠΊ:

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Camellia (RFC-5581),
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ECC (Elliptic Curve Cryptography) для OpenPGP (RFC-6637).
  • ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ…ΡΡˆΠ΅ΠΉ SHA2-256 (SHA-1 ΠΈ MD5 отнСсСны ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹Ρ…, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· вСрсификации цСлостности отнСсСна ΠΊ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ…).
  • Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎ 256 Π±ΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ слСпка (fingerprint).
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° схСмы Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй EdDSA ΠΈ эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ… BrainpoolP256r1, BrainpoolP384r1, BrainpoolP512r1, Ed25519, Curve25519, Ed488 ΠΈ X448.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° CRYSTALS-Kyber, устойчивого ΠΊ ΠΏΠΎΠ΄Π±ΠΎΡ€Ρƒ Π½Π° ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ….
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ OCB (Offset codebook mode).
  • РСализация пятой вСрсии Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… субпакСтов с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ подписями.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ элСмСнты ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ Π½ΠΎΠ²ΠΎΠΉ спСцификации OpenPGP:

  • Рабочая Π³Ρ€ΡƒΠΏΠΏΠ° IETF вмСсто постСпСнного ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ обновлСния спСцификации ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»Π°ΡΡŒ Π·Π°Π½ΠΎΠ²ΠΎ пСрСизобрСсти стандарт ΠΈ внСсти Π² Π½Π΅Π³ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ.
  • НавязываниС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ симмСтричного Ρ€Π΅ΠΆΠΈΠΌΠ° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ GCM (Galois/Counter Mode), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, игнорируя ΠΏΡ€ΠΈ этом Ρ€Π΅ΠΆΠΈΠΌ OCB (Offset codebook mode), ΠΏΠ°Ρ‚Π΅Π½Ρ‚Ρ‹ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ истСкли нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² со случайным Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹ΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. По мнСнию создатСлСй LibrePGP, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с нСпровСряСмым Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ случайным Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ использования для создания скрытых ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° систСм прСдотвращСния ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π½Π΅Π΅ идСя Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½ΠΎΠ³ΠΎ заполнСния ΠΎΡ‚Π²Π΅Ρ€Π³Π°Π»Π°ΡΡŒ, ΠΊΠ°ΠΊ ΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π΅ уровня ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π° уровня прилоТСния.
  • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ схСмы ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ECDH (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OID), вмСсто использования ΡƒΠΆΠ΅ описанного Π² RFC-6637 ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² PGP ΠΈ GnuPG Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.
  • Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ возмоТностСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ классичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Π·Ρ‹Π²Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ„Π»Π°Π³ «m» для ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ MIME-Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„Π»Π°Π³ «t» для отдСлСния тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… (Π½Π° смСну Ρ„Π»Π°Π³Ρƒ «t» ΠΏΡ€ΠΈΡˆΡ‘Π» Ρ„Π»Π°Π³ «u» для тСкста Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8).
  • ΠžΡ‚ΠΊΠ°Π· Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ подписСй Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… подписанного Ρ„Π°ΠΉΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ подписи ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π°).
  • Π‘ΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ добавлСния «ΡΠΎΠ»ΠΈ» ΠΊ подписям (Salted signature) для усилСния Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΎΠ½Π½Ρ‹Ρ… Π°Ρ‚Π°ΠΊ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ прСфиксом. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с солью ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ скрытый ΠΊΠ°Π½Π°Π» для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ 32 Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… Π² подписи.
  • Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ стандарта Π² сторону основного использования для online-ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ, игнорируя потрСбности для Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ хранСния Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΊΠΈ OpenPGP ΡƒΠΆΠ΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ Π½Π° ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒ. Π’ ΠΈΡ‚ΠΎΠ³Π΅, Ссли Π½Π΅ удастся Π½Π°ΠΉΡ‚ΠΈ компромисс раскол ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π°Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ нСсовмСстимостСй Π² рСализациях OpenPGP/LibrePGP. Частично для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ OpenPGP зафиксировали ΠΏΡΡ‚ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° подписСй Π² Π²ΠΈΠ΄Π΅ совмСстимом с LibrePGP ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΡˆΠ΅ΡΡ‚ΠΎΠΉ вСрсиСй.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru