Guruh talabasi Fayzullayev Farhodning amaliy ishi



Yüklə 0,53 Mb.
tarix18.02.2023
ölçüsü0,53 Mb.
#84885

713-20 guruh talabasi Fayzullayev Farhodning amaliy ishi

6- amaliy ish
Mavzu: N bitli skremblerni qurish va davrini hisoblash Ishdan maqsad: skrembler qurish va davrini hisoblash bo‘yicha nazariy va amaliy bilim ko‘nikmaga ega bo‘lish.

Skrembler: + +1


FFS = 101100011010001

Dastur kodi:


matn = 'nsb'
def firstkey(matn,bin_alp):

ochiqm = ''


key = ''
data = []
tcheck = True
t=''
for id in range(len(matn)):
ochiqm +=bin_alp[matn[id]]

n = ochiqm[:]


print('Berilgan ochiq matn : ',n)

for i in range(2**15):


key = ''
for idx in list(range(len(n))):
z = int(ochiqm[-12]) ^ int(ochiqm[-6]) ^ int(ochiqm[-4]) ^
int(ochiqm[-1])
key += ochiqm[-1]
# print(key)
if idx != len(ochiqm)-1:
ochiqm = str(z) + ochiqm[:-1]
# print(idx,' - ',ochiqm)

if key in data:


if tcheck:
print(data.index(key), '- indeksli kalit qaytariladi.')
print(len(data), '- elementdan takrorlanishni boshlaydi ya`ni
davri',len(data),' ga teng bo`ladi!')
t=len(data)
tcheck=False

data.append(key)



return 'Done!'
print(firstkey(matn,bin_alp))



Natijalar shuni ko’rsatadiki davri 5461 ekan.
Yüklə 0,53 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin