|
[邀请码己发][原创]菜农想参与密码的讨论,无奈是临时工~~~
都是应用,创意很少~~~有些失望~~~ |
|
|
|
|
|
|
|
|
|
[原创]CRC算法及CRC密码之探讨
看见了~~~ 我在网上发帖几乎全是“原创”,因为都是随手写来,构思全在脑中。 俺的“恶习”给大家不便实属抱歉~~~这可能是个思维习惯的问题~~~ 从“中国象棋数字编码方案”谈思维 我经常在网上用此编码操纵弱势的棋手战胜强势的棋手~~~不知有人遇到过否~~~ 1-车 2-马 3-相(象) 4-仕(士) 5-帅(将) 7-兵(卒) 8-炮 0-平 6-前(进) 9-后(退) 棋谱举例: 1.炮二平五 马8进7 1. 8205 2867 2.马二进三 车9平8 2. 2263 1908 。。。。。。。。。。。。。。。。。。。 11.前兵进一 后炮退3 11. 6761 9893 12.前车平三 后卒平4 12. 6103 9704 。。。。。。。。。。。。。。。。。。。 气的强势棋手没脾气~~~ 思维如同编码,我属于发散型的,想让俺“正规化”---难~~~ 俺此生已无所求~~~所以不想费脑浆整理什么“论文”很是抱歉~~~ 80年代就想推荐给国家体委,被父亲臭骂一顿谓之“不务正业”... 估计现在象棋界也无此精妙的编码方案(不知这近30年的发展如何) 明白就好~~~ |
|
[原创]三角密码探讨及揭秘
三角密码的可逆和变换问题 创立三角密码的初衷是为了保护CRC密钥,即1字节的A码发散为BC码。 再将2字节的BC码拆成1字节的BCH做CRC密钥中的初值,另1字节BCL做CRC密钥中权 我们可以从三角密码表看到只有一个“弱密钥” 它就是A码=0xff时,BC码为0x4100,其中低8位的0x00即权就是一个"弱密钥"。 由于CRC密码采用了可逆处理程序,故此“弱密钥”也同时被“化解”。 故三角密码进行三角变换后的编码非常适合做CRC的密钥即HotWC3密码系统中的子密钥。 可能有人会提出疑问:既然三角密码可逆,那么CRC密钥也就可逆,这样CRC密码就可从明文流中有可能推导出密钥来。 不然。因为CRC密码混合三角密码主要是扩散,故不需要可逆而需要散列。 A码可以导出BC码,BC码可反推出A码。 但是将A XOR BCH 和 A XOR BCL后就变成散列的CRC密钥了。何况再有明文参与呢??? 三角形的研究领域很广,总有人感觉是个“很菜”的问题,那他应该先研究一下三角形的“五心” |
|
[原创]CRC算法及CRC密码之探讨
晕,都移到一起了 |
|
[原创]三角密码探讨及揭秘
孤独和独孤可谓天地之别,俺是菜鸟,应该属于前者。 |
|
|
|
[原创]三角密码探讨及揭秘
三角密码的编码问题 既然三角及勾股问题可以划归为密码,那么密码也有个编解码的问题。 菜农的原意是在小资源的系统中实现三角密码的加密和解密,故想抛开乘方和开方的算法。 当初是为加大CRC密码的难度并保护CRC密钥而限定三角密码的A码为1字节内。 因为: 3^2 + 4^2 = 5^2 4^2 + 3^2 = 5^2 ............................ 258^2 + 16640^2 = 16642^2 故一字节的A码对应于2字节的B码或C码。这样就实现了1字节扩散为2字节。 做为密码肯定需要编码的可逆和迅速扩散且非线性,三角编码完全满足其需要。 A与B或A与C的关系简化后: A^2=Y;(其中Y=2*B+1或2*C-1或Y=4*(B+1)或Y=4*(C-1)) 由于B码没“重码”,C码有5(3,4,5或4,3,5),故只需B码即可 合并密码B密码C为1个字长的编码(BC码): 当a为奇数时有: 密码BC=(密码B/2)|0x8000 当a为偶数时有: 密码BC=密码B 解密过程: 当密码BC>0x8000时有:密码B=(密码BC*2)&0xffff 密码C=密码B+1 当密码BC<0x8000时有:密码B=密码BC 密码C=密码B+2 实际编解码在三角密码源程序中采用: function password(passa) { var passbc; passbc = eval(passa) + 3; if(passbc & 1){//数据变换,将4字节压缩为2字节密码BC passbc = Math.pow(passbc,2); passbc = (passbc >> 2) | 0x8000; } else{ passbc = (passbc >> 1); passbc = Math.pow(passbc,2) - 1; } return passbc;//返回压缩密码BC } function dispassword(passbc) { var passba, passb, passc; if(passbc >= 0x8000){//数据变换还原 passb = (passbc & 0x7fff) * 2; passc = passb + 1; } else{ passb = passbc; passc = passb + 2; } passa = Math.pow(passc, 2) - Math.pow(passb, 2);//计算直角边a passa = Math.sqrt(passa) - 3;//转换为原码A return passa;//返回原码A } 编码容易解码难,编码可以用1个字节查询离散的2个字节编码表,想要编制解码表就需要更大的空间。 采用编码主要是想抛开开方和乘方。 注意:
中的密码BC=(密码B/2)|0x8000主要是为解码可逆埋下的伏笔,否则解码也只能做表格了。 |
|
[求助]汇编之后,该学习什么
俺认为还是先正向吧~~~现在逆向太早~~~ |
|
[求助]OD不能载入文件
我也发现此问题,主要是OD版本太多太杂乱~~~ |
|
|
|
[讨论]256位密钥AES已被成功破译
估计在吹气~~~ |
|
[求助]如何能找出软件中des加密的密匙?
肯定能找到~~~ |
|
|
|
[原创]CRC算法及CRC密码之探讨
哈哈~~~俺自言自语习惯了~~~孤独人的表现吧~~~ http://www.baigoogledu.com/search.asp?q=crc+hotpower&num=20 http://www.baigoogledu.com/search.asp?q=%C8%FD%BD%C7%C3%DC%C2%EB+hotpower&num=20 http://www.baigoogledu.com/search.asp?q=%D0%C7%C6%DA%B9%AB%CA%BD+hotpower&num=20 http://www.baigoogledu.com/search.asp?q=WC3+hotpower&num=20 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值