Files
pydarc/README.md

40 lines
1.6 KiB
Markdown

# 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])]
```