加密算法的两种基本操作是什么

代替(substitution)和置换(permutatuion)是两种基本的加密运复算。制
代替是指对标准书写符号的修改,如恺撒密码,将英文字母a用d代替,b用e代替,以此类推,再比如《高卢记》中记载的加密算法,将罗马字母用希腊字母替换。
置换是指改变明文字符的排列方式。如古代斯巴达人将写着字的羊皮缠在木棍上,再从木棍的方向读出,相当于横着写,竖着读,改变明文字母的排列顺序。
最原始的加密算法往往就是单个的代替或者置换操作,随着人类对密码学的深入研究,这样简单的运算已经不能满足安全性需求,因为破译它们极其容易。但人们发现,使用简单运算来构造复杂算法,可以形成安全性较高的加密算法。事实上,从本质上讲,所有的加密算法,无论是数据加密标准DES,高级加密标准AES,还是公钥密码算法RSA,它们都可以归结为这两种运算的复合运算。

㈡ 一个RSA算法的加密运算,需要完整的演算过程。

我来回答你可以闭帖了,呵呵
看你题洞睁目的意思就是打算把republic这个词按照你的方法装换成数字例如是:X
p=3,q=11
n=p*q=33
t=(p-1)*(q-1)=20
取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1)
我们可以取e=7
要求d*e%t==1(D*e除以t取余等于1),我们可以找到D=3
此时我们就有了三个数
n=33
d=3 公钥
e=7 私钥

设消息为数M (M <n)
设c=(M**d)%n就得到了加密后的消息c
设m=(c**e)%n则 m == M,从而完成对c的解密。
注:**表示次方,上面两式中的d和e可以互换。

我们可以对republic词按照你的方法装换成数字:X一位一位的加密。
加入X的第一位是6(别的同理)
则:M = 6
加密时:(c为加密后的数字)
c=(M**d)%n=(6^3)%33=216%33=18(商6余18),则6加密后就是18了
解密时:
设m=(c**e)%n则 m == M,
(18^7)%33=612220032%33=6(商18552122余6)
到此加密解密完成。
至于怎么把republic装换成X,把X装分成多少部分进行分批加密,你举枯可以自己决定。但是加密的数字M 需要小于n

如果需要给你写个程序,留个Email,我空的时候写个发给你。

我个人给你个方法,因为n=33 >26(26个英文字母),所以可以把republic分成一个字母一个字母的加密。
按你的分发 REP 就分成数字
18 05 16
加密
(18^3)%33=5832%33= 24
(05^3)%33=125%33= 26
(16^3)%33=%33= 4
所以加密后纳答岁就是
24 26 04 转换成字母就是 XZD
解密
(24^7)%33=4586471424%33=18
(26^7)%33=8031810176%33=05
(4^7)%33=16384%33=16
又变成 18 05 16 转换成字母就是 REP
是不是很简单啊~~

我如果不懂。空间里面有片文章,你可以看看,就知道我上面讲的那些是什么意思了。

RSA算法举例说明
http://hi..com/lsgo/blog/item/5fd0da24d495666834a80fb8.html