Puncte:1

Obținerea textului simplu criptând textul cifrat

drapel cn

Context: un joc de criptare de la overthewire (linkul către acesta: https://overthewire.org/wargames/krypton/krypton6.html, de asemenea, bun pentru mai multe informații) unde dat textul cifrat, trebuie să obțineți textul simplu.

La acest nivel, avem acces la un binar care criptează orice fișier prin stream cipher, folosind o cheie dintr-un fișier la care nu avem acces (keyfile.dat) și un număr aleator. Avem și un indiciu: LFSR pe 8 biți.

Întrebarea mea este următoarea. De ce nu pot recupera textul simplu criptând textul cifrat?

Cele două ipoteze ale mele pentru această afirmație sunt:

1) Avem de-a face cu criptarea fluxului, așa că criptarea textului cifrat ar trebui să dea întotdeauna textul simplu, atâta timp cât fluxul de chei este același în ambele cazuri, ceea ce mă duce la al doilea punct;

2) Am încercat să criptez două fișiere diferite, dar cu același conținut (text) și rezultatul criptat în ambele cazuri a fost același, deci fluxul de chei trebuie să fie egal.

Știu că mă înșel, deoarece criptarea textului cifrat nu îmi oferă textul simplu, ci mai degrabă un fișier non-sens-aleatoriu-și mai mult criptat. Mă puteți ajuta să înțeleg ce este în neregulă cu raționamentul meu?

Multumesc anticipat pentru orice ajutor.

Puncte:1
drapel ng

Într-un cifru de flux, criptarea textului cifrat ar trebui să dea întotdeauna textul simplu

Acest lucru este valabil pentru definiția adecvată a „textului cifrat”, ceea ce implică că are aceeași dimensiune ca textul simplu; și același vector de inițializare („numărul aleatoriu”, presupun, de aici în continuare IV) este folosit.

Bănuiesc că experimentul care încearcă să cripteze din nou textul cifrat criptează de fapt rezultatul programului de criptare, mai degrabă decât textul cifrat așa cum este definit mai sus. Ieșirea programului de criptare trebuie oarecum include textul cifrat, dar există practici comune care pot explica de ce experiența încercată eșuează, inclusiv

  • IV este de obicei inclus în rezultatul criptării, pentru a facilita decriptarea. Cel mai simplu este că este la început și urmează textul cifrat real.
  • Textul cifrat ar putea fi recodificat, de ex. folosind Base64, anteturi/remorci..

Următoarele acțiuni ar putea fi compararea dimensiunilor de intrare și de ieșire pentru binarul de criptare, încercarea de a localiza IV și textul cifrat real și refacerea experimentului folosind doar textul cifrat real ca intrare a re-criptării.

Alternativ, o altă proprietate a unui stream cipher poate ajuta: criptați două texte clare care diferă prin primul lor octet, sub același IV, și comparați textele cifrate. Locația diferenței spune unde începe textul cifrat real.

arpg avatar
drapel cn
_Bănuiesc că experimentul care încearcă să cripteze din nou textul cifrat criptează de fapt rezultatul programului de criptare, mai degrabă decât textul cifrat așa cum a fost definit mai sus._ - Nu sunt sigur dacă am înțeles asta, ați putea explica puțin mai bine?
fgrieu avatar
drapel ng
@arpg: ar putea fi rezultatul programului de criptare mai mult decât textul cifrat. Ca IV și text cifrat. Pentru a nu recripta doar textul cifrat și, astfel, nu obțineți rezultatul așteptat.

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.