• Tahdid Oqibatlari Tahdidlarni yuzaga kelish ehtimolligi
  • Matn belgilari T u r d
  • 3. Shifrdan yechish
  • Galstuk-babochka




    Download 18,32 Kb.
    bet2/2
    Sana18.08.2024
    Hajmi18,32 Kb.
    #269638
    1   2
    Bog'liq
    Turdiyev Manguberdi Bahodir 1-amaliy ish

    Oqibatlar:

    • Ma'lumotlar yo'qolishi

    • Server buzilishi

    • Tashrif kamayishi

    Vazifa
    Har bir talaba ixtiyoriy holatni galstuk-babochka usuli orqali taxlilni amalga oshirsin.
    Tahdidlar ro'yxati:

    Tahdid

    Oqibatlari

    Tahdidlarni yuzaga kelish ehtimolligi

    Risk o’lchovi

    Tahdidlarni Ranjirlash

    TahdidA

    Texnik nosozlik

    5

    2

    10

    TahdidB

    Mos kelmaydigan DTni o’rnatish

    4

    4

    15

    TahdidC

    Virus tushishi

    3

    3

    9

    Ushbu jadvalda har bir tahdidning oqibatlari, yuzaga kelish ehtimolligi, risk o'lchovi va tahdidlarni ranjirlash keltirilgan.
    Vazifani bajarish uchun ixtiyoriy holatni tanlab, yuqoridagi bosqichlarga amal qilishingiz kerak.
    Bu usulni qo'llash sizga tahlil qilishda, xavflarni baholashda va profilaktika choralarini ko'rishda yordam beradi.

    Sezar usulu:


    Matn: Turdiyev Manguberdi Kalit: 3
    Sezar shifri yordamida har bir harfni 3 ta pozitsiyaga siljitamiz:

    • T -> U

    • u -> d

    • r -> a

    • d -> p

    • i -> d

    • y -> w

    • e -> r

    • v -> y

    • M -> V

    • a -> d

    • n -> u

    • g -> g

    • u-> r

    • b-> u

    • e->q

    • r->u

    • d->i

    • i->t

    Shifrlangan matn: "UdapdwrVdugur"
    Demak, "Turdiyev Manguberdi " matnining Sezar usulida (kalit = 3) shifrlangani "UdapdwrVdugurquit" bo'ladi.
    Vernam usuli:
    Bosqichlar:

    1. Matn va kalitning har bir belgisini ASCII kodiga aylantiramiz.

    2. Har bir matn belgisi va kalit belgisi orasida XOR (^) amalini bajarib, yangi ASCII kod olamiz.

    3. XOR amalidan keyin olingan ASCII kodlarini qaytib belgilarga aylantiramiz.

    Bu jarayon quyidagicha bo'ladi:

    Matn belgilari

    T

    u

    r

    d

    i

    y

    e

    v

    M

    a

    n

    g

    u

    b
















    ASCII kodlari

    82

    97

    120

    109

    97

    116

    111

    118

    83

    97

    114

    100

    111

    114
















    Kalit belgilari

    k

    u

    c

    h

    l

    i

    k

    a

    l

    i

    t

    s

    e



















    ASCII kodlari

    107

    117

    99

    104

    108

    105

    107

    97

    108

    105

    116

    115

    101



















    XOR natija

    57

    20

    27

    5

    13

    29

    4

    23

    59

    8

    6

    23

    10



















    Yangi belgilar

    9



















































































































    Shifrlangan matn: 9 ;
    Demak, "Turdiyev Manguberdi " matnining Vernam usulida (kalit: "kuchlikalitse") shifrlangani "9 ;" bo'ladi.
    Eslatma: Vernam shifrida matn aniq bir kalit bilan shifrlanganda har safar farqli natijalar olinadi. Bu kalit va matn uzunliklari bir xil bo'lishi zarur. Yuqorida ko'rsatilgan misolda kalit uzunligi matn uzunligidan qisqa bo'lgani uchun natija to'liq emas. Kalit uzunligini matn uzunligiga mos qilib uzaytirish kerak. Bu misolda kalit etarlicha uzun emas, shuning uchun bir xil uzunlikda kalit qo'llanishi kerak.

    RSA usuli:


    Ommaviy kalit (N, e) yordamida matnni shifrlaymiz.
    Misol uchun, RaxmatovSardor matnining ASCII kodlarini ishlatamiz:

    • Turdiyev Manguberdi ni butun sonlar ko'rinishiga aylantiramiz. Har bir harfni o'z ASCII kodiga almashtiramiz va ketma-ket yozamiz. Bu yerda har bir harfni o'z o'rnida alohida shifrlaymiz, chunki RSA algoritmida butun bloklarni shifrlash qiyin.

    Har bir harfni shifrlash:

    • T (82) → 82^17 mod 3233 = 82^17 mod 3233

    • u (97) → 97^17 mod 3233

    • r(120) → 120^17 mod 3233

    • d(109) → 109^17 mod 3233

    • i (97) → 97^17 mod 3233

    • y(116) → 116^17 mod 3233

    • e (111) → 111^17 mod 3233

    • v (118) → 118^17 mod 3233

    • M (83) → 83^17 mod 3233

    • a (97) → 97^17 mod 3233

    • n (114) → 114^17 mod 3233

    • g(100) → 100^17 mod 3233

    • u (111) → 111^17 mod 3233

    • b(114) → 114^17 mod 3233

    3. Shifrdan yechish
    Maxfiy kalit (N, d) yordamida shifrdan yechamiz.
    Har bir shifrlangan qiymatni yechish:

    • C (shifrlangan qiymat) → C^d mod N

    • Misol uchun:

      • 82^17 mod 3233 ning shifrdan yechilgan qiymatini (M) olish uchun: C^d mod N = (82^2753 mod 3233)

    Mana shunday qilib har bir harfni shifrlash va shifrdan yechish mumkin.
    Bu yerda RSA algoritmi kodida amalga oshiriladi, lekin matn ko'rinishida shunday bo'ladi:

    1. Matnni ASCII kodlar ketma-ketligiga aylantiramiz.

    2. Har bir ASCII kodni ommaviy kalit yordamida shifrlaymiz.

    3. Shifrlangan kodlarni o'z o'rnida saqlaymiz.

    4. Shifrdan yechish uchun maxfiy kalitdan foydalanamiz.

    Kod orqali shifrdan yechaylik:
    def gcd(a, b):
    while b != 0:
    a, b = b, a % b
    return a

    def multiplicative_inverse(e, phi):


    d, x1, x2, y1 = 0, 0, 1, 1
    temp_phi = phi

    while e > 0:


    temp1, temp2 = temp_phi // e, temp_phi - (temp_phi // e) * e
    temp_phi, e = e, temp2
    x = x2- temp1* x1
    y = d - temp1 * y1
    x2, x1 = x1, x
    d, y1 = y1, y

    if temp_phi == 1:


    return d + phi

    def rsa_keygen():


    p = 61
    q = 53
    n = p * q
    phi = (p - 1) * (q - 1)
    e = 17
    g = gcd(e, phi)
    d = multiplicative_inverse(e, phi)
    return ((e, n), (d, n))

    def rsa_encrypt(text, public_key):


    e, n = public_key
    cipher = [(ord(char) ** e) % n for char in text]
    return cipher

    def rsa_decrypt(cipher, private_key):


    d, n = private_key
    text = [chr((char ** d) % n) for char in cipher]
    return ''.join(text)

    public_key, private_key = rsa_keygen()

    text = "Turdiyev Manguberdi "
    cipher = rsa_encrypt(text, public_key)
    print(f"Shifrlangan matn: {cipher}")

    decrypted_text = rsa_decrypt(cipher, private_key)


    print(f"Shifrdan yechilgan matn: {decrypted_text}")
    Download 18,32 Kb.
    1   2




    Download 18,32 Kb.