Puncte:1

Definiția formală a cifrului de substituție monoalfabetic

drapel cn

Încerc să scriu definiția formală pentru Cifrul de substituție monoalfabetic. Am încercat următoarele


$\mathcal{M}:=$ Set de toate șirurile posibile de lungime arbitrară de text în limba engleză, eliminând toate semnele de punctuație, cifrele, spațiile dintr-un șir.

$\mathcal{C}=\mathcal{M}$

$\mathcal{K}:=S_{26}$

Lăsa $m=m_1m_2\cdots m_l \in \mathcal{M}$ atunci

$Enc_{k}(m):=k(m_1)k(m_2)\cdots k(m_l)=c=c_1c_2\cdots c_l \ \ \text{unde} \ \ c_i=k(m_i)$

&

$Dec_k(c):=k^{-1}(c_1)k^{-1}(c_2)\cdots k^{-1}(c_l)$


Întrebarea mea este cum se definește algoritmul de generare a cheilor $Gen$?

kelalaka avatar
drapel in
Selectați o cheie aleatorie din $\mathcal{K}$? Și, $c_i=k(m_i)$ nu este clar pentru cifrul de substituție. Ar trebui să fie $c_i = (m_i + k) \bmod 26$. De asemenea, codificarea și decodificarea mesajelor este o parte impartant $A=0, B=1,...$
Saikat avatar
drapel cn
Da asta e ok. Dar există vreun algoritm pentru asta?
kelalaka avatar
drapel in
specific limbii da, ar trebui să fie suficientă afirmația algoritmică „selectați uniform un element din”.
drapel ph
@kelalaka nu este modul de adăugare 26, te gândești la cifrul Caesar.
drapel ph
Dar sunt de acord că generarea cheilor nu trebuie să facă parte din algoritm.
kelalaka avatar
drapel in
@bmm6o acesta este un cifr de substituție în care cifrul Caesar face parte din acesta. Conține doar 26 din cele 26 ale cifrului de permutare! chei.
Puncte:1
drapel tl

În primul rând, un cifr de substituție monoalfabetică poate fi conceptul de substituție monoalfabetică sau o criptare numai folosind această tehnică. Asta înseamnă că Ceaser este o substituție monoalfabetică, deoarece folosește acest concept. Diferența față de substituția monoalfabetică „reala” este că generarea cheii nu este complet aleatorie.

Eu personal nu as defini $\mathcal{M}, \mathcal{C}, \mathcal{K}$ așa cum ai făcut-o, pentru că cred că nu este suficient de clar. O definiție mai matematică ar putea fi mai bună:

  • $\mathcal{M} = \{ a,b,c,...,z\}^*$ și $\mathcal{C} = \{ a,b,c,...,z\}^*$

Vreau si eu sa evit $\mathcal{M} = \mathcal{C}$ deoarece poate fi corect din punct de vedere matematic, dar ar putea implica o înțelegere greșită pentru cititor. am ales $\{ a,b,c,...,z\}^*$, deoarece în mod normal spațiul mesajului este $\{0,1\}^*$ și am adaptat asta la contextul dat.

Acum cred că nu poți defini $\mathcal{K} = S_{26}$. Ce este $S$? aș defini $\mathcal{K} = \{f_k\mid k \in \{a,...,z\}\}$, Unde $f_k$ este o funcție de substituție bijectivă.

Criptarea și decriptarea arată bine. Aș face așa pentru un mesaj $m = m_1, ... m_n \in \mathcal{M}$:

  • $Enc_k(m)$: $c_i = f_{m_i}(m_i)\forall i \in \{1,...,n\}$
  • $Dec_k(c)$: $m_i = f^{-1}_{c_i}(c_i) \forall i \in \{1,...,n\}$

Generația poate fi definită astfel:

  • $Gen$: Alegeți o înlocuire aleatorie $f_k$ pentru fiecare $k \in \{a,...,z\}$, astfel încât $f^{-1}_k$ este funcția inversă bijectivă

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.