Puncte:0

Formarea unui CRC de 64 de biți dintr-un CRC de 32 de biți

drapel us

Să presupunem că am o funcție CRC pe 32 de biți $\text{crc32}(x)$ care satisface toate proprietatile lui a CRC. Să presupunem, de asemenea, că sunt un dezvoltator leneș care vrea să creeze o funcție CRC pe 64 de biți, dar nu vrea să fie nevoit să implementeze un alt CRC, așa că proiectez o funcție

$$ f(x)= \text{crc32}( {\tt{"}\tt{foo}\tt{"}}\ ||\ x ) \cdot 2^{32} + \text{crc32}( {\tt{"}\tt{bar}\tt{"}}\ ||\ x ) $$ Face $f$ formează un CRC?

hft avatar
drapel ng
hft
În ceea ce privește „toate proprietățile unui CRC”, ați conectat la o pagină wikipedia care nu este o listă cu „toate proprietățile unui CRC”, ci mai degrabă este o pagină lungă cu explicații despre ce este un CRC...dar diversele explicații nu sunt consistente în proprietățile lor. Puteți enumera toate proprietățile dorite în loc să furnizați un link către o pagină web lungă care ar trebui să fie analizată și interpretată de noi? Oricum, dacă vrei doar un hash pe 64 de biți, ai construit unul. Dar dacă chiar doriți să corectați erorile, nu sunt sigur. Ce vreţi să faceţi?
Puncte:2
drapel my

Ta $f$ este exact echivalent cu acesta:

$$f(x) = (\text{crc32}(x) \oplus C_1)\ || \ (\text{crc32}(x) \oplus C_2)$$

Pentru adecvat $C_1, C_2$ valori care depind de lungimea de $X$; $C_1 = \text{crc32}(\text{"foo"} || 0^{\text{len}(X)}) \oplus \text{crc32}(0^{\text{len}(X) })$, și $C_2 = \text{crc32}(\text{"bar"} || 0^{\text{len}(X)}) \oplus \text{crc32}(0^{\text{len}(X) })$

Adică este efectiv crc32 al $x$ de două ori, cu excepția faptului că anumiți biți din prima și a doua copie sunt răsturnați; care biți depind de lungimea $x$, dar nimic altceva.

Aceasta înseamnă că proprietățile de detectare a erorilor ale funcției dvs. sunt efectiv cele ale crc32 și nimic mai bun.

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.