Puncte:0

Hashing contoare pe 64 de biți cu chei diferite și XOR la ​​blocuri de text simplu, de mai multe ori: Câteva întrebări

drapel pf

Să presupunem că vreau o criptare bloc de 2048 de biți.

Iau o funcție hash de 512 biți (ca Blake2b), ofer un contor și o cheie și hash contorul și astfel XOR valoarea hash într-un bloc de text cifrat și repet acest proces de mai multe ori cu contoare și chei diferite până la a patra cheie (2048/4=512=biți luați de funcția hash).

Va fi această metodă vulnerabilă Atacurile MITM?

Va fi această metodă vulnerabilă la atacurile cuantice și Algoritmul lui Groover

Voi obține o putere de criptare de 2048 de biți?

kelalaka avatar
drapel in
De ce aveți nevoie de securitate simetrică pe 2048 de biți? Chiar și AES de 256 de biți sau ChaCha20 va fi suficient de sigur și cuantic!
phantomcraft avatar
drapel pf
Am nevoie pentru că sunt paranoic, am materiale secrete și vreau să creez un program de criptare a discului care să folosească chei mai mari decât 256/512.
kelalaka avatar
drapel in
[Paranoic de ce și cine?](https://xkcd.com/538/) Nu există nicio entitate care să poată rupe criptarea pe 256 de biți, fie clasică, fie cuantică sau ambele combinate. Dacă ești cu adevărat paranoic, ai putea lua în considerare evaluarea riscurilor. Unde criptați fișierele, cine poate accesa și unde, care este modul de operare de criptare cum sunt stocate cheile...
phantomcraft avatar
drapel pf
Îmi criptez HD-ul extern și sistemul de operare, cheile sunt stocate în siguranță și altă persoană pe care am întrebat-o va distruge cheile dacă mor, folosesc CTR în 3 straturi de Threefish cu chei de 1024 de biți. Cred că sunt în siguranță.
kelalaka avatar
drapel in
Nu mai criptăm harddisk-urile cu modul CTR, sunt preferate XEX/XT. De ce nu folosești Veracrypt pentru a gestiona cele mai importante părți pentru tine?
phantomcraft avatar
drapel pf
Am scris un modul nucleu Threefish cu criptare de 1024 de biți, dar funcționează numai cu IV-uri simple, Threefish nu are atacuri de text cifrat cunoscut, așa că alegerea mea este CTR cu IV-uri simple; XTS este bun, dar atunci când criptați cu AES/Serpent/Twofish cu 256 de biți de cheie, problema începe de la dimensiunea blocului de 128 de biți: https://crypto.stackexchange.com/questions/30212/is-xts-basically- the-cheap-cheap-form-of-secure-double-encryption -- De asemenea, aruncați o privire la: https://eprint.iacr.org/2016/197
kelalaka avatar
drapel in
_Un atac de întâlnire la mijloc se aplică pe XTS dublu în mod normal, în aproximativ $2^{385}$ timp și $2^{384}$ spațiu._ Cine poate face asta?
phantomcraft avatar
drapel pf
@kelalaka Oamenii nu trebuie să fie înțeleși, la fel cum nu înțeleg că v-ați conformat cu securitatea de 256 de biți, nu înțelegeți că vreau chei mai mari de 512 de biți.
Puncte:0
drapel cn

Deși este posibil să se construiască un cifr de flux dintr-o funcție hash. Această construcție are un defect foarte grav.

Cea mai mare problemă este că nu aveți nimic, așa că dacă cheia dvs. este reutilizată, decriptarea ambelor mesaje devine banală, deoarece tocmai trimiteți textul simplu.

Ceea ce aveți efectiv este următorul bloc: Constructie

În plus, nu veți primi 2048 de biți de criptare aici. De exemplu, aș putea ataca primii 512 biți de criptare a textului. Ceea ce înseamnă că trebuie să găsesc doar prima cheie. La fel pentru a doua cheie etc... Deci, pentru întregul bloc, trebuie să găsiți doar 4 chei. Deci, efectiv, ați mărit lungimea cheii doar cu 2 biți. Acest lucru se datorează faptului că fiecare cheie este independentă de cealaltă, astfel încât, într-un atac cu forță brută, schimbarea uneia nu afectează celelalte taste.Deci, dacă obiectivul tău a fost 2048 de biți de putere cheie, este chiar mai rău decât o întâlnire la mijlocul atacului. Practic, este la fel de puternic ca lungimea de biți a cheilor tale de pornire.

De asemenea, o cheie atât de mare este oarecum inutilă pentru cifrurile simetrice.

Securitatea post-cuantică a funcțiilor hash, cum ar fi BLAKE2b, este deja destul de sigură, mai ales cu un digest pe 512 biți.

phantomcraft avatar
drapel pf
Am inteles, multumesc pentru raspuns.
phantomcraft avatar
drapel pf
Cred că te înșeli. Dacă cineva trebuie să forțeze brute două chei de 512 biți în această metodă, pentru fiecare încercare a primei chei trebuie să verifice alte 2^512 valori ale celei de-a doua chei, așa că trebuie să facă 2^(512*2) încercări în întreaga schemă (1024 de biți). Cum poate cineva să determine dacă o cheie dintre 2^512 chei este cheia potrivită, care va produce materialul hashing exact? Cum poate cineva să determine dacă o singură valoare hash din 2^512 rezultate este hash-ul potrivit?
phantomcraft avatar
drapel pf
Să presupunem că am hash un numărător „123” cu o cheie K generând hash H. Cum ați putea determina că H este un subprodus al lui „123” cu o cheie K?
drapel cn
Construcția pe care o descrieți, fiecare cheie este responsabilă doar pentru o bucată de 512 biți din bloc. Deci trebuie să iau în considerare doar fiecare bucată de 512 biți. Nici contorul nu este secret și poate fi dedus din lungimea textului cifrat. Deci nu are niciun efect asupra puterii cheii. Deoarece o cheie este doar un număr de la 0 la 2^n - 1. Cu construcția dvs. de 4 chei, aș putea încerca o cheie pe fiecare bucată de 512 biți din care există 4. Deci, pe măsură ce număr prin taste, fac doar de 4 ori mai mult lucru. Nici un schimb de spațiu, motiv pentru care spun că este mai rău decât un atac MITM dacă obiectivul tău este o cheie de 2048 de biți.
drapel cn
Privind celelalte comentarii ale tale și faptul că ești preocupat de securitatea post-cuantică. Cifrurile bloc și fluxuri simetrice cu 256 de biți sunt încă nebun de sigure. Poate că puterea ta cheie de biți confuză cu cifruri asimetrice precum ECC și RSA, care dacă ar exista un computer cuantic suficient de mare s-ar putea rupe. Cu toate acestea, pentru criptografia simetrică: de ex. cifruri precum AES, ChaCha20 etc... O cheie de 256 de biți este suficientă. Cheile mari sunt, de asemenea, mai greu de manevrat într-un mod sigur. Este rezonabil să memorezi o cheie de 256 de biți, o cheie de 2048 de biți va trebui să fie stocată pe ceva care ar putea fi furat etc...
Puncte:0
drapel kr

Va fi această metodă vulnerabilă la atacurile MITM?

Ceea ce descrieți este modul ECB. Dacă utilizați aceeași cheie de mai multe ori, atunci da, este vulnerabilă la atacurile MITM. MITM poate înlocui unele blocuri dintr-un mesaj cu blocuri cu aceleași numere dintr-un alt mesaj. Mesajul modificat va fi perfect decriptabil și nu există nicio modalitate de a determina dacă a fost modificat.

Schema dvs. va produce același rezultat pentru același text simplu dacă este utilizată aceeași parolă. Astfel, cunoscând unele mesaje, va fi posibilă decriptarea altor mesaje: Dacă unele blocuri cu același număr sunt aceleași, atunci și textul simplu este același.

phantomcraft avatar
drapel pf
Adică: spargerea unui contor. Fiecare bloc hashed va fi diferit unul de celălalt.
drapel kr
@phantomcraft: Sigur, contorul hashed pentru primul bloc va fi diferit de contorul hashed pentru al 2-lea bloc. Dar **toate** mesajele vor avea **același** numărător cu hash pentru primul bloc. Și **toate** mesajele vor avea **același** numărător hashed pentru al 2-lea bloc (diferit de primul bloc, dar același pentru toate mesajele). etc.
drapel kr
@phantomcraft: Consecință: Deoarece toate mesajele folosesc același numărător hashed pentru primul bloc, un atacator poate înlocui primul bloc al mesajului A cu primul bloc al mesajului B. În schema dvs., nu există nicio modalitate de a detecta dacă primul bloc a fost înlocuit. Să presupunem că conținutul original al primului bloc din mesajul A este „Transfer 1000 USD în contul 111111111.”, primul bloc din mesajul B este „Transfer 1000000 USD în contul 222222222”. Atacatorul poate înlocui primul bloc al mesajului A cu primul bloc al mesajului B, fără să știe măcar parola și nu o vei detecta.

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.