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
    // Асимметриче шифрлоонун мисалы (жөнөкөйлөштүрүлгөн, көрсөтүү үчүн гана)
    // Практикада 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 протоколдорунда веб-сайттарда.