【技术实现步骤摘要】
一种模拟纸牌洗牌的对称加密算法
[0001]本专利技术涉及信息
,具体涉及一种对称加密算法。
技术介绍
[0002]对称加密技术使用密钥(一种特殊参数,被形象比喻成钥匙)的方式对明文(原始数据)进行加密处理,形成与原始数据大相径庭的密文(加密数据),密文也必须使用加密时的密钥进行反向计算来解密,才能还原为明文。这种加密技术即便公开了加密方法,在没有密钥的情况下,很难甚至不能对密文进行还原,对数据起到一种保护作用。然而目前的对称加密算法种类较少且常见常用的都出自国外,其算法设计也比较复杂难懂,实现门槛较高,比如DES加密。
技术实现思路
[0003]本专利技术要解决的技术问题:提供一种新的且好理解并容易实现的对称加密算法,使数据在网络传输、存储等场景中得到一种保护。
[0004]本专利技术提出的技术方案:一种模拟纸牌洗牌的对称加密算法。包括:A.密钥转译、B.洗牌流程、C.反洗牌流程。
[0005]A.密钥转译:作为数据加密方,可随意输入或者自定义规则来生成一组字符串作为密钥,字符串长度越 ...
【技术保护点】
【技术特征摘要】
1.一种模拟纸牌洗牌的对称加密算法,其特征在于,包括步骤:A.密钥转译、B.洗牌流程、C.反洗牌流程。2.根据权利要求1所述的一种模拟纸牌洗牌的对称加密算法,其特征在于,密钥转译为洗牌参数值的逻辑如下:「叠牌总轮数」= 密钥的长度;「当前叠牌颗粒度」= 当前密钥字符的编码数值与n
‑
1的值取模运算后加1的结果,n为当前数据的长度,反洗牌流程中,需先将密钥反转后再参与计算;「当前是否左侧开始叠牌」= 当前密钥字符的编码数值与2取模运算后的值,反洗牌流程中,需先将密钥反转后再参与计算;「切牌总次数」= 密钥的长度;「当前切牌位置」= 当前密钥字符的编码数值与f(i) 相乘再与n
‑
1的值取模运算后加1的结果,n为当前数据的长度,洗牌流程中,f(i) 返回i,反洗牌流程中,f(i) 返回切牌总次数
‑1‑
i,i为当前第几次切牌,反洗牌流程中,需先将密钥反转后再参与计算。3.根据权利要求1所述的一种模拟纸牌洗牌的对称加密算法,其特征在于,洗牌流程的步骤为:首先,依据洗牌参数值「叠牌总轮数」进行一轮或多轮叠牌模拟;其次,依据洗牌参数值「切牌总次数」进行一次或多次切牌模拟。4.根据权利要求1所述的模拟纸牌洗牌的对称加密算法,其特征在于,反洗牌流程的步骤为:首先,依据洗牌参数值「切牌总次数」进行一次或多次反切牌模拟;其次,依据洗牌参数值「叠牌总轮数」进行一轮或多轮反叠牌模拟。5.根据权利要求1、3所述的一种模拟纸牌洗牌的对称加密算法,其特征在于,叠牌模拟的步骤为:1、数据拆分成颗粒单元组;2、将颗粒单元组分为左右两列;3、模拟堆叠;4、模拟展牌的顺序输出结果。6.根据权利要求1、...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。