问题描述
金刚圈——一个比RC4更好的加密算法——源码PrivateFunctionMYF5(B()AsByte,S()AsByte)AsByte()'MYF5加密算法,2048位'俗名:金刚圈加密法'B为明文,以字节组的方式输入DimB(0ToX)AsByte'切记,本代码没有放一段检查输入明文长度的代码,不能输入空的明文'如输入明文是空的,会出错!!!!'S为密钥,同样不能为空'本代码为示例代码,只是一组256字节的加密,如要完整的、对任意长信息加密的代码,请访问金刚圈官方网站http://www.maoyifei.com'代码已经验证该验证是看密文能否正确解密成原文,没有对过程进行验证'应该没有问题,但愿没有问题,希望代码是正确的:)DimPB(255)AsByteDimSS()AsByteDimXX()AsByteDimIAsLongDimJAsLongDimMAsLong'初始化工作密钥-----------------VVVVVVVVVVVVV---------------------SS=SJ=UBound(S)IfJ>255ThenForI=256ToJSS(IAnd255)=SS(I)XorSS(IAnd255)NextIEndIfReDimPreserveSS(255)ForI=0To255M=I+SS(M)+SS(I)And255'核心代码第二句共三句SS(I)=M'核心代码第二句共三句NextIForI=255To0Step-1M=I+SS(M)+SS(I)And255'核心代码第二句共三句SS(I)=M'核心代码第二句共三句NextI'初始化工作密钥----------------AAAAAAAAAAA---------------------'初始化启动变量,第一组256字节的值从0到255,以后各组以前一组的密文为后一组的启动变量---VVVVVVVVVVVVV---------------------ReDimPB(255)ForI=0To255PB(I)=INextIForI=0To255M=I+PB(M)+PB(I)And255'核心代码第二句共三句PB(I)=M'核心代码第二句共三句NextIForI=255To0Step-1M=I+PB(M)+PB(I)And255'核心代码第二句共三句PB(I)=M'核心代码第二句共三句NextI'初始化启动变量,256字节的值从0到255-----AAAAAAAAAAA---------------------'明文格式化成256字节一组----------VVVVVVVVVVV---------------------XX=BReDimPreserveXX(255)'明文格式化完成-----------------------AAAAAAAAA--------------------ForL=0To255PB(L)=PB(L)XorSS(L)'核心代码第一句共三句NextLForI=0To255M=I+PB(M)+PB(I)And255'核心代码第二句共三句PB(I)=M'核心代码第二句共三句NextIForI=255To0Step-1M=I+PB(M)+PB(I)And255'核心代码第二句共三句PB(I)=M'核心代码第二句共三句NextIForL=0To255XX(L)=XX(L)XorPB(L)NextLReDimPreserveXX(J)MYF5=XXEndFunction
解决方案
解决方案二:
看帖回帖,顶。
解决方案三:
请给出数学证明其安全性
解决方案四:
那有没有算法实现代码供参考呢