GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!

Notices

Welcome to LinuxQuestions.org, a friendly and active Linux Community.

You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!

Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.

If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.

Having a problem logging in? Please visit this page to clear all LQ-related cookies.

Introduction to Linux - A Hands on Guide

This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.

Click Here to receive this Complete Guide absolutely free.

Specifically, how does it work?
i know the theory:
alice makes a random number, and makes a public key and a private key from it.
alice sends the public key to bob.
bob encrypts the data with the key, and sends it to alice.
alice decrypts the data with the private key.

how are these keys generated?
for instance, say i wanted to encrypt 23, 45, 12, 35.
How would i generate the public(encryption) key and the private(decryption) key, given the random number 45436, so that the private key couldn't be derived somehow from the public one?
What is a key generation function like?

im not big on maths, but i understand modular arithmetic/calculus(a bit).

You could build your own algorithm for this, but its not all easy to build anything related to crypto which as cryptic as the current algos. If you want to have a look at how stuff is done refer to RSA module in perl. Should provide an insight.

Unfortunately, if you're not big on math, then you're just going to have to accept that it works. On a high level, I can sort of understand Diffie-Hellman, which is probably the textbook case, but only if I apply myself to it.

The keys are related mathematically, but the private key cannot be practically derived from the public key.

This suggests to me that with enough computing power you can do it.

When they say practically, they really mean it's not practical to bother trying to brute-force a modern crypto algorithm. Here's a good link for past and current massively-distributed cracking projects.

When they say practically, they really mean it's not practical to bother trying to brute-force a modern crypto algorithm. Here's a good link for past and current massively-distributed cracking projects.

Public-key (asymmetric-key) cryptography is normally used just for keying systems. This is the initial-handshake that takes place when the two communicating systems are deciding upon (or the sender wishes to convey...) the private (symmetric) key that is to be used for a particular message. That private key is chosen randomly.

By sending each message in a randomly-chosen private key, encryption can occur very fast (the math is simple...) and the key used to encrypt each message is now unique. That portion of the message which carries the per-message keying information is very small and unpredictable.

When someone wants to "bust a key," they're not going to bother doing a brute-force search anyway. They're going to use some kind of a wedge: theft, break-in, torture, the expected characteristics of the message itself, guesses about the key ("it's a dictionary word...") and so-on.

LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.