Puncte:0

Criptare folosind ASCII în loc de biți și octeți (clarificare în corp)

drapel th

Sunt nou în criptografie și încerc să înțeleg ceva. Am căutat-o ​​pe internet, deși întrebarea este probabil una simplă, nu am găsit un răspuns. Deci, te rog nu mă judeca după asta. Iată întrebarea mea: Fără a lua în considerare eficiența, viteza sau optimizarea:

Tot ceea ce poate fi codificat prin alte metode de codare (cum ar fi utilizarea binarului sau a biților și octeților sau Unicode) poate fi codificat și folosind ASCII?

Mulțumesc anticipat celor care îmi răspund cu amabilitate la întrebare.

fgrieu avatar
drapel ng
Vă rugăm să clarificați sau să închideți întrebarea! Al doilea paragraf are o eroare gramaticală ("Poate tot ceea ce...este."); are "alte metode de criptare" fără referire la o altă criptare; și folosește "criptat prin utilizarea ASCII", când o codificare nu efectuează nimic. Poate că ar trebui să citim: "Totul (care poate fi criptat) poate fi criptat alternativ _în_ ASCII"? Răspunsul la acest lucru este un da clar și este o practică obișnuită. Una dintre cele mai cunoscute este re-codificarea textului cifrat produs printr-o metodă publică de criptare în ASCII, de exemplu, folosind [Base64](https://en.wikipedia. org/wiki/Base64).
Fenrir avatar
drapel th
Salut, apreciez foarte mult raspunsul tau. Îmi pare rău că nu m-am putut exprima clar. Încercam să întreb „„Totul (care poate fi criptat) poate fi criptat alternativ în ASCII”?” si ai raspuns deja. De asemenea, vă mulțumesc că m-ați avertizat mai întâi în loc să raportez direct.
Puncte:0
drapel si

ASCII este o metodă de codificare, nu o metodă de criptare. ASCII transformă anumite caractere (alfabetul englez, unele simboluri și unele caractere de control neprintabile, cum ar fi „tab” sau „line feed”) în valori binare de 7 biți. Acest lucru se face de obicei prin codificarea fiecărui caracter ASCII într-un octet de 8 biți și setarea bitului cel mai semnificativ din acel octet la 0.

Unele sisteme computerizate antice (care se găsesc în cea mai mare parte doar în muzee sau în colecțiile pasionaților de retrocomputing) nu acceptau ASCII sau octeți de 8 biți și, în schimb, codificau datele diferit. De exemplu, mainframe-ul IBM 1401 din 1959 a codificat datele folosind caractere pe 6 biți într-o schemă specială Binary Coded Decimal. Acest lucru este într-adevăr doar de interes istoric.

Sistemele moderne de computere nu folosesc în mare parte ASCII, ci în schimb folosesc Unicode, adesea în codificarea UTF-8. Acest lucru folosește, de asemenea, octeți de 8 biți, dar cel mai semnificativ bit nu trebuie să fie 0.

Orice metodă de criptare care funcționează pe octeți poate funcționa pe date ASCII, deoarece datele ASCII sunt compuse din octeți.

Orice metodă de criptare care funcționează numai pe subsetul de octeți permis de ASCII poate opera pe octeți arbitrari prin codificarea mai întâi a acelor octeți arbitrari cu o schemă care mapează octeții la subsetul de octeți ASCII, cum ar fi Base64.

Astfel, orice poate fi criptat prin alte metode de criptare (moderne, sigure) poate fi criptat și printr-o metodă care acceptă doar caractere ASCII.

Puncte:0
drapel ng

Totul (care poate fi criptat) poate fi criptat alternativ în ASCII?

da. Și este o practică obișnuită. Tehnica generală este criptarea, care pentru majoritatea cifrului modern va scoate biți aparent aleatori, care pot fi numiți „binari”. Apoi re-codificați-l în ASCII, de ex. folosind Baza 64. Acest lucru este încorporat într-un software de criptare precum PGP/GPG, care numește re-endocing armura ASCII.

Astfel de binar la codificarea textului nu este specific criptografiei. Este folosit în e-mail pentru conținut care utilizează caractere care nu există în ASCII și atașamente precum imagini.

O astfel de codificare mărește dimensiunea. Cu un factor de $2$ pentru hexazecimal (care codifică 4 biți într-un caracter, apoi reprezentat ca 8 biți), 4/3 USD\aproximativ 1,33 USD pentru Base64 (care codifică 24 de biți în 4 caractere reprezentate apoi ca 32 de biți). Din acest motiv și, de asemenea, pentru că orice modificare a formatului are un cost de calcul non-trivial, de obicei nu este utilizată pentru încărcături utile mari, cum ar fi videoclipurile.

Puncte:0
drapel my

Când un șir precum „Hello World” este criptat, algoritmii convertesc acest șir în binar sau ASCII?

Ei bine, răspunsul depinde dacă vorbiți despre criptografia istorică sau modernă.

Din punct de vedere istoric, metodele de criptare au luat de obicei șirul ca o serie de caractere și le-au transformat în acest fel. Uneori au făcut o mapare internă, să spunem, "A" -> 0, "B" -> 1, etc, totuși, în general, aceasta a fost făcută intern la algoritm. În general, nu au convertit caracterele în binare (care atunci ar fi fost văzută ca o alegere ciudată), și cu siguranță nu în ASCII (care nu exista atunci).

Pe de altă parte, algoritmii moderni de criptare în general [1] iau șiruri de biți sau octeți ca intrări și generează un șir de biți sau octeți ca ieșire. Pentru a cripta un șir, l-ați converti într-un astfel de șir (fie că utilizați ASCII, Unicode sau EBCDIC, algoritmului nu i-ar păsa), iar algoritmul a funcționat la asta.

De asemenea, dacă acesta este un fișier, mai poate fi folosit ASCII pentru a cripta datele?

Ei bine, un fișier cu caractere ASCII poate fi văzut ca un șir de octeți, așa că algoritmii moderni de criptare s-ar descurca foarte bine.

[1]: O excepție: schemele de criptare pentru păstrarea formatului, care privesc, în general, intrarea ca pe o bază$b$ sfoară, unde $b$ s-ar putea să nu fie o putere a doi.

Fenrir avatar
drapel th
Vă mulțumesc pentru că mi-ați răspuns cu amabilitate la întrebarea mea, dar mai am o întrebare de pus. Dacă putem converti ceva într-un șir de octeți, îl putem converti și în ASCII, nu? Deci, tot ce poate fi criptat prin alte metode poate fi criptat și folosind ASCII, nu? Deși, în acest caz, ar fi înțelept să luăm în considerare eficiența și optimizarea.
poncho avatar
drapel my
ASCII este doar o modalitate de a converti diferite caractere (și controale) în valori între 0 și 127 (sau de la 0 la 255 dacă utilizați „ASCII extins”). Dacă presupunem că șirul pe care îl dăm cripto este „ASCII extins”, ei bine, da (presupunând că șirul este un multiplu de 8 biți - de obicei este); cu toate acestea, nu este clar ce avantaj ne oferă.

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.