结构推理 对“HI”进行加密:
【正确答案】A是发送方,B是接收方。可以用编码机制编码字母:A=01,B=02,…,Z=26。假设用这个机制编码字母,那么其工作如下,发送方A要向接收方B发送两个字母H和I。利用RSA算法,字母H和I的编码如下:则明文HI=0809。
   (1)用字母编号机制(如A=1,B=2,…,Z=26),这里F为6,因此首先将F编码为6。
   (2)选择密钥
   1)选择两个素数P=5,Q=11。
   2)计算N=P*Q=55。
   3)选择一个公钥E=3,私钥D=27。
   (3)加密
   设明文编码为:空格=00,A=01,B=02,…,Z=26,则明文HI=0809。
   C1=(08)3mod 55=512 mod 55=17
   C2=(09)3mod 55=729 mod 55=14
   N=14,Q=17
   所以,密文为“QN”。
   (4)解密(恢复明文)
   M1=Cd=(17)27mod 55=08
   M2=Cd=(14)27mod 55=09
   因此明文为“HI”。
   可以看出RSA算法本身很简单,关键是选择正确的密钥。假设B要接收A的保密消息,则要生成私钥(D)和公钥(E),然后将公钥和数字N发给A。A用E和N加密消息,然后将加密的消息发给B。B用私钥(D)解密消息。既然B能计算和求出D,别人也能计算和求出D,但并不容易,这就是RSA的关键所在。
【答案解析】