• Welcome to Valhalla Legends Archive.
 

Cryptology and Public Keys

Started by j0k3r, February 03, 2004, 06:24 PM

Previous topic - Next topic

j0k3r

I've been reading up on Cryptology, and it's actually something I am able to get my mind around (mostly). What I am having a problem with is the concept of public keys or keys in general, what do they DO(I know they are used to encrypt a message, and private keys are used to decrypt it), how do they work?
QuoteAnyone attempting to generate random numbers by deterministic means is, of course, living in a state of sin
John Vo

MrRaza

Quote from: j0k3r on February 03, 2004, 06:24 PM
I've been reading up on Cryptology, and it's actually something I am able to get my mind around (mostly). What I am having a problem with is the concept of public keys or keys in general, what do they DO(I know they are used to encrypt a message, and private keys are used to decrypt it), how do they work?

I Know people might say this alot, but seriously, google. It works wonders, and as well www.pscode.com for some other examples of encrytion methods. :)

j0k3r

I've been using google for the past 3 days, it just doesn't sink in, I was hoping someone here could enlighten me.
QuoteAnyone attempting to generate random numbers by deterministic means is, of course, living in a state of sin
John Vo

Adron

What you have is a non-symmetrical transformation between two messages.

If using key K1, you can translate message A into message B, then using key K2 you can translate message B into message A.

Knowledge of a particular one of the keys may imply knowledge of the other, but that mustn't go both ways.

In the RSA keys, let's call "K1" the private key and "K2" the public key. Then knowing K1 you can get K2, but knowing K2 doesn't give you K1. K1 contains more data than K2.

When signing a text message, "A" will be the hash of that text message, and "B" will be the signature. The "only" way (apart from brute-forcing) to generate a "B" message that can be turned into "A" using key K2 requires knowledge of key K1.

When encrypting a text message, "B" will be the secret and "A" the encrypted message. Anyone with the public key K2 can use that to generate the encrypted message from the secret, but only someone with the private key K1 can turn the encrypted message back into the secret.

That's the basic idea of how to use assymetric cryptography to generate signatures and to encrypt.

The math used for rsa is easy to find well explained on the net, using the fourth hit from my Google Search:

http://world.std.com/~franl/crypto/rsa-guts.html
which also links to
http://world.std.com/~franl/crypto/rsa-example.html



iago

I found some very good info on this here:
http://www.w3.org/Security/Faq/www-security-faq.html
I can't remember which page, exactly, it might have even been a link from there.  But it discussed things like how the private key is encrypted using a password, and how both clients can validate each other, and some other neat stuff.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


cipher

Preterhuman has been a relatively good source of ebooks for me; I've read the majority of the docs on it.
Here is the link to some of their cryptology stuff, and if you go up a level, you'll find some other neat stuff.
http://preterhuman.net/texts/cryptology/