• S-box0 g S-box1 S-box2 S-box3
  • Shifr matn (128 bit) TWOFISH DASTUR KODI from Crypto.Cipher import Twofish
  • Oʻzbekiston respublikasi oliy ta’lim, fan va innovatsiyalar vazirligi




    Download 198.9 Kb.
    Sana17.03.2024
    Hajmi198.9 Kb.
    #174767
    Bog'liq
    Twofish ahku
    8-sinflar uchun 2, Ишчи дастур Стат (2-к, сиртки) 2019, 2019.09xizmatuzb, 1labElbek Ro‘ziyev, 8-laboratoriya ishi Mavzu radius serverini sozlash Ishdan maqsa-fayllar.org, Pedagogik dasturiy vositalar ((AutoPlayMedia Studio, CoutseLab i-fayllar.org, Αzbekiston respublikasi oliy ta’lim muassasasi, AT”Aloqabank”, Kenjayeva Surayyo fizika mus. ish, Borliq va uning asosiy shakllari, Aniqlik kvalitetlari., Talim shakli, 2I7gAsIQjCjkW9oSvVGLXZ (2), 1 Model eskizi bo’yicha bel kiyimlarini konstruktiv modellash

    OʻZBEKISTON RESPUBLIKASI OLIY TA’LIM, FAN VA INNOVATSIYALAR VAZIRLIGI
    MIRZO ULUGʻBEK NOMIDAGI OʻZBEKISTON MILLIY UNIVERSITETINING JIZZAX FILIALI

    AMALIY MATEMATIKA FAKULTETI


    «KOMPYUTER ILMLARI VA DASTURLASH » kafedrasi
    “Axborotni himoyalashning kriptografik usullari” fanidan

    4-AMALIY ISH


    Mavzu: TWOFISH blokli shifrlash protokoli


    Bajardi: Xudoyberdiyev D


    Tekshirdi: Baratov J
    Jizzax – 2023


    128 bitli ochiq matn








    K1 K2 k3 K4




    MDS

    S-box0
    g

    <<<1


    K2r+8


    S-box1


    S-box2


    S-box3


    PHT









    MDS

    S-box0
    g


    S-box1


    S-box2


    S-box3



    <<<8





    >>>1

    K2r+9






























    Shifr matn (128 bit)





    TWOFISH DASTUR KODI
    from Crypto.Cipher import Twofish
    from Crypto.Random import get_random_bytes
    from Crypto.Protocol.KDF import PBKDF2
    import base64

    def encrypt_message(message, password):
    salt = get_random_bytes(8)
    key = PBKDF2(password, salt, dkLen=32) # 32 byte (256 bit) key
    cipher = Twofish.new(key, Twofish.MODE_ECB)
    ct_bytes = cipher.encrypt(message.encode())
    iv = base64.b64encode(salt).decode('utf-8')
    ct = base64.b64encode(ct_bytes).decode('utf-8')
    return iv, ct

    def decrypt_message(iv, ct, password):
    salt = base64.b64decode(iv)
    key = PBKDF2(password, salt, dkLen=32)
    cipher = Twofish.new(key, Twofish.MODE_ECB)
    ct = base64.b64decode(ct)
    pt = cipher.decrypt(ct).decode('utf-8')
    return pt

    message = "Assalomu alaykum!"
    password = "Bu kalit so'z"

    iv, ciphertext = encrypt_message(message, password)
    print("Shifrlangan ma'lumot: ", ciphertext)

    decrypted_message = decrypt_message(iv, ciphertext, password)
    print("Deshifrlangan ma'lumot: ", decrypted_message)
    Download 198.9 Kb.




    Download 198.9 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Oʻzbekiston respublikasi oliy ta’lim, fan va innovatsiyalar vazirligi

    Download 198.9 Kb.