See here a snippet of a real Post Quantum(resistant) based Encryption
The NaVeOl_Cript encryption algorithm is partially implemented in the software product.
Calculation of a multifactor key.
A set of input arrays, which are individual public keys, is transformed into a multifactor key after applying irreversible functions. The functions for forming the multifactor key utilize the avalanche effect. This is achieved by using
For example:
Formation of a multifactor key
Based on the file.
H[32] = HASH(File)
a[512]=random(const1)
s, p, y=1
s = ∑ Hi
p = ∏ Hi
y = ∏ (Hi ·7·i)
L0 = a0 · s + p
Li= (Li-1 xor const4) · s · a(i % const2) · i +(p+1+Li-1) · I + y)
HKi = not(Li) xor ai
Bi =∑ File
HKi = HKi xor Bi
Based on a random sequence. random(time)
SK[512]=random(HK)
Based on a password
s = const5 , p= const6, y= const7
s = ∑ Hi
p = ∏ Hi
y = ∏ (Hi ·7·i)
L0 = pass0 · s + p)
Li = (Li - 1 xor const7) · s · a[i % pass.lenght] · i + (p + 1 + Li - 1) · i + y;
Li = Li · Li + 1 / (Li + 2 + 1)
Adding keys
Key5i = (Li ^ SKi + (HKi + 1))) xor Li
Initial value of MAT calculation
Initial value of selection key:
X=Key5[Key5[const1]] + Key5[Key5[const2]] * Key5[Key5[const3]];
Initial value MAT[256]
MAT=random(X xor const8)
Change of keys in block coding:
function Dispatcher:
0: FreshQQKey(Key5, MAT)
1: MAT = FreshQMAT(MAT, Key5(i and const9))
Refresh key:
Key5.Reverse();
Key5i= Key5i+ Key5[i+127]+ MAT[255-i])
Update MAT via function dispatcher.
function dispatcher (variable1 + MAT[Key5[counter & 511] and 15])
0: MAT=function1 (MAT)
1: MAT=function2 (MAT)
………
14: MAT=function15 (MAT)
Fast functions are used:
xor, add, shift, not, Reverse, permutation
Encryption is performed by adding the data key
Di=Di xor Key5i
Formulaic part:
1.
2. q = CONCAT (x, random(∑ )
3. seed = x mod const
4. r = random(seed)
5. φ =FD0( (r xor q) , ( (x >>const1) and const2) )
6. φ=> = T
a. provided that b <> 8, 16, 32, 64, 128…
7. T'= permutation(T)
8. T'== φ'
9. Φ=Σ φ i
10. K = f(Φ)
11. FD = config(FD,K)
12. X=
13. MATi=FD (MATi , X)
14. Φ =FD(Φ, X, MAT)
15. Cipher = Data ^ Φ
16. Cipher i =MAT[Cipher i ]
See attach for more
------------------------------
Coenraad smith
------------------------------