All rights reserved



Download 1,02 Mb.
Pdf ko'rish
bet16/30
Sana29.12.2021
Hajmi1,02 Mb.
#84788
1   ...   12   13   14   15   16   17   18   19   ...   30
Bog'liq
Sigaba298report

3.3 Phase 1

During Phase 1 of the attack, we will need to select five of the ten available rotors to use as 

cipher rotors. There are 







10

5

 = 252 possible ways to pick five rotors. For the five selected 



rotors, there are 5! ways to arrange them. For each of these rotors, we can insert them in 

either the normal or reversed orientation. For each rotor, there are 26 possible starting 

positions. This gives 







10

5

* 5! * 2



 5

 * 26


5

 

 ≈



 2

43.4


 initial settings that we need to try. 

For phase 1, we analyze the cipher rotor bank in isolation. For each initial setting, we pass a 

plaintext letter through the cipher rotors to determine the corresponding ciphertext letter. If 

the output of the cipher rotor bank matches the known ciphertext that we have, we attempt 

to recursively test the remaining letters. After the first letter is encrypted, one to four of the 

cipher rotors can step. This means that we need to try the 30 possible steppings of the 

cipher rotors and determine which, if any, of the 30 possible steppings will encrypt the next 

plaintext letter correctly. At each step after the initial plaintext letter, this 30 stepping test 

must be done. 

At first glance, the testing of all initial settings seems like a fixed amount of work and is 

equivalent to an exhaustive key search. However, if we model the encryption permutations 

as being uniformly random, we get a binomial distribution where the probability of a match 

19



p = 

26

1



and n = 30. This means that for any given letter (beyond the first), we expect the 

number of survivors to grow at a rate of 

26

30

 



 1.15 per letter. This is a property of the 

machine having five rotors. In a machine that uses the same cipher but with less than five 

rotors, the growth rate is less than one, indicating a decrease in survivors, as the message 

length gets longer. Such a machine would have a much weaker cipher due the decreasing 

number of survivors. Attacks on machines that use the same cipher but use less than five 

cipher rotors are described in [10]. The paper in [10] also extrapolates the amount of time 

needed to attack the full five-rotor version of Sigaba. However, that paper fails to take into 

account the branching phenomenon. While a decrease in survivors is what we would like to 

see, we can still get useful information from the survivors. 

The five rotor design made SIGABA more secure since it means that at any given step 

beyond the first letter, there are 

26

30

 ≈ 1.15 surviving paths. A way to decrease the number 



of surviving paths in Phase 1 is to store a record of the survivors in a tree-like format and 

merge any branches that have the same common parent node. In Figure 12, the tree has two 

children for the starting position AAAAA. There are two possible steppings for the cipher 

rotors from the position AAAAA. For each of those two steppings, they have a valid 

stepping to the third letter in the message. If two paths both reach the same intermediate 

position at the same level of the tree, which in Figure 10 would the intermediate position of 

BBBBA at step 2, one of the paths can be trimmed. This is seen in Figure 11. The actual 

path that is trimmed does not matter since from this step on, the two paths will be identical. 

In Figure 11, the path from position BBABA at step 1 to BBBBA is trimmed and is merged 

into the path from ABABA to BBBBA. Based on this trimming and merging of paths, we 

can eliminate a significant number of paths if we keep track of paths we have already 

visited before without decreasing our chances of finding the correct setting. Since we are 

only concerned with the initial starting position (in this example AAAAA), we can prune 

the branch from BBABA and “redirect” it to the child of ABABA, as shown in Figure 13. 

This is partially described in [1]. In the random case, before any merging, we expect the 

number of paths to increase by a factor of 

26

30

 ≈ 1.154. In the causal case, we expect the 



number of paths to be greater since we are guaranteed one causal match, with the remaining 

elements matching in the random case. This allows us to statistically distinguish between 

the causal case and the random cases.  This distinction will also reduce the number of 

random cases that we must test later.

20




Download 1,02 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   30




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish