Secure Socket Layer (SSL)

An explanation of SSL and how this extemely powerful encryption works.

What is SSL?

SSL is a form of encryption which can be used to scramble data when it is transfered each way between a server and an Internet browser. A server in this sense will be a computer running special software to provide on line services to Internet users. It is the server which is configured to communicate using SSL encryption and it is a function of all popular Internet browsers such as Netscape and MS Explorer to support and respond to SSL servers when they are encountered during an on line session.


A Simple Matter of Numbers

The basis of SSL encryption is the use of private and public keys. Public and private keys are generated from very large prime numbers. Examples of simple prime numbers such as 17, 23 and 31 illustrate that they can only be divided by 1 or themselves. Computer generated prime numbers containing hundreds of digits provide the basis for very powerful algorythms to encrypt data. A private key is comprised of two prime numbers. The corresponding public key is created by multiplying the two prime numbers together. It will be clear that the public key can be divided by 1, itself and either of the two prime numbers which forms the private key; nothing else. If the size of the numbers being used are sufficiently large, it is impossible for any computer to calculate the two prime number multipliers from the public key. To create a secure server using SSL encryption, a special computer program is used to create a private key and a public key uniquely for that server.


Certificate Authorities

During communications between SSL servers and Internet browsers, it is always the public key which is "published". However, an SSL server never releases its public key in its raw state. Public keys are always subjected to a further mathematical process to produce an "Authentication Signature". Authentication Signatures are computed by a Certificate Authority. This is a third party bureau with its own private/public key attributes. It takes the public key of the SSL server together with the server address and other relevant data and, using its own private key, produces an Authentication Signature. This Signature is then used to sign the "Site Certificate" of the SSL server. As well as the Signature, the Site Certificate contains all relevant information about the SSL server (such as address and expiration date) plus the public key of the Certificate Authority.


A Typical On Line Session

When an Internet browser engages an SSL server, the server’s Site Certificate is presented to the browser. It is the Certificate Authority’s public key which verifies the SSL server and its public key.
Immediatley after the verification process, the Internet browser automatically generates a secret session key. This key may be either 40 or 128 bits depending on whether the browser was purchased inside or outside the USA. This session key is then encrypted with the SSL server public key and sent to the server where it is decrypted with the SSL server private key. At that point, both server and browser have established a link using the same private key.


©1999-2008 Safe-mail Limited. All rights reserved.
Safe-mailTM is a Trade Mark of Safe-mail Limited.