三维魔方加密算法因其运算速度快、密钥空间大被广泛应用。那么我们今天就来看看三维魔方加密算法是如何给文本文件加密的?

一、三维魔方加密算法原理

三维模仿加密算法的思路来源于魔方,是基于一个立方体来作加密和解密的换算。网络中的信息较多的是以文本形式存在的,因此我们就介绍一下三维魔方加密算法是如何对文本文件加密和解密的。

二、三维魔方加密算法给文本文件加密的步骤

(1)设定x、y、z为三维空间的三条坐标轴,选择需要被加密的文本文件,根据被加密文本文件的大小,决定x、y、z的最小阶数(阶数是魔方的边长)m,这样就形成了一个三维的立方体。

(2)加密过程:将文本文件中的内容依次排列到魔方中,每个字符都有固定的位置(Xi,Yi,Zi)(0≤i≤m)。如果用户设定的阶数大于文本的最小阶数m,那么魔方中剩下的空间里存放的是空格。输入密钥,密钥的格式为:ababab……其中a代表x、y、z中的任意一个,b代表数字,1表示第1阶,2表示第2阶,3表示第3阶,以此类推。两者合起来表示,将魔方以a代表的轴的第b阶顺时针旋转90°。

(3)经过密钥对应的所有旋转完成,A、B、C三个字符顺序将被打乱,分别在不同的面上,得到加密是密文,显示为乱码。在魔方加密算法中,密钥的长度是随机的,可以ababab,也可以ababababab,以此类推,密钥长度越长,旋转的次数越多,文本排列的越乱。另外,如果用户将阶数扩大,即魔方的长度变长,那么扩大的阶数排列着空格,这些空格在旋转过程中也被排列到文本中,这样得到的密文包含着空格,文本排列的顺序也越乱。

(4)解密过程:如前所述,魔方加密算法是一个对称算法,因此它的加密和解密使用的是同一个密钥。解密过程就是加密算法的逆运算。在密钥的生成部分,我们引用了三十三进制,即0~9,a~w共33个字符。这样就扩大了密钥的空间,增加了密钥的数量。

例如输出密钥的形式为oy2wxwzqyqxuy0zw。其中o代表偏移量,o后面的字符才是真正的密钥,断句为:ywxwzqyqxuy0zw,其实际意思为:y(w-o)x(w-o)z(q-o)y(q-o)x(u-o)y(0-o)z(w-o)=y8x8z2y2x6y(-24)z8。如果出现负数,如y(-24),就将其加33,这样就等于y9。所以魔方算法自动生成的密钥为:y8x8z2y2x6y9z8。这样改变了密钥的输出形式,就扩大了密钥的输入限制,如果用穷举搜索法搜索密钥的话,就需要花更长的时间。其过程如图所示。

本文主要介绍了三维魔方加密算法如何给文本文件加密,但实际上,用户需要加密的不仅仅是文本,也可能是图片、数据库、音频文件、视频文件等,因此,可以将三维魔方加密算法的应用扩展到这些文件上。

小知识之加密算法:

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

html代码的魔方加密,三维魔方加密算法如何给文本文件加密相关推荐

  1. android 3d魔方 魔方复原 三维魔方 源码下载

    程序名称    :梦幻魔方 版本    :2.0 网站    :www.softboy.uqc.cn csdn  下载频道: http://download.csdn.net/detail/icema ...

  2. html代码的魔方加密,浅析三维魔方加密算法

    三维魔方加密算法的思路来源于魔方,是基于一个立方体来作加密和解密的换算.网络中的信息较多的是以文本形式存在的. 三维魔方加密算法对文本的加密和解密.具体步骤如下: 设定x.y.z为三维空间的三条坐标轴 ...

  3. html立体魔方图片制作,ppt怎么制作三维视图的魔方图 ppt制作三维魔方图详细教程...

    很多用户在制作PPT展示图的时候,有时候需要制作三维立体的魔方图,制作步骤简单,不过还有很多的用户不清楚如何制作,那么下面小编就为大家分享PPT制作三维魔方图的详细步骤教程,不会制作的朋友可以参照下面 ...

  4. Java 加密 AES 对称加密算法

    版权声明:本文为博主原创文章,未经博主允许不得转载. [AES] 一种对称加密算法,DES的取代者. 加密相关文章见:Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES R ...

  5. 可逆与不可逆算法,对称加密与非对称加密算法总结

    文章目录 1. 加密算法的种类 2. 不可逆加密算法 ①:MD5 ②:HMAC系列 ③:SHA系列 3. 可逆加密算法 1. 对称加密 ①:DES ②:3DES ③:AES 2. 非对称加密 ①:RS ...

  6. jquery java aes_[代码全屏查看]-java、js之间使用AES加密通信数据

    [1].[代码] java AES加密解密辅助类 package com.zoki.security; import ch.qos.logback.classic.Logger; import jav ...

  7. aes默认填充算法 mysql_Go 实现加密算法系列之对称加密

    点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 加密算法简介 加密算法就是加密的方法,在密码学中,加密是将明文信息隐藏起来,使之缺少特殊信息时不可读. ...

  8. 物联网通信技术|课堂笔记|week8|网络安全学习|加密逻辑|加密算法

    Python中的hashlib库的md5摘要是不可反解的,非常安全:摘要是单项不可逆的:加密是可以解密的,是双向的:haxdigest中hax代表16进制,digest代表摘要. 密码加密的几种方式: ...

  9. 对称加密及AES加密算法

    目录 一.对称加密  1.什么是对称加密?  2.对称加密的工作过程  3.对称加密的优点  4.对称加密的两大不足 二.AES加密算法  1.什么是AES加密算法及AES加密算法的形成过程  2.A ...

最新文章

  1. 关于clientWidth、offsetWidth、clientHeight、offsetHeigh
  2. C# 8中的范围类型(Range Type)
  3. [TJOI2017]城市(未解决)
  4. 在Jetty中设置SSL
  5. 一站式机器学习平台建设实践
  6. docker常用命令_docker常用命令整理
  7. linux下软件包清理,Linux运维知识:如何清理Linux系统中的孤立、无用的软件包
  8. 二级计算机java2017级_2017计算机等级二级考试java练习题及答案
  9. 基于arduino UNO R3的远程可控的红外热释传感器 (转)
  10. mysql操作符_MySql 中的=操作符
  11. SQL_alter_table已有表操作
  12. win7 ie9总是跳转到官方主页的解决方法
  13. Hyper-V里安装Linux虚机
  14. 微信小程序,对个人开发者开放之亲体验
  15. 淘宝大数据产品解析之淘宝数据魔方技术架构(1)
  16. PhpStorm 配置 PHPUnit
  17. Typical of the grassland dwellers of the continent is the American antelope
  18. python判断word页码
  19. java开源tts_开源TTS(Text To Speah)的选择和使用
  20. java基础 IO流

热门文章

  1. 单片机C51复习题(课后习题及答案)
  2. tm4c123gxl库函数调包侠养成(一)——————基本系统时钟与delay函数
  3. 手动解除fail2ban的ip
  4. 关于裁判文书网的一些建议
  5. 基于leaflet-velocity的二维动态风场展示
  6. 无线路由器服务器名怎么设置,服务器改无线路由器怎么设置
  7. 低功耗蓝牙开发技术概述(三)——主机
  8. java导出excel 方式_java导出Excel通用方法
  9. css 字体图标更改颜色_在CSS中更改字体
  10. 超级应用/_超级应用