详解RSA加密算法

您所在的位置:网站首页 公开密钥密码体制的含义是啥 详解RSA加密算法

详解RSA加密算法

2024-07-11 22:29| 来源: 网络整理| 查看: 265

目录

一.什么是RSA算法

二.RSA算法的算法原理

算法描述

三.RSA算法安全性

四.RSA算法的速度

五.用java实现RSA算法

一.什么是RSA算法 1976年,Diffie和Hellman在文章“密码学新方向(New Direction in Cryptography)”中首次提出了公开密钥密码体制的思想,1977年,Rivest、Shamir和Adleman三个人实现了公开密钥密码体制,现在称为RSA公开密钥体制,它是第一个既能用于数据加密也能用于数字签名的算法。这种算法易于理解和操作,算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir和Leonard Adleman 在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK,正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密算法方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要 RSA是被研究得最广泛的公钥算法,从提出后经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。1983年麻省理工在美国为RSA算法申请了专利 二.RSA算法的算法原理 RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥 算法描述 任意选取两个不同的 大素数p 和 q 计算乘积 n=pq 并且计算小于n并且与n互质的整数的个数,即欧拉函数任意选取一个大整数e,满足​​​​​​​,整数e用做加密钥(注意:e的选取是很容易的,例如,所有大于p和q的素数都可用)确定的解密钥d,满足,其中 k 是一个任意的大于等于 0 的整数;所以,若知道 e 和,则很容易计算出 d公开整数n和e,秘密保存d将明文 m (m


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3