Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π»ΠΈΠ±ΠΎ ΡΠΎΠ±ΡΠ°Π»ΠΈ Π² PHP, Π»ΠΈΠ±ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.
Mcrypt ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΡΡΡΡΡ
ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ
ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ (CBC,
OFB, CFB ΠΈ
ECB). ΠΡΠ»ΠΈ ΡΠ»ΠΈΠ½ΠΊΠΎΠ²Π°Π½ΠΎ Ρ libmcrypt-2.4.x
ΠΈΠ»ΠΈ Π²ΡΡΠ΅, ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
nOFB ΠΈ STREAM.
ΠΠΈΠΆΠ΅ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ΅ΠΆΠΈΠΌΠΎΠ²
ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ
Π΄Π»Ρ Π½ΠΈΡ
. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠΈΡΠ°ΠΉΡΠ΅
Applied Cryptography by Schneier (ISBN 0-471-11709-9).
MCRYPT_MODE_ECB (electronic
codebook) - ΡΡΠΎ ΡΠ΅ΠΆΠΈΠΌ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ,
ΠΊΠΎΡΠΎΡΡΠΉ Π² ΡΠ΅Π»ΠΎΠΌ Π½Π΅ΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π·Π°Π΄Π°Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ.
MCRYPT_MODE_CBC (cipher block
chaining) - ΡΡΠΎ ΡΠ΅ΠΆΠΈΠΌ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ,
ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π»ΡΡΡΠ΅ ECB.
MCRYPT_MODE_CFB (cipher
feedback, Π² 8-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅) - ΡΡΠΎ ΡΠ΅ΠΆΠΈΠΌ
ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ΡΠ΅ΠΆΠΈΠΌ NCFB, Π° Π½Π΅ CFB.
MCRYPT_MODE_OFB (output feedback, Π² 8-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅) - ΡΡΠΎ
ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π²Π½ΠΈΠΌΡΠΉ Ρ
CFB, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
, Π½Π΅ΡΠ΅ΡΠΏΠΈΠΌΡΡ
ΠΊ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ
NOFB Π²ΠΌΠ΅ΡΡΠΎ OFB.
MCRYPT_MODE_NOFB (output feedback,
Π² N-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅) - ΡΡΠ°Π²Π½ΠΈΠΌ Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ
OFB, Π½ΠΎ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ
Π±Π»ΠΎΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
MCRYPT_MODE_STREAM - ΡΡΠΎ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ
"WAKE" ΠΈΠ»ΠΈ "RC4".
Mcrypt ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠΎΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ.
"ctr" (counter mode) - ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ.
"ncfb" (cipher feedback,
Π² N-Π±ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅) - ΡΡΠ°Π²Π½ΠΈΠΌ Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ
CFB, Π½ΠΎ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ
Π±Π»ΠΎΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π»: