① 我有一个AES128加密算法,16字节明文+16字节密钥输入,16字节密文输出,如果1K的数据加密后输出多大
既然有算法,自己试一下不就知道了?16字节就是128位,AES是按128位分组加密,你说应该输出是多少呢?呵呵
② AES-128 加密算法的问题
AES内部始终使用16 byte的分组长度!加密时,如果明文字节长度不是16的整数倍,要填充到大于该长度的最接近的16的倍数,但是如果刚好等于16的倍数,就额外在添加一个完整的分组,也就是添加16字节。具体你的例子,得到的是32字节长度的密文。细节请参考PKCS5/7,这些标准是权威指南!
③ AES加密算法256位密钥与128位密钥的不同是什么
一、指代不同
1、256位密钥:AES的区块长度固定为256位,密钥长度则可以是256。
2、128位密钥:AES的区块长度固定为128位,密钥长度则可以是128。
二、安全性不同
1、256位密钥:256位密钥安全性高于128位密钥。
2、128位密钥:128位密钥安全性低于256位密钥。
(3)aes128加密扩展阅读
AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度。
AES的区块长度固定为128位,密钥长度则可以是128,192或256位;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256位为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。
对称/分组密码一般分为流加密(如OFB、CFB等)和块加密(如ECB、CBC等)。对于流加密,需要将分组密码转化为流模式工作。对于块加密(或称分组加密),如果要加密超过块大小的数据,就需要涉及填充和链加密模式。
ECB模式是最早采用和最简单的模式,将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。
④ 求一个java算法,用128位密钥的AES加密128位明文,得出的密文还是128位...很着急,非常感谢各位大神,求救!
/**
* 加密
*
* @param content 需要加密的内容
* @param password 加密密码
* @return
*/
public static byte[] encrypt(String content, String password) {
try {
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128, new SecureRandom(password.getBytes()));
SecretKey secretKey = kgen.generateKey();
byte[] enCodeFormat = secretKey.getEncoded();
SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");
Cipher cipher = Cipher.getInstance("AES");// 创建密码器
byte[] byteContent = content.getBytes("utf-8");
cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化
byte[] result = cipher.doFinal(byteContent);
return result; // 加密
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
}
return null;
}
⑤ AES-128加密算法是什么怎么实现
网络一下吧 这个很多··
如果你要算法,我只有封装的Delphi源码!
如果需要,给我发消息吧!
⑥ Intel SSD的128位AES加密是怎么用的
每块英特尔 SSD 320 系列硬盘出厂时都拥有一个独一无二的密钥。用户只需开始使用 SSD,硬盘中的数据便会使用该唯一密钥实现加密。然而,如果用户倾向于使用新密钥,可通过在 SSD 上执行安全擦除或增强的安全擦除操作来生成新的密钥。
为了完善物理安全保护层,加密功能需与 ATA 用户密码(也称为硬盘密码)结合使用。硬盘密码是 ATA 规范的一个安全特性。与英特尔 SSD 320 系列自动启用的加密功能不同,硬盘密码必须由用户通过 BIOS 配置进行设置
⑦ AES128位硬件加密什么意思
AES是分组密钥,算法输入128位数据,密钥长度也是128位
⑧ AES算法加密128位明文加密后是16字节的块,那超过16字节明文加密后密文块是多大
明文密文是一比一的,超过16字节的可分段加密
⑨ 我有AES-128加密后的秘钥key文件,但是这个文件应该如何读取
既然有算法,自己试一下不就知道了?16字节就是128位,AES是按128位分组加密.
⑩ AES动态加密128位加密能破解吗
AES(Advanced Encryption Standard,先进加密标准)算法是美国联邦标准局于1997年开始向全世界征集的加密标准,属于对称加密算法,代表了当今最先进的编码技术。最终获胜的是RijnDael算法,其它符合标准的候选算法还有CAST256,MARS,RC6,Serpent,Twofish等。
完善的加密算法在理论上是无法破解的,除非使用穷尽法。使用穷尽法破解密钥长度在128位以上的加密数据是不现实的,仅存在理论上的可能性。统计显示,即使使用目前世界上运算速度最快的计算机,穷尽128位密钥也要花上几十亿年的时间,更不用说去破解采用256位密钥长度的AES算法了。