Archive for March, 2009

Web Hosting Common Mistakes

Sunday, March 15th, 2009

In the course of doing business, we serve many customers. Likewise, in doing business, we will also be plagued by different problems.

Following is a list of the common mistakes that different web hosts tend to commit.

1. Falling For The Price Trap
A website price at a very low rate will generally provide extremely slow site or common services will be denied because the bandwidth was maximized. Use your instincts and avoid low-priced websites.

2. Lack of Reseller Research
Reseller hosting is not bad. As a matter of fact, good support is provided by resellers. However, it will be safe to research your reseller. They may offer good packages but they may be inexperienced in other aspects of web hosting. A good reseller must know their products inside and out.

3. No Clear Definition of Web Site Requirements
List down the resources that your web site will need and add more as you begin to expand. This facilitates everything when an upgrade of your website is needed as you can simply discuss them with your host.

4. Purchasing Hosting In An Auction
Auctioned hosting, to say the least, is not unreliable as it may seem. However, these hosts have a great deal of terms and conditions which are usually more than what that regular websites would offer. As a result, inflexibility of the package may be experienced.

5. Forgiving A Host’s Bad Or Limited Website
Host that do not develop their own informative sites are unlikely to spend time developing informational site for your website.

6. Putting All The Eggs In One Basket
Putting several sites in a single account may seem like a good deal. This does not hold true most of the time. When you site is income-generating, it may not be wise to interconnect them. Chances are when all your sites breakdown, your income will be lost. Try to work out with your host about how to spread out the connection of your sites.

7. Taking Testimonials At Face Value
Not all testimonials are similar or true for customers. Ask the host if they have a contact of their customers and if you can talk to them. If the host does not want you to do this, that is a danger sign.

8. Not Keeping A Record Of Their Contact Information
Keeping track of telephone numbers, addresses, contact persons or e-mail addresses is important. When a problem occurs in your site or when the system goes down, you can easily talk to the customer service to troubleshoot the problem for you.

9. Relying On Host Backups
It is advisable to keep a back-up copy of your website. This is critical in times of emergency.

10. Trusting your host to have the latest software
Viruses and computer hackers can strike anytime. It is always safe to check the software versions that you are planning to purchase from your host. Make sure that it is always updated.

Michael Colucci is a writer for $2.99 Hosting and Low Interest Credit Cards

(You are granted the right to reprint this article but the title and content must remain unchanged and the authors name and contact information must be included.)

Overseas Sports Betting Keeps Gamers at the PC

Sunday, March 15th, 2009

sports bet tip

Umpteen gaming afficionados will have seen the term “offshore sports betting” recently, but may not be altogether positive what that implies. An overseas betting internet site essentially performs outside the administration of any specific state on the other hand it can be a net based gaming site which locates their central computers within the borders of a country where world wide web based playing of games of fortune is not presently prohibited. Concisely therefore, it’s best portrayed as a gambling establishment active outside the state of the purchaser. Machine-accessible sports gambling internet sites are nowadays regulated by 3 agencies. They are the OSGA (the Offshore Gaming Association), the IGC (Interactive Gaming Council) and the Fidelity Trust Gaming Association FTGA.

The OSGA is in fact an unbiased watchdog institution that keeps tabs on the overseas gambling business, they intend to also give the paying public the capability to swiftly determine worthy websites to play games of chance with. The authority tries to champion customer’s rights, additionally they don’t charge any particaption charges. The Offshore Gaming Association is a proficient not to mention equitable third party association who formulate impartial info, established around your evaluations, unbiased study, discussions, inside advice and additionally to offer industry information.

The IGC is a nonprofit agency. The organization was designed to furnish a platform for involved participants to discuss issues and in addition to collective worries in the multinational web-based sports gambling profession, to ensure even handed not to mention sensible commercial codes and systems that heighten consumer faith in internet sports gambling products and utilities, also to serve as the overseas gaming industry’s universal procedure defender and in addition the Interactive Gaming Council offers an info hub.

The IGC has established a name for advancing dependability, good action and also believability due to its scrupulous moral code, and its allure to honest concerns. The IGC regularizes offshore sports gambling through advancing a characteristic 10-step set of standards and also charges sports gaming businesses a fee to exhibit the council’s logo. Malcontent gamers may furthermore disclose any of their disagreements to the Interactive Gaming Council.

The FTGA has been founded in an effort to construct a benchmark which will reform the procedures of internet gaming commercial enterprises. The IGC think that by partnering with enterprises of honorable standing, they can make an alliance of the most trustworthy and most proficient offshore gambling businesses in the world at large.

To sum up, there are agencies who inspect the practises exercised by internet based gambling and which should function to take the edge off any fears held by doubters. Machine-accessible sports gambling web sites are today totally safe, since personal data aren’t submitted and the compensation and the odds are invariably equivalent to an orthodox Vegas-style stake. They cut down the traveling outlay, but preserve of a Nevada casino, only today you are able to gamble in the comfort of your familiar surroundings.

Prostate Function – with Alternative Remedies

Friday, March 13th, 2009

Medical professionals term an enlarged prostate gland benign prostate hyperplasia, or BPH. In simple terms this means the prostate, a mass which envelops the urethra and is situated below the bladder, enlarges and this may compromise or stop urination. The prostate enlarges as the years pass and as a result may engender ailments such as troubles with passing urine, a weak flow, and the holding of residual urine inside the bladder. Frequent trips to the toilet during the night and even inflammation of the urinary system may additionally be arise from prostatic engorgement. So What Is BPH? An enlarged prostate is supposed to be one of the more common medical conditions of men in their sixties. Yearly tests are suggested for males in their fifties and beyond, regardless of the occurence of symptoms, to aid in maintenance of better prostate gland health. Inability to micturate or blood is detected whilst urinating is a signal to seek medical intervention at once. Surgical procedures or the use of drugs are common treatments for prostate enlargement. However, impotence or incontinence may be observed as a result of surgery. An alpha blocker or drugs to reduce the swollen prostate are frequently prescribed to improve prostatic health, but medicines frequently result in undesirable repercussions so what are the alternatives? Troubled with an Enlarged Prostate Gland? Natures’s Way to a More Healthy Prostate Gland: — To encourage better prostatic function and allay the symptoms brought about by prostate enlargement, a few remedies may be recommended. Swelling can be alleviated by Afican pygeum, offering a reduction of any more disagreeable symptoms. The remedy African Pygeum has been used on a regular basis for many years by Europeans as a formula for better prostate gland health, it is a product of a tree indigenous to southern Africa.

Dietetic changes such as reducing the intake of fats can also help, so will getting more excercise more frequently, the pressure in the prostate gland should also be lessened by ejaculating more frequently, it is also better to try to avoid remaining seate d for a long time. Problems are often aggravated by utilising anti-histamines or decongestant drugs bought over the counter, so consume these with caution. Additional recommendations also include to cut out taking any liquids close to going to bed to cut down the need to urinate overnight, the reduction of alcohol and caffeine intake can decrease symptoms.

Moreover, there are further alternative remedies being used to improve prostatic health — these are saw palmetto extract, starflower oil capsules, selenium, and lycopene, a molecule found in tomatoes. Before commencing your holistic therapy please check with your doctor.

Four Act Stories and Beyond

Wednesday, March 11th, 2009

There are various forms of structure, including frameworks, work processes and goal setting.

A lot has been written about story structure. In my mind, understanding its value is priceless.

There is a lot of confusion around structure, creativity and innovation. You can find a good study that resolves much of the misinformation at managing-creativity.com. Ironically, there is much to learn about creativity and innovation from the business world, as there is an infinite amount of data and research out there. Top institutions, such as Harvard, take it very seriously.

The core concepts, with regard to story structure, include:

a) Structure increases the quantity and quality of creative output.

b) Novelty (commonly referred to as “originality”) emerges from replication.

c) Certain structures help to meet the subconscious expectations of the audience.

By mapping your idea around an existing structural template, you can quickly expand that idea into a story. Once extrapolated, the needs of your particular story will begin to dictate your structure, hence you will cut and paste scenes until your story, in effect, becomes original. Then by working on each sequence to make it perfect, you eventually produce quality work.

But what structure?

The Western World has traditionally supported the concept of three act structure. But this is useless. Everything has a beginning, a middle and an end and, for writers, this doesn’t help much.

If you analyse many versions of three act structure you find that, in effect, you really have four acts. For example, Syd Field argues that three acts consist of an approximate 30:60:30 ratio. But the 60 has a mid point, so we’re really talking 30:30:30:30.

But even four acts do not help much.

You can analyse four acts to reach five or seven acts. But even they are useless. The problem is that they are too broad. OK, I agree, templates only have value if they are broad, but we need more.

A huge leap is the monomyth or Hero’s Journey. The monomyth can be traced back to Gilgamesh in about the 26th century BC, through to the Shahnama around 1000 A.D. and so on. The latest incarnation is that of Joseph Campbell in his book The Hero with a Thousand Faces (1948).

Campbell’s Hero’s Journey consists of 17 stages. So here we have 17 acts, which is much more useful to the story writer.

But the Hero’s Journey ends once the Hero has returned home and provided the Freedom to Live, whereas in modern film (call them contemporary stories) the hero returns once more to battle the antagonist. So in effect we can say that we have Campbell’s 17 stages and then another encapsulated in the Final Conflict. So 18 stages.

But the 18th stage can be broken down into Preparation / Final Antagonism / Journey to the Final Conflict / Battle / Moral Dilemma / Completion / Freedom to Live. Hence we arrive at 24 stage structure.

The Hero’s Journey can be extrapolated into many more stages.

The question you may ask yourself now is this: how representative is the monomyth or Hero’s Journey of ALL stories? In other words, what value does it really have as a template? And as I am implying, a universal template?

The best way to answer that is to search out someone with more credibility than me, that is: read a book about it. A good start is Christopher Vogler’s The Writer’s Journey, ISBN: 0330375911. He compares a diverse variety of cinematic blockbusters to drive home the point.

Whether you go for the idea of the monomyth or not, the idea of working from a template is very valid, or at least helpful. And it applies not just to screenplays, but to sitcoms and novels too. What you need to do is decide which template works for you. There are quite a few out there.

From the above it follows that (most) stories are structurally derivative and yet can be very original. Watch a diverse range of films – from Midnight Cowboy to Al Pacino Scarface to Casablanca to whatever you choose, analyse them sequence by sequence and you will see stark structural similarities.

In fact, when stories are not structurally derivative then they usually turn out to be “weird” because the audience has certain subconscious expectations as to how a story should evolve. And when they are not met….well, people will just refer to it as not a proper story.

The 106 stage Hero’s Journey and other story structure templates can be found at http://www.managing-creativity.com/CreativeWriting.html

You can also receive a regular, free newsletter by entering your email address at this site.

Kal Bishop, MBA

**********************************

You are free to reproduce this article as long as no changes are made and the author’s name and site URL are retained.

Kal Bishop is a management consultant based in London, UK. He has consulted in the visual media and software industries and for clients such as Toshiba and Transport for London. He has led Improv, creativity and innovation workshops, exhibited artwork in San Francisco, Los Angeles and London and written a number of screenplays. He is a passionate traveller. He can be reached on http://www.managing-creativity.com/

Cryptography & JCE Overview

Tuesday, March 10th, 2009

Introduction

In the 21st Century, information is being exchanged electronically at an ever-increasing rate. Financial markets, commerce, and communication between citizens of all nations are utilizing the Internet and proprietary networks to exchange sensitive information. In pace with this trend are those rogue persons increasingly intercepting this information or supplanting it with misleading or erroneous messages. To continue effectively in this space Java developers should be aware and capable of building components and architecting systems based on a reliable technology that can fit within a secure environment. An available technology for securing facets of systems is Cryptography.

Background

Sun recognized that their Java programming language was being used to develop e-commerce systems. To address the requirement for secrecy they offered the JCE to the Java community as a downloadable API from their website. When Sun acknowledged that systems were increasingly using this API, they bundled it with the SDK in 2002.

The JCE is a pluggable technology. Sun defined the JCE interface but the technology is quite flexible; it allows different entities to provide its implementation. This facility was largely motivated by the fact that cryptographic products are under US federal export controls. The US government maintained that cryptography products are “weapons” and mandated that they fall under federal export controls.

The strength of a JCE implementation is largely dependant on the key sizes that it supports. Sun’s standard JCE implementation currently shipped with the SDK is in compliance with the US’s export controls. This means any Java system utilizing Sun’s JCE implementation can be exported outside the US. However, the cost of using this implementation means a reduction of the Java system’s strength. The beauty of the JCE is that it is possible to develop a system honouring the JCE and plug in a stronger JCE implementation. One such JCE implementation is Cryptix[2], an open source solution being maintained and developed by developers from The Netherlands and around the world. The Cryptix solution is useful since the code is open, has an active community, and has deep experience writing cryptographic software.

Before a developer can take advantage of the JCE it is useful that he understand the technology on which it is based. To this end the document will establish a few definitions and continue with a disclosure of cipher systems and protocols. These will aid the reader with understanding the JCE as well as other documents related to cryptography.

Definitions

Secret Key: A secret piece of information which is shared by two parties and used when securely exchanging information. To be effective the secret key is smaller than the information to be shared. It is used in conjunction with a cryptographic algorithm to encrypt or decrypt sensitive data.

Encrypt: The method of scrambling information to secure it against onlookers. Encryption is used with a secret key that is known only by the sender and receiver of the sensitive information.

Decrypt: The method of descrambling information from a previous encryption. Decryption requires the knowledge of a secret key.

Cryptographic Algorithm: Method which describes how a secret key is utilized to encrypt or decrypt information. It is also known as cipher.

Plaintext: The information to be secured.

Ciphertext: The scrambled information after an encryption process using a cryptographic algorithm and a secret key.

The JCE includes an assortment of cryptographic algorithms to perform encryption and decryption. Assuming a correct implementation, the greater the size of a secret key supported by an algorithm, the more secure an algorithm can be made. Cryptographic algorithms are used in the context of two systems.

Cryptographic Systems

There are two systems used in cryptography: symmetric and asymmetric (or public-key). Symmetric cryptography deals with keeping information secure with a single key; whereas asymmetric cryptography can secure information utilizing two keys. In the case of public-key systems, information is secured with a publicly known key and decrypted only with the secret private key.

Symmetric cryptography has the advantage of being fast. The operations it performs are transposition and substitution; which can be effectively expressed in hardware or software. The problem with symmetric cryptography is that its secrecy relies on the privacy of the shared key. An example of a symmetric cryptosystem would be one utilizing the DES (Data Encryption Standard), Blowfish, AES (Rijndael)[3] algorithm.

Asymmetric cryptography requires two keys (one to be kept secret, and another which can be publicly known). This scheme is superior to symmetric systems because it can facilitate secure key exchange and authentication, but it does so at the cost of slower processing times. Public-key systems use hard mathematical problems for the basis of their security.[4]

With these two systems various cryptographic protocols can be expressed and utilized for sharing secrets.

Cryptographic Protocols

In line with other security texts the author will use the characters Alice, Bob, and Eve. The first two are representative of systems that want to engage in a secure information exchange. Eve represents an entity who wishes to intercept sensitive information or to pose as Alice or Bob.

Consider that Alice and Bob are both intelligence operatives. Alice wants to give Bob the coordinates of a valuable witness who is in a safe house. The witness must show up in 8 days to testify at a court in The Hague. Unfortunately both are on different continents: Alice lives in Toronto and Bob is located in Holland. Alice does not want anyone else, like Eve, to find out where the witness is located, because Eve would surely divulge the location to the Mafia – the organization against which the witness will testify. Eve is also interested in thwarting Bob’s attempts to find the witness and will do whatever it takes to push him off course. Alice and Bob each have the use of the Internet and access to a Java development system, including a full strength implementation of the JCE.

Alice and Bob are knowledgeable in cryptography and Java development. Over an insecure means Alice and Bob determine they will use the Rijndael algorithm to scramble their information[5]. The next step is for each to consider a protocol with which both will use to securely and effectively exchange information.

Simple Symmetric Protocol

Alice may choose to use the simple symmetric protocol. It requires that Alice and Bob establish a secret key with which the location can be encrypted. The two need to somehow agree upon the secret key in a secure manner- like in a private conversation, for example. The steps to accommodate a secure exchange using a simple symmetric system would be:

1. Alice would type the witness’ location into a simple text file using an editor.

2. Alice would use the Rijndael cipher from the JCE to scramble the text file using the secret key agreed upon with Bob.

3. Alice would send the output of step 2 to Bob using email.

4. Bob reads his email, expecting a scrambled bit of text from Alice, and uses his JCE decryption Java program to descramble the text using the secret key agreed upon with Alice. Bob would now have the location of the witness.

Simple Asymmetric Protocol

In the previous situation Alice and Bob needed to agree upon a secret key for their secure communication in person. However, in most circumstances it is not possible to establish the secret key. In fact, since Alice and Bob live in different countries it is unlikely that physically meeting up with one another is feasible. In these situations asymmetric or public key systems excel.

A public key system works in the following manner: Alice and Bob each have two keys, one of which is secret to themselves and the other which is publicly known. The publicly-known key is registered with a trusted entity. The property of a public key system is that the sender can encrypt a message using the intended recipient’s public key, and the only key which can decrypt the message is the recipient’s private key. Each person keeps their private key to themselves.

In our example Alice and Bob establish their public and private keys on the first day of their job at the intelligence agency, a trusted entity for both. The following describes the protocol undertaken for Alice to securely share the location of the witness to Bob.

1. Alice retrieves Bob’s public key from a trusted source, from Bob himself or their employer. (It is important that the public key be gotten from a trusted source – or else Alice may inadvertently encrypt the location with Eve’s public key).

2. Alice types in the location of the witness in a text file and scrambles it using Bob’s public key

3. Alice sends the scrambled text file to Bob using his email address.

4. Bob opens up Alice’s email and descrambles its content using his private key, which no one else knows. The location of the witness is revealed.

In this protocol an asymmetric cipher is required – such as RSA or ElGamal, two standard public key systems. Alice and Bob decide to use ElGamal.

The problem with this scenario is that the processing cost of securely exchanging information is high. Asymmetric systems are much slower than its symmetric counterpart. For high volume systems this is a real problem for CPU-restrained systems. For example, if Alice wanted to send a world map of the witness’ movements the process would be quite slow for both Alice and Bob. A truly beneficial system would be one where Alice and Bob can securely agree upon a secret key through an insecure informational channel, without fear of Eve. With the established secret key Alice could scramble the sensitive map and securely send it to Bob using a symmetric algorithm.

Hybrid Symmetric/Asymmetric System

Utilizing an asymmetric cipher it is possible for Alice to securely send a secret key to only Bob. Eve could not determine it while it is in transit to Bob because it is encrypted with his public key (and the only way of decrypting such a message is with Bob’s corresponding private key). Only Bob’s private key will descramble the secret key. With the secret key known only to Alice and Bob, both can utilize their favorite symmetric algorithm, Rijndael, to securely exchange information.[6]

Alice and Bob decide upon this protocol and find no success in its use. Alice and Bob know that each are operating within a secure channel – but Bob is receiving a large number of emails from Alice. As Bob opens each one the contents are directing him to locations where the witness cannot be found.

After some false leads on the whereabouts of the witness, Bob is becoming more reluctant to trust the supposed encrypted emails from Alice. He is receiving a large number of emails from Alice offering the location of the witness, but he can’t determine which one is correct. He suspects that Eve is using his public key and sending emails to him feigning to be Alice. There are only days left to find the witness before the important court appearance. To address this, Bob calls Alice up on the telephone and instructs Alice to sign her emails so he can authenticate the origin of the emails. Now, should Eve continue to try to send Bob off-track – Alice’s email can be picked out from the other junk emails.

Signing Protocol

In addition to facilitating secure key exchanges, public key systems also support the ability to sign a message, the electronic equivalent of a person’s written signature. Specifically, it is with one’s private key that a person may electronically sign a document. To reduce the amount of processing and overhead with signing large documents, hash functions can be used to reduce the effort.

Hash Functions

Hash functions are one-way operations that accept data and output it to a smaller set of data, called a message digest. Only secure hash functions can be used with electronic signatures. Hash functions are considered secure when it is computationally infeasible to find two different input data that result in identical message digests. The SHA1 is one example of a secure hash function[7].

Alice can utilize the following steps to sign her email messages to Bob

1. Alice types in the location of the witness into a text file using an editor of her choice.

2. Alice performs a SHA-1 of the text file’s contents and scrambles it with her private key. The hash function she uses is one that is highly secure and is known to Bob.

3. She includes the output of this scrambled data at the end of the text file

4. Alice encrypts the whole payload using Bob’s public key and emails it to Bob using his email address.

To read the payload and verify that Alice sent him the message, Bob must do the following:

1. Open his email from Alice and descramble the contents using his private key.

2. Perform a hash of the supposed location of the witness using the same hash function Alice used.

3. Using Alice’s public key Bob descrambles the latter end of Alice’s email.

4. If the output from #2 and #3 match, Bob can be sure Alice sent the email and the location of the witness is true. Otherwise, Eve surely has tried again to lead him astray.

After receiving an authenticated email from Alice, Bob correctly finds out the whereabouts of the important witness. Bob safely takes the witness to court in The Hague so that the valuable evidence can be heard.

The JCE

Core Classes

The following is a description of the core classes that comprise the JCE.

Cipher Class

A Cipher is the main class with which encryption and decryption is performed. Around this class the JCE framework is built. An instance of the Cipher class embodies how information is scrambled or descrambled, as well as with what secret key it should use when doing its work.

A static factory method on the Cipher class is the means with which Cipher objects are created. When factorizing a Cipher object, its transformation name is essential. Additionally, it is possible to also specify the name of a JCE provider, in case there are two or more implementations available in the Java runtime environment.

A Cipher’s transformation name follows the format: algorithm/mode/padding.

In our example above, Alice and Bob could create a Cipher class with the following,

Cipher cipher1 = Cipher.getInstance( “Rijndael” );

The mode describes how the cipher will scramble the information internally through its work. Standards dictate how a cipher ought to be used and in what context. Depending on the mode a Cipher instance may require an initialization vector (IV) which kick-starts the algorithm.

The padding describes how the information is padded when the plaintext is shorter than what is required by the cryptographic algorithm.

In each case, the provider of a JCE implementation will choose a default mode and padding if none are offered. In our example, Alice and Bob have agreed upon a specific implementation so they do not require the extra qualifiers for the Cipher object they wish to instantiate; the common code will choose the correct defaults.

Before working with a Cipher object, it must be initialized. The two oft-used modes are:

Cipher.ENCRYPT_MODE

Specifies that the Cipher object will be used for encryption.

Cipher.DECRYPT_MODE

Specifies that the Ciphert object will be used for decryption.

These modes are required because cryptographic algorithms behave differently in encryption and decryption mode. The other missing instantiation information is the Key. The Key can be any class that implements the java.security.Key interface, or from some certificate that contains the appropriate key.

There are other parameters that can be used with initializing a Cipher object. In all cases the parameters:

1. Specify how the algorithm will perform its work,

2. Embody a secret key with which the algorithm uses to perform its work, or

3. Reference a specific random number generator[8].

Cipher Stream Class

The Cipher Stream classes provide a Java developer the means with which to perform encryption or decryption on conventional streams.

KeyGenerator Class

Symmetric algorithms require the use of a key to scramble the plaintext into ciphertext. For systems that must create keys without user input, like SSL or PGP, some sort of key generator is required. Important to this process is the fact that symmetric algorithms each have their own definition of what constitutes a weak[9] or valid key. The KeyGenerator class solves the problem of automatically generating secure, acceptable keys.

Similar to the Cipher class, a KeyGenerator instance is created using:

KeyGenerator kg = KeyGenerator.getInstance(“DES”);

Using the factory method, getInstance, the above line of source code creates a KeyGenerator instance for the DES algorithm. Additionally, a JCE provider name could be added as a second parameter in case there are more than one provider offering KeyGenerator instances in its implementation. With an instance, the KeyGenerator instance must be initialized.

A KeyGenerator instance can be initialized by specifying the keysize, a random number generator, both, or some algorithm parameters. The keysize is an important parameter to consider when generating a key for an algorithm that supports many different key sizes. A developer should always be sure how strong the keys are when implementing cryptographic protocols.

With a KeyGenerator instance setup, a secret key can be made available by simply calling:

SecretKey sk = kg.generateKey();

With this SecretKey, sk, a Java developer can secure information.

In the adventures of Alice and Bob, the two could not reliably establish a secret key unless they were speaking to one another privately. Since both lived on separate continents it became harder to establish their secret key. To alleviate this they used an asymmetric cryptosystem to create a secure channel through which they would share their secret key. It is through the use of the KeyAgreement Class that Alice and Bob were able to securely share their secret key in an insecure environment.

KeyAgreement Class

Consistent with the JCE, the KeyAgreement class is available to a developer using its getInstance method. For example,

KeyAgreement ka = KeyAgreement.getInstance(“DH”);

creates a KeyAgreement instance utilizing the Diffie-Hellman algorithm[10]. The KeyAgreement instance requires initialization and this can be done using a user’s private information. Additionally a developer can provide reference to a secure random generator, or some algorithm parameters.

Once the KeyAgreement instance is initialized the doPhase method must be called in order to establish a secure channel. The method is defined as:

public Key doPhase(Key key, boolean lastPhase);

For Alice and Bob, a single call to this method the other person’s public key using in place of key and lastPhase=true, is sufficient. If there are more parties with whom the secret must be shared, then the generated Key must be shared with the participants and more doPhase invocations are required. Please refer to the JCE documentation for more details on the KeyAgreement.doPhase method.

After the single invocation, Alice and Bob will be able to extract the secret key,

byte[] establishedSecret = kg.generateSecret();

With establishedSecret Alice and Bob can securely exchange information utilizing it as their secretKey.

Mac Class

When exchanging information securely it is useful to determine if a rogue individual has intercepted the ciphertext and modified it. The JCE facilitates this through the Mac class.

Summary

Cryptography is a powerful technology that creates secure channels in an insecure environment. It allows intelligence agents, suppressed nationals, and businesses to exchange information securely with others. This technology is important in the development of systems that exchange sensitive information.

The JCE is an implementation of cryptography for Java systems. It empowers a Java developer to securely exchange keys, scramble information with a key and provide a means to descramble it. However, this provision operates within a larger context.

The technology on which the JCE is based can only claim with high confidence that the exchange will be secure: the JCE provides no guaranteed security.[11] For practical purposes I would not concern oneself with this comment. It is recommended to stay relatively current with cryptographic advances and re-address the security of a system at regular intervals. Pick secret keys that are appropriate for your application.[12]

It is also important to note that cryptography is not the silver bullet of system security. Well administered firewalls, a commitment to secure processes, and many other security measures are as important to securing a system as incorporating the latest cryptographic technologies and protocols.

Geoff leads Fireball Technology Group, Inc. – a Toronto-based software consulting firm specializing in Java and PHP web applications. Fireball uses its development abilities to maintain and enhance http://www.thelocalguru.com – Canada’s first skill database that supports freelance and self-employed experts to connect with their local communities.

How To Be A Superstar Business Performer

Monday, March 9th, 2009

If you could be 0.1% better than you were yesterday do you think people would notice? Would your boss congratulate you on a job well done? Would you get a raise? Would your company offer you new perks for being such a great performer?

You’re probably thinking that 0.1% is such an infinitesimal number that it is too small to make a difference. But, think about this: Do you remember the gold medal winner in the 2004 Athens Olympic Games? You probably do; a lot of people do. It was Justin Gatlin of the Untied States that finished in a time of 9.85 seconds. Do you remember who won the silver medal? Probably not. Not many people remember the second place finisher. The first place finisher is the real winner and people remember winners. But think about this, the silver medal winner was Francis Obikwelu of Portugal that finished in a time of 9.86 seconds. Guess what? That’s a difference of 0.01 seconds between first place and second place. Justin Gatlin was 0.1% better than Francis Obikwelu. 0.1% made all the difference in the world to Justin and he is a winner.

What does this mean for you in business? Top business professionals have the same personality characteristics as top sports performers. Justin Gatlin won the gold medal at the 2004 Summer Olympics because he trained every day to perform when it counted. It took years of work. Every day he became better and stronger than he was the day before and it all climaxed on the day he won the gold medal. That 9.85 seconds of glory took years to lead up to. Top business performers learn new skills every day. They learn their business, they learn their competitors business, they learn how to develop their skills, they learn new business skills, they learn how to apply their strengths, they learn new ways to sell themselves, they develop new relationships with customers, clients, colleagues.

Every day is a new opportunity for a top business performer. If a top business performer is 0.1% better than they were the day before this gets compounded until one day they become the best in their field. Look around your office and you will recognize these top performers. You know who they are. The entire office knows who they are. They don’t become top performers by luck.

You can do it to. It’s never too late to start changing your habits. Be like Justin Gatlin and you will be a superstar business performer. You just need to be 01% better than you were yesterday and people will notice. You too can be a winner!

Tino Buntic - EzineArticles Expert Author

Tino Buntic’s business networking website, TradePals, provides business leads to professionals, entrepreneurs, trades people, and freelancers across Canada and The U.S.

Tips for Keeping Website Content Fresh

Sunday, March 8th, 2009

Keep your site fresh with new content every day!

There are plenty of great reasons to keep your website filled with fresh content and sticky topics that keep visitors coming back for more.

Who wants to read the same old thing, not the public and surely not the Search Engine Spiders. Fresh content and updates are some of the keys to keeping any website in the public view.

Keeping your website or websites updates with new material can be a chore. It is important to keep your website updated with the latest and newest information, otherwise your competition will gain ground and your audience will not return.

So how do you keep fresh content? There are several ways.

- RSS Feeds with articles that are relevant to your websites theme. Probably the best way to do this is to have a second website that you control that generates these RSS feeds. Article-engine, offers a great script that you have ton’s of categories and topics – each with their own RSS feed. If you have never dealt with RSS feeds you can hire someone to install them or use either the script or the service found at rss2html.com. If you have even a little experience with scripts you will find it works like a charm.

- Open a Forum on your site, for open discussion. If you are using Phbb2’s open forum script there is an add-on that allows you to have a Search Engine Friendly Archive. Services like Stmadeveloper can install these for you and provide you with a feed from your forum on your main site. It’s a great way to keep both your forum active and fresh sticky content on your website.

- Create a Blog and post theme related events and allow outside comments. One of the best things about most Blogging Scripts is that they actually generate RSS or XML feeds for your topics. Wordpress does this but so do many other Blog Scripts. You will still need to install the feeds onto your main site using something like rss2html.com or hiring a programmer to insert them into your site for you. Again – it’s worth learning how to do it yourself.

- Hire someone to write theme related topics, and manually place them on your website. Your still doing some work but you sure don’t have to work as hard. We use Stmacontent.com to write both our articles and to provide us with full products and websites. Outsourcing can be a very lucrative way to get your content.

There are numerous ways to keep your website up to date. It’s just a matter of picking the right combination of ways that suit your individual style and needs. Don’t let a few technical aspects of website development keep you from achieving your Online goals and aspirations. There is a wealth of information available on every subject imaginable.

So go get some RSS Feeds. Learn to display them on your site using the free script from rss2html.com

Create your Blog, again learn to use rss2html.com to dislplay them on your site.

Make a Forum and install the archive script and make sure you link back to it – also set up the syndication plug in’s if they are available.

Hire a writer if your not a great writer. Services like Stmacontent and even places like rentacoder.com can get you all the original content you need.

Eric Gehler - EzineArticles Expert Author

Eric Gehler

Eric is a Business Analyst and Consultant. Co-Owner of
http://www.StmaDeveloper.com
and
http://www.stmacontent.com

Eric recommends that you join http://www.nichesitespecial.com if you want to totally automate your website creation. Eric is also available for business consultation and website development via http://www.eric-gehler.biz

FREE: Spiral Bound Page Numbered Laboratory Notebooks | Bass pro Shops Free Shipping Coupons or Coupon Codes

Sunday, March 8th, 2009

Get Unlimited FREE Vouchers, Cash and Products EveryDay!
Get Paid $5 – $295/Survey! Unlimited Surveys Available

Participating Companies: Cash and Free Vouchers from Microsoft, IBM, Apple, Nokia, Sony, Consumer Research, Panasonic, WallMart, Sears, Gucci, Guess, Dell, and thousands more!

You already have the special skills and knowledge by virtue of being one of millions of people who buys products and use services Getting Spiral Bound Page Numbered Laboratory Notebooks and Bass Pro Shops Free Shipping Coupons Or Coupon Codes is simple. Sites like that figure that if you are not willing to put a little bit of money out than neither are they, read on more about Spiral Bound Page Numbered Laboratory Notebooks. You might be one of the people who don’t even realize that you aren’t making half of what you should be making at the paid survey sites you are a part of. Also see Bass Pro Shops Free Shipping Coupons Or Coupon Codes. There are plenty of ways that you can find the paid surveys free – all you have to do is look.

I will share it with you right now. Read on to find out more about Spiral Bound Page Numbered Laboratory Notebooks. The reason for this is because the companies that run the surveys want to get the most bang for their buck as the saying goes. Find out more about Spiral Bound Page Numbered Laboratory Notebooks and Bass Pro Shops Free Shipping Coupons Or Coupon Codes. Next I want to tell you how to actually find the higher paying places. They are easy to get started with since they don’t require a huge financial investment.
Join for Free now Below!

Most do provide a semi-legitimate survey program. Get Spiral Bound Page Numbered Laboratory Notebooks and Bass Pro Shops Free Shipping Coupons Or Coupon Codes 100% FREE at our website. Get all the info on Spiral Bound Page Numbered Laboratory Notebooks from our homepage. They are businesses. Get paid survey network list absolutely FREE from our website! Absolutely no charge for joining the industry’s TOP 5 paying survey networks! Get FREE >> Panasonic Vf 1

Apply To Take Surveys (and Get Paid!)
AND to View 100% of Survey Results of Your Choice From EVERY Industry!


From personal experience, each of these consumer survey networks contains thousands of high paying multinational companies, ready to pay you $10-$300 for every survey done! Absolutely FREE to join.
Good Luck!

Do Your Website Yourself – 4 Simple Steps to Get Your Dreams on the Web

Thursday, March 5th, 2009

Many people hire professional web site designers for as much as a thousand plus USD! You can, and very easily, make a web site for almost one hundredth of that price, and probably in half the time. Here are 4 easy steps to get you started.

1. Find a quality Web Host

This will probably take longer than you imagine, so I always like to start here. Googling “web host” itself pops up over 70 million results and includes many, many advertisements. Ask around, find forums, and rely on your feelings to find a host that you feel has the best quality for price (bang for your buck). Normally around $10 to $15 a month is a reasonable price (with no perks added). In addition, you should make sure that they can handle your needs (do you need a MySQL database, PHP, ASP, ColdFusion, etc.) with no additional charges added for standard options.

If the host that you are using is a quality host, they should allow you to register a domain name on their site (or they will refer you to one of their partner sites). Which leads us into..

2. Create a Domain Name

What is your web site going to be about? Try to come up with a short list of specific keywords that relates to your web site’s theme. Many web sites that let you register domains offer a tool to find available web site domains based on your list of keywords. Some qualities of a good domain name are: short, rememberable, easy to type, on topic with your site, and preferablely .com (most people just think of web sites as .com so if you have a .net they might end up on the wrong site). Finding a good domain name can be hard, so don’t worry about taking to much time in finding the perfect one.

3. Find a Design

Instead of trying to code your own site, try looking around for templates that are relatively inexpensive. Many web hosts offer packages within their plans for web site designs and plans. A good template might cost as much as $100 but remember, by doing this yourself you are already saving almost a thousand dollars, don’t feel like you can’t splurge on a design you like.

4. Put it Online

This should be a piece of cake if you have purchased a design from your host, but if you found one from a different site, it make take some getting use to. You will need a FTP client (try SmartFTP, it’s free for personal use) to upload your files to your server. Customer support will help you if you can’t figure it out, but most web hosts give you all the information you need with a step by step process as well.

Good luck with the next phase of your site, promotion and marketing.

Jeffrey Abbott is a respected author and editor of eMoneyReport.com

Visit the site at http://www.emoneyreport.com and read reviews on programs that help you to make money from your own home. eMoneyReport offers a simple and easy format to find articles relating to all types of online business and website promotion.

Italics Part 2 – Using Italics to Show Thoughts

Wednesday, March 4th, 2009

Way back in your early school years, you were probably taught to use the tag “he thought” in your stories, to tip readers off that someone was thinking. If you substituted something more innovative, like “he pondered” or “Harry deliberated”, you might even have scored a big red tick.

If you liked to read as well as write, you probably cottoned on to the fact that there are other ways to indicate thoughts – such as using italics. (It’s not likely that a teacher pointed this out to you. Usually, teachers considered their job done once they’d taught you about “he thought”.)

Great! Off you went, liberally sprinkling italics all over your stories to show what was going on in your character’s head. Occasionally you might have used italics AND “he thought”. No way the reader could get confused then!

Neither of these two methods is the best way to show thoughts.

The single most effective way is to show what your characters are thinking is to blend their thoughts into the narrative flow. Instead of moving into the present tense, stay in the past tense. (Unless your entire story is in the present tense, of course.)

Let’s use a few examples to show the difference.

Using The Present Tense To Indicate Thoughts

Chris slowly descended the stairs, all senses alert. What if someone attacks me? I won’t be much use to Laura if I’m dead.

He stopped on the bottom tread, holding his breath and peering into the gloom. Over in the far corner, something moved… or was he imagining things? No, something did move. Chris was sure of it. He swallowed. I wish I had stayed at home.

What’s wrong with this? The constant switching from past to present tense and from third person to first person is annoying to the reader. The “flow” is much smoother if the tense and person remain the same – unless clear signals are given to the reader. In this example, the writer has not even used a simple tag, “he thought”, to prepare the reader.

2. Using The Tag “He Thought”

Chris slowly descended the stairs, all senses alert. What if someone attacks me? he thought. I won’t be much use to Laura if I’m dead.

He stopped on the bottom tread, holding his breath and peering into the gloom. Over in the far corner, something moved… or was he imagining things? No, he thought, something did move. Chris was sure of it. He swallowed. I wish I had stayed at home.

This is an improvement. Now that we’ve inserted “he thought”, the reader has clear signals. They’re prepared for the change in tense – they know that most thoughts are in the present tense.

Tip: When you use the tag “he thought”, try to get it as close to the beginning of the thoughts as possible. Note in the example above, I’ve written:

No, he thought, something did move.

NOT

No, something did move, he thought.

This is because readers commonly take in chunks of text when they read, rather than reading one word at a time. The closer the words ‘he thought’ are to the beginning of the thought, the clearer the signal to the reader that things are changing.

3. Using Italics

Chris slowly descended the stairs, all senses alert. What if someone attacks me? I won’t be much use to Laura if I’m dead.

He stopped on the bottom tread, holding his breath and peering into the gloom. Over in the far corner, something moved… or was he imagining things? No, something did move. Chris was sure of it. He swallowed. I wish I had stayed at home.

The use of italics is another clear signal that we are reading someone’s thoughts. They are a valuable tool – if they are not over-used. What you are reading here is just a small sample of text, but there are quite a few italics.

Imagine if the character did a lot of thinking. (Which is probable. Most of us are thinking all the time as we go about our daily business.) In every second paragraph there would be another sentence in italics.

So, some of you may be thinking… is there really a problem with that?

Yes, there is. Italics are used for other purposes apart from to show thoughts. Some authors write page after page of italics to show a dream, or put the whole prologue in italics. Italics are often used for emphasis, too (as we saw in Part #1 of this article). If your readers see italics, they may subconsciously give more emphasis to those thoughts than you’d intended.

A good rule of thumb is this: Use italics for thoughts that are especially significant in some way – or such strong thoughts that you want to see them emphasised in the mind of the reader. This might happen at times of great stress or fear for your character.

Now we’ll move on to the best, least intrusive way to show a character’s thoughts… blended into the natural flow of the text.

4. Blending Thoughts Into the Narrative

Chris slowly descended the stairs, all senses alert. What if someone attacked him? He wouldn’t be much use to Laura if he were dead.

He stopped on the bottom tread, holding his breath and peering into the gloom. Over in the far corner, something moved… or was he imagining things? No, something had moved. Chris was sure of it. He swallowed. He wished he had stayed at home.

As you can see, in the final example, the flow of the narrative is not interrupted by changes to tense or person, tags like ‘he thought’ or use of italics. The reader is not disturbed in any way… but we are well aware that we are deep in Chris’s viewpoint, and we ‘know’ what he is thinking.

If you wanted to emphasise the fact that there was indeed something moving, and that Chris was scared, you could include italics for one sentence: No, something did move. You would keep it in the present tense, because it’s almost like Chris vocalising a thought… as though he were talking to someone else. In this case, your final version would read:

Chris slowly descended the stairs, all senses alert. What if someone attacked him? He wouldn’t be much use to Laura if he were dead.

He stopped on the bottom tread, holding his breath and peering into the gloom. Over in the far corner, something moved… or was he imagining things? No, something did move. Chris was sure of it. He swallowed. He wished he had stayed at home.

In the end, it’s up to you. You’re the author. You know how you want the reader to interpret your words. Just keep telling yourself: “Make it smooth!”

(c) Copyright Marg McAlister

Marg McAlister has published magazine articles, short stories, books for children, ezines, promotional material, sales letters and web content. She has written 5 distance education courses on writing, and her online help for writers is popular all over the world. Sign up for her regular writers’ tipsheet at http://www.writing4success.com/