简单RSA公钥系统

建议直接看离散数学及其应用第7版原文

信息安全的需求

在通信中必须考虑信息的安全性,因此密码学应运而生

密码系统

一个密码系统是5元组
G = ( P , C , K , ϵ , D ) G=(P,C,K,\epsilon,D) G=(P,C,K,ϵ,D)
其中,P表示明文集合,即原信息,C表示密文集,即加密后的信息,K表示密钥(key)集合,即所有可能的密钥,epsilon表示加密函数,D表示解密函数,所谓K密钥,指的是加密或解密函数需要的参数,是加密或解密的关键,按照密钥的类型,可以分为私钥系统公钥系统

几个概念

字符密码表示对信息的加密是一一对应的,字符密码的缺点是容易被分析字符频率而被破解

分组密码表示对信息加密是以组为单位

私钥系统

私钥系统指的是加密密钥等同于解密密钥,因此为了信息的安全和传达,密钥必须由私人保存,即沟通者之间。

几种私钥系统

移位密码

例如凯撒密码

仿射密码
换位密码

想要提高私钥密码的安全性,需要提高私钥密码的设计标准(不理解),书中例举美国复杂的加密标准,但是私钥密码的性质决定了存在通信密钥的过程

公钥系统

为了解决通信密钥导致的安全问题,设计出了公钥系统,该系统中,加密密钥属于公钥,解密密钥属于私钥,原理是依靠目前计算机计算性能的限制,使解密计算变为不可能,最早的公钥系统是RSA密码系统,同时公钥系统的设计可以实现安全的密钥交换数字签名

数论

由于RSA的设计涉及数论,需要先了解一些数论知识(群、环)

群公理

群是二元组集合V,二元运算·构成
G = ( V , ⋅ ) G=(V,·) G=(V,)
群满足群公理

1.集合V上的计算是封闭的,即任意的运算结果仍在集合V

2.计算满足结合律

3.对于每个群,存在一个单位元e,并且满足
∀ a ∈ V ,   a ⋅ e = e ⋅ a = a \forall a \in V, \ a·e=e·a=a aV, ae=ea=a
4.对于V中的任意元素
∀ a ∈ V ,   ∃ b → a ⋅ b = e \forall a \in V, \ \exist b \rightarrow a·b=e aV, bab=e
对于接下来讨论的整除和模运算都是整数集上一个群

整除和模运算

整除讨论的是没有余数的除法
KaTeX parse error: Undefined control sequence: \and at position 14: if\ a \neq0 \̲a̲n̲d̲ ̲b=ka,k\in Z \lo…
而模运算则是不关心商的除法
KaTeX parse error: Undefined control sequence: \and at position 18: …f \ a = pm+q \ \̲a̲n̲d̲ ̲q\neq0 \longrig…
在证明接下里讨论的整除和模运算的基本运算性质时,基本是将mod|形式转化为等式的形式进行讨论

整除基本运算性质

KaTeX parse error: Undefined control sequence: \and at position 19: …)\ if\ a | b \ \̲a̲n̲d̲ ̲\ a | c \ \long…

模运算的一些基本性质

( a + b )   m o d = ( a   m o d   m ) + ( b   m o d   m ) a b   m o d   m = ( ( a   m o d   m ) ∗ ( b   m o d   m ) )   m o d   m 观 察 以 上 两 式 猜 测   m o d   是 线 性 算 子 (a + b) \ mod = (a\ mod\ m) + (b\ mod\ m) \\ ab\ mod\ m = ((a\ mod\ m)*(b\ mod\ m))\ mod\ m \\ 观察以上两式猜测\ mod\ 是线性算子 \\ (a+b) mod=(a mod m)+(b mod m)ab mo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值