一种带随机数MD5算法的设计与实现_张丽香
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
法 的 , 各种算法的都有 , 有 了它可 以快 速的破解各 类密码 。 越 是复杂的密码 , 需要的彩虹 表就 越大 , 现 在主流的彩虹表都 是 以上 。 这种方式简单 点就被称为 “跑字典 ” , 这是一种把
日常积 累下来的常用字符串及常用 的密码的排列组合存储下来 ,
用 算法算 出这些字 符串的 值 , 存储 在数 据库中 , 然 后再把需要得到的 值的信 息在这个数据库中进行检索和查 值 , 当采用多次的 运算 ,
还原随机数 允 式 司 】 计
」
参考文献
〔」
,
一 姗
,
【 」
,
一论
刃wk.baidu.com
馆
」
一 山阳 注 祀 〕 【
盯,
祀城 。
州
】, , 》 一
【 窦立 莉
下 【
一
, 以 拓,
一 科技传播 , 一
技术解析及 改进措施
, 找 泊
在具体的实现过 程中 , 将加密与解 密过 程设计成类 , 可 以
方便调用和具有更好的安全性 。
式找出可能的明文产生一个和
相 同的散列结果 , 但是需要
使用高性能的计算机 , 约
结果 。
年的时间 , 而且 不是一定能得 出
加密函数 的程序文件
实现加密过程描述如下
, 以
程序代码的用户口令加 密为例 , 值
第二种 方式生 日攻击 , 这是一种应 用概率统计的方式来对 进行 破解 , 本 质就 是尝 试 找出一对 不 同的输入 , 对其 采 用 函数运 算后得到 产生的输 出是相 同的 , 这样 的一对 输 的攻击计算复杂度减少到 , 但是采用生 日攻击方法攻击效率实 际只与消息摘要的长度 入被称为匹配对 。 生 日攻击使得
找 。 虽然 “彩虹表 ” 或 “跑字典 ” 的数 据越来越 多 , 但 是还不 足以找 出所有 的字符串的
采用这些方式破解显得很困难 。
基于
随着
与随机数组合的加密算 法
算 法的破译 日益发展 , 算法的安 全性引起 算法进行改 算法 的破译方式 , 对
大家 的重视 , 针 对
进 , 增加算法的安全性 。 但是主流编程语言 , 通 常是把
随机数生成及转换 的方式 , 想通过 常规 的一些破解方法破 解其原来初始密码值是不可能 的 , 从而保证 了数据的安全性 。
【
勿
。 琅 仪 妈
,
卯
侧 孙
,
水
、
林宗朝 报
基于
的 年
加密算法的应用 月第
长春工业大学学 【 」
自然科学版
卷第 期
软件杂志欢 迎推 荐投稿 二
·
链接变量和 相应 的初始值相加 , 并作为下一 块的初始值进行运
算直到所有的块运算完成 , 最后产生的大小为
单位来分组 , 再将每个分组划分为 将 这四个
体 步骤如下
四个链接变量级联共
位的信息 , 整个
算法的运算结束 。
了数值处理 后 , 算法 的输 出为 四个分别是 位分组 进行级联 , 最 后生成一个 对信 息 明文
张丽香 一种带随机数
算法的设计与实现
机数的还原方式 , 无法得到
原数据 。
密的
钊 门 ﹂ 卜
到值
计算输入数据的
值 ·
解密过程的设计
与实现
将 一 转 计 一 诊算 咽 协 居 换 一 ﹂一 酬 时 图 徐 阳 州
解 密 过 程 实 际 与加 密
过程相似 , 主要步骤在于还 原随机数 , 由于存储 的随机 数是经过线性变化的 , 所 以
算法的主要攻击方法
由于 算法 被大量 使用在 系统重 要数 据存储 , 所 以在
第一步
为
进行求余填充 , 使信 息的长度变
密码界有着重要的地位 , 近年来许多科学家对
算法的破解
的整数倍
方式进行 了大量 的研 究 , 寻求快捷的 有用 的破解方式 , 至今 ,
作者简介 张丽香
一 , 女 , 广东潮阳人 , 讲师
用方法 , 也是最常用的
函数 的分析方法 , 针对采用模差分
一种 是改变消息预处
方式破解 方式 , 主要有两种 改进 的方法
理的方法 , 另外一种是修改步 函数 。 第四种方式是利用已有的信息积累的数据 查找相应的 结果值 。 例如彩虹表 , 彩虹表就是一个庞大的 、 针对各种可能 算 的字母组合预先计算好 的哈希值的集合 , 不一定是针对
【」
, 一
,
,
一 , , 一 , 」 ,
,
, 以
万 ,
结束语
血 山
馆 ,
,
现在
算法 的在线破解网站有很 多 , 基本都是采用 “跑
运算 , 就很难破译 出来 采用碰撞的
贸 '
兀
字典 ” 或 “彩虹表 ” 的方式 , 实际上并不能破解出所有的明文 , 如果采用多的是多次 方式破 解的速度 虽然 大大 提高 , 但是可 以采用修 改步函数 和消
采用随机数 与
算
法写成一个 函数 , 直接调用 , 故可以考虑采用增加随机数 的方式 ,
组合 的加密算法存储重要数据可以有效的防
止字 典攻 击 , 同时增加算法 的复 杂性 和不可逆性 , 所以在 系统的数据存储中被广泛使用 。
勺
上 面 的代 码 , 功 能 为 将 用 户 的 输 入 的 用 户 口令 进 行 加 的多个 内置 函数 , 例 如输人 的是用 户 口令 是 值和随机数如表 表
平
算法进行 了 描述 , 采用
一 电 ,
,
叮, , ,
,
引言
随着科技 的飞速发展和广泛 应用 , 信 息安全越来越引起人 们的重视 , 信息加 密技术对保障信息 安全有着重大的作用和意 义 , 尤其是数据存 储安全性 , 现在对重要数 据进行存储往往是 对其进行加密 后再存 储 , 常用的加密算法有 、 、
将 '和 · 组合成数据
根据输入的序 号 查找对应的随机数 , 并根据
线性 函数转换成原来的随机 数 '
计算数据 的 值'
将数据
' 组合成数据 '
' 与数据
算法 得
值 '
满足要求 幸
是 尸 匕 曰 厂 、一 ﹂ 否 日 、 一 有 虹 、幼 否他 洲 州 一 其 无 疾 下 相 乳 一 丫 杏 终 冶 一 循 同环 催步 一 满 一
位运 算 , 每轮 采用的函数不相 同
轮的移动位数不相同
, 将得 出的结果加上剩 余的
、 、
, 位
第四个变量 , 再将得出的结果向左 或向右 移动一个不定数 每 , 最后加上 、 中的其 中一个 ,
, , 、 四个 、 、 把这个结果取代 、 、 、 中的一个 , 达到不断迭代更新的 目的 。
算法描述
根据 将 和
算法计算得到待加密数据的 位 随机数 值 , 并存储 组合成新的待加密数据
利用随机函数生成 重新计算待加密值 的
将随机数经线性函数转化后存储
即
值 的长度 有关 系 , 而与所 采用
函数的结构 或
可根据 需要 , 重复 步骤
该算法的流程图如图
一
, 并 对随机数异位
者任何代数性质无关 , 所以只要 可以防止这种攻击 。 第三种 , 利用模差分
工程硕士 , 私立华联学院计算机应用技术教研室主任 , 研 究方向
计算机应用技 术
软件杂志欢迎推荐投稿 珊
软件
您的文章得到院士的关注
的攻击破解方法主要有下面四种 。
第一种穷举 法 , 也称为 “暴力破解 ” , 视 图通过穷举的方
张 丽香 一种带随机 数
算法 的设计与实现
算法的实现
加密过程的设计与实现 在 当今 的 系统 中 , 加密方法主 要是引用包含
攻
一
息预处理的方式解决 , 所 以合理使用
全的 。 文中采用带 随机数的
算法 , 其实也是很安
, 厌 段 扣
切飞五
,
明谊 助 ,
, ,
嗯
卜
算法 , 实际上是在不改变原 始
仪 又 叼
算法的基础上 , 增加密文的复杂性 , 实现简单 , 基本所有 编程语言都 能实现 , 适用于 系统 重要数据的存储 , 在不知道其
变化后的值
其转换 的方式才能找到原来随机数 , 所以这种加密方式 比仅 采 用 进行加密安全性高 。 这种方式非常适合 用来存储重要的
数 据 , 实现 方式简单 , 即使获取到相关数 据文件如果 不知其随
丸 〔 , 的值映射到地址空间中储 存
软件杂志欢迎推荐投稿
址印刃
丘 耐
软件
憋 的文章得到院士的关注
函数的消息摘要足够长就
运算后存储 , 如果不需要 , 结束整个过程 。
攻击方法和 明文修 改技 术 , 在
使用带随机数 的 的 值
下
加密算法加密用户口令的核心代码如
年来 自我国山东大学的王小云教授在欧密会上公布 了对 碰撞结 果 刀 , 她利用模差分 方法找到 了两个 有着相同
的不 同数 据段 。 差分分 析方法是用来对分组密码进 行分析的常
第二步
将信息分成
位的块
第三 步
使用 四个
` 位 整数参数
、
、
、
, 学术 , 的块采 , ,
上称 作链 接变 量 , 按 照低 字节在 前 高字 节在 后 的方式 排列 , 这 四 个 链 接 变 量 的 初 始 的十 六 进 制 值 为
忱 , ,
第四步 中, 使 ,
这是算法 的重点 , 就是对划 分 出来 的 , , 。 将大 小为
软件
年第
卷 第 期
国际
传媒 品牌
一种带随机数
摘
算法的设计与实现
张丽香
是 算法 , 常用来对
私立华联学院计算机科学系 , 广州
要 随着网络的迅速普及 , 信息加密技术的发展对保障网络安全有着重大的作用与意义 。
重要数据的进行存储 , 本文对 算法进行 了 简要描述 , 介绍了入 田 的破解方式 , 并对带随机数 对算法的使用进行 实现 。 关键字 函数 带随机数的 算法 信息安全 中图分类号 即 本 文著录格式 文献标识码 张丽香 一 种带随机数 一 “ 注 一 算法的设计与实现 田 软件 , , 刀
村 冰 组 螂 储 丁 眯 一 针 去 备 奋 甲 ︵ ︶ ﹀
缪一 潇 眼 的 都 舫 一 眯 一 谨 取 蒯 俏 存 鱿 旧 ﹂
﹃
不满 足要求
根据输入的序号值查到对应的随机数
将随机数根据相关函数转换成值'
要按加密 的线性函数进行逆
运算 , 解密过程描述如下 根据 算得到 输入数据 的
几
算法 计 值
明文
密, 使用了 “
” , 产生的
明文与密文信息
忱
倪
加密算法描述
定义随机数 、 定义明文 , , 由 〔 为第 次 个字符组成 , 运算后的值 , 】 ,· …,
原 随机数 数 新 变 换后的随机数 数
认 氏 允
采用带随机数的
运算后 , 无法从新的
值 中直接
, 凡 是随机数 将
「 , 丸 经函数
得还 原回明文 , 而存储的随机数是 经过线性转换 的 , 必 须知道
算 法的核 心是 函数 , 满足 函数 的特 点 ,
即 二
, 其中
为输 入数 据
明文
,
进行 完四轮 每轮
步共
为输 出数据
密
步 的运算后 , 将
文
。它具有容易计算 、 单向性 、 抗强 弱 碰撞性等性质 '
算法的简单描述 先将输入 的明文信息 以 个 位作为一个 位子分组 , 最后经过 位分组组成 , 最后 位散列值 。 具
个 。 算法 中最重要 的是四轮主循环运 次操作 , 每次操作用来处理一个块中的 、 、 、 实际是布 尔运算 , 按
带随机数的
法 是对
算法
砂 , 亦称
加盐算
个子块 。 四轮运算每轮的循环方式很相似 , 就是取 中的三个变量进行一次非线性函数运算
算法的改进 , 使用该方法能够在不改变原算法的
基础上 , 依靠计算复杂性和不可逆性增加其安全性 。
骤 习 川 ﹃
循环后得出新的 '值
根据
到数据 '的
根据具体加 密算
法的设计 , 是否有其他循环
步骤 , 如果没有 , 比较步骤 中的 中存 储 的 ' 值 与加 密 过程 值 是否 相 同 , 图
退 出运算 算
带随机数
算法加密过程流程图 图 带随机数 算法解密过程流程图
相 同则输 人 值 与加 密 值 相 同 , 不相同则输入值与加密值不相 同 , 结束解密 。 解密的流程 图如下图 解密过程 的实现主要 在于解决随机数 的转换 , 将存储 的随 机数转换成原来加密时 的随机数 , 其核心代码如下
和
等。
即
姗
馆
馆
,
信息 一
摘要算法
, 主要 是用来确保信息传输完整一致 , 是一种不可 。
用四轮循环运算 。 将四个链接变量复制到 四个变 量 , 大小是 犯 位的字块 , 共 算 , 每轮循环要进行
位的块分 解成
逆 的算法 , 是计算机 广泛使用的杂凑算 法之 一 , 又称为 摘要算 法或哈希 算法 , 现在 的主流编程语言普遍都能实现 作 为一种近年来使 用比较广的数据加 密方式正在面临着威胁 ,