.Client-Side Text Encryption Utility in Javascript

Закрито Опубліковано %project.relative_time Оплачується при отриманні
Закрито Оплачується при отриманні

This project calls for the development of a robust client-side encryption solution written entirely in Javascript.

This is a great challenge for true programmers, especially those interested in cryptography. There are some potential starting points, including some freely available code at the following site: [url removed, login to view]

Essentially, we're looking for an even more robust solution than is offered at that site. Plus, we want a solution that can be set to encrypt at different levels of encryption to accommodate different applications on different platforms. We like the idea of using ARCfour, but are open to other proven algorithms and methods.

**Intended Use:

**Users will input text into a textarea. That text will then be encrypted using a key code or password (any combination of numbers and text). The encrypted text will be placed in another textarea box, then decrypted.

Bidders should provide a basic conceptual outline of their proposed approach, and comment on cryptography expertise - we'll consider higher bids for more sophisticated solutions with the experience to implement them.

Please feel free to ask questions about this project.

## Deliverables

**Data to be Encrypted/Decrypted:

**It must encrypt and decrypt small to large amounts of data entered into textarea boxes of an HTML form. It needs to preserve all line returns and spaces. It does not need to be able to handle rich text or binary text as all output will be displayed in textarea boxes only. The text may be typed in by users, or cut and pasted from a website or text file. If possible, it will also handle text cut and pasted from Microsoft Word (although there are known challenges with that).

We expect the system to be able to encrypt/decrypt strings of from 20 characters and up to 40,000 characters (including spaces) in a reasonable amount of time.

**Proposed Strength of Encryption:

**We would like a 4-tier system of encryption options, each selectable by the user via a checkbox prior to initiating encryption. We propose the following range as targets, but will be reasonable if the high end cannot be attained:

160-bit minimum

228-bit low

512-bit high

1024-bit maximum

**Some Benchmarks for Encryption:

**Assuming a typical Windows XP client with 500 mb RAM using IE the following performance would be expected.

200 characters at highest encryption: max. 2 seconds.

10,000 characters at highest encryption: max. 10 seconds

40,000 characters at highest encryption: max. 30 seconds

Overall, we want stronger and faster, but recognize the tradeoffs. That's why we want a 4-tier system so the strength of the encryption can vary depending on the amount of data and processing power available. We don't mind that users will have to wait some reasonable period of time for the encryption process to finish. In fact, if it finishes too fast on smaller amounts of data we'll probably end up putting a delay on it. High-level encryption/decrypton on low-end machines should not cause crashing or lock-up, but may certainly have a longer cycle than high-end machines.

Note: decryption times should be consistent with encryption times

**More About the Key Code:

**This is the word or phrase consisting of text and/or numbers that is entered by users. It can be up to 50 characters. The length and complexity of the key code is the major potential weakness, so steps must be take to ensure that even a simple key code like the word "test" can be rendered into a complex value in order to sure a high-strength encryption. In the ARCFour project mentioned above, a hash is created, and padding is used, but there are several possible strategies that need to be considered.

**Deliverables:

**1) Two separate javascript files, one containing all code for encrypting, the other containing all code for decrypting, capable of encrypting and decrypting non-binary text has indicated in the requirments.

2) A simple html form with two textareas, in which sample text can be encrypted and decrypted. It should require no server-side scripting. The form should also contain test boxes that capture and display the output of the encryption and decryption process at various stages (e.g., the hash, the salt, the number of blocks encrypted, etc.) It would be preferable if it also displayed a progress bar in a small pop-up window, or through some form element. It should also include encryption strength checkbox options.

3) Basic documentation of the code through inline commenting, and any important details in a separate text file.

**Copyright Requirements:**

Exclusive and complete copyrights to all work purchased.

**Comments:

**Willing to work with the developer to consider alternative solutions appropriate for our specific application.

## Platform

**Must be written in Client-Side Javascript:

**ECMA-compliant, and compliant with Javascript 1.5 and backward compatible to 1.2 (will settle for 1.3) This also means JScript compliant in appropriate IE versions. Will consider tradeoffs in compatiblity vs. functionality based on consultation and our approval. We recognize the need to balance the following:

- processing power of the client machine

- amount of data being encrypted

- reasonable processing duration (wait time)

- cross-platform/cross-browser issues

**Must work in the following browser versions:**

IE 5.0+

Netscape 7.0+

Opera 7+

Mozilla 1.6+

Must work in both of IE 5+ and Netscape 7.0+ running on the following O/S:

Windows 98/NT/2000/XP/ME

MAC OSX

Linux 7.2+

Will consider tradeoffs in compatiblity vs. functionality based on consultation and our approval.

Odd Jobs

ID Проекту: #3095430

Про проект

4 заявок(-ки) Дистанційний проект Остання активність Feb 27, 2004

4 фрілансерів(-и) готові виконати цю роботу у середньому за $276

lvmvw

See private message.

$425 USD за 30 дні(-в)
(0 відгуків(и))
0.0
rjwillder

See private message.

$85 USD за 30 дні(-в)
(0 відгуків(и))
0.0
markpalio

See private message.

$425 USD за 30 дні(-в)
(0 відгуків(и))
0.0
jspsenthilvw

See private message.

$170 USD за 30 дні(-в)
(0 відгуків(и))
0.0