05.公钥密码学

  有公钥和秘钥,之前的被称为私钥密码学,都是基于代换和置换这两个基本工具。而公钥密码体制则为密码学的发展提供了新的理论和技术基础,一方面公钥密码算法的基本工具不再是代换和置换,而是数学函数;另一方面公钥密码算法是以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。公钥密码又称为双钥密码和非对称密码。

  公钥密码体制的概念是在解决单钥密码体制中最难解决的两个问题时提出的,这两个问题是密钥分配和数字签字。

  单钥密码体制在进行密钥分配时, 要求通信双方或者已经有一个共享的密钥,或者可籍助于一个密钥分配中心。对第一个要求,常常可用人工方式传送双方最初共享的密钥,这种方法成本很高,而且还完全依赖信使的可靠性。第二个要求则完全依赖于密钥分配中心的可靠性。

  第二个问题数字签字考虑的是如何为数字化的消息或文件提供一种类似于为书面文件手书签字的方法。

  公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,称为公开密钥,简称公开钥,用于加密;另一个密钥是为用户专用,因而是保密的,称为秘密密钥,简称秘密钥,用于解密。因此公钥密码体制也称为双钥密码体制。算法有以下重要特性: 已知密码算法和加密密钥,求解密密钥在计算上是不可行的。


05.公钥密码学_第1张图片
公钥体制机密

加密过程有以下几步:

① 要求接收消息的端系统,产生一对用来加密和解密的密钥,如图中的接收者B,产生一对密钥PKB,SKB,其中PKB是公开钥,SKB是秘密钥。

② 端系统B将加密密钥(如图中的PKB)予以公开。另一密钥则被保密(图中的SKB)。

③ A要想向B发送消息m,则使用B的公开钥加密m,表示为c=EPKB[m],其中c是密文,E是加密算法。

④ B收到密文c后,用自己的秘密钥SKB解密,表示为m=DSKB[c],其中D是解密算法。

对于公钥秘钥,我们需要构造如下函数

单向陷门函数是满足下列条件的函数f:

(1)    给定x,计算y=f(x)是容易的;

(2)    给定y,  计算x使x=f(y)是困难的。

(3)    存在δ,已知δ 时,对给定的任何y,若相应的x存在,则计算x使x=f(y)是容易的。

它有以下特点:

1.仅满足(1),(2)两条的称为单向函数,第(3)条称为陷门性,δ称为陷门信息

2.当用陷门函数函数f作为加密函数时,可将f公开,这相当于公开加密密码,此时加密密钥便称为公开钥,记为Pk,f函数的设计者将δ保密,用作解密密钥,此时δ称为秘密钥匙记为Sk,由于加密函数时公开的,任何人都可以将信息x加密成y=f(x),然后送给函数的设计者(当然可以通过不安全信道传送);由于设计者拥有Sk,他自然可以解出x=f(y)逆

模运算:a=qn+r, 0<=r

如果(a mod n)=(b mod n),则称两整数a和b模n同余,记为a≡b mod n

模8运算:设Z8={0,1,…,7},考虑Z8上的模加法和模乘法

05.公钥密码学_第2张图片


05.公钥密码学_第3张图片
模8


05.公钥密码学_第4张图片


05.公钥密码学_第5张图片

你可能感兴趣的:(05.公钥密码学)