本文目录一览

1,我有一个AES128加密算法16字节明文16字节密钥输入16字节

既然有算法,自己试一下不就知道了?16字节就是128位,AES是按128位分组加密,你说应该输出是多少呢?呵呵

我有一个AES128加密算法16字节明文16字节密钥输入16字节

2,aes算法中aes的分组长度128位和256位有什么区别128位的分组

1 - 标准AES的分组长度是固定的128位2 - 密钥越长越安全3 - 分组长度越长越安全,不过由于考虑到性能和实用性,分组长度一般都是限制在一个合适的位置,例如分组长度一般是8的整数倍,2的幂,分组长度越长,造成的扩散就越大,因而越安全,同时分组过长的话会导致将一个整块文件划分时造成不比较的空间浪费,在制造加密元件时需要更多的存储空间,因而分组长度要综合考虑

aes算法中aes的分组长度128位和256位有什么区别128位的分组

3,AES算法到底可以加密多长的数据

我的理解是对加密的明文没有限制。所谓128位是密钥的长度。用这个密钥和算法去加密明文,得到密文。理论上讲,对明文的长度没有限制。 对称加密,从算法的角度来说,其实是不改变文件本身的长度的。100M的明文,您可以理解为加密是顺序全部打乱了,但还是100M(当然如果修改了格式和加一些附加信息文件会变大)您的追问,我觉得还是不是您说的那个意思。128位,是指密钥的长度,您可以理解为一个128位的随机数。和原文的大小、加密后的密文的大小不相干的呀!明文(100M)====(用128位随机数+算法运算加密)===密文(100M)

AES算法到底可以加密多长的数据

4,AES加密算法256位密钥与128位密钥的不同是什么

一、指代不同1、256位密钥:AES的区块长度固定为256位,密钥长度则可以是256。2、128位密钥:AES的区块长度固定为128位,密钥长度则可以是128。二、安全性不同1、256位密钥:256位密钥安全性高于128位密钥。2、128位密钥:128位密钥安全性低于256位密钥。扩展资料AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度。AES的区块长度固定为128位,密钥长度则可以是128,192或256位;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256位为上限。加密过程中使用的密钥是由Rijndael密钥生成方案产生。对称/分组密码一般分为流加密(如OFB、CFB等)和块加密(如ECB、CBC等)。对于流加密,需要将分组密码转化为流模式工作。对于块加密(或称分组加密),如果要加密超过块大小的数据,就需要涉及填充和链加密模式。ECB模式是最早采用和最简单的模式,将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。参考资料来源:百度百科-aes加密算法
刚好也在看aes,回答下,对不对我也不清楚。行位移128是123,256是134,256的迭代轮数是14,128是10,sbox好像固定用那个就好了,rcon用来才生扩展秘钥的。秘钥扩展用一个4字节的数组表示扩展秘钥,数组中最开始的秘钥个数作为种子秘钥,后面的秘钥都是种子秘钥递归处理得到的,状态N(以字节为元素的矩阵阵列,有4行,N=长度/32,和明文长度和秘钥长度有关,我这里当明文是128位数)大于6和小于等于6这2个算法,即128和192一种,256一种。秘钥的扩展128和256一样,只是在扩展过程中256比128多一个步骤,就是当第i个秘钥是4的整倍数时需要额外处理一次。这个处理是什么?太长了。。。,查查哈。。。
行位移128是123,256是134,256的迭代轮数是14,128是10,sbox好像固定用那个就好了,rcon用来才生扩展秘钥的。 秘钥扩展用一个4字节的数组表示扩展秘钥,数组中最开始的秘钥个数作为种子秘钥,后面的秘钥都是种子秘钥递归处理得到的,状态N(以字节为元素的矩阵阵列,有4行,N=长度/32,和明文长度和秘钥长度有关,我这里当明文是128位数)大于6和小于等于6这2个算法,即128和192一种,256一种。秘钥的扩展128和256一样,只是在扩展过程中256比128多一个步骤,就是当第i个秘钥是4的整倍数时需要额外处理一次。
就是256位的aes算法,你百度一下eas算法就知道什么是eas算法了

5,跪求高人指点AES加密算法密钥和明文都不足128位是该怎么处理

用0补足
/** * 加密 * * @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; }

文章TAG:加密aes加密后多少位  我有一个AES128加密算法16字节明文16字节密钥输入16字节  
下一篇