Sobes.tech
Intern

Шифркунии чист?

sobes.tech AI

Ҷавоб аз AI

Фарқ кардан — ин равандест, ки маълумоти хондашударо (матни кушод) ба формати ношоиста (матни рамзгузорӣшуда) бо ёрии алгоритми криптографӣ ва калид табдил медиҳад. Ҳадаф — таъмин намудани махфиятнокии маълумот, то ки танҳо шахсони иҷозатдодашуда бо истифода аз калиди мувофиқ онро хонда тавонанд.

Ду навъи асосии фарқ кардан мавҷуд аст:

  1. Фарқ кардани симметрӣ: Калиди якхела барои рамзгузорӣ ва барқарорсозӣ истифода мешавад. Суръат баланд аст, аммо масъалаи интиқоли бехатарии калид вуҷуд дорад. Мисолҳо: AES, DES.

    <?php
    // Намунаи фарқ кардани симметрӣ (оддӣ, танҳо барои нишон додани консепсия)
    $key = 'калид123';
    $plaintext = 'Паёми махфӣ';
    
    // Функсияи оддӣ барои рамзгузорӣ (наметавон дар истеҳсолот истифода бурд)
    function simple_encrypt($data, $key) {
        return base64_encode($data ^ $key); // Ҳамлаи XOR
    }
    
    // Функсияи оддӣ барои барқарорсозӣ (наметавон дар истеҳсолот истифода бурд)
    function simple_decrypt($data, $key) {
        return base64_decode($data) ^ $key; // Ҳамлаи XOR
    }
    
    $ciphertext = simple_encrypt($plaintext, $key);
    echo "Мазмуни рамзгузорӣшуда: " . $ciphertext . "\n";
    
    $decryptedtext = simple_decrypt($ciphertext, $key);
    echo "Мазмуни барқароршуда: " . $decryptedtext . "\n";
    ?>
    
  2. Фарқ кардани асимметрӣ (рамзгузорӣ бо калиди кушод): Ду калид истифода мешавад: калиди кушод барои рамзгузорӣ ва калиди пинҳон (махфӣ) барои барқарорсозӣ. Калиди кушод метавонад озодона тақсим шавад, аммо калиди пинҳон дар махфият нигоҳ дошта мешавад. Суръат пасттар аст. Мисолҳо: RSA, ECC.

    <?php
    // Намунаи фарқ кардани асимметрӣ (оддӣ, танҳо барои нишон додани консепсия RSA)
    // Дар амал истифодаи функсияҳои PHP барои OpenSSL (openssl_public_encrypt, openssl_private_decrypt ва ғайра)
    
    // Таҳия кардани калидҳо (процеси мураккаб)
    // $privateKey = ...
    // $publicKey = ...
    
    $plaintext = 'Паёми дигар махфӣ';
    
    // Рамзгузорӣ бо калиди кушод
    // $encrypted = openssl_public_encrypt($plaintext, $ciphertext, $publicKey);
    // echo "Мазмуни рамзгузорӣшуда (асимметрӣ): " . base64_encode($ciphertext) . "\n";
    
    // Барқарорсозӣ бо калиди пинҳон
    // $decrypted = openssl_private_decrypt($ciphertext, $decryptedtext, $privateKey);
    // echo "Мазмуни барқароршуда (асимметрӣ): " . $decryptedtext . "\n";
    
    // Дар коди воқеӣ функсияҳои OpenSSL истифода мешаванд
    ?>
    

Фарқ кардан барои ҳимояи маълумот дар ҳуҷҷатгузорӣ (encryption at rest) ва дар интиқол (encryption in transit) истифода мешавад, масалан, дар протоколҳои SSL/TLS вебсайтҳо.