Echoes of magic on guard of exact sciences

 
3r3-31.
Echoes of magic on guard of exact sciences 3r33434.
 
Friday night is coming, the labor wages of the next work week aggressively sneak up to their logical conclusion, which means that you can loosen up the stranglehold of official duties and indulge in a bit. And what could be more pacifying than indulging in sophistic fantasies about the laws by which this mortal world exists? Absolutely nothing
 
 
With this text, I propose to dilute the high degree of seriousness of the majority of habro-publications and, leaning back in the chair /on the way from work /study, follow the logic of one of three. crazy 3r312. interesting analogy, revealing all the secrets of the universe (seriously).
 
 
3r3162. Disclaimer [/b] The author in no way calls to consider this post as the ultimate truth, but simply shares his own point of view (which, by the way, may vary depending on the location of the stars). Well Kamon, let me dream in the end!
 
3r33417. 3r33418. Prehistory
3r33420.
 
In order to bring the comparison, born of my inflamed mind, will have to start from afar.
 
 
Once, about a year ago I decided 3r3335. such
cryptographic task. The highlight of the program was a special substitution on the set of numbers
3r3338.
used in the quasi-implementation of the AES-256 encryption algorithm, which turned an unbreakable cipher into a pile of useless algebraic transformations.
 
 
This substitution was as follows:
 
 
2b c4 4d a??? 10 ff 56 b??? df 0b e4 6d 82
 
db 34 bd ??? e0 0f a??? c0 2f fb 14 9d 72
 
95 7a f3 1c c??? ae 41 e???e 61 b5 5a d3 3c
 
65 8a 03 ec 38 d7 5e b??? f7 7e ??? aa 23 cc
 
cb 24 ad ??? f0 1f b??? d0 3f eb 04 8d 62
 
3b d4 5d b??? 00 ef 46 a??? cf 1b f4 7d 92
 
75 9a 13 fc 28 c7 4e a??? e7 6e ??? ba 33 dc
 
85 6a e3 0c d??? be 51 f???e 71 a5 4a c3 2c
 
6f ??? e??? dd 54 bb 12 fd 74 9b 4f a??? c6
 
9f 70 f??? c2 2d a4 4b e2 0d 84 6b bf 50 d???r3r3437.  
d1 3e b???c 63 ea 05 ac 43 ca 25 f1 1e ???r3r3437.  
21 ce 47 a8 7c 93 1a f5 5c b3 3a d??? ee ???r3r3437.  
8f 60 e??? d2 3d b4 5b f2 ​​1d 94 7b af 40 c???r3r3437.  
7f ??? f??? cd 44 ab 02 ed 64 8b 5f b??? d6
 
31 de 57 b8 6c 83 0a e5 4c a3 2a c??? fe ???r3437.  
c1 2e a???c 73 fa 15 bc 53 da 35 e1 0e ???r34337.  
3r3409.
 
In decimal form:
 
Sbox-M Decimal [/b]
??? ??? ???r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
232 ???? ???
 
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3437.  
??? ??? ???r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
??? ??? ???r3r3437.  
3r3409.
 
3r33434. 3r33434.
 
Like 3r3162. followed by [/b] start solution:
 
3r3r1616.  
Build a table of differential characteristics.
 
Based on the features of the resulting table (it will turn out to be degenerate) to conclude that the “ancestor” of a strange substitution is an affine function of the form 3r-3251. 3r3173.
.
 
3r33177.
 
Before arriving at the correct conclusion described above, I drew attention to other patterns by which this substitution “lives”.
 
 
For example, here are just a few of them (3r3-33251. 3r3-33253. - substitution defined by a one-dimensional array; 3r33251. 3r3188. 3r33253. - addition operation modulo 2 (aka XOR)):
 
 
3r3194.  
- arbitrary, not coinciding with other elements of the substitution.
 

 

 

 

 

 

 

 

 

 
 
Now it is obvious that all this is just a “side effect”, “consequence” of applying the true method (using a mathematical transformation) of generating such substitutions.
 
 
Before you get the right affine construction algorithm r3r3433. Sbox [/i] “s, I was so interested in this“ magical dependence of the three XORs ”, that I tried to deduce an artificial method to get them (fake 3r3333. Sbox 3r3434. 's) to get. And I did it: I found a sufficient number of non-contradictory patterns (which, I recall, are 3r3333? only a consequence of 3r?434. Used mat. Operation) in order to be able to generate substitutions (length 256 elements), which, in turn, have 3r33333. the same 3r3434. degenerate diff table characteristics, as well as substitutions constructed in the "correct" way.
 
 
Simple algorithm under the spoiler below.
 
emulate_affine_sbox.py [/b]
#! /usr /bin /env python3
# - * - coding: utf-8 - * -
# Usage: python3 emulate_affine_sbox.py
from random import sample
from itertools import product
def xor (x, y, z):
"" "Return the result of the three-argument XOR'a." ""
return x ^ y ^ z
def next_unique (rnd_sample, sbox):
"" "Return the value from the list of rnd_sample, which is not yet
It was found in the sbox substitution. 3r3449." ""
while True:
front = rnd_sample.pop ()
if front not in sbox:
return front
def emulate_affine_sbox_generation ():
"" "Return the generated sbox affine substitution." ""
rnd_sample = sample (range (256), 256)
sbox =[-1]* 256 3r3449.
# 016
for i in range (? 16):
if (i == 0
or i == 1
or i == 2
or i == 4
or i == 8): 3r3449. sbox= next_unique (rnd_sample, sbox)
elif (i == 3
or i == 5
or i == 7
or i == 9
sbox[i]= xor (sbox[i-3], sbox[i-2], sbox[i-1])
elif (i == 6
or i == 10
or i == 14):
sbox[i]= xor (sbox[i-6], sbox[i-4], sbox[i-2])
elif (i == 12):
sbox[i]= xor (sbox[i-12], sbox[i-8], sbox[i-4])
# 16256
for i in range (1? 256):
if (i == 16
or i == 32
or i == 64
or i == 128):
sbox[i]= next_unique (rnd_sample, sbox)
elif (i in range (1? 32)
or i in range (3? 48)
or i in range (6? 80)
or i in range (12? 144)):
sbox[i]= xor (sbox[i-17], sbox[i-1], sbox[i-16])
elif (i in range (8? 96)
or i in range (14? 160)
or i in range (20? 224)):
sbox[i]= xor (sbox[i-16], sbox[16], sbox[0])
elif (i in range (9? 112)
or i in range (16? 176)
or i in range (22? 240)):
sbox[i]= xor (sbox[i-32], sbox[32], sbox[0])
elif (i in range (19? 208)):
sbox[i]= xor (sbox[i-64], sbox[64], sbox[0])
elif (i in range (4? 64)
or i in range (11? 128)
or i in range (17? 192)
or i in range (24? 256)): 3r344344 sbox[i]= xor (sbox[i-48], sbox[i-32], sbox[i-16])
if not any_duplicates (sbox) and is_sbox_degenerate (sbox):
return sbox
return None
def any_duplicates (sbox):
"" "Return True if sbox contains duplicate elements,
Otherwise, False.
" ""
seen = set ()
for item in sbox:
if item not in seen:
Seen.add (item)
else:
return true
return False
def is_sbox_degenerate (sbox):
"" "Return True if sbox is degenerate, otherwise False."
length = len (sbox)
diff_table =[[0]* length for _ in range (length)]
for c, d in product (* ([list(range(length))]* 2)):
diff_table[c ^ d] [sbox[c]^ sbox[d]]+ = 1
count_prob = 0
for c, d in product (* ([list(range(length))]* 2)):
if diff_table[c] [d]== length:
count_prob + = 1
return count_prob == length
if __name__ == '__main__':
print (emulate_affine_sbox_generation ())
3r3409. 3r33410.
 
3r33434. 3r33434.
 
3r33417. 3r33418. Back to the Dreaming
3r33420.
 
Now, in fact, let us return to the Friday dreams: imagine, and what if all the mathematics existing at the moment is only a “side effect” of certain phenomena that we are not yet given to comprehend; that my story with affine substitution is “the modern layout of science in miniature”, where all the discoveries that cost humanity such an effort are just an echo of those phenomena that really rule the ball.
 
 
Indeed, humanity has learned to masterly use even the most abstract branches of mathematics for the benefit of its needs: general algebra, mat. logic, the theory of finite fields and the theory of numbers gave us strong cryptography, without which the existence of modern Internet technologies cannot be imagined. Great scientists spawned an incalculable number of theorems, introduced a myriad of different notations with fancy icons, trying to systematize and classify the “echoes” of the real “magic” underlying the (not?) Material world at least a little. People have learned to benefit from the consequences of the fundamental laws, the true nature of which we do not understand one iota: the success of the various branches of particle physics is an excellent proof of that.
 
 
So, what am I all аbout: if you close your eyes and imagine, [i] which
If changes brought the understanding of the very foundations of the functioning of our world (if only a miserable echo of 3-3-33433. of the present 3-3?334. Science brought us all that can be observed around), then you can immerse yourself in trans pleasant thinking on the threshold of the upcoming weekend.
 
 
Try it, you will not be disappointed, and have a good weekend ╮ (︶ ▽ ︶) ╭

3r3442. ! function (e) {function t (t, n) {if (! (n in e)) {for (var r, a = e.document, i = a.scripts, o = i.length; o-- ;) if (-1! == i[o].src.indexOf (t)) {r = i[o]; break} if (! r) {r = a.createElement ("script"), r.type = "text /jаvascript", r.async =! ? r.defer =! ? r.src = t, r.charset = "UTF-8"; var d = function () {var e = a.getElementsByTagName ("script")[0]; e.parentNode.insertBefore (r, e)}; "[object Opera]" == e.opera? a.addEventListener? a.addEventListener ("DOMContentLoaded", d ): d ()}}} t ("//mediator.mail.ru/script/2820404/"""_mediator") () ();
3r33434.
+ 0 -

Add comment