RSA Algorithm Javascript Page
Welcome to the cryptography home (designed by Cary Sullivan and Rummy Makmur.) We have designed a model of RSA public-key cryptosystem. Following a brief background and description, you can ask another person to encrypt a "message"( actually a letter) and let you decrypt it, using your computer-generated private key. Enjoy. If you have any comments, do not hesitate to contact us.
INTRODUCTION TO RSA
RSA is a public-key cryptosystem developed by MIT professors: Ronald L. Rivest, Adi Shamir, and Leonard M. Adleman in 1977 in an effort to help ensure internet security. As Steve Burnett of RSA Data Security, Inc. described it, a cryptosystem is simply an algorithm that can convert input data into something unrecognizable (encryption), and convert the unrecognizable data back to its original form (decryption).
To encrypt data, enter the data ("plaintext") and an encryption key to the encryption portion of the algorithm. To decrypt the "ciphertext," a proper decryption key is used at the decryption portion of the algorithm. Those keys, which contains simply a string of numbers, are called public key and private key, respectively. For example, suppose Alice intends to send e-mail to Bob. Through a public-key directory, she finds his public key. Then, she encrypts her message using the key and send it to Bob. This public key, however, will not decrypt the ciphertext. Knowledge of Bob's public key will not help an eavesdropper. In order for Bob to decrypt his ciphertext, he must use his private key. If Bob wants to respond to Alice, he encrypts his message using her public key.
The challenge of public-key cryptography is developing a system in which it is impossible to determine the private key. This is accomplished through the use of a one-way function. With a one-way function, it is relatively easy to compute a result given some input values. However, it is extremely difficult, nearly impossible, to determine the original values if you start with the result. In mathematical terms, given x, computing f(x) is easy, but given f(x), computing x is nearly impossible. The one-way function used in RSA is multiplication of prime numbers. It is easy to multiply two big prime numbers, but for most very large primes, it is exremely time-consuming to factor them. Public-key cryptography uses this function by building a cryptosystem which uses two large primes to build the private key and the product of those primes to build the public key.
The Model
RSA uses modular arithmatic and elementary number theory to do certain computation. Before you start, please make sure you understand how it works. And, also remember, our model is nothing compared to the REAL RSA algorithm which involves two LARGE primes and messages of unconditional length. In our model, VERY small primes are used and only one letter will be encrypted.
Instructions:
- This model is best carried out by two persons. Name them Alice and Bob.
|
这个模型最好有两个人执行,一个叫Alice,一个叫Bob |
- Alice will pick two available primes. Public and private keys will be generated by computer.
|
Alice产生两个素数。公开钥匙和私有钥匙由计算机产生。 |
- Record the public key containing the exponent value, E and the product of the primes, N. And, record the private key, D.
|
记录的公开钥匙包含指数值E,和生成的素数N。并且记录私有钥匙D。 |
- Give E and N to Bob (your partner).
|
把E和N给Bob。 |
- Bob will go to another page to pick a letter to encrypt. Enter E and N. The encrypted message / number will be generated.
|
Bob将找出一个要加密的字母。并键入E和N。生成加密后的数据。 |
- Bob will send or give the encrypted message to Alice.
|
Bob将把加密的数据传给Alice。 |
- Alice will go to decryption page. Enter the message, D and N. The message will be decrypted to the original letter. Later, Alice can check with Bob to see if it is the right letter.
|
Alice进入解密页。键入Bob传来的数据、D和N。这个数据将解密成原始的字母。 |
Remember, the main purpose of this model is understanding the RSA algorithm, not necessarily for encryption purpose. A lot of simplification has been made, while the mathematics and algorithm stay the same. So, ENJOY !
Now, proceed to: key generation page, encryption page, or decryption page.
For more information about RSA algorithm, check out RSA homepage.
sullivca@ucs.orst.edu
makmur@flop.engr.orst.edu
This is page is created on June 12, 1996.
<script></script>
Last updated on 07/11/2009 13:10:30.
分享到:
相关推荐
FORFPGA IMPLEMENTATION OF RSA ALGORITHM USING HDL
very usefull code regarding the rsa algorithm in image processing.
RSA DES algorithm to encript and decrypt data
it is a rsa algorithm agent programme in cpp for ns2
Implementation of RSA in python
RSA算法的编程与实现 信息安全的标准实现
rsa算法演示,运用数论知识和经典的RSA算法,可生成超长的密钥,对文件经行加密,解密的演示。当时的开发环境是JCreator 3.50。
java版的RSA算法,可以供参考使用。你可以试试哦
RSA通过javascript加密java解密
RSA Algorithm in a Nut Shell
https://github.com/digitalbazaar/forge 编译后的文件
JAVASCRIPT实现的使用RSA密钥对加密解密以及产生密钥对 JAVASCRIPT using RSA key implementation and the generation of encryption and decryption key pair
Algorithm-RSA.zip,rsa密码算法的简单实现,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
使用RSA非对称加密完成JavaScript前端RSA加密和分段加解密,最近研究了RSA非对称加密,关于什么是RSA,网上各种文章一搜一大把,但是关于如何使用RSA完成前端的组合加密解密,东西就非常少了,并且由于RSA的特性,一...
爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm ...
RSA 使用java 和javascript进行加解密
用c++编写的RSA算法。从文件读入明文,并将密文写入指定文件。所有源文件齐备,测试通过。
RSA_Encryption_Algorithm 使用python实现RSA加密算法 RSA加密过程: 1.随机生成两个大质数p,q 2.工业标准的公钥一般取e=65537,令n=p*q,s=(p-1)(q-1),取e对于s的模反元素d,由n与e组成公钥[n,e]用于加密,由n与d组成...
RSA algorithm implementation
rsa加密的验证和实现以及获取密钥的随机算法