|
Oʻzbekiston respublikasi oliy ta’lim, fan va innovatsiyalar vazirligi
|
Sana | 17.03.2024 | Hajmi | 198.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)
|
| |