Cryptography Can someone eli12 how keccak / sha3 truly innovates hashing beyond Merkle–Damgård constructions? |
- Can someone eli12 how keccak / sha3 truly innovates hashing beyond Merkle–Damgård constructions?
- Working with cypers in Python
- Biological One‐Way Functions for Secure Key Generation
Can someone eli12 how keccak / sha3 truly innovates hashing beyond Merkle–Damgård constructions? Posted: 19 Dec 2018 12:11 PM PST I have read a lot of high level stuff about the sponge / squeeze function, but I don't understand how that is different than sha3's predecessors, after all they all sort of soak up data and then squeeze out a digest of it. how is sha3 / keccak truly different? also, is the math of sha3 something that would have been difficult 20 years ago? I just want to know in laymans terms (or at least in undergrad terms), how is sha3 innovative other than the fact that it names its process of digesting data a "sponge"? [link] [comments] |
Posted: 19 Dec 2018 03:22 PM PST I'm taking the Coursera Cryptography class, and attempting a homework assignment, where we break a many-time-pad. The course mentioned basic concepts and how they could be applied to binary, but presents a problem where text is represented in hex. Python seems like it might be appropriate. I think the basic approach is to xor 2 cyphertexts to get the equivalent xored message, they try xoring that result with a guess text from one message, to see if it 'cancels out', revealing something meaninful in the other message. No idea how to approach the encoding though. Types to deal with in Python: -int: Integer, which may be treated as a base-ten variant of binary: Only type that can be xored; eg this seems to be the lingua franca of the other types. Can be created from hex with syntax like x0315c4e, or with some string formatsusing int(string, 16).-Hex string, eg "315c4e". Can be converted to an int with int("315c4e", 16)-Hex-literal-like-string, eg '0x315c4e'. Created with hex(an_int), and converted back to int using the same syntax as with a hex string.-Unicode string, eg "the". Can be created from a bytes string using codecs.decode(bytes_str).-String-like bytes (ascii?), eg b"the". Can be created using the preceding litearl, bytes("the", "utf-8"), or codecs.encode("the", "ascii"). Can be converted to an int using int(binascii.hexlify(b"the"), 16). Can be iteratored over,as integers. (similar to maping ord() over a normal string)-Int-like bytes, eg b'746865'. Created from string-like bytes using binascii.hexlify,eg binascii.hexlify(b"the")-Hex-string bytes, eg b'1\\N'. Created from a hex string with binascii.unhexlify-Hex-like bytes v2, eg b'\x00\xbcO\xf2'. Created from (an_int).to_bytes(16, byteorder="big") I've created the following helper funcs: I can the cts with a crib using this: Now, not sure how i'd 0-pad the crib. Eg I want to try " the " at different areas, but I can't figure out how to append 0s to it. And not sure how to convert to a string; the hex_to_str func doesn't always work, due to errors like: "Error: Non-hexadecimal digit found", and "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf8 in position 6: invalid start byte" [link] [comments] |
Biological One‐Way Functions for Secure Key Generation Posted: 20 Dec 2018 02:35 AM PST |
You are subscribed to email updates from Cryptography news and discussions. To stop receiving these emails, you may unsubscribe now. | Email delivery powered by Google |
Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States |
No comments:
Post a Comment