2024-06-24 15:00:38 -05:00
2024-05-29 13:32:27 -05:00
2024-06-24 15:00:38 -05:00
2024-06-24 15:00:38 -05:00

DARC

translate data

alpha_phase_1 = si1_mo3(so1[alphabet]) ^ mi1_mo2(mo1[s_a ^ m_a ^ se_a])

receive alphabet

recall:

  • server_persistent_key.alpha = s_a ^ m_a
  • mutual_persistent_key.alpha = m_a ^ c_a
  • client_persistent_key.alpha = c_a
result = alpha_phase_1 ^ mi1_mo2(mo1[ce_a ^ c_a ^ m_a ^ c_a])
result = alpha_phase_1 ^ mi1_mo2(mo1[ce_a ^ m_a]) # c_a cancels
result = si1_mo3(so1[alphabet]) ^ mi1_mo2(mo1[s_a ^ m_a ^ se_a]) ^ mi1_mo2(mo1[ce_a ^ m_a]) # expand alpha phase 1
result = si1_mo3(so1[alphabet]) ^ mi1_mo2(mo1[s_a ^ se_a ^ ce_a]) # client_ephemeral_alpha added and m_a cancels
expr1 = result

alpha_phase_2 = mo3_co1_co2[ci1(nmo3[expr1])]

transmit alphabet

result = nceil_ncpi1_mpi2_mo3_co1_co2(alpha_phase_2)
result = nceil_ncpi1_mpi2_mo3_co1_co2(mo3_co1_co2[ci1(nmo3[expr1])])
result = mo3_co1_co2[nceil_ncpi1_mpi2(ci1(nmo3[expr1]))]
result = mo3_co1_co2[mpi2(nmo3[expr1])]
result = mo3_co1_co2[mpi2(nmo3[ si1_mo3(so1[alphabet]) ^ mi1_mo2(mo1[s_a ^ se_a ^ ce_a])])]
result = mo3_co1_co2[mpi2(si1(so1[alphabet]) ^ nmo3[mi1_mo2(mo1[s_a ^ se_a ^ ce_a])])]

alpha_phase_3 = result ^ co1_co2[mi1_mo2_mpi2_mo3(mo1[ce_a ^ c_a ^ m_a ^ c_a])]
alpha_phase_3 = result ^ co1_co2[mi1_mo2_mpi2_mo3(mo1[ce_a ^ m_a])]

alpha_phase_3 = mo3_co1_co2[mpi2(si1(so1[alphabet]) ^ nmo3[mi1_mo2(mo1[s_a ^ se_a ^ ce_a])])] ^ co1_co2[mi1_mo2_mpi2_mo3(mo1[ce_a ^ m_a])]

alpha_phase_3 = co1_co2[ si1_mpi2_mo3(so1[alphabet]) ^ mi1_mo2_mpi2_mo3(mo1[s_a ^ se_a ^ ce_a])  ^ mi1_mo2_mpi2_mo3(mo1[ce_a ^ m_a])]
alpha_phase_3 = co1_co2[ si1_mpi2_mo3(so1[alphabet]) ^ mi1_mo2_mpi2_mo3(mo1[s_a ^ se_a ^ m_a])] 
Description
No description provided
Readme 302 KiB
Languages
Jupyter Notebook 93.8%
Python 6.2%