❶ 高手们都是怎么测试加密的密钥的唯一性的
安全性:对称加密和非对称加密 。算法和复杂度:算法的加密时间和解密的逻辑复杂度
❷ 请教如何判断加密算法
实现过DES和AES.
DES真实密钥真有56位,不说了。
AES密钥长度128、192、256位,换算成字节分别是16、24、32个,如果一个字符算一个字节,分别是16、24、32个字符。通常你的密码连16都达不到。这时,要么把你的密码直接当成密钥用来加密,不够补零,要么就使用key stretching(自行查阅维基网络)。
我理解的正常情况下,密文不可能全部是可打印的ASCII字符。所以这里的密文很可能是转换过的(很可能有多次)。
通常对称加密的输出是“纯密文”,不包括加密参数(比如算法、密钥长度)的任何信息。如果你要做一个加密软件,那么就需要设计一个协议,并把它作为加密后文件的头(或其它)部分。协议里可能记录采用的加密算法、密钥长度、块加密模式、初始化向量(IV)等解密时必须的信息。
综上,无解。
❸ 公开密钥技术,如何进行加密和验证
你说的也叫非对称加密技术,下面是简介:
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
其中非对称加密技术以RSA为代表,具体的你可以在网络查询,我就不贴出来了
加密和验证过程文字书写不方便理解,你可以参照下图理解:
❹ DES加密算法的测试数据示例
其实你只要再写个解密的过程看看加密完能不能还原回去就好了。。解密过程和加密过程基本一样,就是使用子密钥时的顺序是倒着的。
明文是 testdata,密钥是mydeskey 正确的des加密后二进制密文:
用base64编码形成的密文是:4wynQOzDaiA=
解密后:
❺ 加密的PIN密钥如何进行验证
3des异或操作 手工或软件都行
❻ 如何使用密钥进行加密
密钥加密是为保证在开放式环境中网络传输的安全而提供的加密服务。
通常大量使用的两种密钥加密技术是:私用密钥(对称加密)和公共密钥(非对称加密)。
秘密密钥:使用极其复杂的加密算法,即使破译者能够对选择的任意数量的明文进行加密,也无法找出破译密文的方法。秘密密钥的一个弱点是解密密钥必须和加密密码相同,这就产生了如何安全地分发密钥的问题。
公开密钥:满足三个条件:第一个条件是指将解密算法作用于密文后就可以获得明文;第二个条件是指不可能从密文导出解密算法;第三个条件是指破译者即使能加密任意数量的选择明文,也无法破译密码。如果满足以上条件,则可以公开加密算法。
❼ 已知明文和密文,是对称加密,如何知道算法和密钥。
猜算法,,,,,,,,,,,,,,,,,,用已知算法测试密码总之一个字 猜
❽ android使用RSA加密和解密
1.data是要加密的数据,如果是字符串则getBytes。publicKey是公钥,privateKey是私钥。自定义密钥对测试
2.从文件中读取公钥
当加密的数据过长时,会出现javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes的异常。rsa算法规定一次加密的数据不能超过生成密钥对时的keyLength/8-11,keyLength一般是1024个字节,则加密的数据不能超过117个字节
测试分段加密和解密
生成公钥和私钥后,用base64编码
一、android加密的数据服务器上无法解密?
android的rsa加密方式是RSA/ECB/NoPadding,而标准jdk是RSA/ECB/PKCS1Padding,所以加密时要设置标准jdk的加密方式
二、base64编码。因为不同的设备对字符的处理方式不同,字符有可能处理出错,不利于传输。所以先把数据做base64编码,变成可见字符,减少出错
官方提供的base64类,Base64.encode编码,Base64.decode解码。用这个会有换行符,需要自定义
三、rsa是非对称加密算法。依赖于大数计算,加密速度比des慢,通常只用于加密少量数据或密钥
四、公钥加密比私钥加密块,公钥解密比私钥解密慢。加密后的数据大概是加密前的1.5倍
❾ 如何知道密钥
1、如果你的电脑已连接到域,联系你的管理员获取恢复密钥。
2、如果你的电脑未连接到域,你的 BitLocker 恢复密钥可能保存在多个位置。下面是一些需要检查的位置:
①你的 Microsoft 在线帐户。 该选项只有在未加入域的电脑上才可用。若要获取恢复密钥,请转到 BitLocker 恢复密钥。
②保存的恢复密钥副本。 你可能已经将 BitLocker 恢复密钥副本保存到某个文件、U 盘或打印的打印件。
③如果你已经将密钥保存到某个文件或已打印,则找到副本、按照已锁定电脑上的说明操作,并在得到提示时输入你的密钥。
④如果你已经将密钥保存到 U 盘上,则插入 U 盘并按照该电脑上的说明操作。(如果你已经将恢复密钥另存为 U 盘中的某个文件,则需要打开该文件并手动输入恢复密钥。)
总觉的bitlocker加密硬盘比较麻烦复杂,介绍一种简单的硬盘加密方法,可以试试U盘超级加密3000加密移动硬盘,加密之后移动硬盘可以拿到任何一台电脑上使用,使用非常的方便简单。
❿ 简单的加密算法——维吉尼亚密码
学号:16030140019
姓名: 莫益彰
【嵌牛导读】:凯撒密码是一种简单的加密方法,即将文本中的每一个字符都位移相同的位置。如选定位移3位:
原文:a b c
密文:d e f
由于出现了字母频度分析,凯撒密码变得很容易破解,因此人们在单一恺撒密码的基础上扩展出多表密码,称为“维吉尼亚”密码。
【嵌牛鼻子】密码学,计算机安全。
【嵌牛提问】维吉尼亚怎么破解,8位维吉尼亚是否可破?维吉尼亚算法的时间复杂度?
【嵌牛正文】
维吉尼亚密码的加密
维吉尼亚密码由凯撒密码扩展而来,引入了密钥的概念。即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RE LA TI ONS RE LA TION SR ELA TIONSREL
明文:TO BE OR NOT TO BE THAT IS THE QUESTION
密文:KS ME HZ BBL KS ME MPOG AJ XSE JCSFLZSY
图解加密过程:
在维吉尼亚(Vigenère)的密码中,发件人和收件人必须使用同一个关键词(或者同一文字章节),这个关键词或文字章节中的字母告诉他们怎么样才能前后改变字母的位置来获得该段信息中的每个字母的正确对应位置。
维吉尼亚密码的破解
维吉尼亚密码分解后实则就是多个凯撒密码,只要知道密钥的长度,我们就可以将其分解。
如密文为:ABCDEFGHIJKLMN
如果我们知道密钥长度为3,就可将其分解为三组:
组1:A D G J N
组2:B E H K
组3:C F I M
分解后每组就是一个凯撒密码,即组内的位移量是一致的,对每一组即可用频度分析法来解密。
所以破解维吉尼亚密码的关键就是确定密钥的长度。
确定密钥长度
确定密钥长度主要有两种方法,Kasiski 测试法相对简单很多,但Friedman 测试法的效果明显优于Kasiski 测试法。
Kasiski 测试法
在英文中,一些常见的单词如the有几率被密钥的相同部分加密,即原文中的the可能在密文中呈现为相同的三个字母。
在这种情况下,相同片段的间距就是密文长度的倍数。
所以我们可以通过在密文中找到相同的片段,计算出这些相同片段之间的间距,而密钥长度理论上就是这些间距的公约数。
然后我们需要知道重合指数(IC, index of coincidence)的概念。
重合指数表示两个随机选出的字母是相同的的概率,即随机选出两个A的概率+随机选出两个B的概率+随机选出两个C的概率+……+随机选出两个Z的概率。
对英语而言,根据上述的频率表,我们可以计算出英语文本的重合指数为
P(A)^2 + P(B)^2+……+P(Z)^2 = 0.65
利用重合指数推测密钥长度的原理在于,对于一个由凯撒密码加密的序列,由于所有字母的位移程度相同,所以密文的重合指数应等于原文语言的重合指数。
据此,我们可以逐一计算不同密钥长度下的重合指数,当重合指数接近期望的0.65时,我们就可以推测这是我们所要找的密钥长度。
举例来说,对密文ABCDEABCDEABCDEABC
首先测试密钥长度=1,对密文ABCDEABCDEABCDEABC统计每个字符出现的次数:
A: 4 B: 4 C: 4 D:3 E:3
那么对于该序列的重合指数就为:(4/18)^2 + (4/18)^2 + (4/18)^2 +(3/18)^2 +(3/18)^2 != 0.65
然后测试密钥长度=2,将密文ABCDEABCDEABCDEABC分解为两组:
组1:A C E B D A C E B
组2:B D A C E B D A C
我们知道如果密钥长度真的是2,那么组1,组2都是一个凯撒密码。对组1组2分别计算重合指数。
如果组1的重合指数接近0.65,组2的重合指数也接近0.65,那么基本可以断定密钥长度为2。
在知道了密钥长度n以后,就可将密文分解为n组,每一组都是一个凯撒密码,然后对每一组用字母频度分析进行解密,和在一起就能成功解密凯撒密码。
上文已经说到,自然语言的字母频度是一定的。字母频度分析就是将密文的字母频度和自然语言的自然频度排序对比,从而找出可能的原文。