`

RSA Algorithm Javascript Page

阅读更多

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.

分享到:
评论

相关推荐

    rsa.zip_RSA Algorithm vhdl_RSA FPGA verilog_RSA HDL_RSA VHDL_RSA

    FORFPGA IMPLEMENTATION OF RSA ALGORITHM USING HDL

    MIMO.rar_DES rsa_des_rsa_rsa algorithm

    **MIMO.rar_DES_rsa_des_rsa_algorithm** 在IT领域,数据加密是保护信息安全的重要手段,而RSA算法和DES算法正是其中的两种经典方法。本文将深入探讨这两种加密算法及其在数据加密与解密中的应用。 **DES(Data ...

    RSA.rar_RSA MATLAB _rsa_rsa algorithm_rsa算法的matlab_信息安全

    标签中提到的"rsa_algorithm rsa算法的matlab"表明这是一个关于RSA算法的MATLAB实现教程,可以帮助学习者掌握如何在实际编程中应用RSA。而“信息安全”则强调了这一技术在保护数据安全方面的重要性。 总结来说,RSA...

    RSA.rar_in_rsa_rsa algorithm_rsa python

    RSA算法是一种非对称加密算法,它在信息安全领域有着广泛的应用,例如数字签名、数据加密等。本项目是关于RSA算法的Python实现,通过提供的压缩包文件,我们可以深入理解RSA的工作原理及其Python实现细节。 首先,...

    RSA.zip_RSA MATLAB _The Image_image RSA matlab_rsa_rsa algorithm

    RSA算法是一种非对称加密技术,它在信息安全领域扮演着重要的角色,特别是在图像处理中。在MATLAB环境中,我们可以利用其强大的数学计算能力来实现RSA的算法细节。这个"RSA.zip"压缩包显然包含了与RSA算法在图像处理...

    RSA.rar_RSA demo_RSA算法_java 加密_rsa algorithm

    **RSA算法详解** RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman三位科学家于1977年提出,因其名字取自三位发明者姓氏的首字母而得名。它在信息安全领域中扮演着重要的角色,尤其在数据加密...

    rsa.java.rar_RSA algorithm java_RSA.java_RSA算法_java RSA_rsa java

    RSA算法是一种非对称加密算法,它在信息安全领域有着广泛的应用,如数字签名、数据加密等。这个RAR压缩包提供的是一个Java实现的RSA算法示例,名为"rsa.java",适合开发者参考学习。 RSA算法的核心原理是基于两个大...

    rsa.rar_Agent_NS2 agent_RSA algorithm in NS2_rsa for ns2_rsa in

    RSA算法在NS2中的应用 RSA(Rivest-Shamir-Adleman)是一种非对称加密算法,广泛应用于网络安全领域,如数字签名、数据加密等。在NS2(Network Simulator 2)中,RSA算法可以用于模拟网络中节点之间的安全通信,...

    RSA通过javascript加密java解密

    在“RSA通过javascript加密java解密”的场景中,我们有两个主要的技术点:JavaScript端的加密和Java端的解密。以下是对这两个环节的详细说明: 1. JavaScript端的RSA加密: - 使用库:JavaScript中常见的RSA加密库...

    JavaScript RSA等各种加密

    https://github.com/digitalbazaar/forge 编译后的文件

    javascript 编写的RSA算法

    JAVASCRIPT实现的使用RSA密钥对加密解密以及产生密钥对 JAVASCRIPT using RSA key implementation and the generation of encryption and decryption key pair

    JavaScript_RSA加解密+分段加解密.zip

    使用RSA非对称加密完成JavaScript前端RSA加密和分段加解密,最近研究了RSA非对称加密,关于什么是RSA,网上各种文章一搜一大把,但是关于如何使用RSA完成前端的组合加密解密,东西就非常少了,并且由于RSA的特性,一...

    RSA.rar_C rsa_RSA 文件_algorithm rsa_c RSA_rsa

    RSA算法是一种非对称加密算法,它在信息安全领域有着广泛的应用,例如数字签名、数据加密等。本项目是使用C++实现的RSA算法,能够从文件读取明文,然后将其加密并写入到指定的文件中。以下是关于RSA算法及其相关实现...

    Algorithm-RSA.zip

    RSA算法是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,因此得名RSA。这种算法在信息安全领域扮演着重要的角色,尤其在数字签名、数据加密和网络安全通信等方面广泛应用。 在RSA...

    js4rsa 基于javascript的ecc签名验签

    总结来说,这个压缩包提供了一套JavaScript实现的ECC签名和验证解决方案,包括了与X.509证书、ASN.1编码、RSA兼容性的支持,以及一个基于ECC的SM2算法示例。这使得开发人员能够在浏览器环境中进行安全的非对称加密...

    RSA 使用java 和javascript进行加解密

    在Web开发中,由于浏览器端不支持Java,而JavaScript则可以在客户端运行,因此,使用RSA在Java后端生成密钥对,并将公钥传递给JavaScript前端进行加密,再将加密后的数据发送回服务器,由Java后端使用私钥解密,是...

    爬行动物搜索算法 Reptile Search Algorithm RSA 2021

    爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm RSA 2021 爬行动物搜索算法 Reptile Search Algorithm ...

    js库RSA加密 .net Javascript 可用

    用javascript进行RSA加密并用C#后台接收解码。 /// /// 产生一组RSA公钥、私钥 /// /// &lt;returns&gt;&lt;/returns&gt; public static Dictionary, string&gt; CreateRsaKeyPair() { var keyPair = new Dictionary, ...

    JavaScript实现RSA加密和解密

    JavaScript实现RSA加密和解密

    rsa_algorithm.rar_RSA密钥_rsa_rsa加密算法实现

    RSA算法是一种非对称加密算法,它在信息安全领域扮演着重要的角色,特别是在数据加密、数字签名和安全网络通信中。该算法由Ron Rivest、Adi Shamir和Leonard Adleman于1977年提出,因此得名RSA。 在RSA算法中,密钥...

Global site tag (gtag.js) - Google Analytics