mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-25 05:44:06 -06:00
1.8 KiB
1.8 KiB
| title | aliases | tags | sr-due | sr-interval | sr-ease | ||
|---|---|---|---|---|---|---|---|
| 06-hashing-binary-public-key-cryptography |
|
2022-08-19 | 3 | 250 |
news
- pegasus project
- cutting internet cables
Hash function
- yields a small, districtive value (hash or digest) from an arbitrarily sized input.
- one way function
- non-invertable
- uniform size (each ouput eqaully likely)
- deterministic (same input maps to same output)
- possibility of collisions (b-day paradox, potential attacks)
message => hash() => hash
also
- can be used for data structures
- hash-map
- lots of theory
- often use modular arithmetic
- usually have more complicated algorithms than mod
in crypto
- needs to be
- impossible to reverse
- difficult to find collision
- uniform length output (tunable)
- must account for every bit of information in a message
- must be sensitive to changes input (avalancge effect)
- ouput should no contain apparent iinformation (appears random)
- easily computed (usually)
- for passowords should be slow
- makes brute force attacks take time
- key strechting (repeated application of hash)
- use complex memory access patterns to defeat esp
effectively a digital fingerprint;
collision probability
v = a^l
can also be used to compare complexity of passwords





