导航:首页 > 源码编译 > 加密算法编程

加密算法编程

发布时间:2023-06-02 04:05:11

① 懂MATLAB和AES加密算法的高手来帮我!怎么用MATLAB语言编程AES加密算法

加密过程为:C=Ek3(Dk2(Ek1(P)))

3DES解密过程为:P=Dk1((EK2(Dk3(C)))

具体的加/解密过程如图2所示。K1、K2、K3决定了算法的安全性,若三个密钥互不相同,本质上就相当于用一个长为168位的密钥进行加密。多年来,它在对付强力攻击时是比较安全的。若数据对安全性要求不那么高,K1可以等于K3。在这种情况下,密钥的有效长度为112位。

② c语言编写的程序,在输入密码时,如何加密

加密和解密算法是程序编制中的重要一环。试想,如果我们平时使用的腾讯QQ、支付宝支付密码、今日头条账号密码那么轻易就被别人盗取的话,很多不可以预料的事情就会发生!

在现实生活中,我们遇到过太多QQ密码被盗取的情况,有的朋友QQ被盗之后,骗子利用朋友间信任骗取钱财的事情屡见不鲜。支付宝也曾出现过支付宝账户被恶意盗取的事件,对用户利益造成了严重损害!这些在技术上都指向了同一相关问题:软件加密算法的强壮程度。今天,小编利用C语言来简单实现一种加密方法。下面是源代码。

需要说明:程序利用了ascii码值的按照一定规律变换实现加密,对于解密过程,则是加密的逆过程。下面是程序的运行结果。

4190阅读
搜索
编程免费课程300节
初学编程100个代码
java自学一般要学多久
5秒破解excel密码
python必背100源代码
40岁零基础学编程

③ 一个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

④ c++密码加密算法

加密解密是一样的,都可用以下程序:
#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main()
{
int i=0;
char MingText[1024], MiText[1024];
printf("请输入明文:");
gets(MingText);
while(MingText[i])
{
if(isupper(MingText[i]))
{
MiText[i]='Z'-(MingText[i]-'A');
}
else if(islower(MingText[i]))
{
MiText[i]='z'-(MingText[i]-'a');
}
else MiText[i]=MingText[i];
i++;
}
MiText[i]=0;
printf("密文为:");
puts(MiText);
return 0;
}

⑤ 求一个用java编写的可逆的加密算法程序,自己写的小程序也行。

public class mySecurity {
private static KeyGenerator keygen ;
private static SecretKey secretKey;
private static Cipher cipher;
private static mySecurity security = null;

private mySecurity(){
}
public static mySecurity getInstance() throws Exception{
if(security == null){
security = new mySecurity();
keygen = KeyGenerator.getInstance("AES");
secretKey = keygen.generateKey();
cipher =Cipher.getInstance("AES");
}
return security;
}

//加密
public String encrypt(String str) throws Exception{
cipher.init(Cipher.ENCRYPT_MODE,secretKey);

byte [] src = str.getBytes(); byte [] enc = cipher.doFinal(src);
return parseByte2HexStr(enc); }
//解密
public String decrypt(String str) throws Exception{
cipher.init(Cipher.DECRYPT_MODE,secretKey);

byte[] enc = parseHexStr2Byte(str); byte [] dec = cipher.doFinal(enc);
return new String(dec); }
/**将16进制转换为二进制
* @param hexStr
* @return
*/
public static byte[] parseHexStr2Byte(String hexStr) {
if (hexStr.length() < 1)
return null;
byte[] result = new byte[hexStr.length()/2];
for (int i = 0;i< hexStr.length()/2; i++) {
int high = Integer.parseInt(hexStr.substring(i*2, i*2+1), 16);
int low = Integer.parseInt(hexStr.substring(i*2+1, i*2+2), 16);
result[i] = (byte) (high * 16 + low);
}
return result;
}

/**将二进制转换成16进制
* @param buf
* @return
*/
public static String parseByte2HexStr(byte buf[]) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < buf.length; i++) {
String hex = Integer.toHexString(buf[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
sb.append(hex.toUpperCase());
}
return sb.toString();
}

public static void main(String[] args) throws Exception{
String str = "abc haha 我";
String ss = mySecurity.getInstance().encrypt(str) ;
System.out.println(ss);
System.out.println(mySecurity.getInstance().decrypt(ss));

}
}

阅读全文

与加密算法编程相关的资料

热点内容
午马全部电影名字韩剧 浏览:572
命令方块如何喷方块 浏览:609
程序员都年薪几十万吗 浏览:211
台湾电影补课老师,强上女学生电影叫什么 浏览:132
浏览器加密套件 浏览:439
jsphp传参数 浏览:641
欧美电影推荐大尺码 浏览:375
微信文件夹找用户名 浏览:30
武动干坤同人小说免费阅读 浏览:616
怎么找小度语音app 浏览:160
车险具体折扣算法 浏览:367
时借时花app怎么找不到了 浏览:740
压缩图片500k 浏览:243
程序员笔记本选锐龙r7400u 浏览:353
服务器如何查看cpu配置 浏览:615
北京复盛压缩机 浏览:89
烟台汽车空调压缩机 浏览:389
pythonopencvdct 浏览:27
h3c接口配置命令 浏览:780
安卓手机怎么连接不上苹果耳机 浏览:153