des加密算法的那些矩阵是怎么出来的?是怎么规定的每次迭代用的矩阵好像都不一样,有什么规律吗?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 22:36:49

des加密算法的那些矩阵是怎么出来的?是怎么规定的每次迭代用的矩阵好像都不一样,有什么规律吗?
des加密算法的那些矩阵是怎么出来的?是怎么规定的
每次迭代用的矩阵好像都不一样,有什么规律吗?

des加密算法的那些矩阵是怎么出来的?是怎么规定的每次迭代用的矩阵好像都不一样,有什么规律吗?
// 密钥随机数生成
//SecureRandom sr = new SecureRandom();
// byte[] bytes = {11,12,44,99,76,45,1,8};
//byte[] bytes = sr.generateSeed(20);
/*des密钥生成代码*/
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import com.huateng.util.common.Log;
public class GenKey {
private static final String DES = "DES";
public static final String SKEY_NAME = "key.des";
public static void genKey1(String path) {
// 密钥
SecretKey skey = null;
// 密钥随机数生成
SecureRandom sr = new SecureRandom();
//生成密钥文件
File file = genFile(path);
try {
// 获取密钥生成实例
KeyGenerator gen = KeyGenerator.getInstance(DES);
// 初始化密钥生成器
gen.init(sr);
// 生成密钥
skey = gen.generateKey();
// System.out.println(skey);
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(file));
oos.writeObject(skey);
oos.close();
Log.sKeyPath(path);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @param file : 生成密钥的路径
* SecretKeyFactory 方式生成des密钥
* */
public static void genKey2(String path) {
// 密钥随机数生成
SecureRandom sr = new SecureRandom();
// byte[] bytes = {11,12,44,99,76,45,1,8};
byte[] bytes = sr.generateSeed(20);
// 密钥
SecretKey skey = null;
//生成密钥文件路径
File file = genFile(path);
try {
//创建deskeyspec对象
DESKeySpec desKeySpec = new DESKeySpec(bytes,9);
//实例化des密钥工厂
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
//生成密钥对象
skey = keyFactory.generateSecret(desKeySpec);
//写出密钥对象
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(file));
oos.writeObject(skey);
oos.close();
Log.sKeyPath(path);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (InvalidKeySpecException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static File genFile(String path) {
String temp = null;
File newFile = null;
if (path.endsWith("/") || path.endsWith("\\")) {
temp = path;
} else {
temp = path + "/";
}
File pathFile = new File(temp);
if (!pathFile.exists())
pathFile.mkdirs();
newFile = new File(temp+SKEY_NAME);
return newFile;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
genKey2("E:/a/aa/");
}
}

des加密算法的那些矩阵是怎么出来的?是怎么规定的每次迭代用的矩阵好像都不一样,有什么规律吗? TripleDES的加密算法是DES的几倍? DES 加密算法是怎样的一种算法?要通俗解释.. 下列属于非对称加密算法的是A.RSA B.TWOFISH C.DES D.IDEA AES和DES加密算法的相同之处 DES算法的几个选择题1.DES是一种 加密算法.(A古典的,B传统的,C现代的)2.DES的算法是 的.(A保守的,B公开的)3.DES的密钥是 的.(A保守的,B公开的)4.DES算法中使用了 技术.(A乱码填充,B 关于DES加密算法说明中说64位明文,密文,密钥这个64位怎么确定第一位的比如明文是123456781=0000 0001.8=0000 1000加上后面7个数字一共是64位是从“1”的符号位算第一位还是“1”的数值位1算第一位 对称加密算法中,des算法的密钥长度是多少,采用什么进行加密 那些植物油是怎么提炼出来的? 请问这个矩阵式是怎么计算出来的?= 矩阵运算,这一步是怎么得出来的? 请问那个DES算法具体是怎么移位的 Elle achete(des)fruits,这个des是缩合冠词的还是不定冠词的des为什么 aes des rsa的加密算法有什么区别?通俗简单讲,就是各个的优点和缺点,不要太深奥 矩阵初等变换那个p的那两个矩阵是怎么弄出来的 加密算法:AES DES RC4 Rabbit TripleDes 那个更好?它们分加密算法:AES DES RC4 Rabbit TripleDes 那个更好?它们分别被用在那些方面呢? 关于DES加密算法的S盒输入的一点疑问S盒的输入是 48位 每6位 输入一个盒 假设输入的48位 为S1S2S3.S48 Si表示一位S1 S2 S3 S4 S5 S6那么第一个盒的输入是 1 1 0 1 0 0;那么 第一个S盒 的行数 是10 列数 怎么证明矩阵的伴随矩阵是正定矩阵