[2]200分大讨论:根据已知存储的加密字,得到反解出可以通过验证(不一定和原来相等)的密码的算法

JGTM2000 2000-07-26 12:00:00
...全文
326 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
The_east_key 2000-12-29
  • 打赏
  • 举报
回复
建议您访问www.etechbase.net/tech,里面有很多资料,也许可以解决您的问题。
访问http://168.168.18.11:81/etechbase/advsearch.php将您的问题输入查询内容框,选择不同的精确程度,即可以找到你所需要的答案。效果还是可以的。
juson 2000-12-28
  • 打赏
  • 举报
回复
可以通过验证的密码和原来的密码对于解密来说有什么不同呢?这个问题就是找通用的解密算法嘛。
只拿到一段密文,当然要先猜加密算法,再破密钥,找通用的算法?我看还是造一个永动机还容易些 :-)
如果还知道具体加密算法,当然就有点儿希望了。毕竟每种算法都有其弱点,毕竟连大名鼎鼎的DES算法不是也可以被攻破吗?即使这样,我们普通人用DES算法也还是可以的,因为破解它要耗费相当代价。
密码学是一门很理论的学科,跟最纯粹的数学分支-数论有密切关系。您对数论研究过多少?所以我认为我们普通程序员就不要在这上面耗费脑细胞了,当然如果您是专家又除外。
青润 2000-12-27
  • 打赏
  • 举报
回复
欢迎大家继续讨论!我对此也很感兴趣,也过来看看!:)
JGTM2000 2000-08-13
  • 打赏
  • 举报
回复
为提高大家讨论积极性,活跃气氛,本题特加到300分!欢迎大家参与,任何有实质性的内容最后都会得到相应的分数!就事论事儿,其实不难,重在参与,共同提高!
JGTM2000 2000-08-13
  • 打赏
  • 举报
回复
Larky: 你说得很对,所以为什么我说这叫送分呢?就是因为AWARD BIOS的密码存储算法非常容易,可以根据规律不完全归纳得到。但是,如何反接出来呢?枚举肯定可以,但是速度不能接受。你有好的算法吗?我希望和大家一起讨论思路,而不是仅痴迷于自己的想法中。谢谢大家的参与。任何实质性的内容最后都会得到相应的分数。
Larky 2000-08-12
  • 打赏
  • 举报
回复
我以前也研究过bios里的密码的算法!
那时大一的时候,很早以前的事情了,现在已经妄光了
但是我记得他的算法实在是太简单了!
但是要在知道明文和密文的情况下才出来的
如果不知道密钥不知道算法,只知道密文是肯定没有规律的!
对于简单的加密算法也许通过明文和密文的对应关系可以猜出算法以及中间的参数
但是对于有一定难度的算法这几乎是不可能的!

我想如果我用傅里叶变换和其逆变换来做可逆的加解密算法,你肯定想不到!
更别说我用cdma等只有通讯上才用的算法了!
茂奇软件 2000-08-11
  • 打赏
  • 举报
回复
RSA and DHA.
they are pk style encrypt and decrypt function.
jansen zhu.
JGTM2000 2000-08-11
  • 打赏
  • 举报
回复
大家误会了吧?AWARD BIOS里面的密码存储算法是已经给定的了。
华南虎哥 2000-08-05
  • 打赏
  • 举报
回复
JGTM2000:看过你的回信,对加密解密算法有了新的了解,THANK YOU,以后还要多向你学习
JGTM2000 2000-07-27
  • 打赏
  • 举报
回复
另外,加密算法是通过实验不完全归纳出来的,相当简单!
JGTM2000 2000-07-27
  • 打赏
  • 举报
回复
提示:Award BIOS把密码通过一种算法(A)生成一个16bit的字存于CMOS中,然后开机的时候把你输入的密码用同样的算法生成16bit字,然后判别是否相等。现在就是想讨论一下,已知该16位字,如何解出相当的密码使其经过A算法处理后得到的字与已知字相等。
JGTM2000 2000-07-27
  • 打赏
  • 举报
回复
注意:讨论关于Award BIOS 4.51PG的密码字存储和其对应的反解算法。事实上,该BIOS将最长8位字符的密码存成一个16bit字,因此当然不可能完全反解(不然用它当pkzip多爽)。我曾经写过反解出相当密码(既经过加密变换和16bit字相等)的算法,在这里想听听大家的一些想法和思路,共同进步。
JGTM2000 2000-07-26
  • 打赏
  • 举报
回复
大家一起来琢磨一下,看看有没有更快更好的算法解决这个问题。
我留着分也没有用,拿出300分给大家,说得好的就有分!
集思广益,重在参与与交流嘛。。咳。。

1[#16794],通过实验推理得到Award BIOS的密码加密存储位置和算法(100分);
2[本贴],根据已知存储的加密字,得到反解出可以通过验证(不一定和原来相等)的密码的算法(200分)。
华南虎哥 2000-07-26
  • 打赏
  • 举报
回复
前几天我也关注了可逆性加密算法这个问题,最后解决得还可以,简单明了
————————————————————————————————————
我曾经使用过DES算法,据说网站上还有诸如MD5,FISH这样的高强度加密的源程序,
//利用异或和移位进行的快速加密和解密,加密强度不高,但是速度很快
//possible variations is 2^96
//It is kinda slow: 137K File = Encrypt 0.267sec Decrypt 0.265sec
// 3,198M File = Encrypt 6.541 sec Decrypt 6.374sec
// (Includes reading source and writing result.
// Figures generated on a P100, 32 megs ram).
// Memory Encrypt More Speed up!
//change the constants to WORD values of your choice (preferably over 256).
//
const C1 = 52845;
const C2 = 22719;
function _FastEncrypt(const S: String; Key: Word): String;
var
I: Integer;
begin
Result := S;
for I := 1 to Length(S) do begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(Result[I]) + Key) * C1 + C2;
end;
end;

function _FastDecrypt(const S: String; Key: Word): String;
var
I: Integer;
begin
Result := S;
for I := 1 to Length(S) do begin
Result[I] := char(byte(S[I]) xor (Key shr 8));
Key := (byte(S[I]) + Key) * C1 + C2;
end;
end;
————————————————————————————————————
当然我使用的是一种可逆性算法,但也可以使用一种比较特殊的方法来解决,如下:
encrypt1 encrypt2
SourceCode————> TempCode <—————TargetCode
|________________________________>_______|
encrypt3
当然其中的encrypt1、encrypt2以及encrypt3都不相同,不过这种方法的可行性如何就不知能不能满足你的要求

jbzheng 2000-07-26
  • 打赏
  • 举报
回复
不知道加密算法和密钥,等于是大海捞针!!!

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧