IBM Security Z Security

Security for Z

Join this online user group to communicate across Z Security product users and IBM experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Non conventional Post quantum Encryption for servers

  • 1.  Non conventional Post quantum Encryption for servers

    Posted Mon October 16, 2023 12:55 PM
      |   view attached

    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
    ------------------------------

    Attachment(s)

    pdf
    Description of methods1.pdf   1.28 MB 1 version