v2.5.2
Giriş yap

Python Şifreleme algoritmasını çözmemde yardımcı olur musunuz?

Anonim
272 defa görüntülendi
def ror(x, v):
    a = (x << (64 - v)) | (x >> v) # right-rotate x by v bits
    return a & 0xffffffffffffffff


def encryptv(data, key):
    res_data = []
    for i in range(0, len(data), 2):
        res_1, res_2 = Encrypt(data[i], data[i+1], key)
        res_data.append(res_1)
        res_data.append(res_2)
    return res_data


def Encrypt(data_1, data_2, key):
    ror_data_2_1 = ror(data_2, 0x38) # right-rotate data_2 by 56 bits
    and_data_2_1 = ror_data_2_1 & ror(data_2, 0x3F) # bitwise AND between two right-rotated data_2 values
    eor_data_1 = data_1 ^ and_data_2_1 # XOR data_1 with the bitwise AND result
    eor_data_2 = eor_data_1 ^ ror(data_2, 0x3E) # XOR with another right-rotated data_2 value
    temp_1 = data_2 # initialize temporary variables
    temp_2 = eor_data_2
    temp3 = 0
    for i in range(len(key)):
        eor_temp = key[i] ^ temp_2 # XOR with key
        and_temp = ror(eor_temp, 0x38) & ror(eor_temp, 0x3F) # bitwise AND between two right-rotated eor_temp values
        eor_temp_1 = and_temp ^ temp_1 # XOR with a temporary variable
        temp3 = temp_1 # update temporary variable
        temp_2 = eor_temp_1 ^ ror(eor_temp, 0x3E) # XOR with another right-rotated eor_temp value
        temp_1 = eor_temp # update temporary variable
    return temp3, temp_1


data = [1234, 5678]
key = [15543093989444520601, 10213393842043858333]

print(encryptv(data, key))

Bu algoritma, 64 bitlik verilerin şifrelenmesi ve kodunun çözülmesi için kullanılan bir şifreleme algoritmasıdır. Algoritma, iki adet 64 bitlik veri parçası (data_1 ve data_2) ve bir anahtar dizisi (anahtar) kullanarak şifrelenmiş veriler üretir.

Şifreleme işleminde önce data_2'nin bitleri sağa kaydırılır ve bazı işlemlerle yeni bir data (eor_data_2) elde edilir. Ardından, tuş dizisi kullanılarak bir döngü oluşturulur ve her adımda bir XOR işlemi ve bazı kaydırma ve AND işlemleri gerçekleştirilir. Bu işlemler sonucunda yeni bir veri elde edilir ve döngü devam eder. Son adımda, elde edilen nihai verilerden şifreli veriler üretilir.

kısacası, bu algoritmanın kod çözücüsüne ihtiyacım var.
This algorithm is an encryption a

smack
343 gün önce

Bu algoritma, 64 bitlik verilerin şifrelenmesi ve kodunun çözülmesi için kullanılan bir şifreleme algoritmasıdır demişsiniz fakat kodun cozumunu soruyorsunuz. bu kodu siz mi yazdınız. Umarim oyle degildir cunku hayatimda boyle sacma bi kod gormedim.