cs1 6序列号(cs 1.6的序列号)
在对称密码中,由于加密和解密的密钥是相同的,因此必须将密钥分配给接收器。解密的密钥必须分配给接收器,这被称为密钥分配问题。如果使用非对称加密也可以称为公钥密码,则无需将解密的密钥分配给接收器,从而解决了密钥分配问题。非对称加密是密码学历史上最伟大的发明。
在不对称加密中,密钥分为加密密钥和解密钥。发送人使用加密钥加密信息,接收人使用解密钥解密文本。了解公钥密码,区分加密钥和解密钥是非常重要的。加密钥是在发送人加密时使用的,而解密钥是在接收人解密时使用的。
仔细考虑加密钥和解密钥的区别,我们可以发现:
发送者只需要加密钥匙
cs1 6序列号
接收者只需要解密钥匙
解密钥不能被窃听者获得
窃听者获得加密密钥没有问题
也就是说,解密钥从一开始就由接收者自己保管,所以只要发送给发送者,就可以解决密钥配送问题,根本不需要发送解密钥。
在非对称加密中,加密钥通常是开放的。正是因为加密钥可以随意打开,所以这个密钥被称为公钥(publickey)。公钥可以通过电子邮件直接发送给接收者,也可以发布在报纸的广告牌上,在街上做一个看板,或者把网页公开给世界上的任何人,而不用担心被窃听者偷走。
当然,我们不需要向世界上所有的人公开公钥,但至少我们需要将公钥发送给需要使用公钥加密的通信对象(即向自己发送密文的发送者)。
相对而言,解密钥不能公开。这个密钥只能由你自己使用,所以它被称为私钥(privatekey)。私钥不能被别人知道,也不能发送给别人,甚至不能发送给自己的通信对象。
公钥和私钥一一对应,一对公钥和私钥统称为密钥对应(keypair)。公钥加密的密文必须与公钥匹配才能解密。密钥与中间的两个密钥(数学关系)密切相关,因此公钥和私钥不能单独生成。
公钥密码的用户需要生成包括公钥和私钥在内的密钥对,其中公钥将发送给他人,而私钥仅供自己使用。稍后,我们将尝试生成密钥对。
窃听者Eve可能有Bob公钥,但Bob公钥只是加密密钥而不是解密密钥,因此窃听者Eve无法完成解密操作。
非对称加密密钥分为加密密钥和解密钥,但这是怎么做到的呢?在本节中,我们将解释使用最广泛的公钥密码算法。
RSA是一种由RonRivesttttt三位开发者命名的非对称加密算法、AdishamirLeonardAdleman 由姓氏的首字母组成(Rivest-Shamir-Leonard)。
RSA可用于非对称加密和数字签名。
RSA公司于1983年在美国为RSA算法获得专利,但现在已经过期。
现在我们终于可以谈谈非对称加密的代表RSA的加密过程了。在RSA中,明文、密钥和密文都是数字。RSA的加密过程可以用以下公式表示,如下。
也就是说,RSA的密文是代表明文数字的E次方modn的结果。换句话说,明文是E次乘法,然后将其结果除以N求余数。这个余数是密文。
就这么简单?
是的,就这么简单。只需乘客计算明文并要求mod,这是整个加密过程。在对称密码中,有许多复杂的函数和操作,就像制作炸鸡蛋一样,移动比特序列,完成XOR(根据位置或),但RSA不同,非常简单。
顺便说一句,加密公式中的两个数字是什么?RSA的加密是明确的E次方modn,所以只要你知道E和N的数字,任何人都可以完成加密操作。因此,E和N是RSA加密的密钥,也就是说,E和N的组合是公钥。
然而,E和N不是任何数字都可以的,它们是经过严格计算的。顺便说一句,E是加密的(Encryption)N是数字的首字母(Number)的首字母。
有一个很容易引起误解的地方需要注意,E和N不是密钥对(公钥和私钥对)。E和N形成了一个公钥,所以我们通常把它写成 “公钥是(E,N)” 或者 “公钥是{E, N}" 以这种形式,用括号包括E和N。
现在我们应该知道RSA的加密是 接下来我们来看看RSA的解密。
RSA的解密和加密一样简单,可以用以下公式来表达:
也就是说,表示密文数字的D次方要求modn可以得到明文。换句话说,如果密文自己做D次乘法,结果除以N余数,就可以得到明文。
这里使用的数字N与加密时使用的数字N相同。数D和数N的组合是RSA的解密钥,所以D和N的组合是私钥。只有知道D和N的人才能完成解密操作。
每个人都应该注意到,在RSA中,加密和解密的形式是相同的。加密是要求的 “E次方的mod N而解密则是求 “D次方的modn”,真是太棒了。
当然,D不是任何数字都可以的。作为解密钥,D与数字E密切相关。否则,无法实现用E加密结果用D解密的机制。
对了,D是解密的。〈Decryption)N是数字的首字母(Number)的首字母。
让我们整理一下上面提到的内容,如下表所示。
生成私钥操作流程概述使用rsa中的GenerateKey方法生成私钥,通过x509标准将获得的ras私钥序列化为ASN.1 的 DER编码字符串将私钥字符串设置为pem格式块,通过pem对设置好的数据进行编码, 并在磁盘文件中写入
生成公钥操作流程从获得的私钥对象中取出公钥信息,通过x509标准将获得的rsa公钥序列化为字符串,将公钥字符串设置为pem格式块,通过pem编码设置的数据, 并写入磁盘文件
生成公钥和私钥的源代码
读出公钥文件中的公钥, 使用pem编码的字符串解码获得的字符串,使用x509解析编码后的公钥。使用的公钥通过rsa数据加密读取私钥文件中的私钥, 使用pem编码的字符串解码获得的字符串,使用x509解析编码后的私钥,使用的私钥通过rsa解密