4 ms·
Just xor-ing a secret key that's as long as a message is guaranteed to be 100% safe, given that you don't reuse the key. You can take a look at Shannon's perfe
by pyentropy 5y ago
Just xor-ing a secret key that's as long as a message is guaranteed to be 100% safe, given that you don't reuse the key.
You can take a look at Shannon's perfect secrecy theorem and one time pads. Symmetric encryption is easy, safe and fast, but requires a pre-shared secret between the participants. And that's not an easy requirement: it can't be done over a public channel (because it can be intercepted), the secret should be very random (so that it can't be guessed), and we want forward secrecy (if someone manages to intercept and understand one secret message, it we don't want them to know everything discussed before).
Asymmetric crypto and dozens of other schemes are used to fix those shared secret issues, so that symmetric crypto can be used, since it's so good and fast! In fact, symmetric crypto is so good that even the most dangerous futuristic quantum computer for cracking RSA codes wouldn't be able to do anything.
- rsj_hn 5y ago> Asymmetric crypto and dozens of other schemes are used to fix those issues. I wouldn't say "fix" them, they replace them with easier to follow protocols which have their own issues. But the security of all crypto boils down to following protocols. When someone introduces new cryptographic techniques, the advantages of those techniques (if any) are that easier protocols need to be followed. But there is always some protocol that must be followed, the crypto isn't going to let you levitate on air and secure a message just because of an algorithm. So deep scrutiny must be paid to the new protocols required to make the new tech secure. Just saying "problem X is solved" without figuring out what the replacement problem is will lead to disaster. E.g. Suppose you have two people that need to exchange messages. A) Without any crypto, they need to make sure no one intercepts any of the messages. So your protocol relies on "make sure no one intercepts a message and you authenticate the sender". B) With a symmetric key, protocol A is replaced with "make sure no one intercepts the first message and you authenticate the sender". C) With a public key, say using Diffie-Hellman, protocol B is replaced with "make sure no alters the first message and you authenticate the sender" D) With a certificate authority, protocol C is replaced with "Make sure you authenticate that the right certificate authority signed every message and you check the hostname" E) With a web of trust, protocol D is replaced by "make sure there is a quorum of signers you already trust that authenticate the identity of the sender". So a new tech is adopted when the protocols it follows are easier to enforce than the protocols followed by the previous tech. But it never just "solves" the problem of needing to follow the protocols of the earlier tech. It is lack of awareness of this that led to many people being surprised about what happens when a rogue CA signs a message. Because they were too busy popping champagne corks to celebrate retiring protocol C that they forgot to worry about correctly enforcing protocol D.
- Animats 5y agoMuch military crypto is still symmetric. Before the ship leaves port, or the plane takes off, or the unit leaves base, some officer goes to a key distribution point and picks up something containing the necessary keys. Over the years, the "something" has been books, paper tapes, punched cards, and various devices. Today, for US/NATO military, it's usually something called the "Simple Key Loader"[1], a rather bulky hand-held device which runs, of all things, Windows CE 6.0. Just xor-ing a secret key that's as long as a message is guaranteed to be 100% safe, given that you don't reuse the key. A truly random secret key. Any non-randomness in a one time key system is exploitable. See Venona. [1] https://www.sncorp.com/media/2400/eis_cns_an-pyq-10-skl-v31-product-sheet_2-23-18_reduced.pdf https://www.sncorp.com/media/2400/eis_cns_an-pyq-10-skl-v31-...