Diskuze: Obousměrné šifrování v PHP + stejná délka šifry
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
google = php encrypt
Pokazde stejna delka by mohl byt problem. Leda bys tam dal nejaky EOF znak +
nahodne znaky na konec.
Takove jednoduche sifrovani je i XOR operace. XORem to opet desifrujes.
Nebo kodovani podle predchoziho znaku.
Nebo nedavno mne napadlo +1, -1 AZ nebo +1 -1 samohlasky, souhlasky. Dulezite je
pokusi + i - to zkomplikuje desifrovani. A kdyz pouzijes samohlasky, souhlasky,
to se bezne nepouziva, nemusi to nikoho napadnout. A na zaver to muzes treba
jeste XORnout. Jenze XOR je snadno odhalitelny, zvysuje pocet nul nbo jednicek o
10 a vic %.
Co tak si nekomplikovat zivot, do tabulky pridat stlpec(s unikatnym indexom) a tam generovat nahodne znaky rovnakej dlzky? Pripadne nevidim vobec ziadny problem v tom aby si namiesto ID pouzil primarny kluc char(8) a pri pridavani tento kluc generoval nahodne.
Staci ti vzdy kontrolovat ci nahodne genrovany kluc este neexistuje co je takmer nulovy perfomance overhead.
To, co hledáš, se jmenuje substituční šifra – prostě máš tabulku, která převádí jednotlivé znaky na jiné. Délka šifrového a otevřeného textu je stejná. Bezpečné to není, ale zdá se mi, že tobě až tak nevadí, pokud někdo dokáže z textu dekódovat to ID (resp. k ničemu mu to nebude).
Můžeš použít i libovolnou rozumnou proudovou šifru (RC4 (ale tady je třeba být opatrný, pokud bys chtěl bezpečnost), Salsa, Chacha, Rabbit...), protože ty zachovávají délku šifrované zprávy. Nebo použít libovolnou rozumnou blokovou šifru v režimu, který z ní dělá šifru proudovou (output feedback, counter mode).
Zobrazeno 4 zpráv z 4.